std::ranges...l::sentinel(3)

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

πŸ’– NAME πŸ’–

okay bestie, welcome to the std::ranges...l::sentinel(3) era πŸ’… this page is from the C++ Standard Libary, and the main character is literally std::ranges::take_while_view::sentinel::sentinel β€” yes, the whole gorgeous mouthful πŸ‘‘ the NAME situation is: std::ranges::take_while_view::sentinel::sentinel - std::ranges::take_while_view::sentinel::sentinel. iconic, no notes ✨

✨ Synopsis ✨

here's the raw signature tea, copied with love and zero edits 🫢

          /*sentinel*/() = default;
       (1) (since C++20)
          constexpr explicit /*sentinel*/( ranges::sentinel_t<Base> end,
       (2) (since C++20)
          const Pred* pred );
          constexpr /*sentinel*/( /*sentinel*/<!Const> s )

              requires Const &&
       (3) (since C++20)

                       std::convertible_to<ranges::sentinel_t<V>,
          ranges::sentinel_t<Base>>;

all three of these are (since C++20) btw 🌸

so what do these constructors do? they construct a sentinel. that's the vibe. the deets:

  1. Default constructor. Value-initializes the underlying sentinel and the pointer to predicate.
  2. Initializes the underlying sentinel with end and the pointer to predicate with pred.
  3. Conversion from /*sentinel*/<false> to /*sentinel*/<true>. Copy constructs corresponding members. It also has this requirement: requires Const && std::convertible_to<ranges::sentinel_t<V>, ranges::sentinel_t<Base>>;

πŸŽ€ Parameters πŸŽ€

  • end β€” a sentinel representing the end of (possibly const-qualified) V.
  • pred β€” a pointer to predicate.
  • i β€” a /*sentinel*/<false>.

🌸 Example 🌸

This section is incomplete 😭 Reason: no example.

πŸ¦‹ Category πŸ¦‹

  • Todo no example

kisses and cppreference vibes 🫢 source: http://cppreference.com πŸ’– version/date: 2024.06.10 πŸ’– page: std::ranges...l::sentinel(3) β€” that's the whole manual, bestie, go slay ✨

πŸ“¦ where this page comes from