Issue #5262: Improved fix.
[python.git] / Doc / c-api / descriptor.rst
blob6ed84335f019a38891e4832462390389a6e03917
1 .. highlightlang:: c
3 .. _descriptor-objects:
5 Descriptor Objects
6 ------------------
8 "Descriptors" are objects that describe some attribute of an object. They are
9 found in the dictionary of type objects.
12 .. cvar:: PyTypeObject PyProperty_Type
14    The type object for the built-in descriptor types.
16    .. versionadded:: 2.2
19 .. cfunction:: PyObject* PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset)
21    .. versionadded:: 2.2
24 .. cfunction:: PyObject* PyDescr_NewMember(PyTypeObject *type, struct PyMemberDef *meth)
26    .. versionadded:: 2.2
29 .. cfunction:: PyObject* PyDescr_NewMethod(PyTypeObject *type, struct PyMethodDef *meth)
31    .. versionadded:: 2.2
34 .. cfunction:: PyObject* PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *wrapper, void *wrapped)
36    .. versionadded:: 2.2
39 .. cfunction:: PyObject* PyDescr_NewClassMethod(PyTypeObject *type, PyMethodDef *method)
41    .. versionadded:: 2.3
44 .. cfunction:: int PyDescr_IsData(PyObject *descr)
46    Return true if the descriptor objects *descr* describes a data attribute, or
47    false if it describes a method.  *descr* must be a descriptor object; there is
48    no error checking.
50    .. versionadded:: 2.2
53 .. cfunction:: PyObject* PyWrapper_New(PyObject *, PyObject *)
55    .. versionadded:: 2.2