Namespaces
Variants

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();

パラメータ

(なし)

戻り値

(なし)