std::not_equal_to in C++ with Examples

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ code to illustrate std::not_equal_to
  
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
  
// Driver Code
int main()
{
    // Intialise 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;
}

chevron_right


Output:

The 1st match element of 1st container : 50
The 1st match element of 2nd container : 50

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

true
false

Reference: http://www.cplusplus.com/reference/functional/not_equal_to/

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


2


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.