regex_token_iterator, classe
Classe d'itérateur pour les submatches.
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
};
Paramètres
BidIt
Le type d'itérateur pour les submatches.Elem
Le type d'éléments en correspondance.RXtraits
Classe Ctraits des éléments.
Notes
La classe du modèle décrit un objet itérateur par progression fixe. Conceptuellement, elle contient un objet d'regex_iterator qu'elle utilise pour rechercher des correspondances d'expressions régulières dans une séquence de caractères. Elle extrait des objets de type sub_match<BidIt> qui représente les submatches identifiés par les valeurs d'subs vectoriel stockée pour chaque correspondance d'expression régulière.
Une valeur de -1 indique le début de la séquence de caractères immédiatement après la fin de la correspondance précédente des expressions régulières, ou au début au début de la séquence de caractères s'il n'y a pas de correspondance précédente des expressions régulières, et d'étendre mais sans le premier caractère de la correspondance d'expression régulière, ou à la fin de la séquence de caractères s'il n'existe aucune correspondance actuelle. Toute autre valeur d'index idx affiche le contenu du groupe de capture conservé dans it.match[idx].
Configuration requise
Header: <regex>
Espace de noms : std