20 Library introduction [library]

20.5 Library-wide requirements [requirements]

20.5.3 Requirements on types and expressions [utility.requirements]

20.5.3.4 Hash requirements [hash.requirements]

Тип H соответствует Hash требованиям, если:

Given Key - тип аргумента для функциональных объектов типа H, в Table 29 h - значение типа (возможно const) H, u это lvalue типа Keyи k значение типа, конвертируемого в (возможно const) Key.

Таблица 29 - Hash требования
Выражение Тип возврата Требование
h(k) size_­t Возвращаемое значение должно зависеть только от аргумента k на протяжении всей программы. [ Note: Таким образом, все вычисления выражения h(k) с одинаковым значением для k дают одинаковый результат для данного выполнения программы. ] [ Для двух разных значений и вероятность того, что и сравнить равные, должна быть очень мала и приближается . ] end noteNote: t1 t2 h(t1) h(t2) 1.0 / numeric_­limits<size_­t>​::​max() end note
h(u) size_­t Изменять не буду u.