Descriptor Objects
******************

“Descriptors” are objects that describe some attribute of an object.
They are found in the dictionary of type objects.

PyTypeObject PyProperty_Type

   The type object for the built-in descriptor types.

PyObject* PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset)
    *Return value: New reference.*

PyObject* PyDescr_NewMember(PyTypeObject *type, struct PyMemberDef *meth)
    *Return value: New reference.*

PyObject* PyDescr_NewMethod(PyTypeObject *type, struct PyMethodDef *meth)
    *Return value: New reference.*

PyObject* PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *wrapper, void *wrapped)
    *Return value: New reference.*

PyObject* PyDescr_NewClassMethod(PyTypeObject *type, PyMethodDef *method)
    *Return value: New reference.*

int PyDescr_IsData(PyObject *descr)

   Return true if the descriptor objects *descr* describes a data
   attribute, or false if it describes a method.  *descr* must be a
   descriptor object; there is no error checking.

PyObject* PyWrapper_New(PyObject *, PyObject *)
    *Return value: New reference.*
