| BidirectionalIterator |
<iterator> |
Bidirectional iterator category
![]() |
Bidirectional | ![]() |
![]() |
|||
![]() |
Bidirectional iterators are iterators especially designed for sequential access in both directions - towards the end and towards the beginning.
They have the following characteristics:
| characteristic | valid expressions |
|---|---|
| Can be default-constructed | X a; X() |
| Can be copied and copy-constructed | X b(a); b = a; |
| Accepts equality/inequality comparisons. Equal iterators imply the same element is pointed | a == b a != b |
| Can be dereferenced (when not null) | *a a->m |
| Can be incremented (when not null) | ++a a++ *a++ |
| Can be decremented (when not null) | --a a-- *a-- |
These characteristics are the same of forward iterators, except that bidirectional iterators also support the decrement operator.
See also
| InputIterator | Input iterator category |
| OutputIterator | Output iterator category |
| ForwardIterator | Forward iterator category |
| RandomAccessIterator | Random-access iterator category |
| iterator | Iterator definitions (header) |

