PHP 8.2.30
Preview: genobject.h Size: 3.24 KB
//opt/alt/python312/include/python3.12/cpython/genobject.h

/* Generator object interface */

#ifndef Py_LIMITED_API
#ifndef Py_GENOBJECT_H
#define Py_GENOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

/* --- Generators --------------------------------------------------------- */

/* _PyGenObject_HEAD defines the initial segment of generator
   and coroutine objects. */
#define _PyGenObject_HEAD(prefix)                                           \
    PyObject_HEAD                                                           \
    /* List of weak reference. */                                           \
    PyObject *prefix##_weakreflist;                                         \
    /* Name of the generator. */                                            \
    PyObject *prefix##_name;                                                \
    /* Qualified name of the generator. */                                  \
    PyObject *prefix##_qualname;                                            \
    _PyErr_StackItem prefix##_exc_state;                                    \
    PyObject *prefix##_origin_or_finalizer;                                 \
    char prefix##_hooks_inited;                                             \
    char prefix##_closed;                                                   \
    char prefix##_running_async;                                            \
    /* The frame */                                                         \
    int8_t prefix##_frame_state;                                            \
    PyObject *prefix##_iframe[1];                                           \

typedef struct {
    /* The gi_ prefix is intended to remind of generator-iterator. */
    _PyGenObject_HEAD(gi)
} PyGenObject;

PyAPI_DATA(PyTypeObject) PyGen_Type;

#define PyGen_Check(op) PyObject_TypeCheck((op), &PyGen_Type)
#define PyGen_CheckExact(op) Py_IS_TYPE((op), &PyGen_Type)

PyAPI_FUNC(PyObject *) PyGen_New(PyFrameObject *);
PyAPI_FUNC(PyObject *) PyGen_NewWithQualName(PyFrameObject *,
    PyObject *name, PyObject *qualname);
PyAPI_FUNC(int) _PyGen_SetStopIterationValue(PyObject *);
PyAPI_FUNC(int) _PyGen_FetchStopIterationValue(PyObject **);
PyAPI_FUNC(void) _PyGen_Finalize(PyObject *self);
PyAPI_FUNC(PyCodeObject *) PyGen_GetCode(PyGenObject *gen);


/* --- PyCoroObject ------------------------------------------------------- */

typedef struct {
    _PyGenObject_HEAD(cr)
} PyCoroObject;

PyAPI_DATA(PyTypeObject) PyCoro_Type;
PyAPI_DATA(PyTypeObject) _PyCoroWrapper_Type;

#define PyCoro_CheckExact(op) Py_IS_TYPE((op), &PyCoro_Type)
PyAPI_FUNC(PyObject *) PyCoro_New(PyFrameObject *,
    PyObject *name, PyObject *qualname);


/* --- Asynchronous Generators -------------------------------------------- */

typedef struct {
    _PyGenObject_HEAD(ag)
} PyAsyncGenObject;

PyAPI_DATA(PyTypeObject) PyAsyncGen_Type;
PyAPI_DATA(PyTypeObject) _PyAsyncGenASend_Type;
PyAPI_DATA(PyTypeObject) _PyAsyncGenWrappedValue_Type;
PyAPI_DATA(PyTypeObject) _PyAsyncGenAThrow_Type;

PyAPI_FUNC(PyObject *) PyAsyncGen_New(PyFrameObject *,
    PyObject *name, PyObject *qualname);

#define PyAsyncGen_CheckExact(op) Py_IS_TYPE((op), &PyAsyncGen_Type)

#define PyAsyncGenASend_CheckExact(op) Py_IS_TYPE((op), &_PyAsyncGenASend_Type)


#undef _PyGenObject_HEAD

#ifdef __cplusplus
}
#endif
#endif /* !Py_GENOBJECT_H */
#endif /* Py_LIMITED_API */

Directory Contents

Dirs: 0 × Files: 50

Name Size Perms Modified Actions
7.69 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.14 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.55 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.05 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.61 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.19 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
15.81 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.60 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.22 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.92 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.60 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
818 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
232 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
900 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.08 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.02 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.24 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.64 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
387 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.77 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.22 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.22 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.23 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
20.71 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.24 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.28 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
848 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.42 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.35 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.38 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.18 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
444 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.44 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.34 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.30 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
16.82 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.79 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.38 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
12.11 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.10 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
489 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
444 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.34 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
34.47 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
564 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.98 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).