tmp/tmpxfk7ohqq/{from.md → to.md}
RENAMED
|
@@ -4,32 +4,32 @@
|
|
| 4 |
|
| 5 |
For compatibility with the C standard library, the C++ standard library
|
| 6 |
provides the *C headers* shown in [[c.headers]]. The intended use of
|
| 7 |
these headers is for interoperability only. It is possible that C++
|
| 8 |
source files need to include one of these headers in order to be valid
|
| 9 |
-
|
| 10 |
-
|
| 11 |
|
| 12 |
[*Note 1*: The C headers either have no effect, such as `<stdbool.h>`
|
| 13 |
and `<stdalign.h>`, or otherwise the corresponding header of the form
|
| 14 |
`<cname>` provides the same facilities and assuredly defines them in
|
| 15 |
namespace `std`. — *end note*]
|
| 16 |
|
| 17 |
[*Example 1*:
|
| 18 |
|
| 19 |
-
The following source file is both valid C++ and valid
|
| 20 |
-
|
| 21 |
-
|
| 22 |
|
| 23 |
``` cpp
|
| 24 |
-
#include <
|
| 25 |
#include <stddef.h> // for size_t
|
| 26 |
|
| 27 |
#ifdef __cplusplus // see [cpp.predefined]
|
| 28 |
extern "C" // see [dcl.link]
|
| 29 |
#endif
|
| 30 |
-
void f(
|
| 31 |
```
|
| 32 |
|
| 33 |
— *end example*]
|
| 34 |
|
| 35 |
### Header `<complex.h>` synopsis <a id="complex.h.syn">[[complex.h.syn]]</a>
|
|
@@ -53,23 +53,20 @@ The C++ header `<iso646.h>` is empty.
|
|
| 53 |
[[lex.key]]. — *end note*]
|
| 54 |
|
| 55 |
### Header `<stdalign.h>` synopsis <a id="stdalign.h.syn">[[stdalign.h.syn]]</a>
|
| 56 |
|
| 57 |
The contents of the C++ header `<stdalign.h>` are the same as the C
|
| 58 |
-
standard library header `<stdalign.h>`
|
| 59 |
-
header `<stdalign.h>` does not define a macro named `alignas`.
|
| 60 |
|
| 61 |
See also: ISO C 7.15
|
| 62 |
|
| 63 |
### Header `<stdbool.h>` synopsis <a id="stdbool.h.syn">[[stdbool.h.syn]]</a>
|
| 64 |
|
| 65 |
The contents of the C++ header `<stdbool.h>` are the same as the C
|
| 66 |
-
standard library header `<stdbool.h>`
|
| 67 |
-
header `<stdbool.h>` does not define macros named `bool`, `true`, or
|
| 68 |
-
`false`.
|
| 69 |
|
| 70 |
-
See also: ISO C 7.
|
| 71 |
|
| 72 |
### Header `<tgmath.h>` synopsis <a id="tgmath.h.syn">[[tgmath.h.syn]]</a>
|
| 73 |
|
| 74 |
``` cpp
|
| 75 |
#include <cmath>
|
|
@@ -88,39 +85,44 @@ overloads. — *end note*]
|
|
| 88 |
`<tgmath.h>`. — *end note*]
|
| 89 |
|
| 90 |
### Other C headers <a id="support.c.headers.other">[[support.c.headers.other]]</a>
|
| 91 |
|
| 92 |
Every C header other than `<complex.h>`, `<iso646.h>`, `<stdalign.h>`,
|
| 93 |
-
`<stdatomic.h>`, `<stdbool.h>`,
|
| 94 |
-
name of the form `<name.h>`, behaves
|
| 95 |
-
|
| 96 |
-
placed within the global namespace
|
| 97 |
-
described in [[sf.cmath]], the
|
| 98 |
-
[[c.math.lerp]], the declaration of
|
| 99 |
-
|
| 100 |
-
It is unspecified whether these
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
*using-declaration*s
|
|
|
|
| 104 |
|
| 105 |
[*Example 1*: The header `<cstdlib>` assuredly provides its
|
| 106 |
declarations and definitions within the namespace `std`. It may also
|
| 107 |
provide these names within the global namespace. The header `<stdlib.h>`
|
| 108 |
assuredly provides the same declarations and definitions within the
|
| 109 |
-
global namespace, much as in
|
| 110 |
names within the namespace `std`. — *end example*]
|
| 111 |
|
| 112 |
<!-- Link reference definitions -->
|
| 113 |
[alg.c.library]: algorithms.md#alg.c.library
|
| 114 |
[alloc.errors]: #alloc.errors
|
|
|
|
| 115 |
[atomics]: thread.md#atomics
|
| 116 |
[bad.alloc]: #bad.alloc
|
| 117 |
[bad.cast]: #bad.cast
|
| 118 |
[bad.exception]: #bad.exception
|
| 119 |
[bad.typeid]: #bad.typeid
|
| 120 |
[basic.align]: basic.md#basic.align
|
| 121 |
[basic.compound]: basic.md#basic.compound
|
|
|
|
|
|
|
|
|
|
| 122 |
[basic.extended.fp]: basic.md#basic.extended.fp
|
| 123 |
[basic.fundamental]: basic.md#basic.fundamental
|
| 124 |
[basic.life]: basic.md#basic.life
|
| 125 |
[basic.lookup.argdep]: basic.md#basic.lookup.argdep
|
| 126 |
[basic.scope.namespace]: basic.md#basic.scope.namespace
|
|
@@ -128,18 +130,18 @@ names within the namespace `std`. — *end example*]
|
|
| 128 |
[basic.start.term]: basic.md#basic.start.term
|
| 129 |
[basic.stc.dynamic]: basic.md#basic.stc.dynamic
|
| 130 |
[basic.stc.dynamic.allocation]: basic.md#basic.stc.dynamic.allocation
|
| 131 |
[basic.stc.dynamic.deallocation]: basic.md#basic.stc.dynamic.deallocation
|
| 132 |
[c.headers]: #c.headers
|
| 133 |
-
[c.locales]:
|
| 134 |
[c.malloc]: mem.md#c.malloc
|
| 135 |
[c.math.abs]: numerics.md#c.math.abs
|
| 136 |
[c.math.lerp]: numerics.md#c.math.lerp
|
| 137 |
[c.math.rand]: numerics.md#c.math.rand
|
| 138 |
-
[c.mb.wcs]:
|
| 139 |
[cfloat.syn]: #cfloat.syn
|
| 140 |
-
[class.mem]: class.md#class.mem
|
| 141 |
[class.prop]: class.md#class.prop
|
| 142 |
[class.spaceship]: class.md#class.spaceship
|
| 143 |
[climits.syn]: #climits.syn
|
| 144 |
[cmp]: #cmp
|
| 145 |
[cmp.alg]: #cmp.alg
|
|
@@ -150,15 +152,17 @@ names within the namespace `std`. — *end example*]
|
|
| 150 |
[cmp.partialord]: #cmp.partialord
|
| 151 |
[cmp.result]: #cmp.result
|
| 152 |
[cmp.strongord]: #cmp.strongord
|
| 153 |
[cmp.weakord]: #cmp.weakord
|
| 154 |
[compare.syn]: #compare.syn
|
|
|
|
| 155 |
[complex]: numerics.md#complex
|
| 156 |
[complex.h.syn]: #complex.h.syn
|
| 157 |
[concept.totallyordered]: concepts.md#concept.totallyordered
|
| 158 |
[concepts.compare.general]: concepts.md#concepts.compare.general
|
| 159 |
[constraints]: library.md#constraints
|
|
|
|
| 160 |
[conv.prom]: expr.md#conv.prom
|
| 161 |
[conv.ptr]: expr.md#conv.ptr
|
| 162 |
[conv.qual]: expr.md#conv.qual
|
| 163 |
[conv.rank]: basic.md#conv.rank
|
| 164 |
[coroutine.handle]: #coroutine.handle
|
|
@@ -169,10 +173,11 @@ names within the namespace `std`. — *end example*]
|
|
| 169 |
[coroutine.handle.general]: #coroutine.handle.general
|
| 170 |
[coroutine.handle.hash]: #coroutine.handle.hash
|
| 171 |
[coroutine.handle.noop]: #coroutine.handle.noop
|
| 172 |
[coroutine.handle.noop.address]: #coroutine.handle.noop.address
|
| 173 |
[coroutine.handle.noop.conv]: #coroutine.handle.noop.conv
|
|
|
|
| 174 |
[coroutine.handle.noop.observers]: #coroutine.handle.noop.observers
|
| 175 |
[coroutine.handle.noop.promise]: #coroutine.handle.noop.promise
|
| 176 |
[coroutine.handle.noop.resumption]: #coroutine.handle.noop.resumption
|
| 177 |
[coroutine.handle.observers]: #coroutine.handle.observers
|
| 178 |
[coroutine.handle.promise]: #coroutine.handle.promise
|
|
@@ -200,37 +205,40 @@ names within the namespace `std`. — *end example*]
|
|
| 200 |
[defns.expression.equivalent]: intro.md#defns.expression.equivalent
|
| 201 |
[except.handle]: except.md#except.handle
|
| 202 |
[except.nested]: #except.nested
|
| 203 |
[except.spec]: except.md#except.spec
|
| 204 |
[except.terminate]: except.md#except.terminate
|
| 205 |
-
[except.
|
| 206 |
[exception]: #exception
|
| 207 |
[exception.syn]: #exception.syn
|
| 208 |
[exception.terminate]: #exception.terminate
|
| 209 |
[expr.add]: expr.md#expr.add
|
| 210 |
[expr.await]: expr.md#expr.await
|
| 211 |
[expr.call]: expr.md#expr.call
|
|
|
|
| 212 |
[expr.context]: expr.md#expr.context
|
| 213 |
[expr.delete]: expr.md#expr.delete
|
| 214 |
[expr.dynamic.cast]: expr.md#expr.dynamic.cast
|
| 215 |
[expr.eq]: expr.md#expr.eq
|
| 216 |
[expr.new]: expr.md#expr.new
|
| 217 |
-
[expr.prim.lambda]: expr.md#expr.prim.lambda
|
| 218 |
[expr.rel]: expr.md#expr.rel
|
| 219 |
[expr.sizeof]: expr.md#expr.sizeof
|
| 220 |
[expr.spaceship]: expr.md#expr.spaceship
|
| 221 |
[expr.typeid]: expr.md#expr.typeid
|
| 222 |
[get.new.handler]: #get.new.handler
|
| 223 |
[get.terminate]: #get.terminate
|
| 224 |
[hardware.interference]: #hardware.interference
|
| 225 |
[initializer.list.syn]: #initializer.list.syn
|
| 226 |
[intro.multithread]: basic.md#intro.multithread
|
| 227 |
[iso646.h.syn]: #iso646.h.syn
|
|
|
|
|
|
|
| 228 |
[lex.key]: lex.md#lex.key
|
| 229 |
[library.c]: library.md#library.c
|
| 230 |
[limits.syn]: #limits.syn
|
| 231 |
-
[locale.codecvt]:
|
|
|
|
| 232 |
[multibyte.strings]: library.md#multibyte.strings
|
| 233 |
[namespace.udecl]: dcl.md#namespace.udecl
|
| 234 |
[new.badlength]: #new.badlength
|
| 235 |
[new.delete]: #new.delete
|
| 236 |
[new.delete.array]: #new.delete.array
|
|
@@ -260,10 +268,14 @@ names within the namespace `std`. — *end example*]
|
|
| 260 |
[support]: #support
|
| 261 |
[support.arith.types]: #support.arith.types
|
| 262 |
[support.c.headers]: #support.c.headers
|
| 263 |
[support.c.headers.general]: #support.c.headers.general
|
| 264 |
[support.c.headers.other]: #support.c.headers.other
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
[support.coroutine]: #support.coroutine
|
| 266 |
[support.coroutine.general]: #support.coroutine.general
|
| 267 |
[support.dynamic]: #support.dynamic
|
| 268 |
[support.dynamic.general]: #support.dynamic.general
|
| 269 |
[support.exception]: #support.exception
|
|
@@ -292,21 +304,27 @@ names within the namespace `std`. — *end example*]
|
|
| 292 |
[support.types]: #support.types
|
| 293 |
[support.types.byteops]: #support.types.byteops
|
| 294 |
[support.types.layout]: #support.types.layout
|
| 295 |
[support.types.nullptr]: #support.types.nullptr
|
| 296 |
[swappable.requirements]: library.md#swappable.requirements
|
|
|
|
|
|
|
|
|
|
| 297 |
[temp.deduct]: temp.md#temp.deduct
|
| 298 |
[temp.dep.constexpr]: temp.md#temp.dep.constexpr
|
| 299 |
[temp.dep.expr]: temp.md#temp.dep.expr
|
| 300 |
-
[temp.variadic]: temp.md#temp.variadic
|
| 301 |
[term.odr.use]: basic.md#term.odr.use
|
|
|
|
| 302 |
[terminate]: #terminate
|
| 303 |
[terminate.handler]: #terminate.handler
|
| 304 |
[tgmath.h.syn]: #tgmath.h.syn
|
|
|
|
|
|
|
| 305 |
[type.info]: #type.info
|
| 306 |
[typeinfo.syn]: #typeinfo.syn
|
| 307 |
[uncaught.exceptions]: #uncaught.exceptions
|
|
|
|
| 308 |
[unord.hash]: utilities.md#unord.hash
|
| 309 |
[utility.arg.requirements]: library.md#utility.arg.requirements
|
| 310 |
[version.syn]: #version.syn
|
| 311 |
|
| 312 |
[^1]: Possible definitions include `0` and `0L`, but not `(void*)0`.
|
|
@@ -330,12 +348,13 @@ names within the namespace `std`. — *end example*]
|
|
| 330 |
|
| 331 |
[^9]: Distinguishes types with bases other than 2 (e.g., BCD).
|
| 332 |
|
| 333 |
[^10]: Equivalent to `FLT_EPSILON`, `DBL_EPSILON`, `LDBL_EPSILON`.
|
| 334 |
|
| 335 |
-
[^11]: Rounding error is described in
|
| 336 |
-
Rationale Section C.5.2.4 — Rounding and rounding
|
|
|
|
| 337 |
|
| 338 |
[^12]: Equivalent to `FLT_MIN_EXP`, `DBL_MIN_EXP`, `LDBL_MIN_EXP`.
|
| 339 |
|
| 340 |
[^13]: Equivalent to `FLT_MIN_10_EXP`, `DBL_MIN_10_EXP`,
|
| 341 |
`LDBL_MIN_10_EXP`.
|
|
@@ -343,33 +362,33 @@ names within the namespace `std`. — *end example*]
|
|
| 343 |
[^14]: Equivalent to `FLT_MAX_EXP`, `DBL_MAX_EXP`, `LDBL_MAX_EXP`.
|
| 344 |
|
| 345 |
[^15]: Equivalent to `FLT_MAX_10_EXP`, `DBL_MAX_10_EXP`,
|
| 346 |
`LDBL_MAX_10_EXP`.
|
| 347 |
|
| 348 |
-
[^16]: Required by
|
| 349 |
|
| 350 |
-
[^17]: Required by
|
| 351 |
|
| 352 |
-
[^18]: Required by
|
| 353 |
|
| 354 |
-
[^19]: Required by
|
| 355 |
|
| 356 |
-
[^20]: Required by
|
| 357 |
|
| 358 |
-
[^21]: Required by
|
| 359 |
|
| 360 |
-
[^22]: ISO/IEC
|
| 361 |
|
| 362 |
-
[^23]: Required by
|
| 363 |
|
| 364 |
-
[^24]: Required by
|
| 365 |
|
| 366 |
-
[^25]: Required by
|
| 367 |
|
| 368 |
-
[^26]: Refer to ISO/IEC
|
| 369 |
|
| 370 |
-
[^27]: Equivalent to `FLT_ROUNDS`. Required by
|
| 371 |
|
| 372 |
[^28]: A function is called for every time it is registered.
|
| 373 |
|
| 374 |
[^29]: Objects with automatic storage duration are all destroyed in a
|
| 375 |
program whose `main` function [[basic.start.main]] contains no
|
|
@@ -387,10 +406,7 @@ names within the namespace `std`. — *end example*]
|
|
| 387 |
however, increase the `size` argument to `operator new[]` to obtain
|
| 388 |
space to store supplemental information.
|
| 389 |
|
| 390 |
[^32]: That is, `a < b`, `a == b`, and `a > b` might all be `false`.
|
| 391 |
|
| 392 |
-
[^33]:
|
| 393 |
-
unary `operator&` is overloaded for the type of `parmN`.
|
| 394 |
-
|
| 395 |
-
[^34]: Such initialization can occur because it is the first odr-use
|
| 396 |
[[term.odr.use]] of that variable.
|
|
|
|
| 4 |
|
| 5 |
For compatibility with the C standard library, the C++ standard library
|
| 6 |
provides the *C headers* shown in [[c.headers]]. The intended use of
|
| 7 |
these headers is for interoperability only. It is possible that C++
|
| 8 |
source files need to include one of these headers in order to be valid
|
| 9 |
+
C. Source files that are not intended to also be valid C should not use
|
| 10 |
+
any of the C headers.
|
| 11 |
|
| 12 |
[*Note 1*: The C headers either have no effect, such as `<stdbool.h>`
|
| 13 |
and `<stdalign.h>`, or otherwise the corresponding header of the form
|
| 14 |
`<cname>` provides the same facilities and assuredly defines them in
|
| 15 |
namespace `std`. — *end note*]
|
| 16 |
|
| 17 |
[*Example 1*:
|
| 18 |
|
| 19 |
+
The following source file is both valid C++ and valid C. Viewed as C++,
|
| 20 |
+
it declares a function with C language linkage; viewed as C it simply
|
| 21 |
+
declares a function (and provides a prototype).
|
| 22 |
|
| 23 |
``` cpp
|
| 24 |
+
#include <uchar.h> // for char8_t in C, not necessary in C++{}
|
| 25 |
#include <stddef.h> // for size_t
|
| 26 |
|
| 27 |
#ifdef __cplusplus // see [cpp.predefined]
|
| 28 |
extern "C" // see [dcl.link]
|
| 29 |
#endif
|
| 30 |
+
void f(char8_t s[], size_t n);
|
| 31 |
```
|
| 32 |
|
| 33 |
— *end example*]
|
| 34 |
|
| 35 |
### Header `<complex.h>` synopsis <a id="complex.h.syn">[[complex.h.syn]]</a>
|
|
|
|
| 53 |
[[lex.key]]. — *end note*]
|
| 54 |
|
| 55 |
### Header `<stdalign.h>` synopsis <a id="stdalign.h.syn">[[stdalign.h.syn]]</a>
|
| 56 |
|
| 57 |
The contents of the C++ header `<stdalign.h>` are the same as the C
|
| 58 |
+
standard library header `<stdalign.h>`.
|
|
|
|
| 59 |
|
| 60 |
See also: ISO C 7.15
|
| 61 |
|
| 62 |
### Header `<stdbool.h>` synopsis <a id="stdbool.h.syn">[[stdbool.h.syn]]</a>
|
| 63 |
|
| 64 |
The contents of the C++ header `<stdbool.h>` are the same as the C
|
| 65 |
+
standard library header `<stdbool.h>`.
|
|
|
|
|
|
|
| 66 |
|
| 67 |
+
See also: ISO C 7.19
|
| 68 |
|
| 69 |
### Header `<tgmath.h>` synopsis <a id="tgmath.h.syn">[[tgmath.h.syn]]</a>
|
| 70 |
|
| 71 |
``` cpp
|
| 72 |
#include <cmath>
|
|
|
|
| 85 |
`<tgmath.h>`. — *end note*]
|
| 86 |
|
| 87 |
### Other C headers <a id="support.c.headers.other">[[support.c.headers.other]]</a>
|
| 88 |
|
| 89 |
Every C header other than `<complex.h>`, `<iso646.h>`, `<stdalign.h>`,
|
| 90 |
+
`<stdatomic.h>`, `<stdbit.h>`, `<stdbool.h>`, `<stdckdint.h>`, and
|
| 91 |
+
`<tgmath.h>`, each of which has a name of the form `<name.h>`, behaves
|
| 92 |
+
as if each name placed in the standard library namespace by the
|
| 93 |
+
corresponding `<cname>` header is placed within the global namespace
|
| 94 |
+
scope, except for the functions described in [[sf.cmath]], the
|
| 95 |
+
`std::lerp` function overloads [[c.math.lerp]], the declaration of
|
| 96 |
+
`std::byte` [[cstddef.syn]], and the functions and function templates
|
| 97 |
+
described in [[support.types.byteops]]. It is unspecified whether these
|
| 98 |
+
names are first declared or defined within namespace scope
|
| 99 |
+
[[basic.scope.namespace]] of the namespace `std` and are then injected
|
| 100 |
+
into the global namespace scope by explicit *using-declaration*s
|
| 101 |
+
[[namespace.udecl]].
|
| 102 |
|
| 103 |
[*Example 1*: The header `<cstdlib>` assuredly provides its
|
| 104 |
declarations and definitions within the namespace `std`. It may also
|
| 105 |
provide these names within the global namespace. The header `<stdlib.h>`
|
| 106 |
assuredly provides the same declarations and definitions within the
|
| 107 |
+
global namespace, much as in \IsoCUndated. It may also provide these
|
| 108 |
names within the namespace `std`. — *end example*]
|
| 109 |
|
| 110 |
<!-- Link reference definitions -->
|
| 111 |
[alg.c.library]: algorithms.md#alg.c.library
|
| 112 |
[alloc.errors]: #alloc.errors
|
| 113 |
+
[associative]: containers.md#associative
|
| 114 |
[atomics]: thread.md#atomics
|
| 115 |
[bad.alloc]: #bad.alloc
|
| 116 |
[bad.cast]: #bad.cast
|
| 117 |
[bad.exception]: #bad.exception
|
| 118 |
[bad.typeid]: #bad.typeid
|
| 119 |
[basic.align]: basic.md#basic.align
|
| 120 |
[basic.compound]: basic.md#basic.compound
|
| 121 |
+
[basic.contract.eval]: basic.md#basic.contract.eval
|
| 122 |
+
[basic.contract.general]: basic.md#basic.contract.general
|
| 123 |
+
[basic.contract.handler]: basic.md#basic.contract.handler
|
| 124 |
[basic.extended.fp]: basic.md#basic.extended.fp
|
| 125 |
[basic.fundamental]: basic.md#basic.fundamental
|
| 126 |
[basic.life]: basic.md#basic.life
|
| 127 |
[basic.lookup.argdep]: basic.md#basic.lookup.argdep
|
| 128 |
[basic.scope.namespace]: basic.md#basic.scope.namespace
|
|
|
|
| 130 |
[basic.start.term]: basic.md#basic.start.term
|
| 131 |
[basic.stc.dynamic]: basic.md#basic.stc.dynamic
|
| 132 |
[basic.stc.dynamic.allocation]: basic.md#basic.stc.dynamic.allocation
|
| 133 |
[basic.stc.dynamic.deallocation]: basic.md#basic.stc.dynamic.deallocation
|
| 134 |
[c.headers]: #c.headers
|
| 135 |
+
[c.locales]: text.md#c.locales
|
| 136 |
[c.malloc]: mem.md#c.malloc
|
| 137 |
[c.math.abs]: numerics.md#c.math.abs
|
| 138 |
[c.math.lerp]: numerics.md#c.math.lerp
|
| 139 |
[c.math.rand]: numerics.md#c.math.rand
|
| 140 |
+
[c.mb.wcs]: text.md#c.mb.wcs
|
| 141 |
[cfloat.syn]: #cfloat.syn
|
| 142 |
+
[class.mem.general]: class.md#class.mem.general
|
| 143 |
[class.prop]: class.md#class.prop
|
| 144 |
[class.spaceship]: class.md#class.spaceship
|
| 145 |
[climits.syn]: #climits.syn
|
| 146 |
[cmp]: #cmp
|
| 147 |
[cmp.alg]: #cmp.alg
|
|
|
|
| 152 |
[cmp.partialord]: #cmp.partialord
|
| 153 |
[cmp.result]: #cmp.result
|
| 154 |
[cmp.strongord]: #cmp.strongord
|
| 155 |
[cmp.weakord]: #cmp.weakord
|
| 156 |
[compare.syn]: #compare.syn
|
| 157 |
+
[compare.type]: #compare.type
|
| 158 |
[complex]: numerics.md#complex
|
| 159 |
[complex.h.syn]: #complex.h.syn
|
| 160 |
[concept.totallyordered]: concepts.md#concept.totallyordered
|
| 161 |
[concepts.compare.general]: concepts.md#concepts.compare.general
|
| 162 |
[constraints]: library.md#constraints
|
| 163 |
+
[contracts.syn]: #contracts.syn
|
| 164 |
[conv.prom]: expr.md#conv.prom
|
| 165 |
[conv.ptr]: expr.md#conv.ptr
|
| 166 |
[conv.qual]: expr.md#conv.qual
|
| 167 |
[conv.rank]: basic.md#conv.rank
|
| 168 |
[coroutine.handle]: #coroutine.handle
|
|
|
|
| 173 |
[coroutine.handle.general]: #coroutine.handle.general
|
| 174 |
[coroutine.handle.hash]: #coroutine.handle.hash
|
| 175 |
[coroutine.handle.noop]: #coroutine.handle.noop
|
| 176 |
[coroutine.handle.noop.address]: #coroutine.handle.noop.address
|
| 177 |
[coroutine.handle.noop.conv]: #coroutine.handle.noop.conv
|
| 178 |
+
[coroutine.handle.noop.general]: #coroutine.handle.noop.general
|
| 179 |
[coroutine.handle.noop.observers]: #coroutine.handle.noop.observers
|
| 180 |
[coroutine.handle.noop.promise]: #coroutine.handle.noop.promise
|
| 181 |
[coroutine.handle.noop.resumption]: #coroutine.handle.noop.resumption
|
| 182 |
[coroutine.handle.observers]: #coroutine.handle.observers
|
| 183 |
[coroutine.handle.promise]: #coroutine.handle.promise
|
|
|
|
| 205 |
[defns.expression.equivalent]: intro.md#defns.expression.equivalent
|
| 206 |
[except.handle]: except.md#except.handle
|
| 207 |
[except.nested]: #except.nested
|
| 208 |
[except.spec]: except.md#except.spec
|
| 209 |
[except.terminate]: except.md#except.terminate
|
| 210 |
+
[except.throw]: except.md#except.throw
|
| 211 |
[exception]: #exception
|
| 212 |
[exception.syn]: #exception.syn
|
| 213 |
[exception.terminate]: #exception.terminate
|
| 214 |
[expr.add]: expr.md#expr.add
|
| 215 |
[expr.await]: expr.md#expr.await
|
| 216 |
[expr.call]: expr.md#expr.call
|
| 217 |
+
[expr.const]: expr.md#expr.const
|
| 218 |
[expr.context]: expr.md#expr.context
|
| 219 |
[expr.delete]: expr.md#expr.delete
|
| 220 |
[expr.dynamic.cast]: expr.md#expr.dynamic.cast
|
| 221 |
[expr.eq]: expr.md#expr.eq
|
| 222 |
[expr.new]: expr.md#expr.new
|
|
|
|
| 223 |
[expr.rel]: expr.md#expr.rel
|
| 224 |
[expr.sizeof]: expr.md#expr.sizeof
|
| 225 |
[expr.spaceship]: expr.md#expr.spaceship
|
| 226 |
[expr.typeid]: expr.md#expr.typeid
|
| 227 |
[get.new.handler]: #get.new.handler
|
| 228 |
[get.terminate]: #get.terminate
|
| 229 |
[hardware.interference]: #hardware.interference
|
| 230 |
[initializer.list.syn]: #initializer.list.syn
|
| 231 |
[intro.multithread]: basic.md#intro.multithread
|
| 232 |
[iso646.h.syn]: #iso646.h.syn
|
| 233 |
+
[lex.ccon]: lex.md#lex.ccon
|
| 234 |
+
[lex.charset]: lex.md#lex.charset
|
| 235 |
[lex.key]: lex.md#lex.key
|
| 236 |
[library.c]: library.md#library.c
|
| 237 |
[limits.syn]: #limits.syn
|
| 238 |
+
[locale.codecvt]: text.md#locale.codecvt
|
| 239 |
+
[meta.rqmts]: meta.md#meta.rqmts
|
| 240 |
[multibyte.strings]: library.md#multibyte.strings
|
| 241 |
[namespace.udecl]: dcl.md#namespace.udecl
|
| 242 |
[new.badlength]: #new.badlength
|
| 243 |
[new.delete]: #new.delete
|
| 244 |
[new.delete.array]: #new.delete.array
|
|
|
|
| 268 |
[support]: #support
|
| 269 |
[support.arith.types]: #support.arith.types
|
| 270 |
[support.c.headers]: #support.c.headers
|
| 271 |
[support.c.headers.general]: #support.c.headers.general
|
| 272 |
[support.c.headers.other]: #support.c.headers.other
|
| 273 |
+
[support.contract]: #support.contract
|
| 274 |
+
[support.contract.enum]: #support.contract.enum
|
| 275 |
+
[support.contract.invoke]: #support.contract.invoke
|
| 276 |
+
[support.contract.violation]: #support.contract.violation
|
| 277 |
[support.coroutine]: #support.coroutine
|
| 278 |
[support.coroutine.general]: #support.coroutine.general
|
| 279 |
[support.dynamic]: #support.dynamic
|
| 280 |
[support.dynamic.general]: #support.dynamic.general
|
| 281 |
[support.exception]: #support.exception
|
|
|
|
| 304 |
[support.types]: #support.types
|
| 305 |
[support.types.byteops]: #support.types.byteops
|
| 306 |
[support.types.layout]: #support.types.layout
|
| 307 |
[support.types.nullptr]: #support.types.nullptr
|
| 308 |
[swappable.requirements]: library.md#swappable.requirements
|
| 309 |
+
[tab:support.contract.enum.detection]: #tab:support.contract.enum.detection
|
| 310 |
+
[tab:support.contract.enum.kind]: #tab:support.contract.enum.kind
|
| 311 |
+
[tab:support.contract.enum.semantic]: #tab:support.contract.enum.semantic
|
| 312 |
[temp.deduct]: temp.md#temp.deduct
|
| 313 |
[temp.dep.constexpr]: temp.md#temp.dep.constexpr
|
| 314 |
[temp.dep.expr]: temp.md#temp.dep.expr
|
|
|
|
| 315 |
[term.odr.use]: basic.md#term.odr.use
|
| 316 |
+
[term.replaceable.function]: dcl.md#term.replaceable.function
|
| 317 |
[terminate]: #terminate
|
| 318 |
[terminate.handler]: #terminate.handler
|
| 319 |
[tgmath.h.syn]: #tgmath.h.syn
|
| 320 |
+
[type.index]: #type.index
|
| 321 |
+
[type.index.synopsis]: #type.index.synopsis
|
| 322 |
[type.info]: #type.info
|
| 323 |
[typeinfo.syn]: #typeinfo.syn
|
| 324 |
[uncaught.exceptions]: #uncaught.exceptions
|
| 325 |
+
[unord]: containers.md#unord
|
| 326 |
[unord.hash]: utilities.md#unord.hash
|
| 327 |
[utility.arg.requirements]: library.md#utility.arg.requirements
|
| 328 |
[version.syn]: #version.syn
|
| 329 |
|
| 330 |
[^1]: Possible definitions include `0` and `0L`, but not `(void*)0`.
|
|
|
|
| 348 |
|
| 349 |
[^9]: Distinguishes types with bases other than 2 (e.g., BCD).
|
| 350 |
|
| 351 |
[^10]: Equivalent to `FLT_EPSILON`, `DBL_EPSILON`, `LDBL_EPSILON`.
|
| 352 |
|
| 353 |
+
[^11]: Rounding error is described in ISO/IEC 10967-1:2012 Section 5.2.4
|
| 354 |
+
and Annex C Rationale Section C.5.2.4 — Rounding and rounding
|
| 355 |
+
constants.
|
| 356 |
|
| 357 |
[^12]: Equivalent to `FLT_MIN_EXP`, `DBL_MIN_EXP`, `LDBL_MIN_EXP`.
|
| 358 |
|
| 359 |
[^13]: Equivalent to `FLT_MIN_10_EXP`, `DBL_MIN_10_EXP`,
|
| 360 |
`LDBL_MIN_10_EXP`.
|
|
|
|
| 362 |
[^14]: Equivalent to `FLT_MAX_EXP`, `DBL_MAX_EXP`, `LDBL_MAX_EXP`.
|
| 363 |
|
| 364 |
[^15]: Equivalent to `FLT_MAX_10_EXP`, `DBL_MAX_10_EXP`,
|
| 365 |
`LDBL_MAX_10_EXP`.
|
| 366 |
|
| 367 |
+
[^16]: Required by ISO/IEC 10967-1:2012.
|
| 368 |
|
| 369 |
+
[^17]: Required by ISO/IEC 10967-1:2012.
|
| 370 |
|
| 371 |
+
[^18]: Required by ISO/IEC 10967-1:2012.
|
| 372 |
|
| 373 |
+
[^19]: Required by ISO/IEC 10967-1:2012.
|
| 374 |
|
| 375 |
+
[^20]: Required by ISO/IEC 10967-1:2012.
|
| 376 |
|
| 377 |
+
[^21]: Required by ISO/IEC 10967-1:2012.
|
| 378 |
|
| 379 |
+
[^22]: ISO/IEC 60559:2020 is the same as IEEE 754-2019.
|
| 380 |
|
| 381 |
+
[^23]: Required by ISO/IEC 10967-1:2012.
|
| 382 |
|
| 383 |
+
[^24]: Required by ISO/IEC 10967-1:2012.
|
| 384 |
|
| 385 |
+
[^25]: Required by ISO/IEC 10967-1:2012.
|
| 386 |
|
| 387 |
+
[^26]: Refer to ISO/IEC 60559. Required by ISO/IEC 10967-1:2012.
|
| 388 |
|
| 389 |
+
[^27]: Equivalent to `FLT_ROUNDS`. Required by ISO/IEC 10967-1:2012.
|
| 390 |
|
| 391 |
[^28]: A function is called for every time it is registered.
|
| 392 |
|
| 393 |
[^29]: Objects with automatic storage duration are all destroyed in a
|
| 394 |
program whose `main` function [[basic.start.main]] contains no
|
|
|
|
| 406 |
however, increase the `size` argument to `operator new[]` to obtain
|
| 407 |
space to store supplemental information.
|
| 408 |
|
| 409 |
[^32]: That is, `a < b`, `a == b`, and `a > b` might all be `false`.
|
| 410 |
|
| 411 |
+
[^33]: Such initialization can occur because it is the first odr-use
|
|
|
|
|
|
|
|
|
|
| 412 |
[[term.odr.use]] of that variable.
|