Namespaces
Variants
Actions

std::ranges::drop_while_view<V,Pred>::base

From cppreference.com
 
 
Ranges library
 
 
constexpr V base() const& requires std::copy_constructible <V>;
(1) (since C++20)
constexpr V base() &&;
(2) (since C++20)

Returns a copy of the underlying view.

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

[edit] Parameters

(none)

[edit] Return value

A copy of the underlying view.

[edit] 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
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/drop_while_view/base&oldid=173580"

AltStyle によって変換されたページ (->オリジナル) /