17db96d56Sopenharmony_ci.. highlight:: c 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci.. _descriptor-objects: 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciDescriptor Objects 67db96d56Sopenharmony_ci------------------ 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci"Descriptors" are objects that describe some attribute of an object. They are 97db96d56Sopenharmony_cifound in the dictionary of type objects. 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci.. XXX document these! 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci.. c:var:: PyTypeObject PyProperty_Type 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci The type object for the built-in descriptor types. 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci.. c:function:: PyObject* PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset) 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci.. c:function:: PyObject* PyDescr_NewMember(PyTypeObject *type, struct PyMemberDef *meth) 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci.. c:function:: PyObject* PyDescr_NewMethod(PyTypeObject *type, struct PyMethodDef *meth) 257db96d56Sopenharmony_ci 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci.. c:function:: PyObject* PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *wrapper, void *wrapped) 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci.. c:function:: PyObject* PyDescr_NewClassMethod(PyTypeObject *type, PyMethodDef *method) 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci.. c:function:: int PyDescr_IsData(PyObject *descr) 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci Return non-zero if the descriptor objects *descr* describes a data attribute, or 367db96d56Sopenharmony_ci ``0`` if it describes a method. *descr* must be a descriptor object; there is 377db96d56Sopenharmony_ci no error checking. 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci.. c:function:: PyObject* PyWrapper_New(PyObject *, PyObject *) 41