Namespaces
Variants

std::ranges::common_view<V>:: base

From cppreference.net
Ranges library
Range adaptors
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 desde la vista subyacente.
2) Construye por movimiento el resultado desde la vista subyacente.

Parámetros

(ninguno)

Valor de retorno

Una copia de la vista subyacente.

Ejemplo

#include <iostream>
#include <ranges>
#include <string>
int main()
{
    std::string str { "C++20" };
    auto view = std::views::common(str);
    std::string copy_of_str = view.base();
    std::cout << "copy of str: [" << copy_of_str << "]\n";
    std::cout << "view.base(): [" << view.base() << "]\n";
    std::string move_str = std::move(view.base());
    std::cout << "moved str:   [" << move_str << "]\n";
    std::cout << "view.base(): [" << view.base() << "]\n"; // no especificado
}

Salida posible:

copy of str: [C++20]
view.base(): [C++20]
moved str:   [C++20]
view.base(): []