Namespaces
Variants

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

From ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазона
 
 
lazy_split_view()
    requires 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 >
    requires 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) Конструктор по умолчанию. Инициализирует значением базовое представление 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 ) не был явным сделан явным