std::ranges::drop_while_view<V,Pred>::base - cppreference.com
De cppreference.com
|
|
(1) | (desde C++20) |
|
|
(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