



Iterator
An iterator that can both read and write and can traverse a container in both directions.
None
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. Bidirectional iterators can move both forwards and backwards through a container, and have the ability to both read and write data. These iterators satisfy the requirements listed below.
The following key pertains to the iterator 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 |
A bidirectional iterator must meet all the requirements listed below. Note that most of these requirements are also the requirements for forward iterators.
|
X u |
u might have a singular value |
|
X() |
X() might be singular |
|
X(a) |
copy constructor, a == X(a). |
|
X u(a) |
copy constructor, u == a |
|
X u = a |
assignment, u == a |
|
a == b, a != b |
return value convertible to bool |
|
a->m |
equivalent to (*a).m |
|
*a |
return value convertible to T& |
|
++r |
returns X& |
|
r++ |
return value convertible to const X& |
|
*r++ |
returns T& |
|
--r |
returns X& |
|
r-- |
return value convertible to const X& |
|
*r-- |
returns T& |
Like forward iterators, bidirectional iterators have the condition that a == b implies *a== *b.
There are no restrictions on the number of passes an algorithm may make through the structure.
Containers, Iterators, Forward Iterators



©Copyright 1996, Rogue Wave Software, Inc.