tmp/tmpwkhwjymn/{from.md → to.md}
RENAMED
|
@@ -1,36 +1,85 @@
|
|
| 1 |
-
## C
|
| 2 |
|
| 3 |
For compatibility with the C standard library, the C++ standard library
|
| 4 |
-
provides the *C headers* shown in
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
| | | | | |
|
| 9 |
-
| ------------- | -------------- | -------------- | ------------ | ------------ |
|
| 10 |
-
| `<assert.h>` | `<inttypes.h>` | `<signal.h>` | `<stdio.h>` | `<wchar.h>` |
|
| 11 |
-
| `<complex.h>` | `<iso646.h>` | `<stdalign.h>` | `<stdlib.h>` | `<wctype.h>` |
|
| 12 |
-
| `<ctype.h>` | `<limits.h>` | `<stdarg.h>` | `<string.h>` | |
|
| 13 |
-
| `<errno.h>` | `<locale.h>` | `<stdbool.h>` | `<tgmath.h>` | |
|
| 14 |
-
| `<fenv.h>` | `<math.h>` | `<stddef.h>` | `<time.h>` | |
|
| 15 |
-
| `<float.h>` | `<setjmp.h>` | `<stdint.h>` | `<uchar.h>` | |
|
| 16 |
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
The header `<complex.h>` behaves as if it simply includes the header
|
| 19 |
-
`<
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
[*Example 1*: The header `<cstdlib>` assuredly provides its
|
| 34 |
declarations and definitions within the namespace `std`. It may also
|
| 35 |
provide these names within the global namespace. The header `<stdlib.h>`
|
| 36 |
assuredly provides the same declarations and definitions within the
|
|
|
|
| 1 |
+
## C headers <a id="depr.c.headers">[[depr.c.headers]]</a>
|
| 2 |
|
| 3 |
For compatibility with the C standard library, the C++ standard library
|
| 4 |
+
provides the *C headers* shown in [[depr.c.headers]].
|
| 5 |
|
| 6 |
+
### Header `<complex.h>` synopsis <a id="depr.complex.h.syn">[[depr.complex.h.syn]]</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
+
``` cpp
|
| 9 |
+
#include <complex>
|
| 10 |
+
```
|
| 11 |
|
| 12 |
The header `<complex.h>` behaves as if it simply includes the header
|
| 13 |
+
`<complex>`.
|
| 14 |
+
|
| 15 |
+
[*Note 1*: Names introduced by `<complex>` in namespace `std` are not
|
| 16 |
+
placed into the global namespace scope by `<complex.h>`. — *end note*]
|
| 17 |
+
|
| 18 |
+
### Header `<iso646.h>` synopsis <a id="depr.iso646.h.syn">[[depr.iso646.h.syn]]</a>
|
| 19 |
+
|
| 20 |
+
The C++ header `<iso646.h>` is empty.
|
| 21 |
+
|
| 22 |
+
[*Note 1*: `and`, `and_eq`, `bitand`, `bitor`, `compl`, `not_eq`,
|
| 23 |
+
`not`, `or`, `or_eq`, `xor`, and `xor_eq` are keywords in this
|
| 24 |
+
International Standard [[lex.key]]. — *end note*]
|
| 25 |
+
|
| 26 |
+
### Header `<stdalign.h>` synopsis <a id="depr.stdalign.h.syn">[[depr.stdalign.h.syn]]</a>
|
| 27 |
+
|
| 28 |
+
``` cpp
|
| 29 |
+
#define __alignas_is_defined 1
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
The contents of the C++ header `<stdalign.h>` are the same as the C
|
| 33 |
+
standard library header `<stdalign.h>`, with the following changes: The
|
| 34 |
+
header `<stdalign.h>` does not define a macro named `alignas`.
|
| 35 |
+
|
| 36 |
+
See also: ISO C 7.15
|
| 37 |
+
|
| 38 |
+
### Header `<stdbool.h>` synopsis <a id="depr.stdbool.h.syn">[[depr.stdbool.h.syn]]</a>
|
| 39 |
+
|
| 40 |
+
``` cpp
|
| 41 |
+
#define __bool_true_false_are_defined 1
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
The contents of the C++ header `<stdbool.h>` are the same as the C
|
| 45 |
+
standard library header `<stdbool.h>`, with the following changes: The
|
| 46 |
+
header `<stdbool.h>` does not define macros named `bool`, `true`, or
|
| 47 |
+
`false`.
|
| 48 |
+
|
| 49 |
+
See also: ISO C 7.18
|
| 50 |
+
|
| 51 |
+
### Header `<tgmath.h>` synopsis <a id="depr.tgmath.h.syn">[[depr.tgmath.h.syn]]</a>
|
| 52 |
+
|
| 53 |
+
``` cpp
|
| 54 |
+
#include <cmath>
|
| 55 |
+
#include <complex>
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
The header `<tgmath.h>` behaves as if it simply includes the headers
|
| 59 |
+
`<cmath>` and `<complex>`.
|
| 60 |
+
|
| 61 |
+
[*Note 1*: The overloads provided in C by type-generic macros are
|
| 62 |
+
already provided in `<complex>` and `<cmath>` by “sufficient” additional
|
| 63 |
+
overloads. — *end note*]
|
| 64 |
+
|
| 65 |
+
[*Note 2*: Names introduced by `<cmath>` or `<complex>` in namespace
|
| 66 |
+
`std` are not placed into the global namespace scope by
|
| 67 |
+
`<tgmath.h>`. — *end note*]
|
| 68 |
+
|
| 69 |
+
### Other C headers <a id="depr.c.headers.other">[[depr.c.headers.other]]</a>
|
| 70 |
+
|
| 71 |
+
Every C header other than , , , , and , each of which has a name of the
|
| 72 |
+
form `<name.h>`, behaves as if each name placed in the standard library
|
| 73 |
+
namespace by the corresponding `<cname>` header is placed within the
|
| 74 |
+
global namespace scope, except for the functions described in
|
| 75 |
+
[[sf.cmath]], the declaration of `std::byte` [[cstddef.syn]], and the
|
| 76 |
+
functions and function templates described in [[support.types.byteops]].
|
| 77 |
+
It is unspecified whether these names are first declared or defined
|
| 78 |
+
within namespace scope [[basic.scope.namespace]] of the namespace `std`
|
| 79 |
+
and are then injected into the global namespace scope by explicit
|
| 80 |
+
*using-declaration*s [[namespace.udecl]].
|
| 81 |
|
| 82 |
[*Example 1*: The header `<cstdlib>` assuredly provides its
|
| 83 |
declarations and definitions within the namespace `std`. It may also
|
| 84 |
provide these names within the global namespace. The header `<stdlib.h>`
|
| 85 |
assuredly provides the same declarations and definitions within the
|