From: Gregory P. Smith Date: Fri, 22 Jan 2016 21:17:41 +0000 (-0800) Subject: Per issue21949 and issue1629: Document the Py_SIZE, Py_TYPE, Py_REFCNT macros. X-Git-Tag: v2.7.12rc1~262 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=20d4f1b9e45d545cbade74180a8d295a4f201c69;p=thirdparty%2FPython%2Fcpython.git Per issue21949 and issue1629: Document the Py_SIZE, Py_TYPE, Py_REFCNT macros. This was already done in the 3.5 branch; this just does the same in the 2.7 branch. --- diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst index c19351072e1e..c6ec685026a1 100644 --- a/Doc/c-api/structures.rst +++ b/Doc/c-api/structures.rst @@ -69,6 +69,37 @@ These macros are used in the definition of :c:type:`PyObject` and expansion varies depending on the definition of :c:macro:`Py_TRACE_REFS`. +.. c:macro:: Py_TYPE(o) + + This macro is used to access the :attr:`ob_type` member of a Python object. + It expands to:: + + (((PyObject*)(o))->ob_type) + + .. versionadded:: 2.6 + + +.. c:macro:: Py_REFCNT(o) + + This macro is used to access the :attr:`ob_refcnt` member of a Python + object. + It expands to:: + + (((PyObject*)(o))->ob_refcnt) + + .. versionadded:: 2.6 + + +.. c:macro:: Py_SIZE(o) + + This macro is used to access the :attr:`ob_size` member of a Python object. + It expands to:: + + (((PyVarObject*)(o))->ob_size) + + .. versionadded:: 2.6 + + .. c:macro:: PyObject_HEAD_INIT(type) This is a macro which expands to initialization values for a new