Home | History | Annotate | Download | only in c-api
      1 .. highlightlang:: c
      2 
      3 .. _gen-objects:
      4 
      5 Generator Objects
      6 -----------------
      7 
      8 Generator objects are what Python uses to implement generator iterators. They
      9 are normally created by iterating over a function that yields values, rather
     10 than explicitly calling :c:func:`PyGen_New` or :c:func:`PyGen_NewWithQualName`.
     11 
     12 
     13 .. c:type:: PyGenObject
     14 
     15    The C structure used for generator objects.
     16 
     17 
     18 .. c:var:: PyTypeObject PyGen_Type
     19 
     20    The type object corresponding to generator objects.
     21 
     22 
     23 .. c:function:: int PyGen_Check(PyObject *ob)
     24 
     25    Return true if *ob* is a generator object; *ob* must not be *NULL*.
     26 
     27 
     28 .. c:function:: int PyGen_CheckExact(PyObject *ob)
     29 
     30    Return true if *ob*'s type is *PyGen_Type*; *ob* must not be *NULL*.
     31 
     32 
     33 .. c:function:: PyObject* PyGen_New(PyFrameObject *frame)
     34 
     35    Create and return a new generator object based on the *frame* object.
     36    A reference to *frame* is stolen by this function. The argument must not be
     37    *NULL*.
     38 
     39 .. c:function:: PyObject* PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
     40 
     41    Create and return a new generator object based on the *frame* object,
     42    with ``__name__`` and ``__qualname__`` set to *name* and *qualname*.
     43    A reference to *frame* is stolen by this function.  The *frame* argument
     44    must not be *NULL*.
     45