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

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

πŸŽ€ std::ranges..._view::base(3) πŸŽ€

okay bestie, welcome to the C++ Standard Libary manual page for std::ranges..._view::base(3) β€” yep, that’s the title, and the manual name is folded right in here so you don’t gotta stare at a copied header line. This page is all about std::ranges::drop_while_view::base, and it’s giving β€œtiny accessor, main-character energy.” πŸ’…

πŸ’– NAME πŸ’–

std::ranges::drop_while_view::base - std::ranges::drop_while_view::base

🌸 Synopsis 🌸

two overloads, both since C++20:

          constexpr V base() const& requires std::copy_constructible<V>; (1)
       (since C++20)
          constexpr V base() &&;                                         (2)
       (since C++20)

This whole thing returns a copy of the underlying view. ✨

  1. Copy constructs the result from the underlying view.
  2. Move constructs the result from the underlying view.

🫢 Parameters 🫢

(none) β€” literally none, bestie. no args, no flags, no snacks. πŸ“

πŸ‘‘ Return value πŸ‘‘

A copy of the underlying view. That’s it. Iconic, concise, no cap. πŸ’–

πŸ¦‹ Example πŸ¦‹

// Run this code

        #include <algorithm>
        #include <array>
        #include <iostream>
        #include <ranges>

        void print(auto first, auto last)
        {
            for (; first != last; ++first)
                std::cout << *first << ' ';
            std::cout << '\n';
        }

        int main()
        {
            std::array data{1, 2, 3, 4, 5};
            print(data.cbegin(), data.cend());

            auto func = [](int x) { return x < 3; };
            auto view = std::ranges::drop_while_view{data, func};
            print(view.begin(), view.end());

            auto base = view.base(); // `base` refers to the `data`
            std::ranges::reverse(base); //< changes `data` indirectly
            print(data.cbegin(), data.cend());
        }

🌈 Output 🌈

1 2 3 4 5
3 4 5
5 4 3 2 1

mwah πŸ’‹ this page came from the source http://cppreference.com, dated 2024.06.10, and it’s the std::ranges..._view::base(3) page. go off, bestie πŸ’…βœ¨

πŸ“¦ where this page comes from