24 Iterators library [iterators]

24.2 Iterator requirements [iterator.requirements]

24.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 ([input.iterators]) or write ([output.iterators]) 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 106 — Iterator requirements
ExpressionReturn typeOperationalAssertion/note
semanticspre-/post-condition
*r reference pre: r is dereferenceable.
++r X&