From Jason Turner

[support.c.headers.other]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp7wxw54fz/{from.md → to.md} +307 -0
tmp/tmp7wxw54fz/{from.md → to.md} RENAMED
@@ -0,0 +1,307 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Other C headers <a id="support.c.headers.other">[[support.c.headers.other]]</a>
2
+
3
+ Every C header other than `<complex.h>`, `<iso646.h>`, `<stdalign.h>`,
4
+ `<stdatomic.h>`, `<stdbool.h>`, and `<tgmath.h>`, each of which has a
5
+ name of the form `<name.h>`, behaves as if each name placed in the
6
+ standard library namespace by the corresponding `<cname>` header is
7
+ placed within the global namespace scope, except for the functions
8
+ described in [[sf.cmath]], the `std::lerp` function overloads
9
+ [[c.math.lerp]], the declaration of `std::byte` [[cstddef.syn]], and the
10
+ functions and function templates described in [[support.types.byteops]].
11
+ It is unspecified whether these names are first declared or defined
12
+ within namespace scope [[basic.scope.namespace]] of the namespace `std`
13
+ and are then injected into the global namespace scope by explicit
14
+ *using-declaration*s [[namespace.udecl]].
15
+
16
+ [*Example 1*: The header `<cstdlib>` assuredly provides its
17
+ declarations and definitions within the namespace `std`. It may also
18
+ provide these names within the global namespace. The header `<stdlib.h>`
19
+ assuredly provides the same declarations and definitions within the
20
+ global namespace, much as in the C Standard. It may also provide these
21
+ names within the namespace `std`. — *end example*]
22
+
23
+ <!-- Link reference definitions -->
24
+ [alg.c.library]: algorithms.md#alg.c.library
25
+ [alloc.errors]: #alloc.errors
26
+ [atomics]: thread.md#atomics
27
+ [bad.alloc]: #bad.alloc
28
+ [bad.cast]: #bad.cast
29
+ [bad.exception]: #bad.exception
30
+ [bad.typeid]: #bad.typeid
31
+ [basic.align]: basic.md#basic.align
32
+ [basic.compound]: basic.md#basic.compound
33
+ [basic.extended.fp]: basic.md#basic.extended.fp
34
+ [basic.fundamental]: basic.md#basic.fundamental
35
+ [basic.life]: basic.md#basic.life
36
+ [basic.lookup.argdep]: basic.md#basic.lookup.argdep
37
+ [basic.scope.namespace]: basic.md#basic.scope.namespace
38
+ [basic.start.dynamic]: basic.md#basic.start.dynamic
39
+ [basic.start.term]: basic.md#basic.start.term
40
+ [basic.stc.dynamic]: basic.md#basic.stc.dynamic
41
+ [basic.stc.dynamic.allocation]: basic.md#basic.stc.dynamic.allocation
42
+ [basic.stc.dynamic.deallocation]: basic.md#basic.stc.dynamic.deallocation
43
+ [c.headers]: #c.headers
44
+ [c.locales]: localization.md#c.locales
45
+ [c.malloc]: mem.md#c.malloc
46
+ [c.math.abs]: numerics.md#c.math.abs
47
+ [c.math.lerp]: numerics.md#c.math.lerp
48
+ [c.math.rand]: numerics.md#c.math.rand
49
+ [c.mb.wcs]: strings.md#c.mb.wcs
50
+ [cfloat.syn]: #cfloat.syn
51
+ [class.mem]: class.md#class.mem
52
+ [class.prop]: class.md#class.prop
53
+ [class.spaceship]: class.md#class.spaceship
54
+ [climits.syn]: #climits.syn
55
+ [cmp]: #cmp
56
+ [cmp.alg]: #cmp.alg
57
+ [cmp.categories]: #cmp.categories
58
+ [cmp.categories.pre]: #cmp.categories.pre
59
+ [cmp.common]: #cmp.common
60
+ [cmp.concept]: #cmp.concept
61
+ [cmp.partialord]: #cmp.partialord
62
+ [cmp.result]: #cmp.result
63
+ [cmp.strongord]: #cmp.strongord
64
+ [cmp.weakord]: #cmp.weakord
65
+ [compare.syn]: #compare.syn
66
+ [complex]: numerics.md#complex
67
+ [complex.h.syn]: #complex.h.syn
68
+ [concept.totallyordered]: concepts.md#concept.totallyordered
69
+ [concepts.compare.general]: concepts.md#concepts.compare.general
70
+ [constraints]: library.md#constraints
71
+ [conv.prom]: expr.md#conv.prom
72
+ [conv.ptr]: expr.md#conv.ptr
73
+ [conv.qual]: expr.md#conv.qual
74
+ [conv.rank]: basic.md#conv.rank
75
+ [coroutine.handle]: #coroutine.handle
76
+ [coroutine.handle.compare]: #coroutine.handle.compare
77
+ [coroutine.handle.con]: #coroutine.handle.con
78
+ [coroutine.handle.conv]: #coroutine.handle.conv
79
+ [coroutine.handle.export.import]: #coroutine.handle.export.import
80
+ [coroutine.handle.general]: #coroutine.handle.general
81
+ [coroutine.handle.hash]: #coroutine.handle.hash
82
+ [coroutine.handle.noop]: #coroutine.handle.noop
83
+ [coroutine.handle.noop.address]: #coroutine.handle.noop.address
84
+ [coroutine.handle.noop.conv]: #coroutine.handle.noop.conv
85
+ [coroutine.handle.noop.observers]: #coroutine.handle.noop.observers
86
+ [coroutine.handle.noop.promise]: #coroutine.handle.noop.promise
87
+ [coroutine.handle.noop.resumption]: #coroutine.handle.noop.resumption
88
+ [coroutine.handle.observers]: #coroutine.handle.observers
89
+ [coroutine.handle.promise]: #coroutine.handle.promise
90
+ [coroutine.handle.resumption]: #coroutine.handle.resumption
91
+ [coroutine.noop]: #coroutine.noop
92
+ [coroutine.noop.coroutine]: #coroutine.noop.coroutine
93
+ [coroutine.promise.noop]: #coroutine.promise.noop
94
+ [coroutine.syn]: #coroutine.syn
95
+ [coroutine.traits]: #coroutine.traits
96
+ [coroutine.traits.general]: #coroutine.traits.general
97
+ [coroutine.traits.primary]: #coroutine.traits.primary
98
+ [coroutine.trivial.awaitables]: #coroutine.trivial.awaitables
99
+ [cpp.line]: cpp.md#cpp.line
100
+ [cpp17.nullablepointer]: #cpp17.nullablepointer
101
+ [csetjmp.syn]: #csetjmp.syn
102
+ [csignal.syn]: #csignal.syn
103
+ [cstdarg.syn]: #cstdarg.syn
104
+ [cstddef.syn]: #cstddef.syn
105
+ [cstdint.syn]: #cstdint.syn
106
+ [cstdlib.syn]: #cstdlib.syn
107
+ [customization.point.object]: library.md#customization.point.object
108
+ [dcl.fct.def.coroutine]: dcl.md#dcl.fct.def.coroutine
109
+ [dcl.fct.default]: dcl.md#dcl.fct.default
110
+ [dcl.init.list]: dcl.md#dcl.init.list
111
+ [defns.expression.equivalent]: intro.md#defns.expression.equivalent
112
+ [except.handle]: except.md#except.handle
113
+ [except.nested]: #except.nested
114
+ [except.spec]: except.md#except.spec
115
+ [except.terminate]: except.md#except.terminate
116
+ [except.uncaught]: except.md#except.uncaught
117
+ [exception]: #exception
118
+ [exception.syn]: #exception.syn
119
+ [exception.terminate]: #exception.terminate
120
+ [expr.add]: expr.md#expr.add
121
+ [expr.await]: expr.md#expr.await
122
+ [expr.call]: expr.md#expr.call
123
+ [expr.context]: expr.md#expr.context
124
+ [expr.delete]: expr.md#expr.delete
125
+ [expr.dynamic.cast]: expr.md#expr.dynamic.cast
126
+ [expr.eq]: expr.md#expr.eq
127
+ [expr.new]: expr.md#expr.new
128
+ [expr.prim.lambda]: expr.md#expr.prim.lambda
129
+ [expr.rel]: expr.md#expr.rel
130
+ [expr.sizeof]: expr.md#expr.sizeof
131
+ [expr.spaceship]: expr.md#expr.spaceship
132
+ [expr.typeid]: expr.md#expr.typeid
133
+ [get.new.handler]: #get.new.handler
134
+ [get.terminate]: #get.terminate
135
+ [hardware.interference]: #hardware.interference
136
+ [initializer.list.syn]: #initializer.list.syn
137
+ [intro.multithread]: basic.md#intro.multithread
138
+ [iso646.h.syn]: #iso646.h.syn
139
+ [lex.key]: lex.md#lex.key
140
+ [library.c]: library.md#library.c
141
+ [limits.syn]: #limits.syn
142
+ [locale.codecvt]: localization.md#locale.codecvt
143
+ [multibyte.strings]: library.md#multibyte.strings
144
+ [namespace.udecl]: dcl.md#namespace.udecl
145
+ [new.badlength]: #new.badlength
146
+ [new.delete]: #new.delete
147
+ [new.delete.array]: #new.delete.array
148
+ [new.delete.dataraces]: #new.delete.dataraces
149
+ [new.delete.general]: #new.delete.general
150
+ [new.delete.placement]: #new.delete.placement
151
+ [new.delete.single]: #new.delete.single
152
+ [new.handler]: #new.handler
153
+ [new.syn]: #new.syn
154
+ [numeric.limits]: #numeric.limits
155
+ [numeric.limits.general]: #numeric.limits.general
156
+ [numeric.limits.members]: #numeric.limits.members
157
+ [numeric.special]: #numeric.special
158
+ [propagation]: #propagation
159
+ [ptr.launder]: #ptr.launder
160
+ [res.on.data.races]: library.md#res.on.data.races
161
+ [round.style]: #round.style
162
+ [set.new.handler]: #set.new.handler
163
+ [set.terminate]: #set.terminate
164
+ [sf.cmath]: numerics.md#sf.cmath
165
+ [source.location.syn]: #source.location.syn
166
+ [stdalign.h.syn]: #stdalign.h.syn
167
+ [stdbool.h.syn]: #stdbool.h.syn
168
+ [stdfloat.syn]: #stdfloat.syn
169
+ [stmt.dcl]: stmt.md#stmt.dcl
170
+ [string.classes]: strings.md#string.classes
171
+ [support]: #support
172
+ [support.arith.types]: #support.arith.types
173
+ [support.c.headers]: #support.c.headers
174
+ [support.c.headers.general]: #support.c.headers.general
175
+ [support.c.headers.other]: #support.c.headers.other
176
+ [support.coroutine]: #support.coroutine
177
+ [support.coroutine.general]: #support.coroutine.general
178
+ [support.dynamic]: #support.dynamic
179
+ [support.dynamic.general]: #support.dynamic.general
180
+ [support.exception]: #support.exception
181
+ [support.exception.general]: #support.exception.general
182
+ [support.general]: #support.general
183
+ [support.initlist]: #support.initlist
184
+ [support.initlist.access]: #support.initlist.access
185
+ [support.initlist.cons]: #support.initlist.cons
186
+ [support.initlist.general]: #support.initlist.general
187
+ [support.initlist.range]: #support.initlist.range
188
+ [support.limits]: #support.limits
189
+ [support.limits.general]: #support.limits.general
190
+ [support.rtti]: #support.rtti
191
+ [support.rtti.general]: #support.rtti.general
192
+ [support.runtime]: #support.runtime
193
+ [support.runtime.general]: #support.runtime.general
194
+ [support.signal]: #support.signal
195
+ [support.srcloc]: #support.srcloc
196
+ [support.srcloc.class]: #support.srcloc.class
197
+ [support.srcloc.class.general]: #support.srcloc.class.general
198
+ [support.srcloc.cons]: #support.srcloc.cons
199
+ [support.srcloc.current]: #support.srcloc.current
200
+ [support.srcloc.obs]: #support.srcloc.obs
201
+ [support.start.term]: #support.start.term
202
+ [support.summary]: #support.summary
203
+ [support.types]: #support.types
204
+ [support.types.byteops]: #support.types.byteops
205
+ [support.types.layout]: #support.types.layout
206
+ [support.types.nullptr]: #support.types.nullptr
207
+ [swappable.requirements]: library.md#swappable.requirements
208
+ [temp.deduct]: temp.md#temp.deduct
209
+ [temp.dep.constexpr]: temp.md#temp.dep.constexpr
210
+ [temp.dep.expr]: temp.md#temp.dep.expr
211
+ [temp.variadic]: temp.md#temp.variadic
212
+ [term.odr.use]: basic.md#term.odr.use
213
+ [terminate]: #terminate
214
+ [terminate.handler]: #terminate.handler
215
+ [tgmath.h.syn]: #tgmath.h.syn
216
+ [type.info]: #type.info
217
+ [typeinfo.syn]: #typeinfo.syn
218
+ [uncaught.exceptions]: #uncaught.exceptions
219
+ [unord.hash]: utilities.md#unord.hash
220
+ [utility.arg.requirements]: library.md#utility.arg.requirements
221
+ [version.syn]: #version.syn
222
+
223
+ [^1]: Possible definitions include `0` and `0L`, but not `(void*)0`.
224
+
225
+ [^2]: Note that `offsetof` is required to work as specified even if
226
+ unary `operator&` is overloaded for any of the types involved.
227
+
228
+ [^3]: Equivalent to `CHAR_MIN`, `SHRT_MIN`, `FLT_MIN`, `DBL_MIN`, etc.
229
+
230
+ [^4]: Equivalent to `CHAR_MAX`, `SHRT_MAX`, `FLT_MAX`, `DBL_MAX`, etc.
231
+
232
+ [^5]: `lowest()` is necessary because not all floating-point
233
+ representations have a smallest (most negative) value that is the
234
+ negative of the largest (most positive) finite value.
235
+
236
+ [^6]: Equivalent to `FLT_MANT_DIG`, `DBL_MANT_DIG`, `LDBL_MANT_DIG`.
237
+
238
+ [^7]: Equivalent to `FLT_DIG`, `DBL_DIG`, `LDBL_DIG`.
239
+
240
+ [^8]: Equivalent to `FLT_RADIX`.
241
+
242
+ [^9]: Distinguishes types with bases other than 2 (e.g., BCD).
243
+
244
+ [^10]: Equivalent to `FLT_EPSILON`, `DBL_EPSILON`, `LDBL_EPSILON`.
245
+
246
+ [^11]: Rounding error is described in LIA-1 Section 5.2.4 and Annex C
247
+ Rationale Section C.5.2.4 — Rounding and rounding constants.
248
+
249
+ [^12]: Equivalent to `FLT_MIN_EXP`, `DBL_MIN_EXP`, `LDBL_MIN_EXP`.
250
+
251
+ [^13]: Equivalent to `FLT_MIN_10_EXP`, `DBL_MIN_10_EXP`,
252
+ `LDBL_MIN_10_EXP`.
253
+
254
+ [^14]: Equivalent to `FLT_MAX_EXP`, `DBL_MAX_EXP`, `LDBL_MAX_EXP`.
255
+
256
+ [^15]: Equivalent to `FLT_MAX_10_EXP`, `DBL_MAX_10_EXP`,
257
+ `LDBL_MAX_10_EXP`.
258
+
259
+ [^16]: Required by LIA-1.
260
+
261
+ [^17]: Required by LIA-1.
262
+
263
+ [^18]: Required by LIA-1.
264
+
265
+ [^19]: Required by LIA-1.
266
+
267
+ [^20]: Required by LIA-1.
268
+
269
+ [^21]: Required by LIA-1.
270
+
271
+ [^22]: ISO/IEC/IEEE 60559:2020 is the same as IEEE 754-2019.
272
+
273
+ [^23]: Required by LIA-1.
274
+
275
+ [^24]: Required by LIA-1.
276
+
277
+ [^25]: Required by LIA-1.
278
+
279
+ [^26]: Refer to ISO/IEC/IEEE 60559. Required by LIA-1.
280
+
281
+ [^27]: Equivalent to `FLT_ROUNDS`. Required by LIA-1.
282
+
283
+ [^28]: A function is called for every time it is registered.
284
+
285
+ [^29]: Objects with automatic storage duration are all destroyed in a
286
+ program whose `main` function [[basic.start.main]] contains no
287
+ objects with automatic storage duration and executes the call to
288
+ `exit()`. Control can be transferred directly to such a `main`
289
+ function by throwing an exception that is caught in `main`.
290
+
291
+ [^30]: The macros `EXIT_FAILURE` and `EXIT_SUCCESS` are defined in
292
+ `<cstdlib>`.
293
+
294
+ [^31]: It is not the direct responsibility of `operator new[]` or
295
+ `operator delete[]` to note the repetition count or element size of
296
+ the array. Those operations are performed elsewhere in the array
297
+ `new` and `delete` expressions. The array `new` expression, can,
298
+ however, increase the `size` argument to `operator new[]` to obtain
299
+ space to store supplemental information.
300
+
301
+ [^32]: That is, `a < b`, `a == b`, and `a > b` might all be `false`.
302
+
303
+ [^33]: Note that `va_start` is required to work as specified even if
304
+ unary `operator&` is overloaded for the type of `parmN`.
305
+
306
+ [^34]: Such initialization can occur because it is the first odr-use
307
+ [[term.odr.use]] of that variable.