std::hash
From Cppreference
C++ Standard Library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Utilities library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::hash | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <functional>
|
||
template< class Key >
struct hash; |
(C++11 feature) | |
The hash template defines a hash function object such that if two objects K and M of the same type Key compare equal, then std::hash(K)==std::hash(M), although the reverse is not necessarily true.
The unordered associative containers std::unordered_set, std::unordered_multiset, std::unordered_map, std::unordered_multimap use specializations of the template std::hash as the default hash function.
Contents |
[edit] Member types
argument_type | Key |
result_type | std::size_t |
[edit] Member functions
|
constructs a hash function object (public member function) |
|
|
calculate the hash of the argument (public member function) |
[edit] Standard specializations for basic types
Defined in header <functional>
|
||
template<> struct hash<bool>;
template<> struct hash<char>; |
||
[edit] Standard specializations for library types
|
hash support for strings (class template specialization) |
||
|
hash support for std::error_code (class template specialization) |
||
|
hash support for std::bitset (class template specialization) |
||
|
hash support for std::unique_ptr (class template specialization) |
||
|
hash support for std::shared_ptr (class template specialization) |
||
|
hash support for std::type_index (class template specialization) |
||
|
hash support for std::vector<bool> (class template specialization) |
||
|
hash support for std::thread::id (class template specialization) |