public member type
<unordered_map>

std::unordered_map::key_eq

key_equal key_eq() const;
Get key equivalence predicate
Returns the key equivalence comparison predicate used by the unordered_map container.

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. It is adopted by the container on construction (see unordered_map's constructor for more info). By default, it is equal_to<key_type>, which returns the same as applying the equal-to operator (==) to the arguments.

Parameters

none

Return Value

The key equality comparison object.

Member type key_equal is the type of the key equality comparison predicate used by the container, defined in unordered_map as an alias of its fourth template parameter (Pred).

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// unordered_map::key_eq
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,std::string> mymap;

  bool case_insensitive = mymap.key_eq()("test","TEST");

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

  return 0;
}

Output:
mymap.key_eq() is case sensitive



Complexity

Constant.

Iterator validity

No changes.

See also