std::experimental::ranges::Incrementable
Min standard notice:
Header: <experimental/ranges/iterator>
The concept Incrementable specifies the requirements on a type that can be incremented (with the pre- and post-increment operators). The increment operations (including those required by WeaklyIncrementable) are required to be equality-preserving, and the type is required to be EqualityComparable.
# Declarations
template< class I >
concept bool Incrementable =
Regular<I> &&
WeaklyIncrementable<I> &&
requires(I i) {
{ i++ } -> Same<I>&&;
};
(ranges TS)
# Notes
The requirement that a equals b implies ++a equals ++b allows the use of multi-pass algorithms with Incrementable types.