std::ranges::join_view<V>::end
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Ranges library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(C++23)(C++23)
  (C++26)(C++26)
(C++23)(C++23)
  (C++26)(C++26)
(C++26)(C++26)
  (C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
  (C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
std::ranges::join_view 
 
join_view::end
constexpr auto end();
 (1) 
 (since C++20) 
constexpr auto end() const
 (2) 
 (since C++20) 
    requires ranges::input_range <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*/</*simple-view*/<V>>{*this, ranges::end (base_)}; else return /*sentinel*/</*simple-view*/<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};
Contents
[edit] Parameters
(none)
[edit] Return value
1) sentinel which compares equal to the end iterator.
2) iterator to the element following the last element.
[edit] Example
 This section is incomplete
Reason: no example
Reason: no example