Namespaces
Variants

std::ranges::lazy_split_view<V,Pattern>:: lazy_split_view

From cppreference.net
Ranges library
Range adaptors
lazy_split_view ( )

requiere std:: default_initializable < V > &&

std:: default_initializable < Pattern > = default ;
(1) (desde C++20)
constexpr explicit lazy_split_view ( V base, Pattern pattern ) ;
(2) (desde C++20)
template < ranges:: input_range R >

requiere std:: constructible_from < V, views:: all_t < R >> &&
std:: constructible_from < Pattern, ranges:: single_view <
ranges:: range_value_t < R >>>

constexpr explicit lazy_split_view ( R && r, ranges:: range_value_t < R > e ) ;
(3) (desde C++20)

Construye un lazy_split_view .

1) Constructor por defecto. Inicializa por valor la vista subyacente base_ y el delimitador pattern_ .
2) Inicializa la vista subyacente base_ con std :: move ( base ) y el delimitador pattern_ con std :: move ( pattern ) .
3) Inicializa la vista subyacente base_ con views:: all ( std:: forward < R > ( r ) ) y el delimitador pattern_ con ranges:: single_view { std :: move ( e ) } .

Parámetros

base - la vista subyacente que se dividirá
pattern - una vista que se usará como delimitador
e - un elemento que se usará como delimitador

Ejemplo

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 3714
( P2711R1 )
C++20 el constructor multiparámetro ( 2 ) no era explícito hecho explícito