std::ranges::concat_view<Views...>::iterator<Const>::iterator

来自cppreference.com
< cpp‎ | ranges‎ | concat view‎ | iterator
 
 
范围库
范围适配器
 
 
/*iterator*/() = default;
(1) (C++26 起)
constexpr /*iterator*/( /*iterator*/<!Const> it )

    requires Const &&
             (std::convertible_to<ranges::iterator_t<Views>,

                                  ranges::iterator_t<const Views>> && ...);
(2) (C++26 起)
template< class... Args >

constexpr explicit /*iterator*/(
    std::conditional_t<Const, const concat_view, concat_view>* parent,
    Args&&... args )

        requires std::constructible_from</*base-iter*/, Args&&...>;
(3) (C++26 起)
(仅用于阐述*)

构造迭代器。

1) 默认构造函数。值初始化底层的变体式对象 it_,以 nullptr 并初始化指向父 ranges::concat_view 的指针。
2)it.parent_ 初始化 parent_,并以 /*base-iter*/(std::in_place_index<i>, std::get<i>(std::move(it.it_))) 初始化 it_,其中 iit.it_.index()valueless_by_exception() 对于 it.it_ 必须为 false,否则,其行为未定义。
3)parent 初始化 parent_,并以 std::forward<Args>(args)... 初始化 it_。用户不能访问这个构造函数。

参数

parent - (可能 const 限定)的指向 ranges::concat_view 的指针
it - /*iterator*/<false>
args - 用于初始化底层变体式对象 it_ 的实参包

示例