diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst index 2109b12bac9090..cefd384fd35a1f 100644 --- a/Doc/c-api/object.rst +++ b/Doc/c-api/object.rst @@ -410,6 +410,12 @@ Object Protocol iterated. +.. c:function:: PyObject* PyObject_SelfIter(PyObject *obj) + + This is equivalent to the Python ``__iter__(self): return self`` method. + It is intended for :term:`iterator` types, to be used in the :c:member:`PyTypeObject.tp_iter` slot. + + .. c:function:: PyObject* PyObject_GetAIter(PyObject *o) This is the equivalent to the Python expression ``aiter(o)``. Takes an diff --git a/Doc/data/refcounts.dat b/Doc/data/refcounts.dat index 28532620ba603d..88d283aa51e998 100644 --- a/Doc/data/refcounts.dat +++ b/Doc/data/refcounts.dat @@ -1818,6 +1818,9 @@ PyObject_RichCompareBool:PyObject*:o1:0: PyObject_RichCompareBool:PyObject*:o2:0: PyObject_RichCompareBool:int:opid:: +PyObject_SelfIter:PyObject*::+1: +PyObject_SelfIter:PyObject*:obj:0: + PyObject_SetAttr:int::: PyObject_SetAttr:PyObject*:o:0: PyObject_SetAttr:PyObject*:attr_name:0: