Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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) 使用 std :: move ( base ) 初始化底层视图 base_ ,并使用 std :: move ( pattern ) 初始化分隔符 pattern_
3) 使用 views:: all ( std:: forward < R > ( r ) ) 初始化底层视图 base_ ,并使用 ranges:: single_view { std :: move ( e ) } 初始化分隔符 pattern_

参数

base - 待分割的底层视图
pattern - 用作分隔符的视图
e - 用作分隔符的元素

示例

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 应用于 发布时的行为 正确行为
LWG 3714
( P2711R1 )
C++20 多参数构造函数 ( 2 ) 未声明为 explicit 改为 explicit