operator-(ranges::adjacent_view::sentinel)

From cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | sentinel
Ranges library
Range adaptors
template < bool OtherConst >

requires std::sized_sentinel_for < ranges::sentinel_t <Base>,
ranges::iterator_t < /*maybe-const*/ <OtherConst, V>>>
friend constexpr ranges::range_difference_t < /*maybe-const*/ <OtherConst, V>>

    operator- ( const /*iterator*/ <OtherConst> & x, const /*sentinel*/ & y ) ;
(1) (since C++23)
template < bool OtherConst >

requires std::sized_sentinel_for < ranges::sentinel_t <Base>,
ranges::iterator_t < /*maybe-const*/ <OtherConst, V>>>
friend constexpr ranges::range_difference_t < /*maybe-const*/ <OtherConst, V>>

    operator- ( const /*sentinel*/ & y, const /*iterator*/ <OtherConst> & x ) ;
(2) (since C++23)

Computes the distance between the underlying iterator of x and the underlying sentinel of y.

Let current_ denote the underlying array of iterators in x, and end_ denote the underlying sentinel in y

1) Equivalent to: return x.current_.back ( ) - y.end_ ;
2) Equivalent to: return y.end_ - x.current_.back ( ) ;

These function templates are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when adjacent_view::sentinel

Parameters

x - an iterator
y - a sentinel

Return value

The distance between x and y.

Example

See also