constexpr auto end() requires (!__SimpleView<V> && !ranges::common_range<V>);
(1) (since C++20)
constexpr auto end() requires (!__SimpleView<V> && ranges::common_range<V>);
(2) (since C++20)
constexpr auto end() const requires ranges::range<const V>;
(3) (since C++20)
constexpr auto end() const requires ranges::common_range<const V>;
(4) (since C++20)

Returns a sentinel or an iterator representing the end of the elements_view.

Let base_ be the underlying view:

1) Equivalent to return /*sentinel*/<false>{ranges::end(base_)};.
2) Equivalent to return /*iterator*/<false>{ranges::end(base_)};.
3) Equivalent to return /*sentinel*/<true>{ranges::end(base_)};.
4) Equivalent to return /*iterator*/<true>{ranges::end(base_)};.



Return value

1,3) sentinel which compares equal to the end iterator
2,4) iterator to the element following the last element


end() returns an iterator if and only if the underlying view is a common_range: elements_view<V,F> models common_range whenever V does.


See also

returns an iterator to the beginning
(public member function)
returns a sentinel indicating the end of a range
(customization point object)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.