tmp/tmpl3doge9n/{from.md → to.md}
RENAMED
|
@@ -1,34 +1,44 @@
|
|
| 1 |
#### Freestanding implementations <a id="compliance">[[compliance]]</a>
|
| 2 |
|
| 3 |
-
Two kinds of implementations are defined: *hosted* and *freestanding*
|
| 4 |
-
[[intro.compliance]]
|
| 5 |
-
|
|
|
|
| 6 |
|
| 7 |
A freestanding implementation has an *implementation-defined* set of
|
| 8 |
-
headers. This set shall include at least the headers shown in
|
| 9 |
-
[[
|
| 10 |
|
| 11 |
-
**Table: C++headers for freestanding implementations** <a id="
|
| 12 |
|
| 13 |
| Subclause | | Header |
|
| 14 |
-
| --------------------------------------------- | -------------------------
|
| 15 |
-
| | | `<ciso646>` |
|
| 16 |
| [[support.types]] | Types | `<cstddef>` |
|
| 17 |
-
| [[support.limits]]
|
| 18 |
| [[cstdint]] | Integer types | `<cstdint>` |
|
| 19 |
| [[support.start.term]] | Start and termination | `<cstdlib>` |
|
| 20 |
| [[support.dynamic]] | Dynamic memory management | `<new>` |
|
| 21 |
| [[support.rtti]] | Type identification | `<typeinfo>` |
|
|
|
|
| 22 |
| [[support.exception]] | Exception handling | `<exception>` |
|
| 23 |
| [[support.initlist]] | Initializer lists | `<initializer_list>` |
|
|
|
|
|
|
|
| 24 |
| [[support.runtime]] | Other runtime support | `<cstdarg>` |
|
|
|
|
| 25 |
| [[meta]] | Type traits | `<type_traits>` |
|
|
|
|
| 26 |
| [[atomics]] | Atomics | `<atomic>` |
|
| 27 |
-
| [[depr.cstdalign.syn]], [[depr.cstdbool.syn]] | Deprecated headers | `<cstdalign>` `<cstdbool>` |
|
| 28 |
|
| 29 |
|
| 30 |
The supplied version of the header `<cstdlib>` shall declare at least
|
| 31 |
the functions `abort`, `atexit`, `at_quick_exit`, `exit`, and
|
| 32 |
-
`quick_exit`
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
|
|
|
| 1 |
#### Freestanding implementations <a id="compliance">[[compliance]]</a>
|
| 2 |
|
| 3 |
+
Two kinds of implementations are defined: *hosted* and *freestanding*
|
| 4 |
+
[[intro.compliance]]; the kind of the implementation is
|
| 5 |
+
*implementation-defined*. For a hosted implementation, this document
|
| 6 |
+
describes the set of available headers.
|
| 7 |
|
| 8 |
A freestanding implementation has an *implementation-defined* set of
|
| 9 |
+
headers. This set shall include at least the headers shown in
|
| 10 |
+
[[headers.cpp.fs]].
|
| 11 |
|
| 12 |
+
**Table: C++ headers for freestanding implementations** <a id="headers.cpp.fs">[headers.cpp.fs]</a>
|
| 13 |
|
| 14 |
| Subclause | | Header |
|
| 15 |
+
| ---------------------- | ------------------------- | ------------------------------------------------ |
|
|
|
|
| 16 |
| [[support.types]] | Types | `<cstddef>` |
|
| 17 |
+
| [[support.limits]] | Implementation properties | `<cfloat>`, `<climits>`, `<limits>`, `<version>` |
|
| 18 |
| [[cstdint]] | Integer types | `<cstdint>` |
|
| 19 |
| [[support.start.term]] | Start and termination | `<cstdlib>` |
|
| 20 |
| [[support.dynamic]] | Dynamic memory management | `<new>` |
|
| 21 |
| [[support.rtti]] | Type identification | `<typeinfo>` |
|
| 22 |
+
| [[support.srcloc]] | Source location | `<source_location>` |
|
| 23 |
| [[support.exception]] | Exception handling | `<exception>` |
|
| 24 |
| [[support.initlist]] | Initializer lists | `<initializer_list>` |
|
| 25 |
+
| [[cmp]] | Comparisons | `<compare>` |
|
| 26 |
+
| [[support.coroutine]] | Coroutines support | `<coroutine>` |
|
| 27 |
| [[support.runtime]] | Other runtime support | `<cstdarg>` |
|
| 28 |
+
| [[concepts]] | Concepts library | `<concepts>` |
|
| 29 |
| [[meta]] | Type traits | `<type_traits>` |
|
| 30 |
+
| [[bit]] | Bit manipulation | `<bit>` |
|
| 31 |
| [[atomics]] | Atomics | `<atomic>` |
|
|
|
|
| 32 |
|
| 33 |
|
| 34 |
The supplied version of the header `<cstdlib>` shall declare at least
|
| 35 |
the functions `abort`, `atexit`, `at_quick_exit`, `exit`, and
|
| 36 |
+
`quick_exit` [[support.start.term]]. The supplied version of the header
|
| 37 |
+
`<atomic>` shall meet the same requirements as for a hosted
|
| 38 |
+
implementation except that support for always lock-free integral atomic
|
| 39 |
+
types [[atomics.lockfree]] is *implementation-defined*, and whether or
|
| 40 |
+
not the type aliases `atomic_signed_lock_free` and
|
| 41 |
+
`atomic_unsigned_lock_free` are defined [[atomics.alias]] is
|
| 42 |
+
*implementation-defined*. The other headers listed in this table shall
|
| 43 |
+
meet the same requirements as for a hosted implementation.
|
| 44 |
|