public member type
<unordered_set>

std::unordered_multiset::hash_function

hasher hash_function() const;
Get hash function
Returns the hash function object used by the unordered_multiset container.

The hash function is a unary function that takes an object of type key_type as argument and returns a unique value of type size_t based on it. It is adopted by the container on construction (see unordered_set's constructor for more info). By default, it is the default hashing function for the corresponding key type: hash<key_type>.

Parameters

none

Return Value

The hash function.

Member type hasher is the type of the hash function used by the container, defined in unordered_multiset as an alias of its second template parameter (Hash).

Example

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

typedef std::unordered_multiset<std::string> stringset;

int main ()
{
  stringset myums;

  stringset::hasher fn = myums.hash_function();

  std::cout << "that: " << fn ("that") << std::endl;
  std::cout << "than: " << fn ("than") << std::endl;

  return 0;
}

Possible output:
this: 1046150783
thin: 929786026


Notice how two similar strings yield quite different hash values.

Complexity

Constant.

Iterator validity

No changes.

See also