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:

characteristicvalid 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--=]

Where X is an iterator type, and a and b are objects of this iterator type.

These characteristics are the same of forward iterators, except that bidirectional iterators also support the decrement operator.

See also