constexpr auto end() requires (!__SimpleView<V>); | (1) | (since C++23) |
constexpr auto end() const requires ranges::range<const V>; | (2) | (since C++23) |
Returns an iterator or a sentinel representing the end of the adjacent_view
.
Let base_
be the underlying view.
if constexpr (ranges::common_range<V>) return /*iterator*/<false>(__as_sentinel{}, ranges::begin(base_), ranges::end(base_)); else return /*sentinel*/<false>(ranges::end(base_));
if constexpr (ranges::common_range<const V>) return /*iterator*/<true>(__as_sentinel{}, ranges::begin(base_), ranges::end(base_)); else return /*sentinel*/<true>(ranges::end(base_));
(none).
An iterator to the element following the last element, if the underlying view V
models common_range
. Otherwise, a sentinel which compares equal to the end iterator.
ranges::adjacent_view<V,N>
models common_range
whenever the underlying view V
does.
(C++23) | returns an iterator to the beginning (public member function) |
(C++20) | 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.
https://en.cppreference.com/w/cpp/ranges/adjacent_view/end