The iterator type must be a model of .
A forward iterator is an iterator that can read through a sequence of
values. It is multi-pass (old values of the iterator can be
re-used), and can be either mutable (data pointed to by it can be
changed) or not mutable.
An iterator represents a position in a sequence. Therefore, the
iterator can point into the sequence (returning a value when dereferenced
and being incrementable), or be off-the-end (and not dereferenceable or
incrementable).
The value type of the iterator
The category of the iterator
i
is incrementable (not
off-the-end)
i
is incrementable (not
off-the-end)
i
is incrementable (not
off-the-end)
i
is incrementable (not
off-the-end)
Equivalent to {Iter j = i; ++i; return j;}
i
is dereferenceable or
off-the-end
All iterator operations must take amortized constant time.
&i = &(++i)
i == j
implies ++i == ++j