cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : Miscellaneous : iterator : BidirectionalIterator
  Search:
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forums
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
Miscellaneous
functional
iterator
memory
utility
iterator
advance
back_inserter
distance
front_inserter
inserter
iterator
iterator_traits
iterator categories:
· BidirectionalIterator
· ForwardIterator
· InputIterator
· OutputIterator
· RandomAccessIterator
predefined iterators:
· back_insert_iterator
· front_insert_iterator
· insert_iterator
· istreambuf_iterator
· istream_iterator
· ostreambuf_iterator
· ostream_iterator
· reverse_iterator

-

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-constructedX a;
X()
Can be copied and copy-constructedX 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

InputIterator Input iterator category
OutputIterator Output iterator category
ForwardIterator Forward iterator category
RandomAccessIterator Random-access iterator category
iterator Iterator definitions (header)

Home page | Privacy policy
© cplusplus.com, 2000-2008 - All rights reserved - v2.2
Spotted an error? contact us