Namespaces
Variants
Views
Actions

std::ranges::drop_view<V>::base

From cppreference.com
< cpp‎ | ranges‎ | drop view
 
 
Ranges library
Range adaptors
 
 
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 (adapted) view base_.

[edit] Example

#include <iostream>
#include <ranges>
 
namespace stq {
void println(auto, const auto& v)
{
    for (const auto& e : v)
        std::cout << e << ' ';
    std::cout << '\n';
}
}
 
int main()
{
    static constexpr int a[]{1, 2, 3, 4, 5};
    constexpr auto view = a | std::views::drop(2);
    stq::println("{}", view);
    const auto base = view.base();
    stq::println("{}", base);
}

Output:

3 4 5
1 2 3 4 5