Partager via


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

Voir aussi

Référence

<regex>

regex_token_iterator, classe

regex_iterator, classe

Autres ressources

<regex> membres