From cppreference.com
constexprautoend()requires(!/*simple-view*/<V>); (1) (since C++23)constexprautoend()constrequiresranges::range<constV> (2) (since C++23)Returns an
or a
representing the end of the
.
Let
and
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
to the element following the last element, if the underlying view V models
. Otherwise, the
which compares equal to the end iterator.
Notes
stride_view<V> models
whenever the underlying view V does.
Example
See also
returns an iterator to the beginning
(public member function)
(C++20)
returns a sentinel indicating the end of a range
(customization point object)