| \section{\module{copy_reg} --- | 
 |          Register \module{pickle} support functions} | 
 |  | 
 | \declaremodule[copyreg]{standard}{copy_reg} | 
 | \modulesynopsis{Register \module{pickle} support functions.} | 
 |  | 
 |  | 
 | The \module{copy_reg} module provides support for the | 
 | \refmodule{pickle}\refstmodindex{pickle}\ and | 
 | \refmodule{cPickle}\refbimodindex{cPickle}\ modules.  The | 
 | \refmodule{copy}\refstmodindex{copy}\ module is likely to use this in the | 
 | future as well.  It provides configuration information about object | 
 | constructors which are not classes.  Such constructors may be factory | 
 | functions or class instances. | 
 |  | 
 |  | 
 | \begin{funcdesc}{constructor}{object} | 
 |   Declares \var{object} to be a valid constructor.  If \var{object} is | 
 |   not callable (and hence not valid as a constructor), raises | 
 |   \exception{TypeError}. | 
 | \end{funcdesc} | 
 |  | 
 | \begin{funcdesc}{pickle}{type, function\optional{, constructor}} | 
 |   Declares that \var{function} should be used as a ``reduction'' | 
 |   function for objects of type \var{type}; \var{type} must not be a | 
 |   ``classic'' class object.  (Classic classes are handled differently; | 
 |   see the documentation for the \refmodule{pickle} module for | 
 |   details.)  \var{function} should return either a string or a tuple | 
 |   containing two or three elements. | 
 |  | 
 |   The optional \var{constructor} parameter, if provided, is a | 
 |   callable object which can be used to reconstruct the object when | 
 |   called with the tuple of arguments returned by \var{function} at | 
 |   pickling time.  \exception{TypeError} will be raised if | 
 |   \var{object} is a class or \var{constructor} is not callable. | 
 |  | 
 |   See the \refmodule{pickle} module for more | 
 |   details on the interface expected of \var{function} and | 
 |   \var{constructor}. | 
 | \end{funcdesc} |