diff options
Diffstat (limited to 'Include/abstract.h')
-rw-r--r-- | Include/abstract.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Include/abstract.h b/Include/abstract.h index c56c887..1dae5f1 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -470,11 +470,24 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ */ +/* Iterators */ + DL_IMPORT(PyObject *) PyObject_GetIter(PyObject *); /* Takes an object and returns an iterator for it. This is typically a new iterator but if the argument is an iterator, this returns itself. */ +#define PyIter_Check(obj) \ + (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_ITER) && \ + (obj)->ob_type->tp_iternext != NULL) + + DL_IMPORT(PyObject *) PyIter_Next(PyObject *); + /* Takes an iterator object and calls its tp_iternext slot, + returning the next value. If the iterator is exhausted, + this can return NULL without setting an exception, *or* + NULL with a StopIteration exception. + NULL with any other exception means an error occurred. */ + /* Number Protocol:*/ DL_IMPORT(int) PyNumber_Check(PyObject *o); |