std::experimental::ranges::SizedSentinel

Header: <experimental/ranges/iterator>

The SizedSentinel concept specifies that an object of the iterator type I and an object of the sentinel type S can be subtracted to compute the distance between them in constant time.

# Declarations

template< class S, class I >
concept bool SizedSentinel =
Sentinel<S, I> &&
!ranges::disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
requires(const I& i, const S& s) {
{ s - i } -> Same<ranges::difference_type_t<I>>&&;
{ i - s } -> Same<ranges::difference_type_t<I>>&&;
};

(ranges TS)

template< class S, class I >
constexpr bool disable_sized_sentinel = false;

(ranges TS)