public member type
<unordered_set>

std::unordered_set::key_eq

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

The key equivalence comparison is a predicate that takes the value of two elements as arguments and returns a bool value indicating whether they are to be considered equivalent. It is adopted by the container on construction (see unordered_set'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_set as an alias of its third template parameter (Pred).

Example

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

int main ()
{
  std::unordered_set<std::string> myset;

  bool case_insensitive = myset.key_eq()("checking","CHECKING");

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

  return 0;
}

Output:
myset.key_eq() is case sensitive



Complexity

Constant.

Iterator validity

No changes.

See also