C++ named requirements: Hash
A Hash is a function object for which the output depends only on the input and has a very low probability of yielding the same output given different input values.
Requirements
The type T satisfies Hash if.
- The type
Tsatisfies FunctionObject, CopyConstructible, Destructible, and
Given.
-
h, a value of typeTorconst T, whose argument type isKey -
k, a value of type convertible toKeyorconst Key -
u, an lvalue expression of typeKey
The following expressions must be valid and have their specified effects.
| Expression | Return type | Requirements |
|---|---|---|
h(k) | std::size_t | the returned value depends only on the value of k for the duration of the program (since C++14) All evaluations of The probability of |
h(u) | std::size_t | u is not modified |
Standard library
std::hash |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/named_req/Hash