version (14223B)
1 // -*- C++ -*- 2 //===--------------------------- version ----------------------------------===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is dual licensed under the MIT and the University of Illinois Open 7 // Source Licenses. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef _LIBCPP_VERSIONH 12 #define _LIBCPP_VERSIONH 13 14 /* 15 version synopsis 16 17 Macro name Value Headers 18 __cpp_lib_addressof_constexpr 201603L <memory> 19 __cpp_lib_allocator_traits_is_always_equal 201411L <memory> <scoped_allocator> <string> 20 <deque> <forward_list> <list> 21 <vector> <map> <set> 22 <unordered_map> <unordered_set> 23 __cpp_lib_any 201606L <any> 24 __cpp_lib_apply 201603L <tuple> 25 __cpp_lib_array_constexpr 201603L <iterator> <array> 26 __cpp_lib_as_const 201510L <utility> 27 __cpp_lib_atomic_is_always_lock_free 201603L <atomic> 28 __cpp_lib_atomic_ref 201806L <atomic> 29 __cpp_lib_bind_front 201811L <functional> 30 __cpp_lib_bit_cast 201806L <bit> 31 __cpp_lib_bool_constant 201505L <type_traits> 32 __cpp_lib_boyer_moore_searcher 201603L <functional> 33 __cpp_lib_byte 201603L <cstddef> 34 __cpp_lib_char8_t 201811L <atomic> <filesystem> <istream> 35 <limits> <locale> <ostream> 36 <string> <string_view> 37 __cpp_lib_chrono 201611L <chrono> 38 __cpp_lib_chrono_udls 201304L <chrono> 39 __cpp_lib_clamp 201603L <algorithm> 40 __cpp_lib_complex_udls 201309L <complex> 41 __cpp_lib_concepts 201806L <concepts> 42 __cpp_lib_constexpr_misc 201811L <array> <functional> <iterator> 43 <string_view> <tuple> <utility> 44 __cpp_lib_constexpr_swap_algorithms 201806L <algorithm> 45 __cpp_lib_destroying_delete 201806L <new> 46 __cpp_lib_enable_shared_from_this 201603L <memory> 47 __cpp_lib_erase_if 201811L <string> <deque> <forward_list> 48 <list> <vector> <map> 49 <set> <unordered_map> <unordered_set> 50 __cpp_lib_exchange_function 201304L <utility> 51 __cpp_lib_execution 201603L <execution> 52 __cpp_lib_filesystem 201703L <filesystem> 53 __cpp_lib_gcd_lcm 201606L <numeric> 54 __cpp_lib_generic_associative_lookup 201304L <map> <set> 55 __cpp_lib_generic_unordered_lookup 201811L <unordered_map> <unordered_set> 56 __cpp_lib_hardware_interference_size 201703L <new> 57 __cpp_lib_has_unique_object_representations 201606L <type_traits> 58 __cpp_lib_hypot 201603L <cmath> 59 __cpp_lib_incomplete_container_elements 201505L <forward_list> <list> <vector> 60 __cpp_lib_integer_sequence 201304L <utility> 61 __cpp_lib_integral_constant_callable 201304L <type_traits> 62 __cpp_lib_invoke 201411L <functional> 63 __cpp_lib_is_aggregate 201703L <type_traits> 64 __cpp_lib_is_constant_evaluated 201811L <type_traits> 65 __cpp_lib_is_final 201402L <type_traits> 66 __cpp_lib_is_invocable 201703L <type_traits> 67 __cpp_lib_is_null_pointer 201309L <type_traits> 68 __cpp_lib_is_swappable 201603L <type_traits> 69 __cpp_lib_launder 201606L <new> 70 __cpp_lib_list_remove_return_type 201806L <forward_list> <list> 71 __cpp_lib_logical_traits 201510L <type_traits> 72 __cpp_lib_make_from_tuple 201606L <tuple> 73 __cpp_lib_make_reverse_iterator 201402L <iterator> 74 __cpp_lib_make_unique 201304L <memory> 75 __cpp_lib_map_try_emplace 201411L <map> 76 __cpp_lib_math_special_functions 201603L <cmath> 77 __cpp_lib_memory_resource 201603L <memory_resource> 78 __cpp_lib_node_extract 201606L <map> <set> <unordered_map> 79 <unordered_set> 80 __cpp_lib_nonmember_container_access 201411L <iterator> <array> <deque> 81 <forward_list> <list> <map> 82 <regex> <set> <string> 83 <unordered_map> <unordered_set> <vector> 84 __cpp_lib_not_fn 201603L <functional> 85 __cpp_lib_null_iterators 201304L <iterator> 86 __cpp_lib_optional 201606L <optional> 87 __cpp_lib_parallel_algorithm 201603L <algorithm> <numeric> 88 __cpp_lib_quoted_string_io 201304L <iomanip> 89 __cpp_lib_ranges 201811L <algorithm> <functional> <iterator> 90 <memory> <ranges> 91 __cpp_lib_raw_memory_algorithms 201606L <memory> 92 __cpp_lib_result_of_sfinae 201210L <functional> <type_traits> 93 __cpp_lib_robust_nonmodifying_seq_ops 201304L <algorithm> 94 __cpp_lib_sample 201603L <algorithm> 95 __cpp_lib_scoped_lock 201703L <mutex> 96 __cpp_lib_shared_mutex 201505L <shared_mutex> 97 __cpp_lib_shared_ptr_arrays 201611L <memory> 98 __cpp_lib_shared_ptr_weak_type 201606L <memory> 99 __cpp_lib_shared_timed_mutex 201402L <shared_mutex> 100 __cpp_lib_string_udls 201304L <string> 101 __cpp_lib_string_view 201606L <string> <string_view> 102 __cpp_lib_three_way_comparison 201711L <compare> 103 __cpp_lib_to_chars 201611L <utility> 104 __cpp_lib_transformation_trait_aliases 201304L <type_traits> 105 __cpp_lib_transparent_operators 201510L <functional> 106 201210L // C++14 107 __cpp_lib_tuple_element_t 201402L <tuple> 108 __cpp_lib_tuples_by_type 201304L <utility> <tuple> 109 __cpp_lib_type_trait_variable_templates 201510L <type_traits> 110 __cpp_lib_uncaught_exceptions 201411L <exception> 111 __cpp_lib_unordered_map_try_emplace 201411L <unordered_map> 112 __cpp_lib_variant 201606L <variant> 113 __cpp_lib_void_t 201411L <type_traits> 114 115 */ 116 117 #include <__config> 118 119 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 120 #pragma GCC system_header 121 #endif 122 123 #if _LIBCPP_STD_VER > 11 124 # define __cpp_lib_chrono_udls 201304L 125 # define __cpp_lib_complex_udls 201309L 126 # define __cpp_lib_exchange_function 201304L 127 # define __cpp_lib_generic_associative_lookup 201304L 128 # define __cpp_lib_integer_sequence 201304L 129 # define __cpp_lib_integral_constant_callable 201304L 130 # define __cpp_lib_is_final 201402L 131 # define __cpp_lib_is_null_pointer 201309L 132 # define __cpp_lib_make_reverse_iterator 201402L 133 # define __cpp_lib_make_unique 201304L 134 # define __cpp_lib_null_iterators 201304L 135 # define __cpp_lib_quoted_string_io 201304L 136 # define __cpp_lib_result_of_sfinae 201210L 137 # define __cpp_lib_robust_nonmodifying_seq_ops 201304L 138 # if !defined(_LIBCPP_HAS_NO_THREADS) 139 # define __cpp_lib_shared_timed_mutex 201402L 140 # endif 141 # define __cpp_lib_string_udls 201304L 142 # define __cpp_lib_transformation_trait_aliases 201304L 143 # define __cpp_lib_transparent_operators 201210L 144 # define __cpp_lib_tuple_element_t 201402L 145 # define __cpp_lib_tuples_by_type 201304L 146 #endif 147 148 #if _LIBCPP_STD_VER > 14 149 # if !defined(_LIBCPP_HAS_NO_BUILTIN_ADDRESSOF) 150 # define __cpp_lib_addressof_constexpr 201603L 151 # endif 152 # define __cpp_lib_allocator_traits_is_always_equal 201411L 153 # define __cpp_lib_any 201606L 154 # define __cpp_lib_apply 201603L 155 # define __cpp_lib_array_constexpr 201603L 156 # define __cpp_lib_as_const 201510L 157 # if !defined(_LIBCPP_HAS_NO_THREADS) 158 # define __cpp_lib_atomic_is_always_lock_free 201603L 159 # endif 160 # define __cpp_lib_bool_constant 201505L 161 // # define __cpp_lib_boyer_moore_searcher 201603L 162 # define __cpp_lib_byte 201603L 163 # define __cpp_lib_chrono 201611L 164 # define __cpp_lib_clamp 201603L 165 # define __cpp_lib_enable_shared_from_this 201603L 166 // # define __cpp_lib_execution 201603L 167 # define __cpp_lib_filesystem 201703L 168 # define __cpp_lib_gcd_lcm 201606L 169 # define __cpp_lib_hardware_interference_size 201703L 170 # if defined(_LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS) 171 # define __cpp_lib_has_unique_object_representations 201606L 172 # endif 173 # define __cpp_lib_hypot 201603L 174 # define __cpp_lib_incomplete_container_elements 201505L 175 # define __cpp_lib_invoke 201411L 176 # if !defined(_LIBCPP_HAS_NO_IS_AGGREGATE) 177 # define __cpp_lib_is_aggregate 201703L 178 # endif 179 # define __cpp_lib_is_invocable 201703L 180 # define __cpp_lib_is_swappable 201603L 181 # define __cpp_lib_launder 201606L 182 # define __cpp_lib_logical_traits 201510L 183 # define __cpp_lib_make_from_tuple 201606L 184 # define __cpp_lib_map_try_emplace 201411L 185 // # define __cpp_lib_math_special_functions 201603L 186 // # define __cpp_lib_memory_resource 201603L 187 # define __cpp_lib_node_extract 201606L 188 # define __cpp_lib_nonmember_container_access 201411L 189 # define __cpp_lib_not_fn 201603L 190 # define __cpp_lib_optional 201606L 191 // # define __cpp_lib_parallel_algorithm 201603L 192 # define __cpp_lib_raw_memory_algorithms 201606L 193 # define __cpp_lib_sample 201603L 194 # define __cpp_lib_scoped_lock 201703L 195 # if !defined(_LIBCPP_HAS_NO_THREADS) 196 # define __cpp_lib_shared_mutex 201505L 197 # endif 198 // # define __cpp_lib_shared_ptr_arrays 201611L 199 # define __cpp_lib_shared_ptr_weak_type 201606L 200 # define __cpp_lib_string_view 201606L 201 // # define __cpp_lib_to_chars 201611L 202 # undef __cpp_lib_transparent_operators 203 # define __cpp_lib_transparent_operators 201510L 204 # define __cpp_lib_type_trait_variable_templates 201510L 205 # define __cpp_lib_uncaught_exceptions 201411L 206 # define __cpp_lib_unordered_map_try_emplace 201411L 207 # define __cpp_lib_variant 201606L 208 # define __cpp_lib_void_t 201411L 209 #endif 210 211 #if _LIBCPP_STD_VER > 17 212 # if !defined(_LIBCPP_HAS_NO_THREADS) 213 // # define __cpp_lib_atomic_ref 201806L 214 # endif 215 // # define __cpp_lib_bind_front 201811L 216 // # define __cpp_lib_bit_cast 201806L 217 # if !defined(_LIBCPP_NO_HAS_CHAR8_T) 218 # define __cpp_lib_char8_t 201811L 219 # endif 220 // # define __cpp_lib_concepts 201806L 221 // # define __cpp_lib_constexpr_misc 201811L 222 // # define __cpp_lib_constexpr_swap_algorithms 201806L 223 // # define __cpp_lib_destroying_delete 201806L 224 # define __cpp_lib_erase_if 201811L 225 // # define __cpp_lib_generic_unordered_lookup 201811L 226 // # define __cpp_lib_is_constant_evaluated 201811L 227 // # define __cpp_lib_list_remove_return_type 201806L 228 // # define __cpp_lib_ranges 201811L 229 // # define __cpp_lib_three_way_comparison 201711L 230 #endif 231 232 #endif // _LIBCPP_VERSIONH