std::ranges::join_with_view<V,Pattern>::iterator<Const>::iterator
来自cppreference.com
< cpp | ranges | join with view | iterator
/*iterator*/() = default; |
(1) | (C++23 起) |
constexpr /*iterator*/( /*iterator*/<!Const> i ) requires Const && |
(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 起) (仅用于阐述*) |
构造迭代器。ranges::join_with_view 的 begin() 和 end() 会调用重载 (3,4)。
重载 | 数据成员 | ||
---|---|---|---|
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) 初始化 | |
(4) | 不适用 |
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 的底层范围中的迭代器 |
示例
本节未完成 原因:暂无示例 |