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
regex_token_iterator ( ) ;
(1) (depuis 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) (depuis 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) (depuis 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) (depuis 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) (depuis C++11)
regex_token_iterator ( const regex_token_iterator & other ) ;
(6) (depuis 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) (depuis 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 ) = supprimé ;
(8) (depuis 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 ) = delete ;
(9) (depuis C++11)
template < std:: size_t N >

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

std:: regex_constants :: match_default ) = supprimé ;
(10) (depuis C++11)

Construit un nouveau regex_token_iterator :

1) Constructeur par défaut. Construit un itérateur de fin de séquence.
2-5) D'abord, copie la liste des sous-correspondances demandées depuis l'argument submatches ou submatch dans la liste membre stockée dans l'itérateur et construit le membre std::regex_iterator en passant a , b , re , et m à son constructeur à quatre arguments (ce constructeur effectue l'appel initial à std::regex_search ) et initialise le compteur interne de submatches à zéro.
  • Si, après construction, le membre regex_iterator n'est pas un itérateur de fin de séquence, définit le pointeur membre sur l'adresse du std::sub_match actuel.
  • Sinon (si le membre regex_iterator est un itérateur de fin de séquence), mais que la valeur - 1 est l'une des valeurs dans submatches / submatch , transforme * this en un itérateur de suffixe pointant vers la plage [ a , b ) (la chaîne entière est le suffixe non correspondant).
  • Sinon (si - 1 n'est pas dans la liste de submatches ), transforme * this en l'itérateur de fin de séquence.

Le comportement est indéfini si une valeur dans submatches est inférieure à - 1 .

6) Constructeur de copie : effectue une copie membre par membre (incluant la copie du membre regex_iterator et du pointeur membre vers le sub_match actuel).
7-10) Les surcharges (2-5) sont interdites d'être appelées avec un regex temporaire puisque sinon l'itérateur retourné serait immédiatement invalidé.

Paramètres

a - LegacyBidirectionalIterator vers le début de la séquence de caractères cible
b - LegacyBidirectionalIterator vers la fin de la séquence de caractères cible
re - expression régulière utilisée pour rechercher dans la séquence de caractères cible
submatch - l'indice de la sous-correspondance qui doit être retournée. "0" représente la correspondance entière, et "-1" représente les parties non correspondantes (par exemple, les éléments entre les correspondances)
submatches - la séquence d'indices de sous-correspondance qui doit être parcourue dans chaque correspondance, peut inclure la valeur spéciale - 1 pour les fragments non correspondants
m - drapeaux qui régissent le comportement de re

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 2332 C++11 un regex_token_iterator construit à partir d'un
temporaire basic_regex devenait immédiatement invalide
une telle construction est interdite via des surcharges supprimées