std::ranges...in_view::end(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

std::ranges...in_view::end(3) ✨

okay so bestie, this page comes from the C++ Standard Libary manual (yup, that spelling is their vibe 😭), and we’re talking about the end member of std::ranges::join_view. The header/footer shorten the page name to std::ranges...in_view::end(3), but the actual NAME is right below, no cap.

πŸ’– NAME πŸ’–

std::ranges::join_view::end β€” std::ranges::join_view::end

✨ Synopsis ✨

Two overloads, both since C++20:

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:

  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};
  1. 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) β€” literally 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

no example bestie 😭 the page really said β€œfigure it out” πŸ’€

πŸ”₯ See also πŸ”₯

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

πŸ‘‘ Category πŸ‘‘

  • Todo no example

mwah πŸ’‹ source/version: http://cppreference.com, date: 2024.06.10 πŸ«ΆπŸ’–

πŸ“¦ where this page comes from