std::ranges::join_with_view<V,Pattern>:: iterator <Const>:: operator++,--
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (depuis C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (depuis C++23) |
|
constexpr
/*iterator*/
operator
++
(
int
)
nécessite
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(3) | (depuis C++23) |
|
constexpr
/*iterator*/
&
operator
--
(
)
nécessite
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(4) | (depuis C++23) |
|
constexpr
/*iterator*/
operator
--
(
int
)
nécessite
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(5) | (depuis C++23) |
Incrémente ou décrémente l'itérateur.
inner_it_
)
;
.
- Si l'itérateur interne incrémenté est l'itérateur de fin de la plage de motif, il est défini comme un itérateur vers le début de la plage interne suivante.
- Si l'itérateur interne incrémenté est l'itérateur de fin d'une plage interne, l'itérateur externe est incrémenté. Puis :
-
- Si l'itérateur externe incrémenté n'est pas l'itérateur de fin de la plage externe, l'itérateur interne est défini comme un itérateur vers le début de la plage de motif.
-
Sinon, si
std::
is_reference_v
<
InnerBase > est true , l'itérateur interne est défini comme un itérateur de motif contenant une valeur singulière .
- Répète les opérations ci-dessus jusqu'à ce que l'itérateur interne ne soit pas un itérateur de fin, ou que l'itérateur externe soit un itérateur de fin.
++* this ;
return tmp ; .
- Si l'itérateur interne fait référence au début d'une plage interne, il est défini sur l'itérateur de fin de la plage de motif.
- Si l'itérateur interne fait référence au début de la plage de motif, l'itérateur externe est décrémenté et l'itérateur interne est défini sur l'itérateur de fin de la plage interne précédente.
- Répète les opérations ci-dessus jusqu'à ce que l'itérateur interne ne fasse plus référence au début d'aucune plage.
inner_it_
)
;
.
--* this ;
return tmp ; .