xref: /third_party/python/Doc/c-api/descriptor.rst (revision 7db96d56)
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