Mercurial > cpython-lru_cache-weakref
diff Doc/api/api.tex @ 17695:1e902fc73645 legacy-trunk
Added documentation for PyIter_Check() and PyIter_Next().
Wrapped a long line.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Mon, 07 May 2001 17:42:18 +0000 |
| parents | b44ba7c01217 |
| children | ffc2923bad1a |
line wrap: on
line diff
--- a/Doc/api/api.tex Sun May 06 01:05:02 2001 +0000 +++ b/Doc/api/api.tex Mon May 07 17:42:18 2001 +0000 @@ -2082,13 +2082,51 @@ \samp{\var{o}[\var{key}]}. \end{cfuncdesc} -\begin{cfuncdesc}{int}{PyMapping_SetItemString}{PyObject *o, char *key, PyObject *v} +\begin{cfuncdesc}{int}{PyMapping_SetItemString}{PyObject *o, char *key, + PyObject *v} Map the object \var{key} to the value \var{v} in object \var{o}. Returns \code{-1} on failure. This is the equivalent of the Python statement \samp{\var{o}[\var{key}] = \var{v}}. \end{cfuncdesc} +\section{Iterator Protocol \label{iterator}} + +There are only a couple of functions specifically for working with +iterators. + +\begin{cfuncdesc}{int}{PyIter_Check}{PyObject *o} + Return true if the object \var{o} supports the iterator protocol. +\end{cfuncdesc} + +\begin{cfuncdesc}{PyObject*}{PyIter_Next}{PyObject *o} + Return the next value from the iteration \var{o}. If the object is + an iterator, this retrieves the next value from the iteration, and + returns \NULL{} with no exception set if there are no remaining + items. If the object is not an iterator, \exception{TypeError} is + raised, or if there is an error in retrieving the item, returns + \NULL{} and passes along the exception. +\end{cfuncdesc} + +To write a loop which iterates over an iterator, the C code should +look something like this: + +\begin{verbatim} +PyObject *iterator = ...; +PyObject *item; + +while (item = PyIter_Next(iter)) { + /* do something with item */ +} +if (PyErr_Occurred()) { + /* propogate error */ +} +else { + /* continue doing useful work */ +} +\end{verbatim} + + \chapter{Concrete Objects Layer \label{concrete}} The functions in this chapter are specific to certain Python object
