Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
lazy_split_view ( )

nécessite std:: default_initializable < V > &&

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

nécessite 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) (depuis C++20)

Construit un lazy_split_view .

1) Constructeur par défaut. Initialise par valeur la vue sous-jacente base_ et le délimiteur pattern_ .
2) Initialise la vue sous-jacente base_ avec std :: move ( base ) et le délimiteur pattern_ avec std :: move ( pattern ) .
3) Initialise la vue sous-jacente base_ avec views:: all ( std:: forward < R > ( r ) ) et le délimiteur pattern_ avec ranges:: single_view { std :: move ( e ) } .

Paramètres

base - la vue sous-jacente à diviser
pattern - une vue à utiliser comme délimiteur
e - un élément à utiliser comme délimiteur

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 3714
( P2711R1 )
C++20 le constructeur multi-paramètres ( 2 ) n'était pas explicite rendu explicite