From Jason Turner

[type.index]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpcgsalnoe/{from.md → to.md} +15 -7
tmp/tmpcgsalnoe/{from.md → to.md} RENAMED
@@ -21,12 +21,12 @@ namespace std {
21
  bool operator!=(const type_index& rhs) const noexcept;
22
  bool operator< (const type_index& rhs) const noexcept;
23
  bool operator<= (const type_index& rhs) const noexcept;
24
  bool operator> (const type_index& rhs) const noexcept;
25
  bool operator>= (const type_index& rhs) const noexcept;
26
- size_t hash_code() const;
27
- const char* name() const;
28
  private:
29
  const type_info* target; // exposition only
30
  // Note that the use of a pointer here, rather than a reference,
31
  // means that the default copy/move constructor and assignment
32
  // operators will be provided and work as expected.
@@ -82,29 +82,29 @@ bool operator>=(const type_index& rhs) const noexcept;
82
  ```
83
 
84
  *Returns:* `!target->before(*rhs.target)`
85
 
86
  ``` cpp
87
- size_t hash_code() const;
88
  ```
89
 
90
  *Returns:* `target->hash_code()`
91
 
92
  ``` cpp
93
- const char* name() const;
94
  ```
95
 
96
  *Returns:* `target->name()`
97
 
98
  ### Hash support <a id="type.index.hash">[[type.index.hash]]</a>
99
 
100
  ``` cpp
101
  template <> struct hash<type_index>;
102
  ```
103
 
104
- *Requires:* the template specialization shall meet the requirements of
105
- class template `hash` ([[unord.hash]]). For an object `index` of type
106
  `type_index`, `hash<type_index>()(index)` shall evaluate to the same
107
  result as `index.hash_code()`.
108
 
109
  <!-- Link reference definitions -->
110
  [alg.sorting]: algorithms.md#alg.sorting
@@ -135,18 +135,18 @@ result as `index.hash_code()`.
135
  [basic.fundamental]: basic.md#basic.fundamental
136
  [basic.life]: basic.md#basic.life
137
  [basic.stc.dynamic.safety]: basic.md#basic.stc.dynamic.safety
138
  [basic.type.qualifier]: basic.md#basic.type.qualifier
139
  [basic.types]: basic.md#basic.types
140
- [bind]: #bind
141
  [bitset.cons]: #bitset.cons
142
  [bitset.hash]: #bitset.hash
143
  [bitset.members]: #bitset.members
144
  [bitset.operators]: #bitset.operators
145
  [bitwise.operations]: #bitwise.operations
146
  [c.malloc]: #c.malloc
147
  [c.strings]: strings.md#c.strings
 
148
  [class.abstract]: class.md#class.abstract
149
  [class.derived]: class.md#class.derived
150
  [class.dtor]: special.md#class.dtor
151
  [class.virtual]: class.md#class.virtual
152
  [comparisons]: #comparisons
@@ -182,10 +182,11 @@ result as `index.hash_code()`.
182
  [forward]: #forward
183
  [forward.iterators]: iterators.md#forward.iterators
184
  [func.bind]: #func.bind
185
  [func.bind.bind]: #func.bind.bind
186
  [func.bind.isbind]: #func.bind.isbind
 
187
  [func.bind.place]: #func.bind.place
188
  [func.def]: #func.def
189
  [func.memfn]: #func.memfn
190
  [func.require]: #func.require
191
  [func.wrap]: #func.wrap
@@ -201,10 +202,14 @@ result as `index.hash_code()`.
201
  [func.wrap.func.targ]: #func.wrap.func.targ
202
  [function.objects]: #function.objects
203
  [hash.requirements]: library.md#hash.requirements
204
  [input.iterators]: iterators.md#input.iterators
205
  [intro.multithread]: intro.md#intro.multithread
 
 
 
 
206
  [invalid.argument]: diagnostics.md#invalid.argument
207
  [iostate.flags]: input.md#iostate.flags
208
  [istream.formatted]: input.md#istream.formatted
209
  [lessthancomparable]: #lessthancomparable
210
  [logical.operations]: #logical.operations
@@ -290,10 +295,11 @@ result as `index.hash_code()`.
290
  [time.duration]: #time.duration
291
  [time.duration.arithmetic]: #time.duration.arithmetic
292
  [time.duration.cast]: #time.duration.cast
293
  [time.duration.comparisons]: #time.duration.comparisons
294
  [time.duration.cons]: #time.duration.cons
 
295
  [time.duration.nonmember]: #time.duration.nonmember
296
  [time.duration.observer]: #time.duration.observer
297
  [time.duration.special]: #time.duration.special
298
  [time.general]: #time.general
299
  [time.point]: #time.point
@@ -328,10 +334,11 @@ result as `index.hash_code()`.
328
  [type.index.synopsis]: #type.index.synopsis
329
  [uninitialized.copy]: #uninitialized.copy
330
  [uninitialized.fill]: #uninitialized.fill
331
  [uninitialized.fill.n]: #uninitialized.fill.n
332
  [unique.ptr]: #unique.ptr
 
333
  [unique.ptr.dltr]: #unique.ptr.dltr
334
  [unique.ptr.dltr.dflt]: #unique.ptr.dltr.dflt
335
  [unique.ptr.dltr.dflt1]: #unique.ptr.dltr.dflt1
336
  [unique.ptr.dltr.general]: #unique.ptr.dltr.general
337
  [unique.ptr.runtime]: #unique.ptr.runtime
@@ -374,10 +381,11 @@ result as `index.hash_code()`.
374
  [util.smartptr.weak.spec]: #util.smartptr.weak.spec
375
  [util.smartptr.weakptr]: #util.smartptr.weakptr
376
  [utilities]: #utilities
377
  [utilities.general]: #utilities.general
378
  [utility]: #utility
 
379
  [utility.swap]: #utility.swap
380
 
381
  [^1]: `pointer_safety::preferred` might be returned to indicate that a
382
  leak detector is running so that the program can avoid spurious leak
383
  reports.
 
21
  bool operator!=(const type_index& rhs) const noexcept;
22
  bool operator< (const type_index& rhs) const noexcept;
23
  bool operator<= (const type_index& rhs) const noexcept;
24
  bool operator> (const type_index& rhs) const noexcept;
25
  bool operator>= (const type_index& rhs) const noexcept;
26
+ size_t hash_code() const noexcept;
27
+ const char* name() const noexcept;
28
  private:
29
  const type_info* target; // exposition only
30
  // Note that the use of a pointer here, rather than a reference,
31
  // means that the default copy/move constructor and assignment
32
  // operators will be provided and work as expected.
 
82
  ```
83
 
84
  *Returns:* `!target->before(*rhs.target)`
85
 
86
  ``` cpp
87
+ size_t hash_code() const noexcept;
88
  ```
89
 
90
  *Returns:* `target->hash_code()`
91
 
92
  ``` cpp
93
+ const char* name() const noexcept;
94
  ```
95
 
96
  *Returns:* `target->name()`
97
 
98
  ### Hash support <a id="type.index.hash">[[type.index.hash]]</a>
99
 
100
  ``` cpp
101
  template <> struct hash<type_index>;
102
  ```
103
 
104
+ The template specialization shall meet the requirements of class
105
+ template `hash` ([[unord.hash]]). For an object `index` of type
106
  `type_index`, `hash<type_index>()(index)` shall evaluate to the same
107
  result as `index.hash_code()`.
108
 
109
  <!-- Link reference definitions -->
110
  [alg.sorting]: algorithms.md#alg.sorting
 
135
  [basic.fundamental]: basic.md#basic.fundamental
136
  [basic.life]: basic.md#basic.life
137
  [basic.stc.dynamic.safety]: basic.md#basic.stc.dynamic.safety
138
  [basic.type.qualifier]: basic.md#basic.type.qualifier
139
  [basic.types]: basic.md#basic.types
 
140
  [bitset.cons]: #bitset.cons
141
  [bitset.hash]: #bitset.hash
142
  [bitset.members]: #bitset.members
143
  [bitset.operators]: #bitset.operators
144
  [bitwise.operations]: #bitwise.operations
145
  [c.malloc]: #c.malloc
146
  [c.strings]: strings.md#c.strings
147
+ [class]: class.md#class
148
  [class.abstract]: class.md#class.abstract
149
  [class.derived]: class.md#class.derived
150
  [class.dtor]: special.md#class.dtor
151
  [class.virtual]: class.md#class.virtual
152
  [comparisons]: #comparisons
 
182
  [forward]: #forward
183
  [forward.iterators]: iterators.md#forward.iterators
184
  [func.bind]: #func.bind
185
  [func.bind.bind]: #func.bind.bind
186
  [func.bind.isbind]: #func.bind.isbind
187
+ [func.bind.isplace]: #func.bind.isplace
188
  [func.bind.place]: #func.bind.place
189
  [func.def]: #func.def
190
  [func.memfn]: #func.memfn
191
  [func.require]: #func.require
192
  [func.wrap]: #func.wrap
 
202
  [func.wrap.func.targ]: #func.wrap.func.targ
203
  [function.objects]: #function.objects
204
  [hash.requirements]: library.md#hash.requirements
205
  [input.iterators]: iterators.md#input.iterators
206
  [intro.multithread]: intro.md#intro.multithread
207
+ [intseq]: #intseq
208
+ [intseq.general]: #intseq.general
209
+ [intseq.intseq]: #intseq.intseq
210
+ [intseq.make]: #intseq.make
211
  [invalid.argument]: diagnostics.md#invalid.argument
212
  [iostate.flags]: input.md#iostate.flags
213
  [istream.formatted]: input.md#istream.formatted
214
  [lessthancomparable]: #lessthancomparable
215
  [logical.operations]: #logical.operations
 
295
  [time.duration]: #time.duration
296
  [time.duration.arithmetic]: #time.duration.arithmetic
297
  [time.duration.cast]: #time.duration.cast
298
  [time.duration.comparisons]: #time.duration.comparisons
299
  [time.duration.cons]: #time.duration.cons
300
+ [time.duration.literals]: #time.duration.literals
301
  [time.duration.nonmember]: #time.duration.nonmember
302
  [time.duration.observer]: #time.duration.observer
303
  [time.duration.special]: #time.duration.special
304
  [time.general]: #time.general
305
  [time.point]: #time.point
 
334
  [type.index.synopsis]: #type.index.synopsis
335
  [uninitialized.copy]: #uninitialized.copy
336
  [uninitialized.fill]: #uninitialized.fill
337
  [uninitialized.fill.n]: #uninitialized.fill.n
338
  [unique.ptr]: #unique.ptr
339
+ [unique.ptr.create]: #unique.ptr.create
340
  [unique.ptr.dltr]: #unique.ptr.dltr
341
  [unique.ptr.dltr.dflt]: #unique.ptr.dltr.dflt
342
  [unique.ptr.dltr.dflt1]: #unique.ptr.dltr.dflt1
343
  [unique.ptr.dltr.general]: #unique.ptr.dltr.general
344
  [unique.ptr.runtime]: #unique.ptr.runtime
 
381
  [util.smartptr.weak.spec]: #util.smartptr.weak.spec
382
  [util.smartptr.weakptr]: #util.smartptr.weakptr
383
  [utilities]: #utilities
384
  [utilities.general]: #utilities.general
385
  [utility]: #utility
386
+ [utility.exchange]: #utility.exchange
387
  [utility.swap]: #utility.swap
388
 
389
  [^1]: `pointer_safety::preferred` might be returned to indicate that a
390
  leak detector is running so that the program can avoid spurious leak
391
  reports.