Top of document
©Copyright 1999 Rogue Wave Software

Output Iterators


     Iterator

Summary

A write-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. Output iterators are write-only, forward moving iterators that satisfy the requirements listed below. Note that unlike other iterators used with the standard library, output iterators cannot be constant.

Key to Iterator Requirements

The following key pertains to the iterator requirements 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 Output Iterators

The following expressions must be valid for output iterators:

X(a) copy constructor, a == X(a).
X u(a) copy constructor, u == a
X u = a assignment, u == a
*a = t result is not used
++r returns X&
r++ return value convertable to const X&
*r++ = t result is not used

The only valid use for the operator * is on the left hand side of the assignment statement.

Algorithms using output iterators should be single pass algorithms. That is, they should not pass through the same iterator twice.

See Also

Iterators


Top of document