Biblioteca de tuplas de C ++: operadores relacionales (tuplas)

Descripción

Contiene operadores relacionales para la tupla y realiza la operación de comparación adecuada entre los objetos tupla lhs y rhs.

Declaración

A continuación se muestra la declaración para std :: operadores relacionales (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 - Estos son objetos de tupla.

Valor devuelto

Devuelve verdadero si la condición se cumple y falso en caso contrario.

Excepciones

No-throw guarantee - esta función miembro nunca arroja excepciones.

Carreras de datos

Se accede a lhs y rhs, y se accede a todos sus miembros.

Ejemplo

En el siguiente ejemplo para std :: operadores relacionales (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;
}

La salida debería ser así:

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