tmp/tmpcigzpbqi/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Modules <a id="std.modules">[[std.modules]]</a>
|
| 2 |
+
|
| 3 |
+
The C++ standard library provides the following *C++ library modules*.
|
| 4 |
+
|
| 5 |
+
The named module `std` exports declarations in namespace `std` that are
|
| 6 |
+
provided by the importable C++ library headers ([[headers.cpp]] or the
|
| 7 |
+
subset provided by a freestanding implementation) and the C++ headers
|
| 8 |
+
for C library facilities ([[headers.cpp.c]]). It additionally exports
|
| 9 |
+
declarations in the global namespace for the storage allocation and
|
| 10 |
+
deallocation functions that are provided by `<new>`.
|
| 11 |
+
|
| 12 |
+
The named module `std.compat` exports the same declarations as the named
|
| 13 |
+
module `std`, and additionally exports declarations in the global
|
| 14 |
+
namespace corresponding to the declarations in namespace `std` that are
|
| 15 |
+
provided by the C++ headers for C library facilities (
|
| 16 |
+
[[headers.cpp.c]]), except the explicitly excluded declarations
|
| 17 |
+
described in [[support.c.headers.other]].
|
| 18 |
+
|
| 19 |
+
It is unspecified to which module a declaration in the standard library
|
| 20 |
+
is attached.
|
| 21 |
+
|
| 22 |
+
[*Note 1*: Implementations are required to ensure that mixing
|
| 23 |
+
`#include` and `import` does not result in conflicting attachments
|
| 24 |
+
[[basic.link]]. — *end note*]
|
| 25 |
+
|
| 26 |
+
*Recommended practice:* Implementations should ensure such attachments
|
| 27 |
+
do not preclude further evolution or decomposition of the standard
|
| 28 |
+
library modules.
|
| 29 |
+
|
| 30 |
+
A declaration in the standard library denotes the same entity regardless
|
| 31 |
+
of whether it was made reachable through including a header, importing a
|
| 32 |
+
header unit, or importing a C++ library module.
|
| 33 |
+
|
| 34 |
+
*Recommended practice:* Implementations should avoid exporting any other
|
| 35 |
+
declarations from the C++ library modules.
|
| 36 |
+
|
| 37 |
+
[*Note 2*: Like all named modules, the C++ library modules do not make
|
| 38 |
+
macros visible [[module.import]], such as `assert` [[cassert.syn]],
|
| 39 |
+
`errno` [[cerrno.syn]], `offsetof` [[cstddef.syn]], and `va_arg`
|
| 40 |
+
[[cstdarg.syn]]. — *end note*]
|
| 41 |
+
|