Sdílet prostřednictvím


regex_token_iterator – třída

Třída iterátor pro 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
    };

Parametry

  • BidIt
    Typ iterátor pro submatches.

  • Elem
    Typ prvků tak, aby odpovídala.

  • RXtraits
    Vlastnosti třídy prvků.

Poznámky

Třída šablony popisuje objekt konstanta iterace vpřed.Koncepčně, drží regex_iterator objekt, který se použije pro vyhledávání pro regulární výraz odpovídá sekvenci znaků.Extrahuje objekty typu sub_match<BidIt> představující submatches označeny index hodnoty ve vektoru uložené subs pro každou shodu regulárního výrazu.

Hodnota indexu -1 určuje posloupnost znaků začátku ihned po skončení předchozí porovnávání regulárního výrazu, nebo na začátku sekvence znaků Pokud neodpovídá žádná předchozí regulární výraz a rozšíření, ale bez první znak aktuální porovnání regulárního výrazu nebo na konci sekvence znaků, pokud neexistuje žádné aktuální shodují.Všechny ostatní hodnoty indexu idx označí obsah skupiny zachycení, konané v it.match[idx].

Požadavky

Záhlaví:<regex>

Obor názvů: std

Viz také

Referenční dokumentace

<regex>

regex_token_iterator – třída

regex_iterator – třída

Další zdroje

<regex> Členové