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 PyGen_New() or PyGen_NewWithQualName().
-
type
PyGenObject¶ The C structure used for generator objects.
-
type
PySendResult¶ The enum value used to represent different results of
PyGen_Send().
-
PyTypeObject
PyGen_Type¶ The type object corresponding to generator objects.
-
int
PyGen_CheckExact(PyObject *ob)¶ Return true if ob’s type is
PyGen_Type; ob must not beNULL.
-
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 argument must not be
NULL.
-
PyObject *
PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶ Create and return a new generator object based on the frame object, with
__name__and__qualname__set to name and qualname. A reference to frame is stolen by this function. The frame argument must not beNULL.
-
PySendResult
PyGen_Send(PyGenObject *gen, PyObject *arg, PyObject **presult)¶ Sends the arg value into the generator gen. Coroutine objects are also allowed to be as the gen argument but they need to be explicitly casted to PyGenObject*. Returns:
PYGEN_RETURNif generator returns. Return value is returned via presult.PYGEN_NEXTif generator yields. Yielded value is returned via presult.PYGEN_ERRORif generator has raised and exception. presult is set toNULL.
