std::ranges::join_with_view<V,Pattern>:: iterator <Const>:: operator++,--
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (seit C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (seit C++23) |
|
constexpr
/*iterator*/
operator
++
(
int
)
erfordert
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(3) | (seit C++23) |
|
constexpr
/*iterator*/
&
operator
--
(
)
erfordert
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(4) | (seit C++23) |
|
constexpr
/*iterator*/
operator
--
(
int
)
erfordert
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(5) | (seit C++23) |
Erhöht oder verringert den Iterator.
inner_it_
)
;
.
- Wenn der inkrementierte innere Iterator der Past-the-End-Iterator des Pattern-Bereichs ist, wird er auf einen Iterator zum Anfang des nächsten inneren Bereichs gesetzt.
- Wenn der inkrementierte innere Iterator der Past-the-End-Iterator eines inneren Bereichs ist, wird der äußere Iterator inkrementiert. Dann:
-
- Wenn der inkrementierte äußere Iterator nicht der Past-the-End-Iterator des äußeren Bereichs ist, wird der innere Iterator auf einen Iterator zum Anfang des Pattern-Bereichs gesetzt.
-
Andernfalls, wenn
std::
is_reference_v
<
InnerBase >trueist, wird der innere Iterator auf einen Pattern-Iterator gesetzt, der einen singulären Wert enthält.
- Wiederholt die obigen Operationen, bis entweder der innere Iterator kein Past-the-End-Iterator ist oder der äußere Iterator ein Past-the-End-Iterator ist.
++* this ;
return tmp ; .
- Wenn der innere Iterator auf den Anfang eines inneren Bereichs verweist, wird er auf den Past-the-End-Iterator des Pattern-Bereichs gesetzt.
- Wenn der innere Iterator auf den Anfang des Pattern-Bereichs verweist, wird der äußere Iterator dekrementiert und der innere Iterator auf den Past-the-End-Iterator des vorherigen inneren Bereichs gesetzt.
- Die oben genannten Operationen werden wiederholt, bis der innere Iterator nicht mehr auf den Anfang eines Bereichs verweist.
inner_it_
)
;
.
--* this ;
return tmp ; .