Namespaces
Variants

std::ranges::split_view<V,Pattern>:: 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 base_ .

1) Construye por copia el resultado desde la vista subyacente.
2) Construye por movimiento el resultado desde la vista subyacente.

Contenidos

Valor de retorno

1) Una copia de la vista subyacente.
2) Una vista construida por movimiento desde la vista subyacente.

Ejemplo

#include <iomanip>
#include <iostream>
#include <ranges>
#include <string_view>
int main()
{
    constexpr std::string_view keywords{"this throw true try typedef typeid"};
    std::ranges::split_view split_view{keywords, ' '};
    std::cout << "base() = " << std::quoted(split_view.base()) << "\n"
                 "substrings: ";
    for (auto split : split_view)
        std::cout << std::quoted(std::string_view{split}) << ' ';
    std::cout << '\n';
}

Salida:

base() = "this throw true try typedef typeid"
substrings: "this" "throw" "true" "try" "typedef" "typeid"

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3590 C++20 la sobrecarga const & adicionalmente requería validez de la asignación de copia restricciones relajadas

Véase también

devuelve una copia de la vista subyacente (adaptada)
(función miembro pública de std::ranges::lazy_split_view<V,Pattern> )