...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Iterators / Concepts |
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 |