operador == <regex>
Comparação de igual para vários objetos.
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);
Parâmetros
BidIt
O tipo de iterador.IOtraits
A classe de características de seqüência de caracteres.Alloc
A classe do alocador.left
O objeto à esquerda para comparar.right
O objeto certo para comparar.
Comentários
Cada operador modelo converte cada um de seus argumentos para um tipo de seqüência de caracteres e retorna o resultado de comparação de objetos convertidos igualdade.
Quando um operador de modelo converte o argumento em um tipo de seqüência de caracteres, ele usa a primeira das transformações seguintes que se aplica:
de argumentos cujos tipos são uma especialização de modelo de classematch_results ou sub_match são convertidos, chamando o str função de membro;
de argumentos cujos tipos são uma especialização do modelo de classebasic_string permanecem inalterados;
todos os outros tipos de argumento são convertidos, passando o valor do argumento para o construtor para uma especialização apropriado do modelo de classe basic_string.
Exemplo
// std_tr1__regex__operator_eq.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
typedef std::tr1::cmatch::string_type Mystr;
int main()
{
std::tr1::regex rx("c(a*)|(b)");
std::tr1::cmatch mr;
std::tr1::regex_search("xcaaay", mr, rx);
std::tr1::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);
}
match == caaa sub == aaa match == match == true sub == sub == true string("aab") == sub == false sub == string("aab") == false "aab" == sub == false sub == "aab" == false 'a' == sub == false sub == 'a' == false
Requisitos
Cabeçalho:<regex>
Namespace: std::tr1