std::ranges::join_with_view<V,Pattern>::iterator<Const>::iterator
/*iterator*/() = default; |
(1) | (since C++23) |
constexpr
/*iterator*/
(
/*iterator*/
<
!Const> i )
requires Const &&
|
(2) | (since C++23) |
constexpr
/*iterator*/
(
/*Parent*/
& parent, /*OuterIter*/ outer )
requires std::forward_range < /*Base*/ > ; |
(3) |
(since C++23)
(exposition only*) |
constexpr
explicit
/*iterator*/
(
/*Parent*/ parent )
requires ( ! std::forward_range < /*Base*/ > ) ; |
(4) |
(since C++23)
(exposition only*) |
Construct an iterator. Overloads (3,4) are called by begin() and end() of ranges::join_with_view
Overload | Data members | ||
---|---|---|---|
parent_
|
outer_it_
|
inner_it_
| |
(1) | initialized with nullptr |
value-initialized
(only if Base models forward_range
|
default-initialized |
(2) | initialized with i.parent_
|
initialized with
std::move(i.
outer_it_
(only if Base models forward_range
|
|
(3) | initialized with std::addressof(parent) |
initialized with std::move(outer) | |
(4) | N/A |
if (i.
inner_it_
.index() == 0)
inner_it_
.template emplace<
0
>
(std::
get
<
0
>
(std::
move
(
inner_it_
)));
else
inner_it_
.template emplace<
1
>
(std::
get
<
1
>
(std::
move
(
inner_it_
)));
operator++()
Parameters
i | - | a mutable iterator |
parent | - | a std::ranges::join_with_view object |
outer | - | an iterator into the underlying range of parent |
Example
This section is incomplete Reason: no example |