Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
lazy_split_view ( )

требует std:: default_initializable < V > &&

std:: default_initializable < Pattern > = default ;
(1) (начиная с C++20)
constexpr explicit lazy_split_view ( V base, Pattern pattern ) ;
(2) (начиная с C++20)
template < ranges:: input_range R >

требует 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) (начиная с C++20)

Создает lazy_split_view .

1) Конструктор по умолчанию. Выполняет value-инициализацию базового представления base_ и разделителя pattern_ .
2) Инициализирует базовое представление base_ с помощью std :: move ( base ) и разделитель pattern_ с помощью std :: move ( pattern ) .
3) Инициализирует базовое представление base_ с помощью views:: all ( std:: forward < R > ( r ) ) и разделитель pattern_ с помощью ranges:: single_view { std :: move ( e ) } .

Параметры

base - базовое представление для разделения
pattern - представление, используемое в качестве разделителя
e - элемент, используемый в качестве разделителя

Пример

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены задним числом к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 3714
( P2711R1 )
C++20 многопараметрический конструктор ( 2 ) не был явным сделан явным