std::ranges::join_view<V>:: iterator <Const>:: iterator
From cppreference.net
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
std::ranges::join_view
| Member functions | ||||
| Deduction guides | ||||
| Iterator | ||||
|
join_view::
iterator
::
iterator
|
||||
| Sentinel | ||||
|
/*iterator*/
(
)
requires
std::
default_initializable
<
OuterIter
>
&&
std:: default_initializable < InnerIter > = default ; |
(1) | (C++20 起) |
|
constexpr
/*iterator*/
(
Parent
&
parent, OuterIter outer
)
;
|
(2) | (C++20 起) |
|
constexpr
/*iterator*/
(
/*iterator*/
<
!
Const
>
i
)
requires Const
&&
|
(3) | (C++20 起) |
构造一个迭代器。
2)
使用
std
::
move
(
outer
)
初始化底层的
outer_
迭代器,并使用
std::
addressof
(
parent
)
初始化指向父对象的
parent_
指针;随后调用
satisfy()
。
3)
将
/*iterator*/
<
false
>
转换为
/*iterator*/
<
true
>
。通过
std
::
move
(
i.
outer_
)
移动构造底层迭代器
outer_
,通过
std
::
move
(
i.
inner_
)
移动构造
inner_
,并通过
i.
parent_
构造指向父对象的底层指针
parent_
。
参数
| parent | - | 一个(可能带有 const 限定符的) ranges::join_view |
| outer | - | 指向(可能带有 const 限定符的) ranges:: iterator_t < Base > 的迭代器 |
| i | - | 一个 /*iterator*/ < false > |
示例
|
本节内容不完整
原因:缺少示例 |