/* 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. */ | |
/* Note: gi_frame can be NULL if the generator is "finished" */ | |
struct _frame *gi_frame; | |
/* True if generator is being executed. */ | |
int gi_running; | |
/* The code object backing the generator */ | |
PyObject *gi_code; | |
/* 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) (Py_TYPE(op) == &PyGen_Type) | |
PyAPI_FUNC(PyObject *) PyGen_New(struct _frame *); | |
PyAPI_FUNC(int) PyGen_NeedsFinalizing(PyGenObject *); | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* !Py_GENOBJECT_H */ |