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*/
    ( /*maybe-const*/<Const, concat_view>* parent, Args&&... args )

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

构造迭代器。

/*maybe-const*/ 的定义见 maybe-const 。

 重载 数据成员
parent_it_
(1)nullptr 初始化默认初始化
(2) 以 it.parent_ 初始化  以 base-iter (std::in_place_index<I>,
           std::get<I>(std::move(it.it_ )))
初始化 
(where I is it.it_ .index())
(3)parent 初始化std::forward<Args>(args)... 初始化
2) 如果 it.it_ .valueless_by_exception()true,那么行为未定义。

参数

it-可变迭代器
parent-指向 ranges::concat_view 的指针
args-用来初始化 it_ 的各个实参

示例