std::incrementable - cppreference.com
From cppreference.com
|
|
(since C++20) | |
This concept specifies requirements on types that can be incremented with the pre- and post-increment operators, whose increment operations are equality-preserving, and the type is std::equality_comparable.
Unlike with std::weakly_incrementable, which only support single-pass algorithms, multi-pass one-directional algorithms can be used with types that model std::incrementable.
Semantic requirements
I models std::incrementable only if given any two incrementable objects a and b of type I:
bool(a == b)impliesbool(a++ == b), andbool(a == b)impliesbool(((void)a++, a) == ++b).
Equality preservation
Expressions declared in requires expressions of the standard library concepts are required to be equality-preserving (except where stated otherwise).