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

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

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

hey bestie!! this is from the C++ Standard Libary manual β€” section 3, and the page is literally std::ranges...ts_view::end(3). it's C++20, it's ranges, and it's lowkey about how elements_view tells you where the end is 🫢


🌸 NAME 🌸

std::ranges::elements_view::end - std::ranges::elements_view::end


πŸ¦‹ Synopsis πŸ¦‹

okay so there are four overloads, and they're giving β€œwhich end do you want” energy. all of these are (since C++20):

constexpr auto end() requires (!__SimpleView<V> &&
!ranges::common_range<V>);                         // (1) (since C++20)

constexpr auto end() requires (!__SimpleView<V> &&
ranges::common_range<V>);                          // (2) (since C++20)

constexpr auto end() const requires ranges::range<const V>;
                                                   // (3) (since C++20)

constexpr auto end() const requires ranges::common_range<const V>;
                                                   // (4) (since C++20)

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

Let base_ be the underlying view:

  1. Equivalent to return /*sentinel*/<false>{ranges::end(base_)};.
  2. Equivalent to return /*iterator*/<false>{ranges::end(base_)};.
  3. Equivalent to return /*sentinel*/<true>{ranges::end(base_)};.
  4. Equivalent to return /*iterator*/<true>{ranges::end(base_)};.

πŸŽ€ Parameters πŸŽ€

(none) β€” literally no parameters, not a single one, she's self-sufficient πŸ’…


🌈 Return value 🌈

  • 1,3) sentinel which compares equal to the end iterator
  • 2,4) iterator to the element following the last element

πŸ’œ Notes πŸ’œ

end() returns an iterator if and only if the underlying view is a common_range:

elements_view<V,F> models common_range whenever V does.


πŸ“ 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


mwah πŸ’‹ this page came from http://cppreference.com, dated 2024.06.10, and it's literally std::ranges...ts_view::end(3). bye bestie, slay your ranges!! 🫢✨

πŸ“¦ where this page comes from