27 Iterators library [iterators]

27.2 Iterator requirements [iterator.requirements]

27.2.2 Iterator [iterator.iterators]

The Iterator requirements form the basis of the iterator concept taxonomy; every iterator satisfies the Iterator requirements. This set of requirements specifies operations for dereferencing and incrementing an iterator. Most algorithms will require additional operations to read or write values, or to provide a richer set of iterator movements ([forward.iterators], [bidirectional.iterators], [random.access.iterators]).

A type X satisfies the Iterator requirements if:

Table 94 — Iterator requirements
ExpressionReturn typeOperationalAssertion/note
semanticspre-/post-condition
*r unspecified Requires: r is dereferenceable.
++r X&