



 
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.