tmp/tmpvb8al4xy/{from.md → to.md}
RENAMED
|
@@ -1,10 +1,9 @@
|
|
| 1 |
## C standard library headers <a id="depr.c.headers">[[depr.c.headers]]</a>
|
| 2 |
|
| 3 |
-
For compatibility with the C standard library
|
| 4 |
-
|
| 5 |
-
[[tab:future.c.headers]].
|
| 6 |
|
| 7 |
**Table: C headers** <a id="tab:future.c.headers">[tab:future.c.headers]</a>
|
| 8 |
|
| 9 |
| | | | | |
|
| 10 |
| ------------- | -------------- | -------------- | ------------ | ------------ |
|
|
@@ -14,20 +13,27 @@ C++standard library provides the 26 *C headers*, as shown in Table
|
|
| 14 |
| `<errno.h>` | `<locale.h>` | `<stdbool.h>` | `<tgmath.h>` | |
|
| 15 |
| `<fenv.h>` | `<math.h>` | `<stddef.h>` | `<time.h>` | |
|
| 16 |
| `<float.h>` | `<setjmp.h>` | `<stdint.h>` | `<uchar.h>` | |
|
| 17 |
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
corresponding `cname` header is placed within the global namespace
|
| 22 |
-
scope
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
-
The header `<cstdlib>` assuredly provides its
|
| 28 |
-
definitions within the namespace `std`. It may also
|
| 29 |
-
within the global namespace. The header `<stdlib.h>`
|
| 30 |
-
the same declarations and definitions within the
|
| 31 |
-
as in the C Standard. It may also provide these
|
| 32 |
-
namespace `std`.
|
| 33 |
|
|
|
|
| 1 |
## C standard library 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 Table [[tab:future.c.headers]].
|
|
|
|
| 5 |
|
| 6 |
**Table: C headers** <a id="tab:future.c.headers">[tab:future.c.headers]</a>
|
| 7 |
|
| 8 |
| | | | | |
|
| 9 |
| ------------- | -------------- | -------------- | ------------ | ------------ |
|
|
|
|
| 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 |
+
`<ccomplex>`. The header `<tgmath.h>` behaves as if it simply includes
|
| 20 |
+
the header `<ctgmath>`.
|
| 21 |
+
|
| 22 |
+
Every other C header, each of which has a name of the form `name.h`,
|
| 23 |
+
behaves as if each name placed in the standard library namespace by the
|
| 24 |
corresponding `cname` header is placed within the global namespace
|
| 25 |
+
scope, except for the functions described in [[sf.cmath]], the
|
| 26 |
+
declaration of `std::byte` ([[cstddef.syn]]), and the functions and
|
| 27 |
+
function templates described in [[support.types.byteops]]. It is
|
| 28 |
+
unspecified whether these names are first declared or defined within
|
| 29 |
+
namespace scope ([[basic.scope.namespace]]) of the namespace `std` and
|
| 30 |
+
are then injected into the global namespace scope by explicit
|
| 31 |
+
*using-declaration*s ([[namespace.udecl]]).
|
| 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
|
| 37 |
+
global namespace, much as in the C Standard. It may also provide these
|
| 38 |
+
names within the namespace `std`. — *end example*]
|
| 39 |
|