Edit

Share via


hash Class

Computes hash code for a value.

Syntax

template <class Ty>
struct hash {
    size_t operator()(Ty val) const;
};

Remarks

The function object defines a hash function, suitable for mapping values of type Ty to a distribution of index values. The member operator() returns a hash code for val, suitable for use with class templates unordered_map, unordered_multimap, unordered_set, and unordered_multiset. The standard library provides specializations for basic types: Ty may be any scalar type, including pointer types and enumeration types. In addition, there are specializations for the library types string, wstring, u16string, u32string, string_view, wstring_view, u16string_view, u32string_view, bitset, error_code, error_condition, optional, shared_ptr, thread, type_index, unique_ptr, variant, and vector<bool>.

Example

// std__functional__hash.cpp
// compile with: /EHsc
#include <functional>
#include <iostream>
#include <unordered_set>

int main()
    {
    std::unordered_set<int, std::hash<int> > c0;
    c0.insert(3);
    std::cout << *c0.find(3) << std::endl;

    return (0);
    }
3

Requirements

Header: <functional>

Namespace: std

See also

<unordered_map>
unordered_multimap Class
unordered_multiset Class
<unordered_set>