operator== <regex>
Çeşitli nesneler için eşit karşılaştırılması.
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);
Parametreler
BidIt
Yineleyici türü.IOtraits
String nitelikler sınıfı.Alloc
Ayırıcı sınıf.left
Karşılaştırmak için sol nesnesi.right
Karşılaştırma doğru nesne.
Notlar
Her şablon işleç bağımsız değişkenlerinin her birini bir string türüne dönüştürür ve eşitlik için dönüştürülmüş nesneleri karşılaştırma sonucu verir.
Şablon işleci bir dize türü bağımsız değişkenlerini dönüştürdüğünde geçerlidir aşağıdaki dönüştürmeleri ilk kullanır:
Şablon sınıfının uzmanlığı olan türleri olan bağımsız değişkenleri match_results veya sub_match çağırarak dönüştürülen str üye işlevi;
Şablon sınıfının uzmanlığı olan türleri olan bağımsız değişkenleri basic_string değiştirilmez;
bağımsız değişken değeri için uygun bir uzmanlığı şablon sınıfının yapıcısına ileterek tüm değişken türleri dönüştürülür basic_string.
Örnek
// 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);
}
Gereksinimler
Başlık: <regex>
Namespace: std