std::regex_iterator<BidirIt,CharT,Traits>:: operator++, operator++ (int)
|
regex_iterator
&
operator
++
(
)
;
|
(seit C++11) | |
|
regex_iterator operator
++
(
int
)
;
|
(seit C++11) | |
Bewegt den Iterator zum nächsten Treffer.
|
Dieser Abschnitt ist unvollständig
Grund: Erklärung verbessern |
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)