Biblioteca de tupla C ++ - operadores relacionais (tupla)
Descrição
Ele contém operadores relacionais para tupla e executa a operação de comparação apropriada entre os objetos de tupla lhs e rhs.
Declaração
A seguir está a declaração para operadores std :: relacionais (tupla)
C ++ 98
template<class... TTypes, class... UTypes>
bool operator== ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator!= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator< ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator> ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator>= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator<= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
C ++ 11
template<class... TTypes, class... UTypes>
bool operator== ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator!= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator< ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator> ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator>= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
template<class... TTypes, class... UTypes>
bool operator<= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
</pre>
Parâmetros
lhs, rhs - Estes são objetos de tupla.
Valor de retorno
Retorna verdadeiro se a condição for mantida e falso caso contrário.
Exceções
No-throw guarantee - esta função de membro nunca lança exceções.
Corridas de dados
lhs e rhs, são acessados e até todos os seus membros são acessados.
Exemplo
No exemplo abaixo para operadores std :: relacionais (tupla).
#include <iostream>
#include <tuple>
int main () {
std::tuple<int,char> a (100,'x');
std::tuple<char,char> b (100,'x');
std::tuple<char,char> c (100,'y');
if (a==b) std::cout << "a and b are equal\n";
if (b!=c) std::cout << "b and c are not equal\n";
if (b<c) std::cout << "b is less than c\n";
if (c>a) std::cout << "c is greater than a\n";
if (a<=c) std::cout << "a is less than or equal to c\n";
if (c>=b) std::cout << "c is greater than or equal to b\n";
return 0;
}
A saída deve ser assim -
a and b are equal
b and c are not equal
b is less than c
c is greater than a
a is less than or equal to c
c is greater than or equal to b