Skip to content

Commit 5b26c13

Browse files
committed
Added C++20 <version>. There are no macro conflicts since Clang doesn't define __cpp_lib_*
1 parent 7fb3907 commit 5b26c13

File tree

1 file changed

+211
-0
lines changed

1 file changed

+211
-0
lines changed

src/libcxx/include/version

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
// -*- C++ -*-
2+
#ifndef _EZCXX_VERSION
3+
#define _EZCXX_VERSION
4+
5+
#pragma clang system_header
6+
7+
#if __cplusplus >= 201402L
8+
// # define __cpp_lib_chrono_udls 201304L
9+
// # define __cpp_lib_complex_udls 201309L
10+
// # define __cpp_lib_exchange_function 201304L
11+
// # define __cpp_lib_generic_associative_lookup 201304L
12+
// # define __cpp_lib_integer_sequence 201304L
13+
// # define __cpp_lib_integral_constant_callable 201304L
14+
// # define __cpp_lib_is_final 201402L
15+
// # define __cpp_lib_is_null_pointer 201309L
16+
// # define __cpp_lib_make_reverse_iterator 201402L
17+
// # define __cpp_lib_make_unique 201304L
18+
// # define __cpp_lib_null_iterators 201304L
19+
// # define __cpp_lib_quoted_string_io 201304L
20+
// # define __cpp_lib_result_of_sfinae 201210L
21+
// # define __cpp_lib_robust_nonmodifying_seq_ops 201304L
22+
// # define __cpp_lib_shared_timed_mutex 201402L
23+
// # define __cpp_lib_string_udls 201304L
24+
// # define __cpp_lib_transformation_trait_aliases 201304L
25+
// # define __cpp_lib_transparent_operators 201210L
26+
// # define __cpp_lib_tuple_element_t 201402L
27+
// # define __cpp_lib_tuples_by_type 201304L
28+
#endif // __cplusplus >= 201402L
29+
30+
#if __cplusplus >= 201703L
31+
// # define __cpp_lib_addressof_constexpr 201603L
32+
// # define __cpp_lib_allocator_traits_is_always_equal 201411L
33+
// # define __cpp_lib_any 201606L
34+
// # define __cpp_lib_apply 201603L
35+
// # define __cpp_lib_array_constexpr 201603L
36+
// # define __cpp_lib_as_const 201510L
37+
// # define __cpp_lib_atomic_is_always_lock_free 201603L
38+
// # define __cpp_lib_bool_constant 201505L
39+
// # define __cpp_lib_boyer_moore_searcher 201603L
40+
// # define __cpp_lib_byte 201603L
41+
// # define __cpp_lib_chrono 201611L
42+
// # define __cpp_lib_clamp 201603L
43+
// # define __cpp_lib_enable_shared_from_this 201603L
44+
// # define __cpp_lib_execution 201603L
45+
// # define __cpp_lib_filesystem 201703L
46+
// # define __cpp_lib_gcd_lcm 201606L
47+
// # define __cpp_lib_hardware_interference_size 201703L
48+
// # define __cpp_lib_has_unique_object_representations 201606L
49+
// # define __cpp_lib_hypot 201603L
50+
// # define __cpp_lib_incomplete_container_elements 201505L
51+
// # define __cpp_lib_invoke 201411L
52+
// # define __cpp_lib_is_aggregate 201703L
53+
// # define __cpp_lib_is_invocable 201703L
54+
// # define __cpp_lib_is_swappable 201603L
55+
// # define __cpp_lib_launder 201606L
56+
// # define __cpp_lib_logical_traits 201510L
57+
// # define __cpp_lib_make_from_tuple 201606L
58+
// # define __cpp_lib_map_try_emplace 201411L
59+
// # define __cpp_lib_math_special_functions 201603L
60+
// # define __cpp_lib_memory_resource 201603L
61+
// # define __cpp_lib_node_extract 201606L
62+
// # define __cpp_lib_nonmember_container_access 201411L
63+
// # define __cpp_lib_not_fn 201603L
64+
// # define __cpp_lib_optional 201606L
65+
// # define __cpp_lib_parallel_algorithm 201603L
66+
// # define __cpp_lib_raw_memory_algorithms 201606L
67+
// # define __cpp_lib_sample 201603L
68+
// # define __cpp_lib_scoped_lock 201703L
69+
// # define __cpp_lib_shared_mutex 201505L
70+
// # define __cpp_lib_shared_ptr_arrays 201611L
71+
// # define __cpp_lib_shared_ptr_weak_type 201606L
72+
// # define __cpp_lib_string_view 201606L
73+
// # define __cpp_lib_to_chars 201611L
74+
// # undef __cpp_lib_transparent_operators
75+
// # define __cpp_lib_transparent_operators 201510L
76+
// # define __cpp_lib_type_trait_variable_templates 201510L
77+
// # define __cpp_lib_uncaught_exceptions 201411L
78+
// # define __cpp_lib_unordered_map_try_emplace 201411L
79+
// # define __cpp_lib_variant 202102L
80+
// # define __cpp_lib_void_t 201411L
81+
#endif // __cplusplus >= 201703L
82+
83+
#if __cplusplus >= 202002L
84+
// # undef __cpp_lib_array_constexpr
85+
// # define __cpp_lib_array_constexpr 201811L
86+
// # define __cpp_lib_assume_aligned 201811L
87+
// # define __cpp_lib_atomic_flag_test 201907L
88+
// # define __cpp_lib_atomic_float 201711L
89+
// # define __cpp_lib_atomic_lock_free_type_aliases 201907L
90+
// # define __cpp_lib_atomic_ref 201806L
91+
// # define __cpp_lib_atomic_shared_ptr 201711L
92+
// # define __cpp_lib_atomic_value_initialization 201911L
93+
// # define __cpp_lib_atomic_wait 201907L
94+
// # define __cpp_lib_barrier 201907L
95+
// # define __cpp_lib_bind_front 201907L
96+
// # define __cpp_lib_bit_cast 201806L
97+
// # define __cpp_lib_bitops 201907L
98+
// # define __cpp_lib_bounded_array_traits 201902L
99+
// # define __cpp_lib_char8_t 201907L
100+
// # define __cpp_lib_concepts 202002L
101+
// # define __cpp_lib_constexpr_algorithms 201806L
102+
// # define __cpp_lib_constexpr_complex 201711L
103+
// # define __cpp_lib_constexpr_dynamic_alloc 201907L
104+
// # define __cpp_lib_constexpr_functional 201907L
105+
// # define __cpp_lib_constexpr_iterator 201811L
106+
// # define __cpp_lib_constexpr_memory 201811L
107+
// # define __cpp_lib_constexpr_numeric 201911L
108+
// # define __cpp_lib_constexpr_string 201907L
109+
// # define __cpp_lib_constexpr_string_view 201811L
110+
// # define __cpp_lib_constexpr_tuple 201811L
111+
// # define __cpp_lib_constexpr_utility 201811L
112+
// # define __cpp_lib_constexpr_vector 201907L
113+
// # define __cpp_lib_coroutine 201902L
114+
// # if defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
115+
// # define __cpp_lib_destroying_delete 201806L
116+
// # endif
117+
// # define __cpp_lib_endian 201907L
118+
// # define __cpp_lib_erase_if 202002L
119+
// # undef __cpp_lib_execution
120+
// # define __cpp_lib_execution 201902L
121+
// # define __cpp_lib_format 202110L
122+
// # define __cpp_lib_format_uchar 202311L
123+
// # define __cpp_lib_generic_unordered_lookup 201811L
124+
// # define __cpp_lib_int_pow2 202002L
125+
// # define __cpp_lib_integer_comparison_functions 202002L
126+
// # define __cpp_lib_interpolate 201902L
127+
// # define __cpp_lib_is_constant_evaluated 201811L
128+
// # define __cpp_lib_is_layout_compatible 201907L
129+
// # define __cpp_lib_is_nothrow_convertible 201806L
130+
// # define __cpp_lib_is_pointer_interconvertible 201907L
131+
// # define __cpp_lib_jthread 201911L
132+
// # define __cpp_lib_latch 201907L
133+
// # define __cpp_lib_list_remove_return_type 201806L
134+
// # define __cpp_lib_math_constants 201907L
135+
// # define __cpp_lib_move_iterator_concept 202207L
136+
// # define __cpp_lib_polymorphic_allocator 201902L
137+
// # define __cpp_lib_ranges 202110L
138+
// # define __cpp_lib_remove_cvref 201711L
139+
// # define __cpp_lib_semaphore 201907L
140+
// # undef __cpp_lib_shared_ptr_arrays
141+
// # define __cpp_lib_shared_ptr_arrays 201707L
142+
// # define __cpp_lib_shift 201806L
143+
// # define __cpp_lib_smart_ptr_for_overwrite 202002L
144+
// # define __cpp_lib_source_location 201907L
145+
// # define __cpp_lib_span 202002L
146+
// # define __cpp_lib_ssize 201902L
147+
// # define __cpp_lib_starts_ends_with 201711L
148+
// # undef __cpp_lib_string_view
149+
// # define __cpp_lib_string_view 201803L
150+
// # define __cpp_lib_syncbuf 201803L
151+
// # define __cpp_lib_three_way_comparison 201907L
152+
// # define __cpp_lib_to_address 201711L
153+
// # define __cpp_lib_to_array 201907L
154+
// # define __cpp_lib_type_identity 201806L
155+
// # define __cpp_lib_unwrap_ref 201811L
156+
#endif // __cplusplus >= 202002L
157+
158+
#if __cplusplus >= 202302L
159+
// # define __cpp_lib_adaptor_iterator_pair_constructor 202106L
160+
// # define __cpp_lib_allocate_at_least 202302L
161+
// # define __cpp_lib_associative_heterogeneous_erasure 202110L
162+
// # define __cpp_lib_bind_back 202202L
163+
// # define __cpp_lib_byteswap 202110L
164+
// # define __cpp_lib_constexpr_bitset 202207L
165+
// # define __cpp_lib_constexpr_charconv 202207L
166+
// # define __cpp_lib_constexpr_cmath 202202L
167+
// # undef __cpp_lib_constexpr_memory
168+
// # define __cpp_lib_constexpr_memory 202202L
169+
// # define __cpp_lib_constexpr_typeinfo 202106L
170+
// # define __cpp_lib_containers_ranges 202202L
171+
// # define __cpp_lib_expected 202211L
172+
// # define __cpp_lib_format_ranges 202207L
173+
// # define __cpp_lib_formatters 202302L
174+
// # define __cpp_lib_forward_like 202207L
175+
// # define __cpp_lib_invoke_r 202106L
176+
// # define __cpp_lib_ios_noreplace 202207L
177+
// # define __cpp_lib_is_scoped_enum 202011L
178+
// # define __cpp_lib_mdspan 202207L
179+
// # define __cpp_lib_modules 202207L
180+
// # define __cpp_lib_move_only_function 202110L
181+
// # undef __cpp_lib_optional
182+
// # define __cpp_lib_optional 202110L
183+
// # define __cpp_lib_out_ptr 202106L
184+
// # define __cpp_lib_print 202207L
185+
// # undef __cpp_lib_ranges
186+
// # define __cpp_lib_ranges 202211L
187+
// # define __cpp_lib_ranges_as_const 202207L
188+
// # define __cpp_lib_ranges_as_rvalue 202207L
189+
// # define __cpp_lib_ranges_chunk 202202L
190+
// # define __cpp_lib_ranges_chunk_by 202202L
191+
// # define __cpp_lib_ranges_contains 202207L
192+
// # define __cpp_lib_ranges_find_last 202207L
193+
// # define __cpp_lib_ranges_iota 202202L
194+
// # define __cpp_lib_ranges_join_with 202202L
195+
// # define __cpp_lib_ranges_repeat 202207L
196+
// # define __cpp_lib_ranges_slide 202202L
197+
// # define __cpp_lib_ranges_starts_ends_with 202106L
198+
// # define __cpp_lib_ranges_to_container 202202L
199+
// # define __cpp_lib_ranges_zip 202110L
200+
// # define __cpp_lib_reference_from_temporary 202202L
201+
// # define __cpp_lib_spanstream 202106L
202+
// # define __cpp_lib_stacktrace 202011L
203+
// # define __cpp_lib_stdatomic_h 202011L
204+
// # define __cpp_lib_string_contains 202011L
205+
// # define __cpp_lib_string_resize_and_overwrite 202110L
206+
// # define __cpp_lib_to_underlying 202102L
207+
// # define __cpp_lib_tuple_like 202207L
208+
// # define __cpp_lib_unreachable 202202L
209+
#endif // __cplusplus >= 202302L
210+
211+
#endif // _EZCXX_VERSION

0 commit comments

Comments
 (0)