...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A class or built-in type X models the Forward Traversal concept if, in addition to X meeting the requirements of Default Constructible and Single Pass Iterator, the following expressions are valid and respect the stated semantics.
Forward Traversal Iterator Requirements (in addition to Default Constructible and Single Pass Iterator) | ||
---|---|---|
Expression | Return Type | Assertion/Note |
X u; | X& | note: u may have a singular value. |
++r | X& | r == s and r is dereferenceable implies ++r == ++s. |
iterator_traits<X>::difference_type | A signed integral type representing the distance between iterators | |
iterator_traversal<X>::type | Convertible to forward_traversal_tag |