Top of document
©Copyright 1999 Rogue Wave Software

Input Iterators


     Iterator

Summary

A read-only, forward moving iterator.

Contents

Description


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
n value of distance type
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 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.

See Also

Iterators


Top of document