std::ranges..._view::begin(3)

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

πŸ’… std::ranges..._view::begin(3) πŸ’…

okay bestie, this page is from the C++ Standard Libary (yes, β€œLibary” β€” we’re not fixing the manual’s typo, it’s part of the lore) and it’s all about std::ranges..._view::begin(3). πŸ’–

✨ NAME ✨

  • std::ranges::adjacent_transform_view::begin β€” and honestly? also std::ranges::adjacent_transform_view::begin. Same thing, twice, because the NAME section said it twice and we respect the bit. πŸŽ€

🌸 Synopsis 🌸

Hii so here’s the signature situation, no cap:

          constexpr auto begin();                                          (1)
       (since C++23)
          constexpr auto begin() const

              requires ranges::range<const InnerView> &&                   (2)
       (since C++23)
                  std::regular_invocable<const F&,

                      __REPEAT(ranges::range_reference_t<const V>, N)...>;

Both of those are since C++23, bestie. ✨

Returns an iterator to the first element of the adjacent_transform_view.

Let inner_ be the underlying ranges::adjacent_view.

  1. Equivalent to return /*iterator*/<false>(*this, inner_.begin());.
  2. Equivalent to return /*iterator*/<true>(*this, inner_.begin());.

πŸ“ Parameters πŸ“

(none) β€” literally none. no parameters. zero. the void. 🫢

πŸ”₯ Return value πŸ”₯

Iterator to the first element. That’s it. That’s the whole return value. πŸ‘‘

🌈 Example 🌈

        // Run this code

        #include <ranges>

        int main()
        {
            auto sum = [](auto... args) { return (... + args); };

            constexpr auto view = std::views::iota(13, 1337)
                                | std::views::adjacent_transform<3>(sum);

            static_assert(*view.begin() == 42 and 42 == 13 + 14 + 15);
        }

πŸ‘€ See also πŸ‘€

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

source/version footer vibes: http://cppreference.com Β· date: 2024.06.10 Β· page: std::ranges..._view::begin(3) β€” mwah bestie, go call begin() and slay πŸ’œ

πŸ“¦ where this page comes from