blob: df4dfc4a9a12a941aa7cf1a01d317921f8ca1290 [file] [log] [blame]
Eric Fiselier4e860492019-01-16 01:37:43 +00001.. _FeatureTestMacroTable:
2
3==========================
4Feature Test Macro Support
5==========================
6
7.. contents::
8 :local:
9
10Overview
11========
12
13This file documents the feature test macros currently supported by libc++.
14
15.. _feature-status:
16
17Status
18======
19
20.. table:: Current Status
Mark de Wever4a2f7432021-10-21 20:06:30 +020021 :name: feature-status-table
22 :widths: auto
Louis Dionne1b335f72019-11-14 08:54:23 -050023
Eric Fiselier4e860492019-01-16 01:37:43 +000024 ================================================= =================
Louis Dionne13dd7b82020-09-22 08:38:57 -040025 Macro Name Value
Eric Fiselier4e860492019-01-16 01:37:43 +000026 ================================================= =================
Louis Dionne13dd7b82020-09-22 08:38:57 -040027 **C++ 14**
Eric Fiselier4e860492019-01-16 01:37:43 +000028 -------------------------------------------------------------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040029 ``__cpp_lib_chrono_udls`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000030 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040031 ``__cpp_lib_complex_udls`` ``201309L``
Eric Fiselier4e860492019-01-16 01:37:43 +000032 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040033 ``__cpp_lib_exchange_function`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000034 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040035 ``__cpp_lib_generic_associative_lookup`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000036 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040037 ``__cpp_lib_integer_sequence`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000038 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040039 ``__cpp_lib_integral_constant_callable`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000040 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040041 ``__cpp_lib_is_final`` ``201402L``
Eric Fiselier4e860492019-01-16 01:37:43 +000042 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040043 ``__cpp_lib_is_null_pointer`` ``201309L``
Eric Fiselier4e860492019-01-16 01:37:43 +000044 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040045 ``__cpp_lib_make_reverse_iterator`` ``201402L``
Eric Fiselier4e860492019-01-16 01:37:43 +000046 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040047 ``__cpp_lib_make_unique`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000048 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040049 ``__cpp_lib_null_iterators`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000050 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040051 ``__cpp_lib_quoted_string_io`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000052 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040053 ``__cpp_lib_result_of_sfinae`` ``201210L``
Eric Fiselier4e860492019-01-16 01:37:43 +000054 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040055 ``__cpp_lib_robust_nonmodifying_seq_ops`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000056 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040057 ``__cpp_lib_shared_timed_mutex`` ``201402L``
Eric Fiselier4e860492019-01-16 01:37:43 +000058 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040059 ``__cpp_lib_string_udls`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000060 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040061 ``__cpp_lib_transformation_trait_aliases`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000062 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040063 ``__cpp_lib_transparent_operators`` ``201210L``
Eric Fiselier4e860492019-01-16 01:37:43 +000064 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040065 ``__cpp_lib_tuple_element_t`` ``201402L``
Eric Fiselier4e860492019-01-16 01:37:43 +000066 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040067 ``__cpp_lib_tuples_by_type`` ``201304L``
Eric Fiselier4e860492019-01-16 01:37:43 +000068 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040069 **C++ 17**
Eric Fiselier4e860492019-01-16 01:37:43 +000070 -------------------------------------------------------------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040071 ``__cpp_lib_addressof_constexpr`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000072 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040073 ``__cpp_lib_allocator_traits_is_always_equal`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +000074 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040075 ``__cpp_lib_any`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +000076 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040077 ``__cpp_lib_apply`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000078 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040079 ``__cpp_lib_array_constexpr`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000080 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040081 ``__cpp_lib_as_const`` ``201510L``
Eric Fiselier4e860492019-01-16 01:37:43 +000082 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040083 ``__cpp_lib_atomic_is_always_lock_free`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000084 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040085 ``__cpp_lib_bool_constant`` ``201505L``
Eric Fiselier4e860492019-01-16 01:37:43 +000086 ------------------------------------------------- -----------------
Nikolas Klausere65652c2022-06-17 16:02:53 +020087 ``__cpp_lib_boyer_moore_searcher`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000088 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040089 ``__cpp_lib_byte`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000090 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040091 ``__cpp_lib_chrono`` ``201611L``
Eric Fiselier4e860492019-01-16 01:37:43 +000092 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040093 ``__cpp_lib_clamp`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000094 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040095 ``__cpp_lib_enable_shared_from_this`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +000096 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040097 ``__cpp_lib_execution`` *unimplemented*
Eric Fiselier4e860492019-01-16 01:37:43 +000098 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -040099 ``__cpp_lib_filesystem`` ``201703L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000100 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400101 ``__cpp_lib_gcd_lcm`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000102 ------------------------------------------------- -----------------
Nikolas Klauserdce28bd2022-06-22 21:10:57 +0200103 ``__cpp_lib_hardware_interference_size`` ``201703L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000104 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400105 ``__cpp_lib_has_unique_object_representations`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000106 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400107 ``__cpp_lib_hypot`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000108 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400109 ``__cpp_lib_incomplete_container_elements`` ``201505L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000110 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400111 ``__cpp_lib_invoke`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000112 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400113 ``__cpp_lib_is_aggregate`` ``201703L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000114 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400115 ``__cpp_lib_is_invocable`` ``201703L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000116 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400117 ``__cpp_lib_is_swappable`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000118 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400119 ``__cpp_lib_launder`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000120 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400121 ``__cpp_lib_logical_traits`` ``201510L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000122 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400123 ``__cpp_lib_make_from_tuple`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000124 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400125 ``__cpp_lib_map_try_emplace`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000126 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400127 ``__cpp_lib_math_special_functions`` *unimplemented*
Eric Fiselier4e860492019-01-16 01:37:43 +0000128 ------------------------------------------------- -----------------
Arthur O'Dwyerebf2d342022-10-06 16:53:30 -0400129 ``__cpp_lib_memory_resource`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000130 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400131 ``__cpp_lib_node_extract`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000132 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400133 ``__cpp_lib_nonmember_container_access`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000134 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400135 ``__cpp_lib_not_fn`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000136 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400137 ``__cpp_lib_optional`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000138 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400139 ``__cpp_lib_parallel_algorithm`` *unimplemented*
Eric Fiselier4e860492019-01-16 01:37:43 +0000140 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400141 ``__cpp_lib_raw_memory_algorithms`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000142 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400143 ``__cpp_lib_sample`` ``201603L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000144 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400145 ``__cpp_lib_scoped_lock`` ``201703L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000146 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400147 ``__cpp_lib_shared_mutex`` ``201505L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000148 ------------------------------------------------- -----------------
Louis Dionne4ee3eb12020-12-08 15:45:57 -0500149 ``__cpp_lib_shared_ptr_arrays`` ``201611L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000150 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400151 ``__cpp_lib_shared_ptr_weak_type`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000152 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400153 ``__cpp_lib_string_view`` ``201606L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000154 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400155 ``__cpp_lib_to_chars`` *unimplemented*
Eric Fiselier4e860492019-01-16 01:37:43 +0000156 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400157 ``__cpp_lib_transparent_operators`` ``201510L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000158 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400159 ``__cpp_lib_type_trait_variable_templates`` ``201510L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000160 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400161 ``__cpp_lib_uncaught_exceptions`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000162 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400163 ``__cpp_lib_unordered_map_try_emplace`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000164 ------------------------------------------------- -----------------
Marek Kurdej2f5ec002021-03-25 18:09:11 +0100165 ``__cpp_lib_variant`` ``202102L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000166 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400167 ``__cpp_lib_void_t`` ``201411L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000168 ------------------------------------------------- -----------------
Marek Kurdej24b4c512021-01-07 12:29:04 +0100169 **C++ 20**
Eric Fiselier4e860492019-01-16 01:37:43 +0000170 -------------------------------------------------------------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400171 ``__cpp_lib_array_constexpr`` ``201811L``
Louis Dionne44704ce2020-05-22 09:59:48 -0400172 ------------------------------------------------- -----------------
Louis Dionne28e2f6c2022-02-03 14:45:22 -0500173 ``__cpp_lib_assume_aligned`` ``201811L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500174 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400175 ``__cpp_lib_atomic_flag_test`` ``201907L``
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700176 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400177 ``__cpp_lib_atomic_float`` *unimplemented*
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700178 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400179 ``__cpp_lib_atomic_lock_free_type_aliases`` ``201907L``
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700180 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400181 ``__cpp_lib_atomic_ref`` *unimplemented*
Eric Fiselier4e860492019-01-16 01:37:43 +0000182 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400183 ``__cpp_lib_atomic_shared_ptr`` *unimplemented*
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700184 ------------------------------------------------- -----------------
Raul Tambre4e0e88f2021-06-06 19:02:20 +0300185 ``__cpp_lib_atomic_value_initialization`` ``201911L``
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700186 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400187 ``__cpp_lib_atomic_wait`` ``201907L``
Olivier Girouxdf5bfa32020-09-09 10:00:09 -0700188 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500189 ``__cpp_lib_barrier`` ``201907L``
190 ------------------------------------------------- -----------------
zoecarver3595cac2021-03-02 16:17:22 -0800191 ``__cpp_lib_bind_front`` ``201907L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000192 ------------------------------------------------- -----------------
Louis Dionne1462d4d2020-05-28 14:28:38 -0400193 ``__cpp_lib_bit_cast`` ``201806L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000194 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500195 ``__cpp_lib_bitops`` *unimplemented*
196 ------------------------------------------------- -----------------
197 ``__cpp_lib_bounded_array_traits`` ``201902L``
198 ------------------------------------------------- -----------------
Nikolas Klauser0c20ccc2022-07-19 02:03:10 +0200199 ``__cpp_lib_char8_t`` ``201907L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000200 ------------------------------------------------- -----------------
Christopher Di Bella0c9ea042021-04-02 18:07:31 +0000201 ``__cpp_lib_concepts`` ``202002L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000202 ------------------------------------------------- -----------------
Arthur O'Dwyer1bb0f672020-12-20 15:21:42 -0500203 ``__cpp_lib_constexpr_algorithms`` ``201806L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500204 ------------------------------------------------- -----------------
Marek Kurdej4d6c6e52022-12-15 02:19:59 +0100205 ``__cpp_lib_constexpr_complex`` ``201711L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500206 ------------------------------------------------- -----------------
Louis Dionne99f59432020-09-17 12:06:13 -0400207 ``__cpp_lib_constexpr_dynamic_alloc`` ``201907L``
208 ------------------------------------------------- -----------------
Arthur O'Dwyer8d386892021-01-08 17:28:19 -0500209 ``__cpp_lib_constexpr_functional`` ``201907L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500210 ------------------------------------------------- -----------------
Arthur O'Dwyer20638cc2021-02-09 19:12:16 -0500211 ``__cpp_lib_constexpr_iterator`` ``201811L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500212 ------------------------------------------------- -----------------
Louis Dionne81a31eb2021-02-15 15:26:29 -0500213 ``__cpp_lib_constexpr_memory`` ``201811L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000214 ------------------------------------------------- -----------------
Mark de Wever17c5af42020-11-28 14:50:53 +0100215 ``__cpp_lib_constexpr_numeric`` ``201911L``
216 ------------------------------------------------- -----------------
Nikolas Klauser80b3cf32022-04-27 10:11:44 +0200217 ``__cpp_lib_constexpr_string`` ``201907L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500218 ------------------------------------------------- -----------------
Arthur O'Dwyer20638cc2021-02-09 19:12:16 -0500219 ``__cpp_lib_constexpr_string_view`` ``201811L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500220 ------------------------------------------------- -----------------
Arthur O'Dwyer20638cc2021-02-09 19:12:16 -0500221 ``__cpp_lib_constexpr_tuple`` ``201811L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000222 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400223 ``__cpp_lib_constexpr_utility`` ``201811L``
Michael Schellenberger Costad41ace62020-09-02 21:20:33 +0200224 ------------------------------------------------- -----------------
Nikolas Klauser4218f352022-11-09 21:01:42 +0100225 ``__cpp_lib_constexpr_vector`` ``201907L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500226 ------------------------------------------------- -----------------
Chuanqi Xu6fdf6192021-11-16 14:05:34 +0800227 ``__cpp_lib_coroutine`` ``201902L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500228 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400229 ``__cpp_lib_destroying_delete`` ``201806L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000230 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400231 ``__cpp_lib_endian`` ``201907L``
Louis Dionne1b335f72019-11-14 08:54:23 -0500232 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400233 ``__cpp_lib_erase_if`` ``202002L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000234 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500235 ``__cpp_lib_execution`` *unimplemented*
236 ------------------------------------------------- -----------------
Mark de Weverf300fcd2022-09-04 13:56:36 +0200237 ``__cpp_lib_format`` *unimplemented*
Mark de Weverdf5fd832020-11-26 19:12:18 +0100238 ------------------------------------------------- -----------------
Ruslan Arutyunyan44234392020-11-10 07:49:55 -0500239 ``__cpp_lib_generic_unordered_lookup`` ``201811L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000240 ------------------------------------------------- -----------------
Mark de Wever896e0742020-11-24 14:50:49 +0100241 ``__cpp_lib_int_pow2`` ``202002L``
242 ------------------------------------------------- -----------------
Kamlesh Kumarc1964592021-04-20 04:48:34 +0530243 ``__cpp_lib_integer_comparison_functions`` ``202002L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500244 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400245 ``__cpp_lib_interpolate`` ``201902L``
Marshall Clow174901e2019-04-25 12:11:43 +0000246 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400247 ``__cpp_lib_is_constant_evaluated`` ``201811L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000248 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500249 ``__cpp_lib_is_layout_compatible`` *unimplemented*
250 ------------------------------------------------- -----------------
251 ``__cpp_lib_is_nothrow_convertible`` ``201806L``
252 ------------------------------------------------- -----------------
253 ``__cpp_lib_is_pointer_interconvertible`` *unimplemented*
254 ------------------------------------------------- -----------------
255 ``__cpp_lib_jthread`` *unimplemented*
256 ------------------------------------------------- -----------------
257 ``__cpp_lib_latch`` ``201907L``
258 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400259 ``__cpp_lib_list_remove_return_type`` ``201806L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000260 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400261 ``__cpp_lib_math_constants`` ``201907L``
Raul Tambreafcedea2020-06-19 12:43:33 +0530262 ------------------------------------------------- -----------------
Nikolas Klausere4e39ce2022-12-01 23:17:53 +0100263 ``__cpp_lib_polymorphic_allocator`` ``201902L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500264 ------------------------------------------------- -----------------
Konstantin Varlamovfad0eab2023-01-17 22:45:46 -0800265 ``__cpp_lib_ranges`` ``202106L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000266 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500267 ``__cpp_lib_remove_cvref`` ``201711L``
268 ------------------------------------------------- -----------------
269 ``__cpp_lib_semaphore`` ``201907L``
270 ------------------------------------------------- -----------------
Louis Dionne29464972021-10-26 13:12:12 -0400271 ``__cpp_lib_shared_ptr_arrays`` ``201707L``
272 ------------------------------------------------- -----------------
Arthur O'Dwyercea050d2020-12-26 01:39:03 -0500273 ``__cpp_lib_shift`` ``201806L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500274 ------------------------------------------------- -----------------
275 ``__cpp_lib_smart_ptr_for_overwrite`` *unimplemented*
276 ------------------------------------------------- -----------------
James Y Knightb35329a2023-01-11 15:53:03 -0500277 ``__cpp_lib_source_location`` ``201907L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500278 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400279 ``__cpp_lib_span`` ``202002L``
Michael Schellenberger Costaea234282020-05-13 09:50:06 -0400280 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500281 ``__cpp_lib_ssize`` ``201902L``
282 ------------------------------------------------- -----------------
283 ``__cpp_lib_starts_ends_with`` ``201711L``
284 ------------------------------------------------- -----------------
285 ``__cpp_lib_string_view`` ``201803L``
286 ------------------------------------------------- -----------------
287 ``__cpp_lib_syncbuf`` *unimplemented*
288 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400289 ``__cpp_lib_three_way_comparison`` *unimplemented*
Marek Kurdej0d715672020-01-30 13:27:35 +0100290 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500291 ``__cpp_lib_to_address`` ``201711L``
292 ------------------------------------------------- -----------------
Louis Dionne13dd7b82020-09-22 08:38:57 -0400293 ``__cpp_lib_to_array`` ``201907L``
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500294 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500295 ``__cpp_lib_type_identity`` ``201806L``
296 ------------------------------------------------- -----------------
Arthur O'Dwyer63211992021-01-07 18:21:07 -0500297 ``__cpp_lib_unwrap_ref`` ``201811L``
Marek Kurdej758067c2021-01-08 18:40:42 +0100298 ------------------------------------------------- -----------------
299 **C++ 2b**
300 -------------------------------------------------------------------
Nikolas Klauserf0b3d872022-01-06 12:36:07 +0100301 ``__cpp_lib_adaptor_iterator_pair_constructor`` ``202106L``
302 ------------------------------------------------- -----------------
Nikolas Klauserc513eba2022-04-09 09:41:19 +0200303 ``__cpp_lib_allocate_at_least`` ``202106L``
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500304 ------------------------------------------------- -----------------
305 ``__cpp_lib_associative_heterogeneous_erasure`` *unimplemented*
306 ------------------------------------------------- -----------------
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100307 ``__cpp_lib_bind_back`` *unimplemented*
308 ------------------------------------------------- -----------------
Nikolas Klauserb52cfd92021-11-22 00:22:55 +0100309 ``__cpp_lib_byteswap`` ``202110L``
310 ------------------------------------------------- -----------------
Nikolas Klauser73015c12022-08-13 13:52:35 +0200311 ``__cpp_lib_constexpr_bitset`` ``202207L``
312 ------------------------------------------------- -----------------
Mark de Wever790768c2022-08-06 10:47:53 +0200313 ``__cpp_lib_constexpr_charconv`` ``202207L``
314 ------------------------------------------------- -----------------
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100315 ``__cpp_lib_constexpr_cmath`` *unimplemented*
316 ------------------------------------------------- -----------------
Igor Zhukov85a33632022-09-03 18:49:50 +0700317 ``__cpp_lib_constexpr_memory`` ``202202L``
318 ------------------------------------------------- -----------------
Louis Dionne65697742023-02-06 17:08:19 -0800319 ``__cpp_lib_constexpr_typeinfo`` ``202106L``
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500320 ------------------------------------------------- -----------------
Hui Xie11aebc02022-11-04 11:42:42 +0000321 ``__cpp_lib_expected`` ``202202L``
322 ------------------------------------------------- -----------------
Igor Zhukov57ea60e2022-08-21 22:21:08 +0700323 ``__cpp_lib_forward_like`` ``202207L``
324 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500325 ``__cpp_lib_invoke_r`` *unimplemented*
326 ------------------------------------------------- -----------------
Marek Kurdejb399ff72021-01-12 17:06:58 +0100327 ``__cpp_lib_is_scoped_enum`` ``202011L``
Marek Kurdej758067c2021-01-08 18:40:42 +0100328 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500329 ``__cpp_lib_move_only_function`` *unimplemented*
330 ------------------------------------------------- -----------------
Mark de Wever49dfdc82022-05-17 19:15:18 +0200331 ``__cpp_lib_optional`` ``202110L``
332 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500333 ``__cpp_lib_out_ptr`` *unimplemented*
334 ------------------------------------------------- -----------------
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100335 ``__cpp_lib_ranges_chunk`` *unimplemented*
336 ------------------------------------------------- -----------------
337 ``__cpp_lib_ranges_chunk_by`` *unimplemented*
338 ------------------------------------------------- -----------------
339 ``__cpp_lib_ranges_iota`` *unimplemented*
340 ------------------------------------------------- -----------------
341 ``__cpp_lib_ranges_join_with`` *unimplemented*
342 ------------------------------------------------- -----------------
343 ``__cpp_lib_ranges_slide`` *unimplemented*
344 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500345 ``__cpp_lib_ranges_starts_ends_with`` *unimplemented*
346 ------------------------------------------------- -----------------
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100347 ``__cpp_lib_ranges_to_container`` *unimplemented*
348 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500349 ``__cpp_lib_ranges_zip`` *unimplemented*
350 ------------------------------------------------- -----------------
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100351 ``__cpp_lib_reference_from_temporary`` *unimplemented*
352 ------------------------------------------------- -----------------
Arthur O'Dwyer7aabc472021-12-30 23:28:12 -0500353 ``__cpp_lib_spanstream`` *unimplemented*
354 ------------------------------------------------- -----------------
Marek Kurdej758067c2021-01-08 18:40:42 +0100355 ``__cpp_lib_stacktrace`` *unimplemented*
356 ------------------------------------------------- -----------------
Louis Dionnebb5d1512022-04-11 10:42:45 -0400357 ``__cpp_lib_stdatomic_h`` ``202011L``
Marek Kurdej758067c2021-01-08 18:40:42 +0100358 ------------------------------------------------- -----------------
Wim Leflere023c3542021-01-19 14:33:30 -0500359 ``__cpp_lib_string_contains`` ``202011L``
Marek Kurdej4fc4b4c2021-03-05 09:19:39 +0100360 ------------------------------------------------- -----------------
Nikolas Klauser9e6040c2022-01-06 21:43:26 +0100361 ``__cpp_lib_string_resize_and_overwrite`` ``202110L``
362 ------------------------------------------------- -----------------
Marek Kurdej4fc4b4c2021-03-05 09:19:39 +0100363 ``__cpp_lib_to_underlying`` ``202102L``
Nikolas Klauser2c3637d2022-02-09 00:07:14 +0100364 ------------------------------------------------- -----------------
Nikolas Klausercfe21472022-02-14 18:26:02 +0100365 ``__cpp_lib_unreachable`` ``202202L``
Eric Fiselier4e860492019-01-16 01:37:43 +0000366 ================================================= =================
367