Тип H соответствует Hash требованиям, если:
это function object type,
он удовлетворяет требованиям CopyConstructible и Destructible, и
выражения, показанные в таблице 29 , действительны и имеют указанную семантику.
Given Key - тип аргумента для функциональных объектов типа H, в Table 29 h - значение типа (возможно const) H, u это lvalue типа Keyи k значение типа, конвертируемого в (возможно const) Key.
Выражение | Тип возврата | Требование |
h(k) | size_t | Возвращаемое значение должно зависеть только от аргумента k на протяжении всей программы. [ Note: Таким образом, все вычисления выражения h(k) с одинаковым значением для k дают одинаковый результат для данного выполнения программы. ] [ Для двух разных значений и вероятность того, что и сравнить равные, должна быть очень мала и приближается . ] — end note Note: t1 t2 h(t1) h(t2) 1.0 / numeric_limits<size_t>::max() — end note |
h(u) | size_t | Изменять не буду u. |