std::ranges::join_view<V>::iterator<Const>::satisfy
ja.cppreference.net より
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();
パラメータ
(なし)
戻り値
(なし)