...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
ForwardIterator
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).
value_type
std::iterator_traits<Iter>::value_type
The value type of the iterator
category
std::iterator_traits<Iter>::iterator_category
The category of the iterator
i
, j
x
Name | Expression | Type | Precondition | Semantics | Postcondition |
---|---|---|---|---|---|
Dereference |
*i |
const-if-not-mutable value_type & |
|
||
Member access |
i->{member-name} (return type is pointer-to-object type) |
const-if-not-mutable value_type * |
|
||
Preincrement |
++i |
Iter & |
|
||
Postincrement |
i++ |
Iter |
|
Equivalent to |
|