std::regex_iterator<BidirIt,CharT,Traits>:: operator++, operator++ (int)
|
regex_iterator
&
operator
++
(
)
;
|
(depuis C++11) | |
|
regex_iterator operator
++
(
int
)
;
|
(depuis C++11) | |
Avance l'itérateur sur la correspondance suivante.
|
Cette section est incomplète
Raison : expliquer plus en détail |
Initialement, une variable locale de type
BidirIt
est construite avec la valeur de
match
[
0
]
.
second
.
Si l'itérateur contient une correspondance de longueur nulle et start == end , * this est défini comme itérateur de fin de séquence et la fonction retourne.
Sinon, si l'itérateur contient une correspondance de longueur nulle, l'opérateur appelle ce qui suit :
regex_search
(
start, end, match,
*
pregex,
flags
|
regex_constants
::
match_not_null
|
regex_constants
::
match_continuous
)
;
Si l'appel retourne true , la fonction se termine.
Sinon, l'opérateur incrémente
start
et continue comme si la correspondance la plus récente n'était pas une correspondance de longueur nulle.
Si la correspondance la plus récente n'était pas une correspondance de longueur nulle, l'opérateur définit
flags
à
flags
|
regex_constants
::
match_prev_avail
et invoque ce qui suit :
regex_search ( start, end, match, * pregex, flags ) ;
Si l'appel renvoie false , l'itérateur positionne * this sur l'itérateur de fin de séquence, et la fonction se termine.
Dans tous les cas où l'appel à
regex_search
renvoie
true
,
match.
prefix
(
)
.
first
sera égal à la valeur précédente de
match
[
0
]
.
second
et pour chaque indice i dans l'intervalle
[
0
,
match.
size
(
)
)
pour lequel
match
[
i
]
.
matched
est
true
,
match
[
i
]
.
position
(
)
renverra
distance
(
begin, match
[
i
]
.
first
)
.
Cela signifie que match [ i ] . position ( ) donne le décalage depuis le début de la séquence cible, qui est souvent différent du décalage depuis la séquence passée dans l'appel à regex_search .
Il n'est pas spécifié comment l'implémentation effectue ces ajustements. Cela signifie qu'un compilateur peut appeler une fonction de recherche spécifique à l'implémentation, auquel cas une spécialisation définie par l'utilisateur de regex_search ne sera pas appelée.
Le comportement n'est pas défini si l'itérateur est un itérateur de fin de séquence.
Paramètres
(aucun)