71 PyModule_AddObjectRef(
87 PyModule_AddObjectRef(
93 PyModule_AddObjectRef(
104 "Base class to define iterators.\n"
106 ".. method:: __init__()\n"
108 " Default constructor.");
112 static const char *kwlist[] = {
nullptr};
114 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"", (
char **)kwlist)) {
124 Py_TYPE(
self)->tp_free((PyObject *)
self);
129 return PyUnicode_FromFormat(
"type: %s - address: %p", Py_TYPE(
self)->tp_name,
self->it);
134 Iterator_increment_doc,
135 ".. method:: increment()\n"
137 " Makes the iterator point the next element.");
141 if (
self->it->isEnd()) {
142 PyErr_SetString(PyExc_RuntimeError,
"cannot increment any more");
145 self->it->increment();
151 Iterator_decrement_doc,
152 ".. method:: decrement()\n"
154 " Makes the iterator point the previous element.");
158 if (
self->it->isBegin()) {
159 PyErr_SetString(PyExc_RuntimeError,
"cannot decrement any more");
162 self->it->decrement();
169 {
nullptr,
nullptr, 0,
nullptr},
177 "The string of the name of this iterator.\n"
183 return PyUnicode_FromString(Py_TYPE(
self)->tp_name);
188 Iterator_is_begin_doc,
189 "True if the iterator points to the first element.\n"
201 "True if the iterator points to the last element.\n"
211 {
"name", (getter)
Iterator_name_get, (setter)
nullptr, Iterator_name_doc,
nullptr},
214 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
220 PyVarObject_HEAD_INIT(
nullptr, 0)
239 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyTypeObject AdjacencyIterator_Type
PyTypeObject ChainPredicateIterator_Type
PyTypeObject ChainSilhouetteIterator_Type
PyTypeObject ChainingIterator_Type
PyObject * PyBool_from_bool(bool b)
PyTypeObject CurvePointIterator_Type
PyTypeObject Interface0DIterator_Type
static PyGetSetDef BPy_Iterator_getseters[]
static PyObject * Iterator_increment(BPy_Iterator *self)
static PyObject * Iterator_is_end_get(BPy_Iterator *self, void *)
static PyMethodDef BPy_Iterator_methods[]
static void Iterator_dealloc(BPy_Iterator *self)
static PyObject * Iterator_is_begin_get(BPy_Iterator *self, void *)
static int Iterator_init(BPy_Iterator *self, PyObject *args, PyObject *kwds)
PyTypeObject Iterator_Type
int Iterator_Init(PyObject *module)
static PyObject * Iterator_repr(BPy_Iterator *self)
static PyObject * Iterator_decrement(BPy_Iterator *self)
static PyObject * Iterator_name_get(BPy_Iterator *self, void *)
PyDoc_STRVAR(Iterator_doc, "Base class to define iterators.\n" "\n" ".. method:: __init__()\n" "\n" " Default constructor.")
PyTypeObject SVertexIterator_Type
PyTypeObject StrokeVertexIterator_Type
PyTypeObject ViewEdgeIterator_Type
PyTypeObject orientedViewEdgeIterator_Type
static struct PyModuleDef module