PageRenderTime 82ms CodeModel.GetById 40ms app.highlight 2ms RepoModel.GetById 39ms app.codeStats 0ms

/Include/genobject.h

http://unladen-swallow.googlecode.com/
C++ Header | 40 lines | 22 code | 12 blank | 6 comment | 1 complexity | c364ad706081c6f64a693ffdbadc7a33 MD5 | raw file
 1
 2/* Generator object interface */
 3
 4#ifndef Py_GENOBJECT_H
 5#define Py_GENOBJECT_H
 6#ifdef __cplusplus
 7extern "C" {
 8#endif
 9
10struct _frame; /* Avoid including frameobject.h */
11
12typedef struct {
13	PyObject_HEAD
14	/* The gi_ prefix is intended to remind of generator-iterator. */
15
16	/* Note: gi_frame can be NULL if the generator is "finished" */
17	struct _frame *gi_frame;
18
19	/* True if generator is being executed. */
20	int gi_running;
21    
22	/* The code object backing the generator */
23	PyObject *gi_code;
24
25	/* List of weak reference. */
26	PyObject *gi_weakreflist;
27} PyGenObject;
28
29PyAPI_DATA(PyTypeObject) PyGen_Type;
30
31#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type)
32#define PyGen_CheckExact(op) (Py_TYPE(op) == &PyGen_Type)
33
34PyAPI_FUNC(PyObject *) PyGen_New(struct _frame *);
35PyAPI_FUNC(int) PyGen_NeedsFinalizing(PyGenObject *);
36
37#ifdef __cplusplus
38}
39#endif
40#endif /* !Py_GENOBJECT_H */