
Module: Standard C++ Library 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
Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).