Scroll to navigation

std::ranges::join_view::end(3) C++ Standard Libary std::ranges::join_view::end(3)

NAME

std::ranges::join_view::end - std::ranges::join_view::end

Synopsis


constexpr auto end(); (1) (since
C++20)
constexpr auto end() const


requires ranges::input_range<const V> && (2) (since
C++20)
std::is_reference_v<ranges::range_reference_t<const
V>>;


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


Let base_ be the underlying view:


1) Equivalent to


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};


2) Equivalent to


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};

Parameters


(none)

Return value


1) sentinel which compares equal to the end iterator.
2) iterator to the element following the last element.

Example


This section is incomplete
Reason: no example

See also


begin returns an iterator to the beginning
(C++20) (public member function)
ranges::end returns a sentinel indicating the end of a range
(C++20) (customization point object)

Category:


* Todo no example

2024.06.10 http://cppreference.com