Library: Iterators
A read-only, forward moving iterator
NOTE -- For a complete discussion of iterators, see the Iterators section of this reference.
Iterators are a generalization of pointers that allow a C++ program to uniformly interact with different data structures. Input iterators are read-only, forward moving iterators that satisfy the requirements listed below.
The following key pertains to the iterator requirement descriptions listed below:
a and b |
values of type X |
n |
value representing a distance between two iterators |
u, Distance, tmp and m |
identifiers |
r |
value of type X& |
t |
value of type T |
The following expressions must be valid for input iterators:
X u(a) |
copy constructor, u == a |
X u = a |
assignment, u == a |
a == b, a != b |
return value convertible to bool |
*a |
a == b implies *a == *b |
++r |
returns X& |
r++ |
return value convertible to const X& |
*r++ |
returns type T |
a -> m |
returns (*a).m |
For input iterators, a == b does not imply that ++a == ++b.
Algorithms using input iterators should be single pass algorithms. That is, they should not pass through the same iterator twice.
The value of type T does not have to be an lvalue.
ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 24.1.1