Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
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].