Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque des plages
Adaptateurs de plage
 
 
lazy_split_view()
    requires 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 >
    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) (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