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 ++ ( ) ;
(seit C++11)
regex_iterator operator ++ ( int ) ;
(seit C++11)

Bewegt den Iterator zum nächsten Treffer.

Zunächst wird eine lokale Variable vom Typ BidirIt mit dem Wert von match [ 0 ] . second konstruiert.

Wenn der Iterator eine Übereinstimmung der Länge Null enthält und start == end , wird * this auf den Endsequenz-Iterator gesetzt und die Funktion kehrt zurück.

Andernfalls, wenn der Iterator einen Match der Länge Null enthält, ruft der Operator Folgendes auf:

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

Wenn der Aufruf true zurückgibt, kehrt die Funktion zurück.

Andernfalls erhöht der Operator start und fährt fort, als ob die letzte Übereinstimmung keine Übereinstimmung der Länge Null war.

Wenn die letzte Übereinstimmung keine Übereinstimmung der Länge Null war, setzt der Operator flags auf flags | regex_constants :: match_prev_avail und ruft Folgendes auf:

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

Wenn der Aufruf false zurückgibt, setzt der Iterator * this auf den Endsequenz-Iterator, die Funktion kehrt zurück.

In allen Fällen, in denen der Aufruf von regex_search true zurückgibt, wird match. prefix ( ) . first gleich dem vorherigen Wert von match [ 0 ] . second sein, und für jeden Index i im Bereich [ 0 , match. size ( ) ) , für den match [ i ] . matched true ist, wird match [ i ] . position ( ) distance ( begin, match [ i ] . first ) zurückgeben.

Dies bedeutet, dass match [ i ] . position ( ) den Offset vom Anfang der Zielsequenz liefert, was oft nicht dasselbe ist wie der Offset von der Sequenz, die im Aufruf von regex_search übergeben wurde.

Es ist nicht spezifiziert, wie die Implementierung diese Anpassungen vornimmt. Dies bedeutet, dass ein Compiler eine implementationsspezifische Suchfunktion aufrufen kann, in welchem Fall eine benutzerdefinierte Spezialisierung von regex_search nicht aufgerufen wird.

Das Verhalten ist undefiniert, wenn der Iterator ein End-of-Sequence-Iterator ist.

Parameter

(keine)

Rückgabewert

1) * this
2) Der vorherige Wert des Iterators.