~ubuntu-branches/ubuntu/trusty/python3.4/trusty-proposed

« back to all changes in this revision

Viewing changes to Doc/c-api/iterator.rst

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-11-25 09:44:27 UTC
  • Revision ID: package-import@ubuntu.com-20131125094427-lzxj8ap5w01lmo7f
Tags: upstream-3.4~b1
ImportĀ upstreamĀ versionĀ 3.4~b1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. highlightlang:: c
 
2
 
 
3
.. _iterator-objects:
 
4
 
 
5
Iterator Objects
 
6
----------------
 
7
 
 
8
Python provides two general-purpose iterator objects.  The first, a sequence
 
9
iterator, works with an arbitrary sequence supporting the :meth:`__getitem__`
 
10
method.  The second works with a callable object and a sentinel value, calling
 
11
the callable for each item in the sequence, and ending the iteration when the
 
12
sentinel value is returned.
 
13
 
 
14
 
 
15
.. c:var:: PyTypeObject PySeqIter_Type
 
16
 
 
17
   Type object for iterator objects returned by :c:func:`PySeqIter_New` and the
 
18
   one-argument form of the :func:`iter` built-in function for built-in sequence
 
19
   types.
 
20
 
 
21
 
 
22
.. c:function:: int PySeqIter_Check(op)
 
23
 
 
24
   Return true if the type of *op* is :c:data:`PySeqIter_Type`.
 
25
 
 
26
 
 
27
.. c:function:: PyObject* PySeqIter_New(PyObject *seq)
 
28
 
 
29
   Return an iterator that works with a general sequence object, *seq*.  The
 
30
   iteration ends when the sequence raises :exc:`IndexError` for the subscripting
 
31
   operation.
 
32
 
 
33
 
 
34
.. c:var:: PyTypeObject PyCallIter_Type
 
35
 
 
36
   Type object for iterator objects returned by :c:func:`PyCallIter_New` and the
 
37
   two-argument form of the :func:`iter` built-in function.
 
38
 
 
39
 
 
40
.. c:function:: int PyCallIter_Check(op)
 
41
 
 
42
   Return true if the type of *op* is :c:data:`PyCallIter_Type`.
 
43
 
 
44
 
 
45
.. c:function:: PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
 
46
 
 
47
   Return a new iterator.  The first parameter, *callable*, can be any Python
 
48
   callable object that can be called with no parameters; each call to it should
 
49
   return the next item in the iteration.  When *callable* returns a value equal to
 
50
   *sentinel*, the iteration will be terminated.