std::ranges::join_view<V>::iterator<Const>::satisfy
From cppreference.com
| constexpr void satisfy(); |
(C++20以降) (説明用*) |
|
空の内部レンジをスキップし、基底のイテレータinner_を初期化します。
定数 /*ref-is-glvalue*/ を std::is_reference_v<ranges::range_reference_t<Base>>とします。
関数本体は以下と同等です。
auto update_inner = [this](const ranges::iterator_t<Base>& x) -> auto&& { if constexpr (/*ref-is-glvalue*/) // *x is a reference return *x; else return parent_->inner_./*emplace-deref*/(x); }; for (; outer_ != ranges::end(parent_->base_); ++outer_) { auto&& inner = update_inner(outer_); inner_ = ranges::begin(inner); if (inner_ != ranges::end(inner)) return; } if constexpr (/*ref-is-glvalue*/) inner_ = InnerIter();
[編集] パラメータ
(なし)
[編集] 返り値
(なし)