Bibliothèque de tuples C ++ - opérateurs relationnels (tuple)

La description

Il contient des opérateurs relationnels pour tuple et effectue l'opération de comparaison appropriée entre les objets tuple lhs et rhs.

Déclaration

Voici la déclaration des opérateurs std :: relationnels (tuple)

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>

Paramètres

lhs, rhs - Ce sont des objets tuple.

Valeur de retour

Il renvoie vrai si la condition est satisfaite et faux dans le cas contraire.

Des exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

lhs et rhs, sont accessibles, et jusqu'à tous ses membres sont accessibles.

Exemple

Dans l'exemple ci-dessous pour les opérateurs std :: relationnels (tuple).

#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;
}

La sortie devrait être comme ça -

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