constexpr auto end(); | (1) | (since C++20) |
constexpr auto end() const requires ranges::input_range<const V> && std::is_reference_v<ranges::range_reference_t<const V>>; | (2) | (since C++20) |
Returns a sentinel or an iterator representing the end of the join_view
.
Let base_
be the underlying view:
if constexpr (ranges::forward_range<V> && std::is_reference_v<ranges::range_reference_t<V>> && ranges::forward_range<ranges::range_reference_t<V>> && ranges::common_range<V> && ranges::common_range<ranges::range_reference_t<V>>) return /*iterator*/<__SimpleView<V>>{*this, ranges::end(base_)}; else return /*sentinel*/<__SimpleView<V>>{*this};
if constexpr (ranges::forward_range<const V> && std::is_reference_v<ranges::range_reference_t<const V>> && ranges::forward_range<ranges::range_reference_t<const V>> && ranges::common_range<const V> && ranges::common_range<ranges::range_reference_t<const V>>) return /*iterator*/<true>{*this, ranges::end(base_)}; else return /*sentinel*/<true>{*this};
(none).
(C++20) | 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/join_view/end