regex_token_iterator-Klasse
Iteratorklasse für Teilübereinstimmungen.
template<class BidIt, class Elem = iterator_traits<BidIt>::value_type,
class RXtraits = regex_traits<Elem> >
class regex_token_iterator {
public:
typedef basic_regex<Elem, RXtraits> regex_type;
typedef sub_match<BidIt> value_type;
typedef std::forward_iterator_tag iterator_category;
typedef std::ptrdiff_t difference_type;
typedef const sub_match<BidIt> *pointer;
typedef const sub_match<BidIt>& reference;
regex_token_iterator();
regex_token_iterator(BidIt first, BidIt last,
const regex_type& re, int submatch = 0,
regex_constants::match_flag_type f = regex_constants::match_default);
regex_token_iterator(BidIt first, BidIt last,
const regex_type& re, const std::vector<int> submatches,
regex_constants::match_flag_type f = regex_constants::match_default);
template<std::size_t N>
regex_token_iterator(BidIt first, BidIt last,
const regex_type& re, const int (&submatches)[N],
regex_constants::match_flag_type f = regex_constants::match_default);
bool operator==(const regex_token_iterator& right);
bool operator!=(const regex_token_iterator& right);
const basic_string<Elem>& operator*();
const basic_string<Elem> *operator->();
regex_token_iterator& operator++();
regex_token_iterator& operator++(int);
private:
regex_iterator<BidIt, Elem, RXtraits> it; // exposition only
vector<int> subs; // exposition only
int pos; // exposition only
};
Parameter
BidIt
Der Iteratortyp für Teilübereinstimmungen.Elem
Der Typ der Elemente für die Übereinstimmung.RXtraits
Merkmalklasse für Elemente.
Hinweise
Die Vorlagenklasse beschreibt ein konstantes Vorwärtsiteratorobjekt. Konzeptionell enthält sie ein regex_iterator-Objekt, das diese verwendet, um für Übereinstimmungen des regulären Ausdrucks in einer Zeichenfolge zu suchen. Sie extrahiert die Objekte vom Typ sub_match<BidIt> die Teilübereinstimmungen darstellt, die durch die Indexwerte im gespeicherten Vektor subs für jede Übereinstimmung des regulären Ausdrucks identifiziert werden.
Ein Indexwert von -1 wird der Zeichensequenzanfang unmittelbar nach dem Ende der vorherigen Übereinstimmung des regulären Ausdrücken oder Anfang am Anfang der Zeichenfolge, wenn nicht vorherige regulären Ausdrucksübereinstimmung hat, und die Erweiterung jedoch ohne zum ersten Zeichen der aktuellen regulären Ausdrucksübereinstimmung bzw. das Ende der Zeichenfolge fest, wenn keine aktuelle Übereinstimmung gibt. Jeder andere Indexwert idx wird der Inhalt der Erfassungsgruppe fest, die in it.match[idx] enthalten ist.
Anforderungen
Header: <regex>
Namespace: std