/* Generator object interface */ #ifndef Py_GENOBJECT_H #define Py_GENOBJECT_H #ifdef __cplusplus extern "C" { #endif struct _frame; /* Avoid including frameobject.h */ typedef struct { PyObject_HEAD /* The gi_ prefix is intended to remind of generator-iterator. */ struct _frame *gi_frame; /* True if generator is being executed. */ int gi_running; /* List of weak reference. */ PyObject *gi_weakreflist; } PyGenObject; PyAPI_DATA(PyTypeObject) PyGen_Type; #define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type) #define PyGen_CheckExact(op) ((op)->ob_type == &PyGen_Type) PyAPI_FUNC(PyObject *) PyGen_New(struct _frame *); #ifdef STACKLESS #define PyGen_New PyGenerator_New #endif #ifdef __cplusplus } #endif #endif /* !Py_GENOBJECT_H */