Namespaces
Variants

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

From ja.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) 基本となるビュー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 適用対象 公開時の動作 正しい動作
LWG 3714
( P2711R1 )
C++20 マルチパラメータコンストラクタ ( 2 ) がexplicitではなかった explicitに変更