Namespaces
Variants

std::regex_token_iterator<BidirIt,CharT,Traits>:: regex_token_iterator

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
(Anmerkung: Der bereitgestellte HTML-Code enthält keinen übersetzbaren Text, da alle Tags leer sind. Die Struktur und Formatierung bleiben unverändert.)
regex_token_iterator ( ) ;
(1) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type & re,
int submatch = 0 ,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) ;
(2) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type & re,
const std:: vector < int > & submatches,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) ;
(3) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type & re,
std:: initializer_list < int > submatches,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) ;
(4) (seit C++11)
template < std:: size_t N >

regex_token_iterator ( BidirIt a, BidirIt b,
const regex_type & re,
const int ( & submatches ) [ N ] ,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) ;
(5) (seit C++11)
regex_token_iterator ( const regex_token_iterator & other ) ;
(6) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type && re,
int submatch = 0 ,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) = delete ;
(7) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type && re,
const std:: vector < int > & submatches,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) = delete ;
(8) (seit C++11)
regex_token_iterator ( BidirIt a, BidirIt b,

const regex_type && re,
std:: initializer_list < int > Submatches,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) = gelöscht ;
(9) (seit C++11)
template < std:: size_t N >

regex_token_iterator ( BidirIt a, BidirIt b,
const regex_type && re,
const int ( & submatches ) [ N ] ,
std:: regex_constants :: match_flag_type m =

std:: regex_constants :: match_default ) = delete ;
(10) (seit C++11)

Konstruiert einen neuen regex_token_iterator :

1) Standardkonstruktor. Konstruiert den Endsequenz-Iterator.
2-5) Zunächst kopiert es die Liste der angeforderten Teilübereinstimmungen aus dem submatches - oder submatch -Argument in die im Iterator gespeicherte Mitgliederliste und konstruiert das Mitglied std::regex_iterator durch Übergabe von a , b , re und m an dessen vierargumentigen Konstruktor (dieser Konstruktor führt den anfänglichen Aufruf von std::regex_search durch) und setzt den internen Zähler für submatches auf null.
  • Wenn nach der Konstruktion der Mitglieds- regex_iterator kein End-of-Sequence-Iterator ist, setzt es den Mitgliedszeiger auf die Adresse des aktuellen std::sub_match .
  • Andernfalls (wenn der Mitglieds- regex_iterator ein End-of-Sequence-Iterator ist), aber der Wert - 1 einer der Werte in submatches / submatch ist, verwandelt es * this in einen Suffix-Iterator , der auf den Bereich [ a , b ) zeigt (die gesamte Zeichenkette ist das nicht übereinstimmende Suffix).
  • Andernfalls (wenn - 1 nicht in der Liste von submatches enthalten ist), verwandelt es * this in den End-of-Sequence-Iterator.

Das Verhalten ist undefiniert, falls ein Wert in submatches kleiner als - 1 ist.

6) Kopierkonstruktor: führt eine elementweise Kopie durch (einschließlich der Erstellung einer Kopie des Members regex_iterator und des Member-Zeigers auf das aktuelle sub_match ).
7-10) Die Überladungen (2-5) dürfen nicht mit einem temporären Regex-Objekt aufgerufen werden, da der zurückgegebene Iterator andernfalls sofort ungültig würde.

Parameter

a - LegacyBidirectionalIterator zum Anfang der Zielzeichenfolge
b - LegacyBidirectionalIterator zum Ende der Zielzeichenfolge
re - regulärer Ausdruck, der zur Suche in der Zielzeichenfolge verwendet wird
submatch - der Index des zurückzugebenden Submatches. "0" repräsentiert den gesamten Treffer und "-1" repräsentiert die nicht übereinstimmenden Teile (z.B. die Bereiche zwischen Treffern)
submatches - die Folge von Submatch-Indizes, die innerhalb jedes Treffers durchlaufen werden sollen, kann den speziellen Wert - 1 für die nicht übereinstimmenden Fragmente enthalten
m - Flags, die das Verhalten von re steuern

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 2332 C++11 ein regex_token_iterator konstruiert von einem
temporären basic_regex wurde sofort ungültig
solche Konstruktion wird durch gelöschte Überladungen verhindert