2004-11-29 06:33:06 +00:00
|
|
|
|
|
|
|
|
2007-11-25 18:38:02 +00:00
|
|
|
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
|
|
|
|
.. Distributed under the Boost
|
|
|
|
.. Software License, Version 1.0. (See accompanying
|
|
|
|
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
2004-11-29 06:33:06 +00:00
|
|
|
All iterators in MPL are classified into three iterator concepts, or
|
|
|
|
`categories`, named according to the type of traversal provided. The
|
|
|
|
categories are: |Forward Iterator|, |Bidirectional Iterator|, and
|
|
|
|
|Random Access Iterator|. The concepts are hierarchical:
|
|
|
|
|Random Access Iterator| is a refinement of |Bidirectional Iterator|,
|
|
|
|
which, in its turn, is a refinement of |Forward Iterator|.
|
|
|
|
|
|
|
|
Because of the inherently immutable nature of the value access, MPL
|
|
|
|
iterators escape the problems of the traversal-only categorization
|
|
|
|
discussed at length in [n1550]_.
|
|
|
|
|
|
|
|
|
|
|
|
.. [n1550] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1550.htm
|