名稱空間
變體
操作

std::ranges::join_view<V>::iterator<Const>::satisfy

來自 cppreference.com
< cpp‎ | ranges‎ | join_view‎ | iterator
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
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();

[編輯] 引數

(無)

[編輯] 返回值

(無)