std::ranges::join_with_view<V,Pattern>::iterator<Const>::iterator
来自 zh.cppreference.net
/*iterator*/() = default;
|
(1) | (C++23 起) |
constexpr /*iterator*/( /*iterator*/<!Const> i )
requires Const &&
std::convertible_to<ranges::iterator_t<V>, /*OuterIter*/> &&
std::convertible_to<ranges::iterator_t</*InnerRng*/>,
/*InnerIter*/> &&
std::convertible_to<ranges::iterator_t<Pattern>, /*PatternIter*/>;
|
(2) | (C++23 起) |
constexpr /*iterator*/( /*Parent*/& parent, /*OuterIter*/ outer )
requires std::forward_range</*Base*/>;
|
(3) | (C++23 起) (仅用于阐述*) |
constexpr explicit /*iterator*/( /*Parent*/ parent )
requires (!std::forward_range</*Base*/>);
|
(4) | (C++23 起) (仅用于阐述*) |
构造迭代器。重载 (3,4) 由 ranges::join_with_view 的 begin() 和 end() 调用。
| 重载 | 数据成员 | ||
|---|---|---|---|
parent_
|
outer_it_
|
inner_it_
| |
| (1) | 以nullptr
|
值初始化 初始化(仅当 Base 满足 forward_range 时)
|
默认初始化 |
| (2) | 以i.parent_
|
以 std::move(i.outer_it_ 初始化(仅当 Base 满足 forward_range 时)
| |
| (3) | 以std::addressof(parent)
|
以 std::move(outer)
| |
| 初始化 | 不适用 | ||
2) 初始化数据成员后,等价于
if (i.inner_it_ .index() == 0)
inner_it_ .template emplace<0>(std::get<0>(std::move(i.inner_it_ )));
else
inner_it_ .template emplace<1>(std::get<1>(std::move(i.inner_it_ )));
。
参数
| i | - | 可变迭代器 |
| parent | - | std::ranges::join_with_view 对象 |
| outer | - | 指向 parent 底层范围的迭代器 |
示例
|
本节内容不完整
原因:缺少示例 |