| 
									
										
										
										
											2008-01-20 09:30:57 +00:00
										 |  |  | .. highlightlang:: c
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. _typeobjects:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Type Objects
 | 
					
						
							|  |  |  | ------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. index:: object: type
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. ctype:: PyTypeObject
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    The C structure of the objects used to describe built-in types.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cvar:: PyObject* PyType_Type
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. index:: single: TypeType (in module types)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    This is the type object for type objects; it is the same object as ``type`` and
 | 
					
						
							|  |  |  |    ``types.TypeType`` in the Python layer.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_Check(PyObject *o)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return true if the object *o* is a type object, including instances of types
 | 
					
						
							|  |  |  |    derived from the standard type object.  Return false in all other cases.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_CheckExact(PyObject *o)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return true if the object *o* is a type object, but not a subtype of the
 | 
					
						
							|  |  |  |    standard type object.  Return false in all other cases.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-27 23:50:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: unsigned int PyType_ClearCache(void)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Clears the internal lookup cache. Return the current version tag.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-20 09:30:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_HasFeature(PyObject *o, int feature)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return true if the type object *o* sets the feature *feature*.  Type features
 | 
					
						
							|  |  |  |    are denoted by single bit flags.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_IS_GC(PyObject *o)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return true if the type object includes support for the cycle detector; this
 | 
					
						
							|  |  |  |    tests the type flag :const:`Py_TPFLAGS_HAVE_GC`.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return true if *a* is a subtype of *b*.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    XXX: Document.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    XXX: Document.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. cfunction:: int PyType_Ready(PyTypeObject *type)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Finalize a type object.  This should be called on all type objects to finish
 | 
					
						
							|  |  |  |    their initialization.  This function is responsible for adding inherited slots
 | 
					
						
							|  |  |  |    from a type's base class.  Return ``0`` on success, or return ``-1`` and sets an
 | 
					
						
							|  |  |  |    exception on error.
 |