55 LASS_EXECUTE_BEFORE_MAIN_EX( PyIteratorRange_executeBeforeMain,
56 PyIteratorRange::_lassPyClassDef.setSlot(Py_tp_iter, &PyIteratorRange::iter);
57 PyIteratorRange::_lassPyClassDef.setSlot(Py_tp_iternext, &PyIteratorRange::iterNext);
61 pimpl_(std::move(pimpl))
63 impl::initLassModule();
64 impl::fixObjectType(
this);
67 PyObject* PyIteratorRange::iter( PyObject* iPo)
73 PyObject* PyIteratorRange::iterNext( PyObject* iPO)
78 PyErr_SetString(PyExc_AssertionError,
"PyIteratorRange has no owner");
81 return self->pimpl_->iterNext();
void setOwner(const TPyObjPtr &owner)
Owner object of the iterators.
PyIteratorRange(TPimpl pimpl)
Construct PyIteratorRange with custom implementation.
const TPyObjPtr & owner() const
Owner object of the iterators.
#define PY_DECLARE_CLASS(i_cppClass)
Declare a Python class with automatic name and no documentation.
PyObjectPtr< PyObject >::Type TPyObjPtr
PyObjectPtr to a PyObject.
Comprehensive C++ to Python binding library.
Library for Assembled Shared Sources.