public member type
<unordered_map>

std::unordered_multimap::hash_function

hasher hash_function() const;
Get hash function
Returns the hash function object used by the unordered_multimap 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_multimap'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_multimap as an alias of its third template parameter (Hash).

Example

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

typedef std::unordered_multimap<std::string,std::string> stringmap;

int main ()
{
  stringmap myumm;

  stringmap::hasher fn = myumm.hash_function();

  std::cout << "this: " << fn ("this") << std::endl;
  std::cout << "thin: " << fn ("thin") << std::endl;

  return 0;
}

Possible output:
this: 671344778
thin: 3223852919


Notice how two similar strings yield quite different hash values.

Complexity

Constant.

Iterator validity

No changes.

See also