The std::not_equal_to is a functional object class for non-equality comparison and binary function object class. It returns a boolean value depending upon the condition whether the two arguments are not equal or not.
Header File:
#include <functional.h>
Template Class:
template struct not_equal_to : binary_function { // Declaration of the // not equal to operation bool operator() (const T& x, const T& y) const { return x!=y; } // Type of first parameter typedef T first_argument_type; // Type of second parameter typedef T second_argument_type; // The result is returned // as bool type typedef bool result_type; }
Syntax:
std::not_equal_to <int> ()
Parameter: This function accepts the type of the arguments T, as the parameter, to be compared by the functional call.
Return Type: It return a boolean value depending upon condition(let a & b are 2 element):
- True: If a is not equals to b.
- False: If a is equals to b.
Below is the illustration of std::not_equal_to in C++:
Program 1:
// C++ code to illustrate std::not_equal_to #include <algorithm> #include <functional> #include <iostream> #include <vector> using namespace std;
// Driver Code int main()
{ // Initialise vectors
vector< int > v1 = { 50, 55, 60,
65, 70 };
vector< int > v2 = { 50, 55, 85,
65, 70 };
// Declaring pointer of pairs
pair<vector< int >::iterator,
vector< int >::iterator>
pairs1;
// Use mismatch() function to
// search first match between
// v1 and v2
pairs1 = mismatch(v1.begin(), v1.end(),
v2.begin(),
not_equal_to< int >());
// Print the match pair
cout << "The 1st match element"
<< " of 1st container : " ;
cout << *pairs1.first << endl;
cout << "The 1st match element "
<< "of 2nd container : " ;
cout << *pairs1.second << endl;
return 0;
} |
The 1st match element of 1st container : 50 The 1st match element of 2nd container : 50
Program 2:
// C++ program to illustrate // std::not_equals_to #include <algorithm> #include <functional> #include <iostream> using namespace std;
// Template template < typename A, typename B,
typename U = not_equal_to< int > >
// Function to check if a != b or not bool f(A a, B b, U u = U())
{ return u(a, b);
} // Driver Code int main()
{ int X = 1, Y = 2;
// If X is not equals to Y or not
cout << boolalpha;
cout << f(X, Y) << '\n' ;
X = -1, Y = -1;
// If X is not equals to Y or not
cout << f(X, Y) << '\n' ;
return 0;
} |
true false
Reference: http://www.cplusplus.com/reference/functional/not_equal_to/