Defined in header
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
 Semantic requirements
std::incrementable only if given any two incrementable objects
b of type
- bool(a == b) implies bool(a++ == b), and
- bool(a == b) implies bool(((void)a++, a) == ++b).
 Equality preservation
 See also
| specifies that a |
| specifies that a type is the same as another type |