Previous fileTop of DocumentContentsIndex pageNext file
Apache C++ Standard Library Reference Guide

Input Iterators

Library:  Iterators

Local Index

No Entries


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.

Key to Iterator Requirements

The following key pertains to the iterator requirement descriptions listed below:

a and b

values of type X


value representing a distance between two iterators

u, Distance, tmp and m



value of type X&


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 == b implies *a == *b


returns X&


return value convertible to const X&


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.

See Also

Iterators, Output Iterators

Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 24.1.1

Previous fileTop of DocumentContentsIndex pageNext file