Iterator
A write-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 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.
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 |
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.