2.6 KiB
[iterator.concept.inc]
24 Iterators library [iterators]
24.3 Iterator requirements [iterator.requirements]
24.3.4 Iterator concepts [iterator.concepts]
24.3.4.5 Concept incrementable [iterator.concept.inc]
The incrementable concept specifies requirements on types that can be incremented with the pre- and post-increment operators.
The increment operations are required to be equality-preserving, and the type is required to be equality_comparable.
[Note 1:
This supersedes the annotations on the increment expressions in the definition of weakly_incrementable.
â end note]
templateconcept incrementable =regular &&weakly_incrementable &&requires(I i) {{ i++ } -> same_as; };
Let a and b be incrementable objects of type I.
I models incrementable only if:
[Note 2:
The requirement thata equals b implies++a equals ++b (which is not true for weakly incrementable types) allows the use of multi-pass one-directional algorithms with types that model incrementable.
â end note]