From Jason Turner

[hash.requirements]

Diff to HTML by rtfpessoa

tmp/tmpsdt8k91i/{from.md → to.md} RENAMED
@@ -1,18 +1,18 @@
1
- #### Hash requirements <a id="hash.requirements">[[hash.requirements]]</a>
2
 
3
- A type `H` meets the `Hash` requirements if:
4
 
5
- - it is a function object type ([[function.objects]]),
6
- - it satisfies the requirements of `CopyConstructible` and
7
- `Destructible` ([[utility.arg.requirements]]), and
8
- - the expressions shown in Table  [[tab:hash]] are valid and have the
9
  indicated semantics.
10
 
11
  Given `Key` is an argument type for function objects of type `H`, in
12
- Table  [[tab:hash]] `h` is a value of type (possibly `const`) `H`, `u`
13
- is an lvalue of type `Key`, and `k` is a value of a type convertible to
14
  (possibly `const`) `Key`.
15
 
16
  [*Note 1*: Thus all evaluations of the expression `h(k)` with the same
17
  value for `k` yield the same result for a given execution of the
18
  program. — *end note*]
 
1
+ #### *Cpp17Hash* requirements <a id="hash.requirements">[[hash.requirements]]</a>
2
 
3
+ A type `H` meets the requirements if:
4
 
5
+ - it is a function object type [[function.objects]],
6
+ - it meets the *Cpp17CopyConstructible* ([[cpp17.copyconstructible]])
7
+ and *Cpp17Destructible* ([[cpp17.destructible]]) requirements, and
8
+ - the expressions shown in [[cpp17.hash]] are valid and have the
9
  indicated semantics.
10
 
11
  Given `Key` is an argument type for function objects of type `H`, in
12
+ [[cpp17.hash]] `h` is a value of type (possibly `const`) `H`, `u` is an
13
+ lvalue of type `Key`, and `k` is a value of a type convertible to
14
  (possibly `const`) `Key`.
15
 
16
  [*Note 1*: Thus all evaluations of the expression `h(k)` with the same
17
  value for `k` yield the same result for a given execution of the
18
  program. — *end note*]