Namespaces
Variants

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

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

Avanza el iterador a la siguiente coincidencia.

Primero, se construye una variable local de tipo BidirIt con el valor de match [ 0 ] . second .

Si el iterador contiene una coincidencia de longitud cero y start == end , * this se establece como iterador de fin de secuencia y la función retorna.

De lo contrario, si el iterador contiene una coincidencia de longitud cero, el operador invoca lo siguiente:

regex_search ( start, end, match, * pregex,
flags | regex_constants :: match_not_null |
regex_constants :: match_continuous ) ;

Si la llamada retorna true , la función retorna.

De lo contrario, el operador incrementa start y continúa como si la coincidencia más reciente no hubiera sido una coincidencia de longitud cero.

Si la coincidencia más reciente no fue de longitud cero, el operador establece flags a flags | regex_constants :: match_prev_avail e invoca lo siguiente:

regex_search ( start, end, match, * pregex, flags ) ;

Si la llamada retorna false , el iterador establece * this al iterador de fin-de-secuencia, la función retorna.

En todos los casos en los que la llamada a regex_search devuelva true , match. prefix ( ) . first será igual al valor previo de match [ 0 ] . second y para cada índice i en el rango [ ​ 0 ​ , match. size ( ) ) para el cual match [ i ] . matched sea true , match [ i ] . position ( ) devolverá distance ( begin, match [ i ] . first ) .

Esto significa que match [ i ] . position ( ) da el desplazamiento desde el inicio de la secuencia objetivo, que frecuentemente no es lo mismo que el desplazamiento desde la secuencia pasada en la llamada a regex_search .

No está especificado cómo la implementación realiza estos ajustes. Esto significa que un compilador puede llamar a una función de búsqueda específica de la implementación, en cuyo caso una especialización definida por el usuario de regex_search no será llamada.

El comportamiento es indefinido si el iterador es un iterador de fin de secuencia.

Parámetros

(ninguno)

Valor de retorno

1) * this
2) El valor anterior del iterador.