| .. highlightlang:: c | 
 |  | 
 | .. _gen-objects: | 
 |  | 
 | Generator Objects | 
 | ----------------- | 
 |  | 
 | Generator objects are what Python uses to implement generator iterators. They | 
 | are normally created by iterating over a function that yields values, rather | 
 | than explicitly calling :c:func:`PyGen_New`. | 
 |  | 
 |  | 
 | .. c:type:: PyGenObject | 
 |  | 
 |    The C structure used for generator objects. | 
 |  | 
 |  | 
 | .. c:var:: PyTypeObject PyGen_Type | 
 |  | 
 |    The type object corresponding to generator objects | 
 |  | 
 |  | 
 | .. c:function:: int PyGen_Check(ob) | 
 |  | 
 |    Return true if *ob* is a generator object; *ob* must not be *NULL*. | 
 |  | 
 |  | 
 | .. c:function:: int PyGen_CheckExact(ob) | 
 |  | 
 |    Return true if *ob*'s type is *PyGen_Type* is a generator object; *ob* must not | 
 |    be *NULL*. | 
 |  | 
 |  | 
 | .. c:function:: PyObject* PyGen_New(PyFrameObject *frame) | 
 |  | 
 |    Create and return a new generator object based on the *frame* object. A | 
 |    reference to *frame* is stolen by this function. The parameter must not be | 
 |    *NULL*. |