It is a relational operator.
DeclarationFollowing is the declaration for std::rel_ops function.
namespace rel_ops { template <class T> bool operator!= (const T& x, const T& y); template <class T> bool operator> (const T& x, const T& y); template <class T> bool operator<= (const T& x, const T& y); template <class T> bool operator>= (const T& x, const T& y); }C++11
namespace rel_ops { template <class T> bool operator!= (const T& x, const T& y); template <class T> bool operator> (const T& x, const T& y); template <class T> bool operator<= (const T& x, const T& y); template <class T> bool operator>= (const T& x, const T& y); }Parameters
T − It is a type and the type shall be EqualityComparable.
Return Valuenone
Exceptionsnone
Data racesnone
ExampleIn below example explains about std::rel_ops function.
#include <iostream> #include <utility> #include <cmath> class vector2d { public: double x,y; vector2d (double px,double py): x(px), y(py) {} double length() const {return std::sqrt(x*x+y*y);} bool operator==(const vector2d& rhs) const {return length()==rhs.length();} bool operator< (const vector2d& rhs) const {return length()< rhs.length();} }; int main () { using namespace std::rel_ops; vector2d a (10,10); vector2d b (15,20); std::cout << std::boolalpha; std::cout << "(a>b) is " << (a<b) << '\n'; std::cout << "(a<b) is " << (a>b) << '\n'; return 0; }
Let us compile and run the above program, this will produce the following result −
(a>b) is true (a<b) is false
utility.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4