Libreria di tuple C ++ - operatori relazionali (tupla)

Descrizione

Contiene operatori relazionali per tupla ed esegue l'operazione di confronto appropriata tra gli oggetti tupla lhs e rhs.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: operatori relazionali (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>

Parametri

lhs, rhs - Questi sono oggetti tupla.

Valore di ritorno

Restituisce true se la condizione è valida e false in caso contrario.

Eccezioni

No-throw guarantee - questa funzione membro non genera mai eccezioni.

Gare di dati

Si accede a lhs e rhs e fino a tutti i suoi membri.

Esempio

Nell'esempio seguente per gli operatori std :: relazionali (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;
}

L'output dovrebbe essere così -

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