relational operators (tuple)
描述 (Description)
它包含元组的关系运算符,并在元组对象lhs和rhs之间执行适当的比较操作。
声明 (Declaration)
以下是std :: relational运算符(元组)的声明
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>
参数 (Parameters)
lhs, rhs - 这些是元组对象。
返回值 (Return Value)
如果条件成立则返回true,否则返回false。
异常 (Exceptions)
No-throw guarantee - 此成员函数永远不会抛出异常。
数据竞争 (Data races)
访问lhs和rhs,并访问其所有成员。
例子 (Example)
在下面的示例中为std :: relational运算符(元组)。
#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 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