cpython/Objects/iterobject.c

/* Iterator objects */

#include "Python.h"
#include "pycore_abstract.h"      // _PyObject_HasLen()
#include "pycore_call.h"          // _PyObject_CallNoArgs()
#include "pycore_ceval.h"         // _PyEval_GetBuiltin()
#include "pycore_object.h"        // _PyObject_GC_TRACK()

seqiterobject;

PyObject *
PySeqIter_New(PyObject *seq)
{}

static void
iter_dealloc(seqiterobject *it)
{}

static int
iter_traverse(seqiterobject *it, visitproc visit, void *arg)
{}

static PyObject *
iter_iternext(PyObject *iterator)
{}

static PyObject *
iter_len(seqiterobject *it, PyObject *Py_UNUSED(ignored))
{}

PyDoc_STRVAR(length_hint_doc, "Private method returning an estimate of len(list(it)).");

static PyObject *
iter_reduce(seqiterobject *it, PyObject *Py_UNUSED(ignored))
{}

PyDoc_STRVAR(reduce_doc, "Return state information for pickling.");

static PyObject *
iter_setstate(seqiterobject *it, PyObject *state)
{}

PyDoc_STRVAR(setstate_doc, "Set state information for unpickling.");

static PyMethodDef seqiter_methods[] =;

PyTypeObject PySeqIter_Type =;

/* -------------------------------------- */

calliterobject;

PyObject *
PyCallIter_New(PyObject *callable, PyObject *sentinel)
{}
static void
calliter_dealloc(calliterobject *it)
{}

static int
calliter_traverse(calliterobject *it, visitproc visit, void *arg)
{}

static PyObject *
calliter_iternext(calliterobject *it)
{}

static PyObject *
calliter_reduce(calliterobject *it, PyObject *Py_UNUSED(ignored))
{}

static PyMethodDef calliter_methods[] =;

PyTypeObject PyCallIter_Type =;


/* -------------------------------------- */

anextawaitableobject;

static void
anextawaitable_dealloc(anextawaitableobject *obj)
{}

static int
anextawaitable_traverse(anextawaitableobject *obj, visitproc visit, void *arg)
{}

static PyObject *
anextawaitable_getiter(anextawaitableobject *obj)
{}

static PyObject *
anextawaitable_iternext(anextawaitableobject *obj)
{}


static PyObject *
anextawaitable_proxy(anextawaitableobject *obj, char *meth, PyObject *arg) {}


static PyObject *
anextawaitable_send(anextawaitableobject *obj, PyObject *arg) {}


static PyObject *
anextawaitable_throw(anextawaitableobject *obj, PyObject *arg) {}


static PyObject *
anextawaitable_close(anextawaitableobject *obj, PyObject *arg) {}


PyDoc_STRVAR(send_doc,
"send(arg) -> send 'arg' into the wrapped iterator,\n\
return next yielded value or raise StopIteration.");


PyDoc_STRVAR(throw_doc,
"throw(value)\n\
throw(typ[,val[,tb]])\n\
\n\
raise exception in the wrapped iterator, return next yielded value\n\
or raise StopIteration.\n\
the (type, val, tb) signature is deprecated, \n\
and may be removed in a future version of Python.");


PyDoc_STRVAR(close_doc,
"close() -> raise GeneratorExit inside generator.");


static PyMethodDef anextawaitable_methods[] =;


static PyAsyncMethods anextawaitable_as_async =;

PyTypeObject _PyAnextAwaitable_Type =;

PyObject *
PyAnextAwaitable_New(PyObject *awaitable, PyObject *default_value)
{}