summaryrefslogtreecommitdiffstats
path: root/Include/genobject.h
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2004-06-01 15:22:42 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2004-06-01 15:22:42 (GMT)
commite440e47e91a93ae57870da8753f9c141c4a37885 (patch)
treeb51a0c792d63b9357dccbd781000d2c4ea8274b0 /Include/genobject.h
parent09e2cb0ba70aeb52bf6562120103573d7f65cbd6 (diff)
downloadcpython-e440e47e91a93ae57870da8753f9c141c4a37885.zip
cpython-e440e47e91a93ae57870da8753f9c141c4a37885.tar.gz
cpython-e440e47e91a93ae57870da8753f9c141c4a37885.tar.bz2
Patch #957398: Add public API for Generator Object/Type.
Diffstat (limited to 'Include/genobject.h')
-rw-r--r--Include/genobject.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/Include/genobject.h b/Include/genobject.h
new file mode 100644
index 0000000..c9b7c19
--- /dev/null
+++ b/Include/genobject.h
@@ -0,0 +1,33 @@
+
+/* Generator object interface */
+
+#ifndef Py_GENOBJECT_H
+#define Py_GENOBJECT_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ PyObject_HEAD
+ /* The gi_ prefix is intended to remind of generator-iterator. */
+
+ PyFrameObject *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(PyFrameObject *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_GENOBJECT_H */