Iterator
A read-only, forward moving iterator.
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 of distance type |
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 convertable to bool |
*a | a == b implies *a == *b |
++r | returns X& |
r++ | return value convertable 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.