C++ Unordered_map Library - key_eq() Function



Description

The C++ function std::unordered_map::key_eq() Returns the function that compares keys for equality.

The key equivalence comparison is a predicate that takes two arguments of the key type and returns a bool value indicating whether they are to be considered equivalent. Default predicate is equal_to, which returns the same as applying the equal-to operator (==) to the arguments.

Declaration

Following is the declaration for std::unordered_map::key_eq() function form std::unordered_map header.

C++11

key_equal key_eq() const;

Parameters

None

Return value

Returns the key comparison function.

Time complexity

Constant i.e. O(1)

Example

The following example shows the usage of std::unordered_map::key_eq() function.

#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;

int main () {
   unordered_map<string,string> um;

   bool case_insensitive = um.key_eq()("jerry","JERRY");

   cout << "mymap.key_eq() is ";
   cout << ( case_insensitive ? "case insensitive" : "case sensitive" );
   cout << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

mymap.key_eq() is case sensitive
unordered_map.htm
Advertisements