Partager via


operator== <regex>

Comparaison d'égalité pour différentes sortes d'objets.

template<class BidIt>
    bool operator==(const sub_match<BidIt>& left,
        const sub_match<BidIt>& right);
template<class BidIt, class IOtraits, class Alloc>
    bool operator==(
        const basic_string<typename iterator_traits<BidIt>::value_type, IOtraits, Alloc>& left,
        const sub_match<BidIt>& right);
template<class BidIt, class IOtraits, class Alloc>
    bool operator==(const sub_match<BidIt>& left,
        const basic_string<typename iterator_traits<BidIt>::value_type, IOtraits, Alloc>& right);
template<class BidIt>
    bool operator==(const typename iterator_traits<BidIt>::value_type* left,
        const sub_match<BidIt>& right);
template<class BidIt>
    bool operator==(const sub_match<BidIt>& left,
        const typename iterator_traits<BidIt>::value_type* right);
template<class BidIt>
    bool operator==(const typename iterator_traits<BidIt>::value_type& left,
        const sub_match<BidIt>& right);
template<class BidIt>
    bool operator==(const sub_match<BidIt>& left,
        const typename iterator_traits<BidIt>::value_type& right);
template<class BidIt, class Alloc>
    bool operator==(const match_results<BidIt, Alloc>& left,
        const match_results<BidIt, Alloc>& right);

Paramètres

  • BidIt
    Type d'itérateur.

  • IOtraits
    La classe de caractéristiques de la chaîne.

  • Alloc
    Classe allocator.

  • left
    Objet de gauche à comparer.

  • right
    Objet de droite à comparer.

Notes

Chaque opérateur de modèle convertit chacun de ses arguments en un type chaîne et retourne le résultat de la comparaison des objets convertis en termes d'égalité.

Lorsqu'un opérateur de modèle convertit ses arguments en un type chaîne il utilise la première des transformations suivantes qui applique :

les arguments dont les types sont une spécialisation de classe de modèle match_results ou sub_match sont convertis en appelant la fonction membre str ;

les arguments dont les types sont une spécialisation de la classe de modèle basic_string ne sont pas affectés ;

tous les autres types d'arguments sont convertis en passant l'argument au constructeur pour une spécialisation appropriée dans la classe de modèle basic_string.

Exemple

 

// std_tr1__regex__operator_eq.cpp 
// compile with: /EHsc 
#include <regex> 
#include <iostream> 
 
typedef std::cmatch::string_type Mystr; 
int main() 
    { 
    std::regex rx("c(a*)|(b)"); 
    std::cmatch mr; 
 
    std::regex_search("xcaaay", mr, rx); 
 
    std::csub_match sub = mr[1]; 
    std::cout << "match == " << mr.str() << std::endl; 
    std::cout << "sub == " << sub << std::endl; 
    std::cout << std::endl; 
 
    std::cout << "match == match == " << std::boolalpha 
        << (mr == mr) << std::endl; 
    std::cout << "sub == sub == " << std::boolalpha 
        << (sub == sub) << std::endl; 
 
    std::cout << "string(\"aab\") == sub == " << std::boolalpha 
        << (Mystr("aab") == sub) << std::endl; 
    std::cout << "sub == string(\"aab\") == " << std::boolalpha 
        << (sub == Mystr("aab")) << std::endl; 
 
    std::cout << "\"aab\" == sub == " << std::boolalpha 
        << ("aab" == sub) << std::endl; 
    std::cout << "sub == \"aab\" == " << std::boolalpha 
        << (sub == "aab") << std::endl; 
 
    std::cout << "'a' == sub == " << std::boolalpha 
        << ('a' == sub) << std::endl; 
    std::cout << "sub == 'a' == " << std::boolalpha 
        << (sub == 'a') << std::endl; 
 
    return (0); 
    } 
 
  

Configuration requise

Header: <regex>

Espace de noms : std

Voir aussi

Référence

<regex>

operator!= <regex>

operator< <regex>

operator<= <regex>

operator> <regex>

operator>= <regex>