Facebook Page Twitter Page LinkedIn Page
× C++ Standard Library C++ STL Library

The C++ unordered_set::key_eq function is used to return 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. By default, it is equal_to<key_type>, which returns the same as applying the equal-to operator (==) to the arguments.


key_equal key_eq() const;


No parameter is required.

Return Value

The key equality comparison object.

Time Complexity

Constant i.e, Θ(1)


The below example shows the usage of unordered_set::key_eq().

#include <iostream>
#include <unordered_set>
using namespace std;
int main (){
  unordered_set<string> uSet;

  bool case_insensitive = uSet.key_eq()("alpha", "Alpha");

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

  return 0;

The output of the above code will be:

uSet.key_eq() is case sensitive.

❮ C++ <unordered_set> Library