std::regex_iterator::operator++, operator++(int)
regex_iterator& operator++(); | (desde C++11) | |
regex_iterator operator++(int); | (desde C++11) | |
Avanza el iterador a la siguiente coincidencia.
Esta sección está incompleta Razón: explicar mejor |
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)