C++ named requirements: Hash (since C++11)
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un Hash est un objet fonction pour lequel la sortie dépend uniquement de l'entrée et présente une très faible probabilité de produire la même sortie pour différentes valeurs d'entrée.
Exigences
Le type
T
satisfait
Hash
si
-
Le type
Tsatisfait FunctionObject , CopyConstructible , Destructible , et
Étant donné
-
h
, une valeur de type
Touconst T, dont le type d'argument estKey, -
k
, une valeur convertible en
Keyou const Key , -
u
, une expression
lvalue
de type
Key.
Les expressions suivantes doivent être valides et avoir leurs effets spécifiés.
| Expression | Type de retour | Exigences |
|---|---|---|
| h ( k ) | std::size_t |
La valeur retournée dépend uniquement de la valeur de
k
pendant la durée du programme.
Toutes les évaluations de h ( k ) exécutées lors d'une exécution donnée d'un programme produisent le même résultat pour la même valeur de k . La probabilité que h ( a ) == h ( b ) pour a ! = b doit approcher 1.0 / std:: numeric_limits < std:: size_t > :: max ( ) . |
| h ( u ) | std::size_t | u n'est pas modifié. |
Bibliothèque standard
|
(C++11)
|
objet fonction de hachage
(modèle de classe) |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2291 | C++11 | des résultats identiques pour des arguments identiques étaient requis dans tous les cas | requis uniquement au sein d'une même exécution |