Freigeben über


operator== <regex>

Gleicher Vergleich für verschiedene Objekte.

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);

Parameter

  • BidIt
    Der Iteratortyp.

  • IOtraits
    Die Zeichenfolgenmerkmalklasse.

  • Alloc
    Die allocator-Klasse.

  • left
    Das zu vergleichende linksobjekt.

  • right
    Das rechte zu vergleichende Objekt.

Hinweise

Jeder Vorlagenoperator konvertiert jedes ihrer Argumente in einen Zeichenfolgentyp und gibt das Ergebnis des Vergleichs der konvertierten Objekte für Gleichheit zurück.

Wenn ein Vorlagenoperator seine Argumente in einen Zeichenfolgentyp konvertiert, wird das erste der folgenden Transformationen, das angewendet wird:

Argumente, deren Typen eine Spezialisierung der Vorlagenklasse match_results oder sub_match sind, werden konvertiert, indem die Memberfunktion aufruft, str

Argumente, deren Typen eine Spezialisierung der Vorlagenklasse basic_string sind, sind unverändert;

alle anderen Argumenttypen werden konvertiert, indem den Argumentwert an den Konstruktor für eine entsprechende Spezialisierung der Vorlagenklasse basic_string übergibt.

Beispiel

 

// 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); 
    } 
 
  

Anforderungen

Header: <regex>

Namespace: std

Siehe auch

Referenz

<regex>

operator!= <regex>

operator< <regex>

operator<= <regex>

operator> <regex>

operator>= <regex>