Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2020. The current version is 1.89.0.
| Front Page / Iterators / Concepts / Bidirectional Iterator |
A Bidirectional Iterator is a Forward Iterator that provides a way to obtain an iterator to the previous element in a sequence.
In addition to the requirements defined in Forward Iterator, the following requirements must be met.
| Expression | Type | Complexity |
|---|---|---|
| next<i>::type | Bidirectional Iterator | Amortized constant time |
| prior<i>::type | Bidirectional Iterator | Amortized constant time |
| i::category | Integral Constant, convertible to bidirectional_iterator_tag | Constant time |
typedef prior<i>::type j;
| Precondition: | i is decrementable |
|---|---|
| Semantics: | j is an iterator pointing to the previous element of the sequence |
| Postcondition: | j is dereferenceable and incrementable |
For any bidirectional iterators i and j the following invariants always hold: