Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.
- 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 struc-
tures. Input iterators are read-only, forward moving itera-
tors that satisfy the requirements listed below.
KEY TO ITERATOR REQUIREMENTS
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
REQUIREMENTS FOR INPUT ITERATORS
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 algo-
rithms. That is, they should not pass through the same
The value of type T does not have to be an lvalue.