tmp/tmp9j8l29pi/{from.md → to.md}
RENAMED
|
@@ -10,35 +10,75 @@ 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]] | Common definitions | `<cstddef>` |
|
| 17 |
-
| [[
|
|
|
|
|
|
|
| 18 |
| [[cstdint.syn]] | 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 |
| [[type.traits]] | Type traits | `<type_traits>` |
|
| 30 |
-
| [[
|
| 31 |
-
| [[atomics]] | Atomics | `<atomic>` |
|
| 32 |
| [[utility]] | Utility components | `<utility>` |
|
| 33 |
| [[tuple]] | Tuples | `<tuple>` |
|
| 34 |
-
| [[
|
|
|
|
|
|
|
| 35 |
| [[function.objects]] | Function objects | `<functional>` |
|
| 36 |
-
| [[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
| [[iterators]] | Iterators library | `<iterator>` |
|
| 38 |
| [[ranges]] | Ranges library | `<ranges>` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
|
| 41 |
For each of the headers listed in [[headers.cpp.fs]], a freestanding
|
| 42 |
implementation provides at least the freestanding items
|
| 43 |
[[freestanding.item]] declared in the header.
|
| 44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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]] | Common definitions | `<cstddef>` |
|
| 17 |
+
| [[cstdlib.syn]] | C standard library | `<cstdlib>` |
|
| 18 |
+
| [[support.limits]] | Implementation properties | `<cfloat>`, `<climits>`, `<limits>`, |
|
| 19 |
+
| | | `<version>` |
|
| 20 |
| [[cstdint.syn]] | Integer types | `<cstdint>` |
|
|
|
|
| 21 |
| [[support.dynamic]] | Dynamic memory management | `<new>` |
|
| 22 |
| [[support.rtti]] | Type identification | `<typeinfo>` |
|
| 23 |
| [[support.srcloc]] | Source location | `<source_location>` |
|
| 24 |
| [[support.exception]] | Exception handling | `<exception>` |
|
| 25 |
| [[support.initlist]] | Initializer lists | `<initializer_list>` |
|
| 26 |
| [[cmp]] | Comparisons | `<compare>` |
|
| 27 |
+
| [[support.contract]] | Contract-violation handling | `<contracts>` |
|
| 28 |
| [[support.coroutine]] | Coroutines support | `<coroutine>` |
|
| 29 |
| [[support.runtime]] | Other runtime support | `<cstdarg>` |
|
| 30 |
| [[concepts]] | Concepts library | `<concepts>` |
|
| 31 |
+
| [[errno]] | Error numbers | `<cerrno>` |
|
| 32 |
+
| [[syserr]] | System error support | `<system_error>` |
|
| 33 |
+
| [[debugging]] | Debugging | `<debugging>` |
|
| 34 |
+
| [[memory]] | Memory | `<memory>` |
|
| 35 |
| [[type.traits]] | Type traits | `<type_traits>` |
|
| 36 |
+
| [[ratio]] | Compile-time rational arithmetic | `<ratio>` |
|
|
|
|
| 37 |
| [[utility]] | Utility components | `<utility>` |
|
| 38 |
| [[tuple]] | Tuples | `<tuple>` |
|
| 39 |
+
| [[optional]] | Optional objects | `<optional>` |
|
| 40 |
+
| [[variant]] | Variants | `<variant>` |
|
| 41 |
+
| [[expected]] | Expected objects | `<expected>` |
|
| 42 |
| [[function.objects]] | Function objects | `<functional>` |
|
| 43 |
+
| [[bit]] | Bit manipulation | `<bit>` |
|
| 44 |
+
| [[stdbit.h.syn]] | C-compatible bit manipulation | `<stdbit.h>` |
|
| 45 |
+
| [[array]] | Class template `array` | `<array>` |
|
| 46 |
+
| [[inplace.vector]] | Class template `inplace_vector` | `<inplace_vector>` |
|
| 47 |
+
| [[views.contiguous]] | Contiguous access | `<span>` |
|
| 48 |
+
| [[views.multidim]] | Multidimensional access | `<mdspan>` |
|
| 49 |
| [[iterators]] | Iterators library | `<iterator>` |
|
| 50 |
| [[ranges]] | Ranges library | `<ranges>` |
|
| 51 |
+
| [[algorithms]] | Algorithms library | `<algorithm>`, `<numeric>` |
|
| 52 |
+
| [[execpol]] | Execution policies | `<execution>` |
|
| 53 |
+
| [[string.view]] | String view classes | `<string_view>` |
|
| 54 |
+
| [[string.classes]] | String classes | `<string>` |
|
| 55 |
+
| [[c.strings]] | Null-terminated sequence utilities | `<cstring>`, `<cwchar>` |
|
| 56 |
+
| [[charconv]] | Primitive numeric conversions | `<charconv>` |
|
| 57 |
+
| [[rand]] | Random number generation | `<random>` |
|
| 58 |
+
| [[c.math]] | Mathematical functions for floating-point types | `<cmath>` |
|
| 59 |
+
| [[atomics]] | Atomics | `<atomic>` |
|
| 60 |
|
| 61 |
|
| 62 |
For each of the headers listed in [[headers.cpp.fs]], a freestanding
|
| 63 |
implementation provides at least the freestanding items
|
| 64 |
[[freestanding.item]] declared in the header.
|
| 65 |
|
| 66 |
+
The *hosted library facilities* are the set of facilities described in
|
| 67 |
+
this document that are required for hosted implementations, but not
|
| 68 |
+
required for freestanding implementations. A freestanding implementation
|
| 69 |
+
provides a (possibly empty) implementation-defined subset of the hosted
|
| 70 |
+
library facilities. Unless otherwise specified, the requirements on each
|
| 71 |
+
declaration, entity, and macro provided in this way are the same as the
|
| 72 |
+
corresponding requirements for a hosted implementation, except that not
|
| 73 |
+
all of the members of the namespaces are required to be present.
|
| 74 |
+
|
| 75 |
+
A freestanding implementation provides deleted definitions
|
| 76 |
+
[[dcl.fct.def.delete]] for a (possibly empty) implementation-defined
|
| 77 |
+
subset of the namespace-scope functions and function templates from the
|
| 78 |
+
hosted library facilities.
|
| 79 |
+
|
| 80 |
+
[*Note 1*: An implementation can provide a deleted definition so that
|
| 81 |
+
the result of overload resolution does not silently change when
|
| 82 |
+
migrating a program from a freestanding implementation to a hosted
|
| 83 |
+
implementation. — *end note*]
|
| 84 |
+
|