Espacios de nombres
Variantes

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

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
<tbody> </tbody>
constexpr V base() const& requires std::copy_constructible<V>;
(1) (desde C++20)
constexpr V base() &&;
(2) (desde C++20)

Devuelve una copia de la vista subyacente.

1) Construye por copia el resultado a partir de la vista subyacente.
2) Construye por movimiento el resultado a partir de la vista subyacente.

Parámetros

(Ninguno)

Valor de retorno

Una copia de la vista subyacente.

Ejemplo

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

void imprimir(auto primero, auto ultimo) {
    for (; primero != ultimo; ++primero)
        std::cout << *primero << ' ';
    std::cout << '\n';
}

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

    auto func = [](int x) { return x < 3; };
    auto vista = std::ranges::drop_while_view{ datos, func };
    imprimir(vista.begin(), vista.end());

    auto base = vista.base(); // `base` se refiere a los `datos`
    std::ranges::reverse(base); //< cambia a `datos` indirectamente
    imprimir(datos.cbegin(), datos.cend());
}

Salida:

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