25#ifndef PYCOMPOSITEGENERATOR_H
26#define PYCOMPOSITEGENERATOR_H
37#define PyCompositeGenerator_Type_NUM 0
39#define PyCompositeGenerator_GetNative_NUM 1
40#define PyCompositeGenerator_GetNative_RETURN CompositeGenerator_t*
41#define PyCompositeGenerator_GetNative_PROTO (PyCompositeGenerator*)
43#define PyCompositeGenerator_New_NUM 2
44#define PyCompositeGenerator_New_RETURN PyCompositeGenerator*
45#define PyCompositeGenerator_New_PROTO (CompositeGenerator_t*)
47#define PyCompositeGenerator_API_pointers 3
49#define PyCompositeGenerator_CAPSULE_NAME "_compositegenerator._C_API"
52#ifdef PYCOMPOSITEGENERATOR_MODULE
54extern PyTypeObject PyCompositeGenerator_Type;
57#define PyCompositeGenerator_Check(op) ((op)->ob_type == &PyCompositeGenerator_Type)
67static void **PyCompositeGenerator_API;
73#define PyCompositeGenerator_GetNative \
74 (*(PyCompositeGenerator_GetNative_RETURN (*)PyCompositeGenerator_GetNative_PROTO) PyCompositeGenerator_API[PyCompositeGenerator_GetNative_NUM])
83#define PyCompositeGenerator_New \
84 (*(PyCompositeGenerator_New_RETURN (*)PyCompositeGenerator_New_PROTO) PyCompositeGenerator_API[PyCompositeGenerator_New_NUM])
89#define PyCompositeGenerator_Check(op) \
90 (Py_TYPE(op) == &PyCompositeGenerator_Type)
92#define PyCompositeGenerator_Type (*(PyTypeObject*)PyCompositeGenerator_API[PyCompositeGenerator_Type_NUM])
97#define import_compositegenerator() \
98 PyCompositeGenerator_API = (void **)PyCapsule_Import(PyCompositeGenerator_CAPSULE_NAME, 0);
Generator for generating composites using various approaches.
struct _CompositeGenerator_t CompositeGenerator_t
Defines a Composite generator.
Definition compositegenerator.h:43
#define PyCompositeGenerator_New_RETURN
return type for New
Definition pycompositegenerator.h:44
#define PyCompositeGenerator_New
Creates a new composite generator instance.
Definition pycompositegenerator.h:83
#define PyCompositeGenerator_GetNative
Returns a pointer to the internal composite, remember to release the reference when done with the obj...
Definition pycompositegenerator.h:73
#define PyCompositeGenerator_GetNative_RETURN
return type for GetNative
Definition pycompositegenerator.h:40
#define PyCompositeGenerator_New_PROTO
arguments for New
Definition pycompositegenerator.h:45
#define PyCompositeGenerator_GetNative_PROTO
arguments for GetNative
Definition pycompositegenerator.h:41
A composite generator.
Definition pycompositegenerator.h:32
PyObject_HEAD CompositeGenerator_t * generator
the composite generator
Definition pycompositegenerator.h:34