std::ranges::stride_view<V>::end - cppreference.com

From cppreference.com

constexprautoend()requires(!/*simple-view*/<V>); (1) (since C++23)constexprautoend()constrequiresranges::range<constV> (2) (since C++23)Returns an

iterator

or a

sentinel

representing the end of the

stride_view

.

Let

base_

and

stride_

be the underlying data members.

1) Let Const be defined as usingConst=false; and Base as usingBase=V;.

2) Let Const be defined as usingConst=true; and Base as usingBase=constV;.

Equivalent to:

ifconstexpr(ranges::common_range<Base>&&ranges::sized_range<Base>&&ranges::forward_range<Base>){automissing=(stride_-ranges::distance(base_)%stride_)%stride_;returniterator<Const>(this,ranges::end(base_),missing);}elseifconstexpr(ranges::common_range<Base>&&!ranges::bidirectional_range<Base>){returniterator<Const>(this,ranges::end(base_));}else{returnstd::default_sentinel;}Parameters

(none)

Return value

An

iterator

to the element following the last element, if the underlying view V models

common_range

. Otherwise, the

std::default_sentinel

which compares equal to the end iterator.

Notes

stride_view<V> models

common_range

whenever the underlying view V does.

Example

See also

returns an iterator to the beginning
(public member function)

[edit]

(C++20)

returns a sentinel indicating the end of a range
(customization point object)

[edit]