Namespaces
Variants

std::regex_iterator<BidirIt,CharT,Traits>:: operator++, operator++ (int)

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
regex_iterator & operator ++ ( ) ;
(depuis C++11)
regex_iterator operator ++ ( int ) ;
(depuis C++11)

Avance l'itérateur sur la correspondance suivante.

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)

Valeur de retour

1) * this
2) La valeur précédente de l'itérateur.