Espacios de nombres
Variantes
Acciones

std::regex_iterator::operator++, operator++(int)

De cppreference.com
 
 
Biblioteca de expresiones regulares
Clases
(C++11)
Algoritmos
Iteradores
Excepciones
Rasgos
Constantes
(C++11)
Gramática de las expresiones regulares
 
std::regex_iterator
Funciones miembro
Comparaciones
Observadores
Modificadores
regex_iterator::operator++regex_iterator::operator++(int)
 
regex_iterator& operator++();
(desde C++11)
regex_iterator operator++(int);
(desde C++11)

Avanza el iterador a la siguiente coincidencia.

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

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

De lo contrario, si el iterador tiene 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 devuelve true, la función regresa.

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

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

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

Si la llamada devuelve false, el iterador establece *this en el iterador de fin de secuencia y la función regresa.

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

Esto significa que match[i].position() da el desplazamiento desde el principio de la secuencia de destino, que a menudo no es el mismo que el desplazamiento de 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 no se llamará una especialización definida por el usuario de regex_search.

El comportamiento no está definido si el iterador es un iterador de fin de secuencia.

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

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