tmp/tmpreecw6gw/{from.md → to.md}
RENAMED
|
@@ -4,20 +4,20 @@ The following macro names shall be defined by the implementation:
|
|
| 4 |
|
| 5 |
- **`__cplusplus`**
|
| 6 |
|
| 7 |
The integer literal `202302L`.
|
| 8 |
|
| 9 |
-
[*Note 1*: Future revisions of
|
| 10 |
-
with a greater value. — *end note*]
|
| 11 |
|
| 12 |
-
- **The names listed in [[cpp.predefined.ft]].**
|
| 13 |
|
| 14 |
The macros defined in [[cpp.predefined.ft]] shall be defined to the
|
| 15 |
corresponding integer literal.
|
| 16 |
|
| 17 |
-
[*Note 2*: Future revisions of
|
| 18 |
-
macros with greater values. — *end note*]
|
| 19 |
|
| 20 |
- **`__DATE__`**
|
| 21 |
|
| 22 |
The date of translation of the source file: a character string literal
|
| 23 |
of the form `"Mmm dd yyyy"`, where the names of the months are the same
|
|
@@ -26,17 +26,30 @@ as those generated by the `asctime` function, and the first character of
|
|
| 26 |
translation is not available, an *implementation-defined* valid date
|
| 27 |
shall be supplied.
|
| 28 |
|
| 29 |
- **`__FILE__`**
|
| 30 |
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
- **`__LINE__`**
|
| 35 |
|
| 36 |
-
|
| 37 |
-
source line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
- **`__STDC_HOSTED__`**
|
| 40 |
|
| 41 |
The integer literal `1` if the implementation is a hosted implementation
|
| 42 |
or the integer literal `0` if it is a freestanding implementation
|
|
@@ -46,37 +59,37 @@ or the integer literal `0` if it is a freestanding implementation
|
|
| 46 |
|
| 47 |
An integer literal of type `std::size_t` whose value is the alignment
|
| 48 |
guaranteed by a call to `operator new(std::size_t)` or
|
| 49 |
`operator new[](std::size_t)`.
|
| 50 |
|
| 51 |
-
[*Note
|
| 52 |
`operator new(std::size_t, std::align_val_t)`, etc.
|
| 53 |
[[expr.new]]. — *end note*]
|
| 54 |
|
| 55 |
- **`__STDCPP_FLOAT16_T__`**
|
| 56 |
|
| 57 |
Defined as the integer literal `1` if and only if the implementation
|
| 58 |
-
supports the ISO/IEC
|
| 59 |
-
|
| 60 |
|
| 61 |
- **`__STDCPP_FLOAT32_T__`**
|
| 62 |
|
| 63 |
Defined as the integer literal `1` if and only if the implementation
|
| 64 |
-
supports the ISO/IEC
|
| 65 |
-
|
| 66 |
|
| 67 |
- **`__STDCPP_FLOAT64_T__`**
|
| 68 |
|
| 69 |
Defined as the integer literal `1` if and only if the implementation
|
| 70 |
-
supports the ISO/IEC
|
| 71 |
-
|
| 72 |
|
| 73 |
- **`__STDCPP_FLOAT128_T__`**
|
| 74 |
|
| 75 |
Defined as the integer literal `1` if and only if the implementation
|
| 76 |
-
supports the ISO/IEC
|
| 77 |
-
|
| 78 |
|
| 79 |
- **`__STDCPP_BFLOAT16_T__`**
|
| 80 |
|
| 81 |
Defined as the integer literal `1` if and only if the implementation
|
| 82 |
supports an extended floating-point type with the properties of the
|
|
@@ -104,30 +117,36 @@ function. If the time of translation is not available, an
|
|
| 104 |
| `__cpp_binary_literals` | `201304L` |
|
| 105 |
| `__cpp_capture_star_this` | `201603L` |
|
| 106 |
| `__cpp_char8_t` | `202207L` |
|
| 107 |
| `__cpp_concepts` | `202002L` |
|
| 108 |
| `__cpp_conditional_explicit` | `201806L` |
|
| 109 |
-
| `
|
|
|
|
| 110 |
| `__cpp_constexpr_dynamic_alloc` | `201907L` |
|
|
|
|
| 111 |
| `__cpp_constexpr_in_decltype` | `201711L` |
|
| 112 |
-
| `
|
| 113 |
| `__cpp_constinit` | `201907L` |
|
|
|
|
| 114 |
| `__cpp_decltype` | `200707L` |
|
| 115 |
| `__cpp_decltype_auto` | `201304L` |
|
| 116 |
-
| `__cpp_deduction_guides` | `
|
| 117 |
| `__cpp_delegating_constructors` | `200604L` |
|
|
|
|
| 118 |
| `__cpp_designated_initializers` | `201707L` |
|
| 119 |
| `__cpp_enumerator_attributes` | `201411L` |
|
|
|
|
| 120 |
| `__cpp_explicit_this_parameter` | `202110L` |
|
| 121 |
| `__cpp_fold_expressions` | `201603L` |
|
| 122 |
| `__cpp_generic_lambdas` | `201707L` |
|
| 123 |
| `__cpp_guaranteed_copy_elision` | `201606L` |
|
| 124 |
| `__cpp_hex_float` | `201603L` |
|
| 125 |
| `__cpp_if_consteval` | `202106L` |
|
| 126 |
| `__cpp_if_constexpr` | `201606L` |
|
| 127 |
| `__cpp_impl_coroutine` | `201902L` |
|
| 128 |
| `__cpp_impl_destroying_delete` | `201806L` |
|
|
|
|
| 129 |
| `__cpp_impl_three_way_comparison` | `201907L` |
|
| 130 |
| `__cpp_implicit_move` | `202207L` |
|
| 131 |
| `__cpp_inheriting_constructors` | `201511L` |
|
| 132 |
| `__cpp_init_captures` | `201803L` |
|
| 133 |
| `__cpp_initializer_lists` | `200806L` |
|
|
@@ -139,27 +158,34 @@ function. If the time of translation is not available, an
|
|
| 139 |
| `__cpp_namespace_attributes` | `201411L` |
|
| 140 |
| `__cpp_noexcept_function_type` | `201510L` |
|
| 141 |
| `__cpp_nontype_template_args` | `201911L` |
|
| 142 |
| `__cpp_nontype_template_parameter_auto` | `201606L` |
|
| 143 |
| `__cpp_nsdmi` | `200809L` |
|
|
|
|
|
|
|
|
|
|
| 144 |
| `__cpp_range_based_for` | `202211L` |
|
| 145 |
| `__cpp_raw_strings` | `200710L` |
|
| 146 |
| `__cpp_ref_qualifiers` | `200710L` |
|
| 147 |
| `__cpp_return_type_deduction` | `201304L` |
|
| 148 |
| `__cpp_rvalue_references` | `200610L` |
|
| 149 |
| `__cpp_size_t_suffix` | `202011L` |
|
| 150 |
| `__cpp_sized_deallocation` | `201309L` |
|
| 151 |
-
| `__cpp_static_assert` | `
|
| 152 |
| `__cpp_static_call_operator` | `202207L` |
|
| 153 |
-
| `__cpp_structured_bindings` | `
|
|
|
|
| 154 |
| `__cpp_template_template_args` | `201611L` |
|
| 155 |
| `__cpp_threadsafe_static_init` | `200806L` |
|
|
|
|
|
|
|
| 156 |
| `__cpp_unicode_characters` | `200704L` |
|
| 157 |
| `__cpp_unicode_literals` | `200710L` |
|
| 158 |
| `__cpp_user_defined_literals` | `200809L` |
|
| 159 |
| `__cpp_using_enum` | `201907L` |
|
| 160 |
| `__cpp_variable_templates` | `201304L` |
|
|
|
|
| 161 |
| `__cpp_variadic_templates` | `200704L` |
|
| 162 |
| `__cpp_variadic_using` | `201611L` |
|
| 163 |
|
| 164 |
|
| 165 |
The following macro names are conditionally defined by the
|
|
@@ -196,9 +222,9 @@ can have more than one thread of execution [[intro.multithread]].
|
|
| 196 |
The values of the predefined macros (except for `__FILE__` and
|
| 197 |
`__LINE__`) remain constant throughout the translation unit.
|
| 198 |
|
| 199 |
If any of the pre-defined macro names in this subclause, or the
|
| 200 |
identifier `defined`, is the subject of a `#define` or a `#undef`
|
| 201 |
-
preprocessing directive, the
|
| 202 |
macro names shall begin with a leading underscore followed by an
|
| 203 |
uppercase letter or a second underscore.
|
| 204 |
|
|
|
|
| 4 |
|
| 5 |
- **`__cplusplus`**
|
| 6 |
|
| 7 |
The integer literal `202302L`.
|
| 8 |
|
| 9 |
+
[*Note 1*: Future revisions of this document will replace the value of
|
| 10 |
+
this macro with a greater value. — *end note*]
|
| 11 |
|
| 12 |
+
- **The macro names listed in [[cpp.predefined.ft]].**
|
| 13 |
|
| 14 |
The macros defined in [[cpp.predefined.ft]] shall be defined to the
|
| 15 |
corresponding integer literal.
|
| 16 |
|
| 17 |
+
[*Note 2*: Future revisions of this document might replace the values
|
| 18 |
+
of these macros with greater values. — *end note*]
|
| 19 |
|
| 20 |
- **`__DATE__`**
|
| 21 |
|
| 22 |
The date of translation of the source file: a character string literal
|
| 23 |
of the form `"Mmm dd yyyy"`, where the names of the months are the same
|
|
|
|
| 26 |
translation is not available, an *implementation-defined* valid date
|
| 27 |
shall be supplied.
|
| 28 |
|
| 29 |
- **`__FILE__`**
|
| 30 |
|
| 31 |
+
A character string literal representing the presumed name of the current
|
| 32 |
+
source file.
|
| 33 |
+
|
| 34 |
+
[*Note 3*: The presumed source file name can be changed by the `#line`
|
| 35 |
+
directive [[cpp.line]]. — *end note*]
|
| 36 |
|
| 37 |
- **`__LINE__`**
|
| 38 |
|
| 39 |
+
An integer literal representing the presumed line number of the current
|
| 40 |
+
source line within the current source file.
|
| 41 |
+
|
| 42 |
+
[*Note 4*: The presumed line number can be changed by the `#line`
|
| 43 |
+
directive [[cpp.line]]. — *end note*]
|
| 44 |
+
|
| 45 |
+
- **`__STDC_EMBED_NOT_FOUND__, __STDC_EMBED_FOUND__, and __STDC_EMBED_EMPTY__`**
|
| 46 |
+
|
| 47 |
+
The integer literals `0`, `1`, and `2`, respectively.
|
| 48 |
+
|
| 49 |
+
[*Note 5*: These represent values replaced from
|
| 50 |
+
\*has-embed-expression\*s [[cpp.cond]]. — *end note*]
|
| 51 |
|
| 52 |
- **`__STDC_HOSTED__`**
|
| 53 |
|
| 54 |
The integer literal `1` if the implementation is a hosted implementation
|
| 55 |
or the integer literal `0` if it is a freestanding implementation
|
|
|
|
| 59 |
|
| 60 |
An integer literal of type `std::size_t` whose value is the alignment
|
| 61 |
guaranteed by a call to `operator new(std::size_t)` or
|
| 62 |
`operator new[](std::size_t)`.
|
| 63 |
|
| 64 |
+
[*Note 6*: Larger alignments will be passed to
|
| 65 |
`operator new(std::size_t, std::align_val_t)`, etc.
|
| 66 |
[[expr.new]]. — *end note*]
|
| 67 |
|
| 68 |
- **`__STDCPP_FLOAT16_T__`**
|
| 69 |
|
| 70 |
Defined as the integer literal `1` if and only if the implementation
|
| 71 |
+
supports the ISO/IEC 60559 floating-point interchange format binary16 as
|
| 72 |
+
an extended floating-point type [[basic.extended.fp]].
|
| 73 |
|
| 74 |
- **`__STDCPP_FLOAT32_T__`**
|
| 75 |
|
| 76 |
Defined as the integer literal `1` if and only if the implementation
|
| 77 |
+
supports the ISO/IEC 60559 floating-point interchange format binary32 as
|
| 78 |
+
an extended floating-point type.
|
| 79 |
|
| 80 |
- **`__STDCPP_FLOAT64_T__`**
|
| 81 |
|
| 82 |
Defined as the integer literal `1` if and only if the implementation
|
| 83 |
+
supports the ISO/IEC 60559 floating-point interchange format binary64 as
|
| 84 |
+
an extended floating-point type.
|
| 85 |
|
| 86 |
- **`__STDCPP_FLOAT128_T__`**
|
| 87 |
|
| 88 |
Defined as the integer literal `1` if and only if the implementation
|
| 89 |
+
supports the ISO/IEC 60559 floating-point interchange format binary128
|
| 90 |
+
as an extended floating-point type.
|
| 91 |
|
| 92 |
- **`__STDCPP_BFLOAT16_T__`**
|
| 93 |
|
| 94 |
Defined as the integer literal `1` if and only if the implementation
|
| 95 |
supports an extended floating-point type with the properties of the
|
|
|
|
| 117 |
| `__cpp_binary_literals` | `201304L` |
|
| 118 |
| `__cpp_capture_star_this` | `201603L` |
|
| 119 |
| `__cpp_char8_t` | `202207L` |
|
| 120 |
| `__cpp_concepts` | `202002L` |
|
| 121 |
| `__cpp_conditional_explicit` | `201806L` |
|
| 122 |
+
| `__cpp_consteval` | `202211L` |
|
| 123 |
+
| `__cpp_constexpr` | `202406L` |
|
| 124 |
| `__cpp_constexpr_dynamic_alloc` | `201907L` |
|
| 125 |
+
| `__cpp_constexpr_exceptions` | `202411L` |
|
| 126 |
| `__cpp_constexpr_in_decltype` | `201711L` |
|
| 127 |
+
| `__cpp_constexpr_virtual_inheritance` | `202506L` |
|
| 128 |
| `__cpp_constinit` | `201907L` |
|
| 129 |
+
| `__cpp_contracts` | `202502L` |
|
| 130 |
| `__cpp_decltype` | `200707L` |
|
| 131 |
| `__cpp_decltype_auto` | `201304L` |
|
| 132 |
+
| `__cpp_deduction_guides` | `202207L` |
|
| 133 |
| `__cpp_delegating_constructors` | `200604L` |
|
| 134 |
+
| `__cpp_deleted_function` | `202403L` |
|
| 135 |
| `__cpp_designated_initializers` | `201707L` |
|
| 136 |
| `__cpp_enumerator_attributes` | `201411L` |
|
| 137 |
+
| `__cpp_expansion_statements` | `202506L` |
|
| 138 |
| `__cpp_explicit_this_parameter` | `202110L` |
|
| 139 |
| `__cpp_fold_expressions` | `201603L` |
|
| 140 |
| `__cpp_generic_lambdas` | `201707L` |
|
| 141 |
| `__cpp_guaranteed_copy_elision` | `201606L` |
|
| 142 |
| `__cpp_hex_float` | `201603L` |
|
| 143 |
| `__cpp_if_consteval` | `202106L` |
|
| 144 |
| `__cpp_if_constexpr` | `201606L` |
|
| 145 |
| `__cpp_impl_coroutine` | `201902L` |
|
| 146 |
| `__cpp_impl_destroying_delete` | `201806L` |
|
| 147 |
+
| `__cpp_impl_reflection` | `202506L` |
|
| 148 |
| `__cpp_impl_three_way_comparison` | `201907L` |
|
| 149 |
| `__cpp_implicit_move` | `202207L` |
|
| 150 |
| `__cpp_inheriting_constructors` | `201511L` |
|
| 151 |
| `__cpp_init_captures` | `201803L` |
|
| 152 |
| `__cpp_initializer_lists` | `200806L` |
|
|
|
|
| 158 |
| `__cpp_namespace_attributes` | `201411L` |
|
| 159 |
| `__cpp_noexcept_function_type` | `201510L` |
|
| 160 |
| `__cpp_nontype_template_args` | `201911L` |
|
| 161 |
| `__cpp_nontype_template_parameter_auto` | `201606L` |
|
| 162 |
| `__cpp_nsdmi` | `200809L` |
|
| 163 |
+
| `__cpp_pack_indexing` | `202311L` |
|
| 164 |
+
| `__cpp_placeholder_variables` | `202306L` |
|
| 165 |
+
| `__cpp_pp_embed` | `202502L` |
|
| 166 |
| `__cpp_range_based_for` | `202211L` |
|
| 167 |
| `__cpp_raw_strings` | `200710L` |
|
| 168 |
| `__cpp_ref_qualifiers` | `200710L` |
|
| 169 |
| `__cpp_return_type_deduction` | `201304L` |
|
| 170 |
| `__cpp_rvalue_references` | `200610L` |
|
| 171 |
| `__cpp_size_t_suffix` | `202011L` |
|
| 172 |
| `__cpp_sized_deallocation` | `201309L` |
|
| 173 |
+
| `__cpp_static_assert` | `202306L` |
|
| 174 |
| `__cpp_static_call_operator` | `202207L` |
|
| 175 |
+
| `__cpp_structured_bindings` | `202411L` |
|
| 176 |
+
| `__cpp_template_parameters` | `202502L` |
|
| 177 |
| `__cpp_template_template_args` | `201611L` |
|
| 178 |
| `__cpp_threadsafe_static_init` | `200806L` |
|
| 179 |
+
| `__cpp_trivial_relocatability` | `202502L` |
|
| 180 |
+
| `__cpp_trivial_union` | `202502L` |
|
| 181 |
| `__cpp_unicode_characters` | `200704L` |
|
| 182 |
| `__cpp_unicode_literals` | `200710L` |
|
| 183 |
| `__cpp_user_defined_literals` | `200809L` |
|
| 184 |
| `__cpp_using_enum` | `201907L` |
|
| 185 |
| `__cpp_variable_templates` | `201304L` |
|
| 186 |
+
| `__cpp_variadic_friend` | `202403L` |
|
| 187 |
| `__cpp_variadic_templates` | `200704L` |
|
| 188 |
| `__cpp_variadic_using` | `201611L` |
|
| 189 |
|
| 190 |
|
| 191 |
The following macro names are conditionally defined by the
|
|
|
|
| 222 |
The values of the predefined macros (except for `__FILE__` and
|
| 223 |
`__LINE__`) remain constant throughout the translation unit.
|
| 224 |
|
| 225 |
If any of the pre-defined macro names in this subclause, or the
|
| 226 |
identifier `defined`, is the subject of a `#define` or a `#undef`
|
| 227 |
+
preprocessing directive, the program is ill-formed. Any other predefined
|
| 228 |
macro names shall begin with a leading underscore followed by an
|
| 229 |
uppercase letter or a second underscore.
|
| 230 |
|