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 Table 35 Standard library feature-test macros 18 Macro name Value Headers 19 __cpp_lib_addressof_constexpr 201603L <memory> 20 __cpp_lib_allocator_traits_is_always_equal 201411L <memory> <scoped_allocator> <string> 21 <deque> <forward_list> <list> <vector> 22 <map> <set> <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_bit_cast 201806L <bit> 30 __cpp_lib_bool_constant 201505L <type_traits> 31 __cpp_lib_boyer_moore_searcher 201603L <functional> 32 __cpp_lib_byte 201603L <cstddef> 33 __cpp_lib_char8_t 201811L <atomic> <filesystem> <istream> <limits> 34 <locale> <ostream> <string> <string_view> 35 __cpp_lib_chrono 201611L <chrono> 36 __cpp_lib_chrono_udls 201304L <chrono> 37 __cpp_lib_clamp 201603L <algorithm> 38 __cpp_lib_complex_udls 201309L <complex> 39 __cpp_lib_concepts 201806L <concepts> 40 __cpp_lib_constexpr_swap_algorithms 201806L <algorithm> 41 __cpp_lib_enable_shared_from_this 201603L <memory> 42 __cpp_lib_erase_if 201811L <string> <deque> <forward_list> <list> 43 <vector> <map> <set> <unordered_map> 44 <unordered_set> 45 __cpp_lib_exchange_function 201304L <utility> 46 __cpp_lib_execution 201603L <execution> 47 __cpp_lib_filesystem 201703L <filesystem> 48 __cpp_lib_gcd_lcm 201606L <numeric> 49 __cpp_lib_generic_associative_lookup 201304L <map> <set> 50 __cpp_lib_hardware_interference_size 201703L <new> 51 __cpp_lib_has_unique_object_representations 201606L <type_traits> 52 __cpp_lib_hypot 201603L <cmath> 53 __cpp_lib_incomplete_container_elements 201505L <forward_list> <list> <vector> 54 __cpp_lib_integer_sequence 201304L <utility> 55 __cpp_lib_integral_constant_callable 201304L <type_traits> 56 __cpp_lib_invoke 201411L <functional> 57 __cpp_lib_is_aggregate 201703L <type_traits> 58 __cpp_lib_is_final 201402L <type_traits> 59 __cpp_lib_is_invocable 201703L <type_traits> 60 __cpp_lib_is_null_pointer 201309L <type_traits> 61 __cpp_lib_is_swappable 201603L <type_traits> 62 __cpp_lib_launder 201606L <new> 63 __cpp_lib_list_remove_return_type 201806L <forward_list> <list> 64 __cpp_lib_logical_traits 201510L <type_traits> 65 __cpp_lib_make_from_tuple 201606L <tuple> 66 __cpp_lib_make_reverse_iterator 201402L <iterator> 67 __cpp_lib_make_unique 201304L <memory> 68 __cpp_lib_map_try_emplace 201411L <map> 69 __cpp_lib_math_special_functions 201603L <cmath> 70 __cpp_lib_memory_resource 201603L <memory_resource> 71 __cpp_lib_node_extract 201606L <map> <set> <unordered_map> <unordered_set> 72 __cpp_lib_nonmember_container_access 201411L <iterator> <array> <deque> <forward_list> 73 <list> <map> <regex> <set> <string> 74 <unordered_map> <unordered_set> <vector> 75 __cpp_lib_not_fn 201603L <functional> 76 __cpp_lib_null_iterators 201304L <iterator> 77 __cpp_lib_optional 201606L <optional> 78 __cpp_lib_parallel_algorithm 201603L <algorithm> <numeric> 79 __cpp_lib_quoted_string_io 201304L <iomanip> 80 __cpp_lib_raw_memory_algorithms 201606L <memory> 81 __cpp_lib_result_of_sfinae 201210L <functional> <type_traits> 82 __cpp_lib_robust_nonmodifying_seq_ops 201304L <algorithm> 83 __cpp_lib_sample 201603L <algorithm> 84 __cpp_lib_scoped_lock 201703L <mutex> 85 __cpp_lib_shared_mutex 201505L <shared_mutex> 86 __cpp_lib_shared_ptr_arrays 201611L <memory> 87 __cpp_lib_shared_ptr_weak_type 201606L <memory> 88 __cpp_lib_shared_timed_mutex 201402L <shared_mutex> 89 __cpp_lib_string_udls 201304L <string> 90 __cpp_lib_string_view 201606L <string> <string_view> 91 __cpp_lib_to_chars 201611L <charconv> 92 __cpp_lib_transformation_trait_aliases 201304L <type_traits> 93 __cpp_lib_transparent_operators 201510L <memory> <functional> 94 __cpp_lib_tuple_element_t 201402L <tuple> 95 __cpp_lib_tuples_by_type 201304L <utility> <tuple> 96 __cpp_lib_type_trait_variable_templates 201510L <type_traits> 97 __cpp_lib_uncaught_exceptions 201411L <exception> 98 __cpp_lib_unordered_map_try_emplace 201411L <unordered_map> 99 __cpp_lib_variant 201606L <variant> 100 __cpp_lib_void_t 201411L <type_traits> 101 102 */ 103 104 #include <__config> 105 106 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 107 #pragma GCC system_header 108 #endif 109 110 #if _LIBCPP_STD_VER > 11 111 #endif 112 113 #if _LIBCPP_STD_VER > 14 114 # define __cpp_lib_atomic_is_always_lock_free 201603L 115 # define __cpp_lib_filesystem 201703L 116 # define __cpp_lib_invoke 201411L 117 # define __cpp_lib_void_t 201411L 118 # define __cpp_lib_node_extract 201606L 119 #endif 120 121 #if _LIBCPP_STD_VER > 17 122 #ifndef _LIBCPP_NO_HAS_CHAR8_T 123 # define __cpp_lib_char8_t 201811L 124 #endif 125 #define __cpp_lib_erase_if 201811L 126 #endif 127 128 #endif // _LIBCPP_VERSIONH 129