std::ranges::lazy_split_view<V, Pattern>::outer_iterator<Const>::value_type
From cppreference.com
< cpp | ranges | lazy split view
| struct value_type : ranges::view_interface<value_type> |
(C++20以降) | |
イテレータ ranges::lazy_split_view<V, Pattern>::outer_iterator<Const> の値型。
目次 |
[編集] データメンバ
| メンバ | 説明 |
outer_iterator i_ (private) |
外側のクラスの基底となるviewへのイテレータ(説明用のメンバオブジェクト*) |
[編集] メンバ関数
| (コンストラクタ) |
value_typeオブジェクトを構築します。(説明専用メンバ関数*) |
| begin |
内部範囲の先頭へのinner_iteratorを返します。(public member function) |
| end |
std::default_sentinelを返します。 (public member function) |
std::ranges::view_interface から継承 | |
派生ビューが空かどうかを返す。sized_range または forward_range を満たす場合にのみ提供される( std::ranges::view_interface<D> の public メンバ関数) | |
| (C++23) |
範囲の先頭への定数イテレータを返す ( std::ranges::view_interface<D> の public メンバ関数) |
| (C++23) |
範囲の定数イテレータの番兵を返す ( std::ranges::view_interface<D> の public メンバ関数) |
| 派生ビューが空でないかどうかを返す。ranges::empty が適用可能な場合にのみ提供される ( std::ranges::view_interface<D> の public メンバ関数) | |
派生ビューが forward_range を満たす場合に、派生ビューの最初の要素を返す( std::ranges::view_interface<D> の public メンバ関数) | |
[編集] メンバ関数
std::ranges::lazy_split_view::outer_iterator::value_type::value_type
| constexpr explicit value_type(/*outer_iterator*/ i); // exposition only |
(C++20以降) | |
i_ を std::move(i) で初期化します。
std::ranges::lazy_split_view::outer_iterator::value_type::begin
| constexpr /*inner_iterator*/<Const> begin() const; |
(C++20以降) | |
return /*inner_iterator*/<Const>{i_}; と等価です。
std::ranges::lazy_split_view::outer_iterator::value_type::end
| constexpr std::default_sentinel_t end() const noexcept; |
(C++20以降) | |
std::default_sentinelを返します。
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3593 | C++20 | endはnoexceptではなかった |
noexcept に変更されました |
| LWG 4013 | C++20 | value_typeはデフォルト初期化可能だった |
デフォルト初期化不可能 |