From Jason Turner

[util.smartptr.hash]

Diff to HTML by rtfpessoa

tmp/tmpocf2tslf/{from.md → to.md} RENAMED
@@ -1,21 +1,20 @@
1
- #### Smart pointer hash support <a id="util.smartptr.hash">[[util.smartptr.hash]]</a>
2
 
3
  ``` cpp
4
  template<class T, class D> struct hash<unique_ptr<T, D>>;
5
  ```
6
 
7
  Letting `UP` be `unique_ptr<T,D>`, the specialization `hash<UP>` is
8
- enabled ([[unord.hash]]) if and only if `hash<typename UP::pointer>` is
9
  enabled. When enabled, for an object `p` of type `UP`, `hash<UP>()(p)`
10
- shall evaluate to the same value as
11
- `hash<typename UP::pointer>()(p.get())`. The member functions are not
12
- guaranteed to be `noexcept`.
13
 
14
  ``` cpp
15
  template<class T> struct hash<shared_ptr<T>>;
16
  ```
17
 
18
  For an object `p` of type `shared_ptr<T>`, `hash<shared_ptr<T>>()(p)`
19
- shall evaluate to the same value as
20
  `hash<typename shared_ptr<T>::element_type*>()(p.get())`.
21
 
 
1
+ ### Smart pointer hash support <a id="util.smartptr.hash">[[util.smartptr.hash]]</a>
2
 
3
  ``` cpp
4
  template<class T, class D> struct hash<unique_ptr<T, D>>;
5
  ```
6
 
7
  Letting `UP` be `unique_ptr<T,D>`, the specialization `hash<UP>` is
8
+ enabled [[unord.hash]] if and only if `hash<typename UP::pointer>` is
9
  enabled. When enabled, for an object `p` of type `UP`, `hash<UP>()(p)`
10
+ evaluates to the same value as `hash<typename UP::pointer>()(p.get())`.
11
+ The member functions are not guaranteed to be `noexcept`.
 
12
 
13
  ``` cpp
14
  template<class T> struct hash<shared_ptr<T>>;
15
  ```
16
 
17
  For an object `p` of type `shared_ptr<T>`, `hash<shared_ptr<T>>()(p)`
18
+ evaluates to the same value as
19
  `hash<typename shared_ptr<T>::element_type*>()(p.get())`.
20