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 |
-
|
| 105 |
-
|
| 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.
|