1 //===----------------------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // WARNING: This test was generated by generate_feature_test_macro_components.py
10 // and should not be edited manually.
16 // Test the feature test macros defined by <version>
19 __cpp_lib_adaptor_iterator_pair_constructor 202106L [C++23]
20 __cpp_lib_addressof_constexpr 201603L [C++17]
21 __cpp_lib_allocate_at_least 202302L [C++23]
22 __cpp_lib_allocator_traits_is_always_equal 201411L [C++17]
23 __cpp_lib_any 201606L [C++17]
24 __cpp_lib_apply 201603L [C++17]
25 __cpp_lib_array_constexpr 201603L [C++17]
27 __cpp_lib_as_const 201510L [C++17]
28 __cpp_lib_associative_heterogeneous_erasure 202110L [C++23]
29 __cpp_lib_associative_heterogeneous_insertion 202306L [C++26]
30 __cpp_lib_assume_aligned 201811L [C++20]
31 __cpp_lib_atomic_flag_test 201907L [C++20]
32 __cpp_lib_atomic_float 201711L [C++20]
33 __cpp_lib_atomic_is_always_lock_free 201603L [C++17]
34 __cpp_lib_atomic_lock_free_type_aliases 201907L [C++20]
35 __cpp_lib_atomic_min_max 202403L [C++26]
36 __cpp_lib_atomic_ref 201806L [C++20]
37 __cpp_lib_atomic_shared_ptr 201711L [C++20]
38 __cpp_lib_atomic_value_initialization 201911L [C++20]
39 __cpp_lib_atomic_wait 201907L [C++20]
40 __cpp_lib_barrier 201907L [C++20]
41 __cpp_lib_bind_back 202202L [C++23]
42 __cpp_lib_bind_front 201907L [C++20]
44 __cpp_lib_bit_cast 201806L [C++20]
45 __cpp_lib_bitops 201907L [C++20]
46 __cpp_lib_bitset 202306L [C++26]
47 __cpp_lib_bool_constant 201505L [C++17]
48 __cpp_lib_bounded_array_traits 201902L [C++20]
49 __cpp_lib_boyer_moore_searcher 201603L [C++17]
50 __cpp_lib_byte 201603L [C++17]
51 __cpp_lib_byteswap 202110L [C++23]
52 __cpp_lib_char8_t 201907L [C++20]
53 __cpp_lib_chrono 201611L [C++17]
54 __cpp_lib_chrono_udls 201304L [C++14]
55 __cpp_lib_clamp 201603L [C++17]
56 __cpp_lib_complex_udls 201309L [C++14]
57 __cpp_lib_concepts 202002L [C++20]
58 __cpp_lib_constexpr_algorithms 201806L [C++20]
59 __cpp_lib_constexpr_bitset 202207L [C++23]
60 __cpp_lib_constexpr_charconv 202207L [C++23]
61 __cpp_lib_constexpr_cmath 202202L [C++23]
62 __cpp_lib_constexpr_complex 201711L [C++20]
63 __cpp_lib_constexpr_dynamic_alloc 201907L [C++20]
64 __cpp_lib_constexpr_functional 201907L [C++20]
65 __cpp_lib_constexpr_iterator 201811L [C++20]
66 __cpp_lib_constexpr_memory 201811L [C++20]
68 __cpp_lib_constexpr_new 202406L [C++26]
69 __cpp_lib_constexpr_numeric 201911L [C++20]
70 __cpp_lib_constexpr_string 201907L [C++20]
71 __cpp_lib_constexpr_string_view 201811L [C++20]
72 __cpp_lib_constexpr_tuple 201811L [C++20]
73 __cpp_lib_constexpr_typeinfo 202106L [C++23]
74 __cpp_lib_constexpr_utility 201811L [C++20]
75 __cpp_lib_constexpr_vector 201907L [C++20]
76 __cpp_lib_constrained_equality 202403L [C++26]
77 __cpp_lib_containers_ranges 202202L [C++23]
78 __cpp_lib_copyable_function 202306L [C++26]
79 __cpp_lib_coroutine 201902L [C++20]
80 __cpp_lib_debugging 202311L [C++26]
81 __cpp_lib_default_template_type_for_algorithm_values 202403L [C++26]
82 __cpp_lib_destroying_delete 201806L [C++20]
83 __cpp_lib_enable_shared_from_this 201603L [C++17]
84 __cpp_lib_endian 201907L [C++20]
85 __cpp_lib_erase_if 202002L [C++20]
86 __cpp_lib_exchange_function 201304L [C++14]
87 __cpp_lib_execution 201603L [C++17]
89 __cpp_lib_expected 202211L [C++23]
90 __cpp_lib_filesystem 201703L [C++17]
91 __cpp_lib_format 202110L [C++20]
92 __cpp_lib_format_path 202403L [C++26]
93 __cpp_lib_format_ranges 202207L [C++23]
94 __cpp_lib_format_uchar 202311L [C++20]
95 __cpp_lib_formatters 202302L [C++23]
96 __cpp_lib_forward_like 202207L [C++23]
97 __cpp_lib_freestanding_algorithm 202311L [C++26]
98 __cpp_lib_freestanding_array 202311L [C++26]
99 __cpp_lib_freestanding_cstring 202306L [C++26]
100 __cpp_lib_freestanding_expected 202311L [C++26]
101 __cpp_lib_freestanding_mdspan 202311L [C++26]
102 __cpp_lib_freestanding_optional 202311L [C++26]
103 __cpp_lib_freestanding_string_view 202311L [C++26]
104 __cpp_lib_freestanding_variant 202311L [C++26]
105 __cpp_lib_fstream_native_handle 202306L [C++26]
106 __cpp_lib_function_ref 202306L [C++26]
107 __cpp_lib_gcd_lcm 201606L [C++17]
108 __cpp_lib_generate_random 202403L [C++26]
109 __cpp_lib_generic_associative_lookup 201304L [C++14]
110 __cpp_lib_generic_unordered_lookup 201811L [C++20]
111 __cpp_lib_hardware_interference_size 201703L [C++17]
112 __cpp_lib_has_unique_object_representations 201606L [C++17]
113 __cpp_lib_hazard_pointer 202306L [C++26]
114 __cpp_lib_hypot 201603L [C++17]
115 __cpp_lib_incomplete_container_elements 201505L [C++17]
116 __cpp_lib_inplace_vector 202406L [C++26]
117 __cpp_lib_int_pow2 202002L [C++20]
118 __cpp_lib_integer_comparison_functions 202002L [C++20]
119 __cpp_lib_integer_sequence 201304L [C++14]
120 __cpp_lib_integral_constant_callable 201304L [C++14]
121 __cpp_lib_interpolate 201902L [C++20]
122 __cpp_lib_invoke 201411L [C++17]
123 __cpp_lib_invoke_r 202106L [C++23]
124 __cpp_lib_ios_noreplace 202207L [C++23]
125 __cpp_lib_is_aggregate 201703L [C++17]
126 __cpp_lib_is_constant_evaluated 201811L [C++20]
127 __cpp_lib_is_final 201402L [C++14]
128 __cpp_lib_is_invocable 201703L [C++17]
129 __cpp_lib_is_layout_compatible 201907L [C++20]
130 __cpp_lib_is_nothrow_convertible 201806L [C++20]
131 __cpp_lib_is_null_pointer 201309L [C++14]
132 __cpp_lib_is_pointer_interconvertible 201907L [C++20]
133 __cpp_lib_is_scoped_enum 202011L [C++23]
134 __cpp_lib_is_swappable 201603L [C++17]
135 __cpp_lib_is_virtual_base_of 202406L [C++26]
136 __cpp_lib_is_within_lifetime 202306L [C++26]
137 __cpp_lib_jthread 201911L [C++20]
138 __cpp_lib_latch 201907L [C++20]
139 __cpp_lib_launder 201606L [C++17]
140 __cpp_lib_linalg 202311L [C++26]
141 __cpp_lib_list_remove_return_type 201806L [C++20]
142 __cpp_lib_logical_traits 201510L [C++17]
143 __cpp_lib_make_from_tuple 201606L [C++17]
144 __cpp_lib_make_reverse_iterator 201402L [C++14]
145 __cpp_lib_make_unique 201304L [C++14]
146 __cpp_lib_map_try_emplace 201411L [C++17]
147 __cpp_lib_math_constants 201907L [C++20]
148 __cpp_lib_math_special_functions 201603L [C++17]
149 __cpp_lib_mdspan 202207L [C++23]
151 __cpp_lib_memory_resource 201603L [C++17]
152 __cpp_lib_modules 202207L [C++23]
153 __cpp_lib_move_iterator_concept 202207L [C++20]
154 __cpp_lib_move_only_function 202110L [C++23]
155 __cpp_lib_node_extract 201606L [C++17]
156 __cpp_lib_nonmember_container_access 201411L [C++17]
157 __cpp_lib_not_fn 201603L [C++17]
158 __cpp_lib_null_iterators 201304L [C++14]
159 __cpp_lib_optional 201606L [C++17]
161 __cpp_lib_optional_range_support 202406L [C++26]
162 __cpp_lib_out_ptr 202106L [C++23]
164 __cpp_lib_parallel_algorithm 201603L [C++17]
165 __cpp_lib_philox_engine 202406L [C++26]
166 __cpp_lib_polymorphic_allocator 201902L [C++20]
167 __cpp_lib_print 202207L [C++23]
168 __cpp_lib_quoted_string_io 201304L [C++14]
169 __cpp_lib_ranges 202207L [C++20]
171 __cpp_lib_ranges_as_const 202207L [C++23]
172 __cpp_lib_ranges_as_rvalue 202207L [C++23]
173 __cpp_lib_ranges_chunk 202202L [C++23]
174 __cpp_lib_ranges_chunk_by 202202L [C++23]
175 __cpp_lib_ranges_concat 202403L [C++26]
176 __cpp_lib_ranges_contains 202207L [C++23]
177 __cpp_lib_ranges_find_last 202207L [C++23]
178 __cpp_lib_ranges_iota 202202L [C++23]
179 __cpp_lib_ranges_join_with 202202L [C++23]
180 __cpp_lib_ranges_repeat 202207L [C++23]
181 __cpp_lib_ranges_slide 202202L [C++23]
182 __cpp_lib_ranges_starts_ends_with 202106L [C++23]
183 __cpp_lib_ranges_to_container 202202L [C++23]
184 __cpp_lib_ranges_zip 202110L [C++23]
185 __cpp_lib_ratio 202306L [C++26]
186 __cpp_lib_raw_memory_algorithms 201606L [C++17]
187 __cpp_lib_rcu 202306L [C++26]
188 __cpp_lib_reference_from_temporary 202202L [C++23]
189 __cpp_lib_reference_wrapper 202403L [C++26]
190 __cpp_lib_remove_cvref 201711L [C++20]
191 __cpp_lib_result_of_sfinae 201210L [C++14]
192 __cpp_lib_robust_nonmodifying_seq_ops 201304L [C++14]
193 __cpp_lib_sample 201603L [C++17]
194 __cpp_lib_saturation_arithmetic 202311L [C++26]
195 __cpp_lib_scoped_lock 201703L [C++17]
196 __cpp_lib_semaphore 201907L [C++20]
197 __cpp_lib_senders 202406L [C++26]
198 __cpp_lib_shared_mutex 201505L [C++17]
199 __cpp_lib_shared_ptr_arrays 201611L [C++17]
201 __cpp_lib_shared_ptr_weak_type 201606L [C++17]
202 __cpp_lib_shared_timed_mutex 201402L [C++14]
203 __cpp_lib_shift 201806L [C++20]
204 __cpp_lib_smart_ptr_for_overwrite 202002L [C++20]
205 __cpp_lib_smart_ptr_owner_equality 202306L [C++26]
206 __cpp_lib_source_location 201907L [C++20]
207 __cpp_lib_span 202002L [C++20]
208 __cpp_lib_span_at 202311L [C++26]
209 __cpp_lib_span_initializer_list 202311L [C++26]
210 __cpp_lib_spanstream 202106L [C++23]
211 __cpp_lib_ssize 201902L [C++20]
212 __cpp_lib_sstream_from_string_view 202306L [C++26]
213 __cpp_lib_stacktrace 202011L [C++23]
214 __cpp_lib_starts_ends_with 201711L [C++20]
215 __cpp_lib_stdatomic_h 202011L [C++23]
216 __cpp_lib_string_contains 202011L [C++23]
217 __cpp_lib_string_resize_and_overwrite 202110L [C++23]
218 __cpp_lib_string_udls 201304L [C++14]
219 __cpp_lib_string_view 201606L [C++17]
222 __cpp_lib_submdspan 202306L [C++26]
223 __cpp_lib_syncbuf 201803L [C++20]
224 __cpp_lib_text_encoding 202306L [C++26]
225 __cpp_lib_three_way_comparison 201907L [C++20]
226 __cpp_lib_to_address 201711L [C++20]
227 __cpp_lib_to_array 201907L [C++20]
228 __cpp_lib_to_chars 201611L [C++17]
230 __cpp_lib_to_string 202306L [C++26]
231 __cpp_lib_to_underlying 202102L [C++23]
232 __cpp_lib_transformation_trait_aliases 201304L [C++14]
233 __cpp_lib_transparent_operators 201210L [C++14]
235 __cpp_lib_tuple_element_t 201402L [C++14]
236 __cpp_lib_tuple_like 202207L [C++23]
238 __cpp_lib_tuples_by_type 201304L [C++14]
239 __cpp_lib_type_identity 201806L [C++20]
240 __cpp_lib_type_trait_variable_templates 201510L [C++17]
241 __cpp_lib_uncaught_exceptions 201411L [C++17]
242 __cpp_lib_unordered_map_try_emplace 201411L [C++17]
243 __cpp_lib_unreachable 202202L [C++23]
244 __cpp_lib_unwrap_ref 201811L [C++20]
245 __cpp_lib_variant 202102L [C++17]
246 __cpp_lib_void_t 201411L [C++17]
250 #include "test_macros.h"
252 #if TEST_STD_VER < 14
254 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
255 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
258 # ifdef __cpp_lib_addressof_constexpr
259 # error "__cpp_lib_addressof_constexpr should not be defined before c++17"
262 # ifdef __cpp_lib_allocate_at_least
263 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
266 # ifdef __cpp_lib_allocator_traits_is_always_equal
267 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
270 # ifdef __cpp_lib_any
271 # error "__cpp_lib_any should not be defined before c++17"
274 # ifdef __cpp_lib_apply
275 # error "__cpp_lib_apply should not be defined before c++17"
278 # ifdef __cpp_lib_array_constexpr
279 # error "__cpp_lib_array_constexpr should not be defined before c++17"
282 # ifdef __cpp_lib_as_const
283 # error "__cpp_lib_as_const should not be defined before c++17"
286 # ifdef __cpp_lib_associative_heterogeneous_erasure
287 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
290 # ifdef __cpp_lib_associative_heterogeneous_insertion
291 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
294 # ifdef __cpp_lib_assume_aligned
295 # error "__cpp_lib_assume_aligned should not be defined before c++20"
298 # ifdef __cpp_lib_atomic_flag_test
299 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
302 # ifdef __cpp_lib_atomic_float
303 # error "__cpp_lib_atomic_float should not be defined before c++20"
306 # ifdef __cpp_lib_atomic_is_always_lock_free
307 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
310 # ifdef __cpp_lib_atomic_lock_free_type_aliases
311 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
314 # ifdef __cpp_lib_atomic_min_max
315 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
318 # ifdef __cpp_lib_atomic_ref
319 # error "__cpp_lib_atomic_ref should not be defined before c++20"
322 # ifdef __cpp_lib_atomic_shared_ptr
323 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
326 # ifdef __cpp_lib_atomic_value_initialization
327 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
330 # ifdef __cpp_lib_atomic_wait
331 # error "__cpp_lib_atomic_wait should not be defined before c++20"
334 # ifdef __cpp_lib_barrier
335 # error "__cpp_lib_barrier should not be defined before c++20"
338 # ifdef __cpp_lib_bind_back
339 # error "__cpp_lib_bind_back should not be defined before c++23"
342 # ifdef __cpp_lib_bind_front
343 # error "__cpp_lib_bind_front should not be defined before c++20"
346 # ifdef __cpp_lib_bit_cast
347 # error "__cpp_lib_bit_cast should not be defined before c++20"
350 # ifdef __cpp_lib_bitops
351 # error "__cpp_lib_bitops should not be defined before c++20"
354 # ifdef __cpp_lib_bitset
355 # error "__cpp_lib_bitset should not be defined before c++26"
358 # ifdef __cpp_lib_bool_constant
359 # error "__cpp_lib_bool_constant should not be defined before c++17"
362 # ifdef __cpp_lib_bounded_array_traits
363 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
366 # ifdef __cpp_lib_boyer_moore_searcher
367 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
370 # ifdef __cpp_lib_byte
371 # error "__cpp_lib_byte should not be defined before c++17"
374 # ifdef __cpp_lib_byteswap
375 # error "__cpp_lib_byteswap should not be defined before c++23"
378 # ifdef __cpp_lib_char8_t
379 # error "__cpp_lib_char8_t should not be defined before c++20"
382 # ifdef __cpp_lib_chrono
383 # error "__cpp_lib_chrono should not be defined before c++17"
386 # ifdef __cpp_lib_chrono_udls
387 # error "__cpp_lib_chrono_udls should not be defined before c++14"
390 # ifdef __cpp_lib_clamp
391 # error "__cpp_lib_clamp should not be defined before c++17"
394 # ifdef __cpp_lib_complex_udls
395 # error "__cpp_lib_complex_udls should not be defined before c++14"
398 # ifdef __cpp_lib_concepts
399 # error "__cpp_lib_concepts should not be defined before c++20"
402 # ifdef __cpp_lib_constexpr_algorithms
403 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
406 # ifdef __cpp_lib_constexpr_bitset
407 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
410 # ifdef __cpp_lib_constexpr_charconv
411 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
414 # ifdef __cpp_lib_constexpr_cmath
415 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
418 # ifdef __cpp_lib_constexpr_complex
419 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
422 # ifdef __cpp_lib_constexpr_dynamic_alloc
423 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
426 # ifdef __cpp_lib_constexpr_functional
427 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
430 # ifdef __cpp_lib_constexpr_iterator
431 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
434 # ifdef __cpp_lib_constexpr_memory
435 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
438 # ifdef __cpp_lib_constexpr_new
439 # error "__cpp_lib_constexpr_new should not be defined before c++26"
442 # ifdef __cpp_lib_constexpr_numeric
443 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
446 # ifdef __cpp_lib_constexpr_string
447 # error "__cpp_lib_constexpr_string should not be defined before c++20"
450 # ifdef __cpp_lib_constexpr_string_view
451 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
454 # ifdef __cpp_lib_constexpr_tuple
455 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
458 # ifdef __cpp_lib_constexpr_typeinfo
459 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
462 # ifdef __cpp_lib_constexpr_utility
463 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
466 # ifdef __cpp_lib_constexpr_vector
467 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
470 # ifdef __cpp_lib_constrained_equality
471 # error "__cpp_lib_constrained_equality should not be defined before c++26"
474 # ifdef __cpp_lib_containers_ranges
475 # error "__cpp_lib_containers_ranges should not be defined before c++23"
478 # ifdef __cpp_lib_copyable_function
479 # error "__cpp_lib_copyable_function should not be defined before c++26"
482 # ifdef __cpp_lib_coroutine
483 # error "__cpp_lib_coroutine should not be defined before c++20"
486 # ifdef __cpp_lib_debugging
487 # error "__cpp_lib_debugging should not be defined before c++26"
490 # ifdef __cpp_lib_default_template_type_for_algorithm_values
491 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
494 # ifdef __cpp_lib_destroying_delete
495 # error "__cpp_lib_destroying_delete should not be defined before c++20"
498 # ifdef __cpp_lib_enable_shared_from_this
499 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
502 # ifdef __cpp_lib_endian
503 # error "__cpp_lib_endian should not be defined before c++20"
506 # ifdef __cpp_lib_erase_if
507 # error "__cpp_lib_erase_if should not be defined before c++20"
510 # ifdef __cpp_lib_exchange_function
511 # error "__cpp_lib_exchange_function should not be defined before c++14"
514 # ifdef __cpp_lib_execution
515 # error "__cpp_lib_execution should not be defined before c++17"
518 # ifdef __cpp_lib_expected
519 # error "__cpp_lib_expected should not be defined before c++23"
522 # ifdef __cpp_lib_filesystem
523 # error "__cpp_lib_filesystem should not be defined before c++17"
526 # ifdef __cpp_lib_format
527 # error "__cpp_lib_format should not be defined before c++20"
530 # ifdef __cpp_lib_format_path
531 # error "__cpp_lib_format_path should not be defined before c++26"
534 # ifdef __cpp_lib_format_ranges
535 # error "__cpp_lib_format_ranges should not be defined before c++23"
538 # ifdef __cpp_lib_format_uchar
539 # error "__cpp_lib_format_uchar should not be defined before c++20"
542 # ifdef __cpp_lib_formatters
543 # error "__cpp_lib_formatters should not be defined before c++23"
546 # ifdef __cpp_lib_forward_like
547 # error "__cpp_lib_forward_like should not be defined before c++23"
550 # ifdef __cpp_lib_freestanding_algorithm
551 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
554 # ifdef __cpp_lib_freestanding_array
555 # error "__cpp_lib_freestanding_array should not be defined before c++26"
558 # ifdef __cpp_lib_freestanding_cstring
559 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
562 # ifdef __cpp_lib_freestanding_expected
563 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
566 # ifdef __cpp_lib_freestanding_mdspan
567 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
570 # ifdef __cpp_lib_freestanding_optional
571 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
574 # ifdef __cpp_lib_freestanding_string_view
575 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
578 # ifdef __cpp_lib_freestanding_variant
579 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
582 # ifdef __cpp_lib_fstream_native_handle
583 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
586 # ifdef __cpp_lib_function_ref
587 # error "__cpp_lib_function_ref should not be defined before c++26"
590 # ifdef __cpp_lib_gcd_lcm
591 # error "__cpp_lib_gcd_lcm should not be defined before c++17"
594 # ifdef __cpp_lib_generate_random
595 # error "__cpp_lib_generate_random should not be defined before c++26"
598 # ifdef __cpp_lib_generic_associative_lookup
599 # error "__cpp_lib_generic_associative_lookup should not be defined before c++14"
602 # ifdef __cpp_lib_generic_unordered_lookup
603 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
606 # ifdef __cpp_lib_hardware_interference_size
607 # error "__cpp_lib_hardware_interference_size should not be defined before c++17"
610 # ifdef __cpp_lib_has_unique_object_representations
611 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
614 # ifdef __cpp_lib_hazard_pointer
615 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
618 # ifdef __cpp_lib_hypot
619 # error "__cpp_lib_hypot should not be defined before c++17"
622 # ifdef __cpp_lib_incomplete_container_elements
623 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
626 # ifdef __cpp_lib_inplace_vector
627 # error "__cpp_lib_inplace_vector should not be defined before c++26"
630 # ifdef __cpp_lib_int_pow2
631 # error "__cpp_lib_int_pow2 should not be defined before c++20"
634 # ifdef __cpp_lib_integer_comparison_functions
635 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
638 # ifdef __cpp_lib_integer_sequence
639 # error "__cpp_lib_integer_sequence should not be defined before c++14"
642 # ifdef __cpp_lib_integral_constant_callable
643 # error "__cpp_lib_integral_constant_callable should not be defined before c++14"
646 # ifdef __cpp_lib_interpolate
647 # error "__cpp_lib_interpolate should not be defined before c++20"
650 # ifdef __cpp_lib_invoke
651 # error "__cpp_lib_invoke should not be defined before c++17"
654 # ifdef __cpp_lib_invoke_r
655 # error "__cpp_lib_invoke_r should not be defined before c++23"
658 # ifdef __cpp_lib_ios_noreplace
659 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
662 # ifdef __cpp_lib_is_aggregate
663 # error "__cpp_lib_is_aggregate should not be defined before c++17"
666 # ifdef __cpp_lib_is_constant_evaluated
667 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
670 # ifdef __cpp_lib_is_final
671 # error "__cpp_lib_is_final should not be defined before c++14"
674 # ifdef __cpp_lib_is_invocable
675 # error "__cpp_lib_is_invocable should not be defined before c++17"
678 # ifdef __cpp_lib_is_layout_compatible
679 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
682 # ifdef __cpp_lib_is_nothrow_convertible
683 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
686 # ifdef __cpp_lib_is_null_pointer
687 # error "__cpp_lib_is_null_pointer should not be defined before c++14"
690 # ifdef __cpp_lib_is_pointer_interconvertible
691 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
694 # ifdef __cpp_lib_is_scoped_enum
695 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
698 # ifdef __cpp_lib_is_swappable
699 # error "__cpp_lib_is_swappable should not be defined before c++17"
702 # ifdef __cpp_lib_is_virtual_base_of
703 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
706 # ifdef __cpp_lib_is_within_lifetime
707 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
710 # ifdef __cpp_lib_jthread
711 # error "__cpp_lib_jthread should not be defined before c++20"
714 # ifdef __cpp_lib_latch
715 # error "__cpp_lib_latch should not be defined before c++20"
718 # ifdef __cpp_lib_launder
719 # error "__cpp_lib_launder should not be defined before c++17"
722 # ifdef __cpp_lib_linalg
723 # error "__cpp_lib_linalg should not be defined before c++26"
726 # ifdef __cpp_lib_list_remove_return_type
727 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
730 # ifdef __cpp_lib_logical_traits
731 # error "__cpp_lib_logical_traits should not be defined before c++17"
734 # ifdef __cpp_lib_make_from_tuple
735 # error "__cpp_lib_make_from_tuple should not be defined before c++17"
738 # ifdef __cpp_lib_make_reverse_iterator
739 # error "__cpp_lib_make_reverse_iterator should not be defined before c++14"
742 # ifdef __cpp_lib_make_unique
743 # error "__cpp_lib_make_unique should not be defined before c++14"
746 # ifdef __cpp_lib_map_try_emplace
747 # error "__cpp_lib_map_try_emplace should not be defined before c++17"
750 # ifdef __cpp_lib_math_constants
751 # error "__cpp_lib_math_constants should not be defined before c++20"
754 # ifdef __cpp_lib_math_special_functions
755 # error "__cpp_lib_math_special_functions should not be defined before c++17"
758 # ifdef __cpp_lib_mdspan
759 # error "__cpp_lib_mdspan should not be defined before c++23"
762 # ifdef __cpp_lib_memory_resource
763 # error "__cpp_lib_memory_resource should not be defined before c++17"
766 # ifdef __cpp_lib_modules
767 # error "__cpp_lib_modules should not be defined before c++23"
770 # ifdef __cpp_lib_move_iterator_concept
771 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
774 # ifdef __cpp_lib_move_only_function
775 # error "__cpp_lib_move_only_function should not be defined before c++23"
778 # ifdef __cpp_lib_node_extract
779 # error "__cpp_lib_node_extract should not be defined before c++17"
782 # ifdef __cpp_lib_nonmember_container_access
783 # error "__cpp_lib_nonmember_container_access should not be defined before c++17"
786 # ifdef __cpp_lib_not_fn
787 # error "__cpp_lib_not_fn should not be defined before c++17"
790 # ifdef __cpp_lib_null_iterators
791 # error "__cpp_lib_null_iterators should not be defined before c++14"
794 # ifdef __cpp_lib_optional
795 # error "__cpp_lib_optional should not be defined before c++17"
798 # ifdef __cpp_lib_optional_range_support
799 # error "__cpp_lib_optional_range_support should not be defined before c++26"
802 # ifdef __cpp_lib_out_ptr
803 # error "__cpp_lib_out_ptr should not be defined before c++23"
806 # ifdef __cpp_lib_parallel_algorithm
807 # error "__cpp_lib_parallel_algorithm should not be defined before c++17"
810 # ifdef __cpp_lib_philox_engine
811 # error "__cpp_lib_philox_engine should not be defined before c++26"
814 # ifdef __cpp_lib_polymorphic_allocator
815 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
818 # ifdef __cpp_lib_print
819 # error "__cpp_lib_print should not be defined before c++23"
822 # ifdef __cpp_lib_quoted_string_io
823 # error "__cpp_lib_quoted_string_io should not be defined before c++14"
826 # ifdef __cpp_lib_ranges
827 # error "__cpp_lib_ranges should not be defined before c++20"
830 # ifdef __cpp_lib_ranges_as_const
831 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
834 # ifdef __cpp_lib_ranges_as_rvalue
835 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
838 # ifdef __cpp_lib_ranges_chunk
839 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
842 # ifdef __cpp_lib_ranges_chunk_by
843 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
846 # ifdef __cpp_lib_ranges_concat
847 # error "__cpp_lib_ranges_concat should not be defined before c++26"
850 # ifdef __cpp_lib_ranges_contains
851 # error "__cpp_lib_ranges_contains should not be defined before c++23"
854 # ifdef __cpp_lib_ranges_find_last
855 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
858 # ifdef __cpp_lib_ranges_iota
859 # error "__cpp_lib_ranges_iota should not be defined before c++23"
862 # ifdef __cpp_lib_ranges_join_with
863 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
866 # ifdef __cpp_lib_ranges_repeat
867 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
870 # ifdef __cpp_lib_ranges_slide
871 # error "__cpp_lib_ranges_slide should not be defined before c++23"
874 # ifdef __cpp_lib_ranges_starts_ends_with
875 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
878 # ifdef __cpp_lib_ranges_to_container
879 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
882 # ifdef __cpp_lib_ranges_zip
883 # error "__cpp_lib_ranges_zip should not be defined before c++23"
886 # ifdef __cpp_lib_ratio
887 # error "__cpp_lib_ratio should not be defined before c++26"
890 # ifdef __cpp_lib_raw_memory_algorithms
891 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
894 # ifdef __cpp_lib_rcu
895 # error "__cpp_lib_rcu should not be defined before c++26"
898 # ifdef __cpp_lib_reference_from_temporary
899 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
902 # ifdef __cpp_lib_reference_wrapper
903 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
906 # ifdef __cpp_lib_remove_cvref
907 # error "__cpp_lib_remove_cvref should not be defined before c++20"
910 # ifdef __cpp_lib_result_of_sfinae
911 # error "__cpp_lib_result_of_sfinae should not be defined before c++14"
914 # ifdef __cpp_lib_robust_nonmodifying_seq_ops
915 # error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"
918 # ifdef __cpp_lib_sample
919 # error "__cpp_lib_sample should not be defined before c++17"
922 # ifdef __cpp_lib_saturation_arithmetic
923 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
926 # ifdef __cpp_lib_scoped_lock
927 # error "__cpp_lib_scoped_lock should not be defined before c++17"
930 # ifdef __cpp_lib_semaphore
931 # error "__cpp_lib_semaphore should not be defined before c++20"
934 # ifdef __cpp_lib_senders
935 # error "__cpp_lib_senders should not be defined before c++26"
938 # ifdef __cpp_lib_shared_mutex
939 # error "__cpp_lib_shared_mutex should not be defined before c++17"
942 # ifdef __cpp_lib_shared_ptr_arrays
943 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
946 # ifdef __cpp_lib_shared_ptr_weak_type
947 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
950 # ifdef __cpp_lib_shared_timed_mutex
951 # error "__cpp_lib_shared_timed_mutex should not be defined before c++14"
954 # ifdef __cpp_lib_shift
955 # error "__cpp_lib_shift should not be defined before c++20"
958 # ifdef __cpp_lib_smart_ptr_for_overwrite
959 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
962 # ifdef __cpp_lib_smart_ptr_owner_equality
963 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
966 # ifdef __cpp_lib_source_location
967 # error "__cpp_lib_source_location should not be defined before c++20"
970 # ifdef __cpp_lib_span
971 # error "__cpp_lib_span should not be defined before c++20"
974 # ifdef __cpp_lib_span_at
975 # error "__cpp_lib_span_at should not be defined before c++26"
978 # ifdef __cpp_lib_span_initializer_list
979 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
982 # ifdef __cpp_lib_spanstream
983 # error "__cpp_lib_spanstream should not be defined before c++23"
986 # ifdef __cpp_lib_ssize
987 # error "__cpp_lib_ssize should not be defined before c++20"
990 # ifdef __cpp_lib_sstream_from_string_view
991 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
994 # ifdef __cpp_lib_stacktrace
995 # error "__cpp_lib_stacktrace should not be defined before c++23"
998 # ifdef __cpp_lib_starts_ends_with
999 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
1002 # ifdef __cpp_lib_stdatomic_h
1003 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
1006 # ifdef __cpp_lib_string_contains
1007 # error "__cpp_lib_string_contains should not be defined before c++23"
1010 # ifdef __cpp_lib_string_resize_and_overwrite
1011 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1014 # ifdef __cpp_lib_string_udls
1015 # error "__cpp_lib_string_udls should not be defined before c++14"
1018 # ifdef __cpp_lib_string_view
1019 # error "__cpp_lib_string_view should not be defined before c++17"
1022 # ifdef __cpp_lib_submdspan
1023 # error "__cpp_lib_submdspan should not be defined before c++26"
1026 # ifdef __cpp_lib_syncbuf
1027 # error "__cpp_lib_syncbuf should not be defined before c++20"
1030 # ifdef __cpp_lib_text_encoding
1031 # error "__cpp_lib_text_encoding should not be defined before c++26"
1034 # ifdef __cpp_lib_three_way_comparison
1035 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
1038 # ifdef __cpp_lib_to_address
1039 # error "__cpp_lib_to_address should not be defined before c++20"
1042 # ifdef __cpp_lib_to_array
1043 # error "__cpp_lib_to_array should not be defined before c++20"
1046 # ifdef __cpp_lib_to_chars
1047 # error "__cpp_lib_to_chars should not be defined before c++17"
1050 # ifdef __cpp_lib_to_string
1051 # error "__cpp_lib_to_string should not be defined before c++26"
1054 # ifdef __cpp_lib_to_underlying
1055 # error "__cpp_lib_to_underlying should not be defined before c++23"
1058 # ifdef __cpp_lib_transformation_trait_aliases
1059 # error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"
1062 # ifdef __cpp_lib_transparent_operators
1063 # error "__cpp_lib_transparent_operators should not be defined before c++14"
1066 # ifdef __cpp_lib_tuple_element_t
1067 # error "__cpp_lib_tuple_element_t should not be defined before c++14"
1070 # ifdef __cpp_lib_tuple_like
1071 # error "__cpp_lib_tuple_like should not be defined before c++23"
1074 # ifdef __cpp_lib_tuples_by_type
1075 # error "__cpp_lib_tuples_by_type should not be defined before c++14"
1078 # ifdef __cpp_lib_type_identity
1079 # error "__cpp_lib_type_identity should not be defined before c++20"
1082 # ifdef __cpp_lib_type_trait_variable_templates
1083 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
1086 # ifdef __cpp_lib_uncaught_exceptions
1087 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
1090 # ifdef __cpp_lib_unordered_map_try_emplace
1091 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
1094 # ifdef __cpp_lib_unreachable
1095 # error "__cpp_lib_unreachable should not be defined before c++23"
1098 # ifdef __cpp_lib_unwrap_ref
1099 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
1102 # ifdef __cpp_lib_variant
1103 # error "__cpp_lib_variant should not be defined before c++17"
1106 # ifdef __cpp_lib_void_t
1107 # error "__cpp_lib_void_t should not be defined before c++17"
1110 #elif TEST_STD_VER == 14
1112 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
1113 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
1116 # ifdef __cpp_lib_addressof_constexpr
1117 # error "__cpp_lib_addressof_constexpr should not be defined before c++17"
1120 # ifdef __cpp_lib_allocate_at_least
1121 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
1124 # ifdef __cpp_lib_allocator_traits_is_always_equal
1125 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
1128 # ifdef __cpp_lib_any
1129 # error "__cpp_lib_any should not be defined before c++17"
1132 # ifdef __cpp_lib_apply
1133 # error "__cpp_lib_apply should not be defined before c++17"
1136 # ifdef __cpp_lib_array_constexpr
1137 # error "__cpp_lib_array_constexpr should not be defined before c++17"
1140 # ifdef __cpp_lib_as_const
1141 # error "__cpp_lib_as_const should not be defined before c++17"
1144 # ifdef __cpp_lib_associative_heterogeneous_erasure
1145 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
1148 # ifdef __cpp_lib_associative_heterogeneous_insertion
1149 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
1152 # ifdef __cpp_lib_assume_aligned
1153 # error "__cpp_lib_assume_aligned should not be defined before c++20"
1156 # ifdef __cpp_lib_atomic_flag_test
1157 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
1160 # ifdef __cpp_lib_atomic_float
1161 # error "__cpp_lib_atomic_float should not be defined before c++20"
1164 # ifdef __cpp_lib_atomic_is_always_lock_free
1165 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
1168 # ifdef __cpp_lib_atomic_lock_free_type_aliases
1169 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
1172 # ifdef __cpp_lib_atomic_min_max
1173 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
1176 # ifdef __cpp_lib_atomic_ref
1177 # error "__cpp_lib_atomic_ref should not be defined before c++20"
1180 # ifdef __cpp_lib_atomic_shared_ptr
1181 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
1184 # ifdef __cpp_lib_atomic_value_initialization
1185 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
1188 # ifdef __cpp_lib_atomic_wait
1189 # error "__cpp_lib_atomic_wait should not be defined before c++20"
1192 # ifdef __cpp_lib_barrier
1193 # error "__cpp_lib_barrier should not be defined before c++20"
1196 # ifdef __cpp_lib_bind_back
1197 # error "__cpp_lib_bind_back should not be defined before c++23"
1200 # ifdef __cpp_lib_bind_front
1201 # error "__cpp_lib_bind_front should not be defined before c++20"
1204 # ifdef __cpp_lib_bit_cast
1205 # error "__cpp_lib_bit_cast should not be defined before c++20"
1208 # ifdef __cpp_lib_bitops
1209 # error "__cpp_lib_bitops should not be defined before c++20"
1212 # ifdef __cpp_lib_bitset
1213 # error "__cpp_lib_bitset should not be defined before c++26"
1216 # ifdef __cpp_lib_bool_constant
1217 # error "__cpp_lib_bool_constant should not be defined before c++17"
1220 # ifdef __cpp_lib_bounded_array_traits
1221 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
1224 # ifdef __cpp_lib_boyer_moore_searcher
1225 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
1228 # ifdef __cpp_lib_byte
1229 # error "__cpp_lib_byte should not be defined before c++17"
1232 # ifdef __cpp_lib_byteswap
1233 # error "__cpp_lib_byteswap should not be defined before c++23"
1236 # ifdef __cpp_lib_char8_t
1237 # error "__cpp_lib_char8_t should not be defined before c++20"
1240 # ifdef __cpp_lib_chrono
1241 # error "__cpp_lib_chrono should not be defined before c++17"
1244 # ifndef __cpp_lib_chrono_udls
1245 # error "__cpp_lib_chrono_udls should be defined in c++14"
1247 # if __cpp_lib_chrono_udls != 201304L
1248 # error "__cpp_lib_chrono_udls should have the value 201304L in c++14"
1251 # ifdef __cpp_lib_clamp
1252 # error "__cpp_lib_clamp should not be defined before c++17"
1255 # ifndef __cpp_lib_complex_udls
1256 # error "__cpp_lib_complex_udls should be defined in c++14"
1258 # if __cpp_lib_complex_udls != 201309L
1259 # error "__cpp_lib_complex_udls should have the value 201309L in c++14"
1262 # ifdef __cpp_lib_concepts
1263 # error "__cpp_lib_concepts should not be defined before c++20"
1266 # ifdef __cpp_lib_constexpr_algorithms
1267 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
1270 # ifdef __cpp_lib_constexpr_bitset
1271 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
1274 # ifdef __cpp_lib_constexpr_charconv
1275 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
1278 # ifdef __cpp_lib_constexpr_cmath
1279 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
1282 # ifdef __cpp_lib_constexpr_complex
1283 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
1286 # ifdef __cpp_lib_constexpr_dynamic_alloc
1287 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
1290 # ifdef __cpp_lib_constexpr_functional
1291 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
1294 # ifdef __cpp_lib_constexpr_iterator
1295 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
1298 # ifdef __cpp_lib_constexpr_memory
1299 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
1302 # ifdef __cpp_lib_constexpr_new
1303 # error "__cpp_lib_constexpr_new should not be defined before c++26"
1306 # ifdef __cpp_lib_constexpr_numeric
1307 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
1310 # ifdef __cpp_lib_constexpr_string
1311 # error "__cpp_lib_constexpr_string should not be defined before c++20"
1314 # ifdef __cpp_lib_constexpr_string_view
1315 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
1318 # ifdef __cpp_lib_constexpr_tuple
1319 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
1322 # ifdef __cpp_lib_constexpr_typeinfo
1323 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
1326 # ifdef __cpp_lib_constexpr_utility
1327 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
1330 # ifdef __cpp_lib_constexpr_vector
1331 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
1334 # ifdef __cpp_lib_constrained_equality
1335 # error "__cpp_lib_constrained_equality should not be defined before c++26"
1338 # ifdef __cpp_lib_containers_ranges
1339 # error "__cpp_lib_containers_ranges should not be defined before c++23"
1342 # ifdef __cpp_lib_copyable_function
1343 # error "__cpp_lib_copyable_function should not be defined before c++26"
1346 # ifdef __cpp_lib_coroutine
1347 # error "__cpp_lib_coroutine should not be defined before c++20"
1350 # ifdef __cpp_lib_debugging
1351 # error "__cpp_lib_debugging should not be defined before c++26"
1354 # ifdef __cpp_lib_default_template_type_for_algorithm_values
1355 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
1358 # ifdef __cpp_lib_destroying_delete
1359 # error "__cpp_lib_destroying_delete should not be defined before c++20"
1362 # ifdef __cpp_lib_enable_shared_from_this
1363 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
1366 # ifdef __cpp_lib_endian
1367 # error "__cpp_lib_endian should not be defined before c++20"
1370 # ifdef __cpp_lib_erase_if
1371 # error "__cpp_lib_erase_if should not be defined before c++20"
1374 # ifndef __cpp_lib_exchange_function
1375 # error "__cpp_lib_exchange_function should be defined in c++14"
1377 # if __cpp_lib_exchange_function != 201304L
1378 # error "__cpp_lib_exchange_function should have the value 201304L in c++14"
1381 # ifdef __cpp_lib_execution
1382 # error "__cpp_lib_execution should not be defined before c++17"
1385 # ifdef __cpp_lib_expected
1386 # error "__cpp_lib_expected should not be defined before c++23"
1389 # ifdef __cpp_lib_filesystem
1390 # error "__cpp_lib_filesystem should not be defined before c++17"
1393 # ifdef __cpp_lib_format
1394 # error "__cpp_lib_format should not be defined before c++20"
1397 # ifdef __cpp_lib_format_path
1398 # error "__cpp_lib_format_path should not be defined before c++26"
1401 # ifdef __cpp_lib_format_ranges
1402 # error "__cpp_lib_format_ranges should not be defined before c++23"
1405 # ifdef __cpp_lib_format_uchar
1406 # error "__cpp_lib_format_uchar should not be defined before c++20"
1409 # ifdef __cpp_lib_formatters
1410 # error "__cpp_lib_formatters should not be defined before c++23"
1413 # ifdef __cpp_lib_forward_like
1414 # error "__cpp_lib_forward_like should not be defined before c++23"
1417 # ifdef __cpp_lib_freestanding_algorithm
1418 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
1421 # ifdef __cpp_lib_freestanding_array
1422 # error "__cpp_lib_freestanding_array should not be defined before c++26"
1425 # ifdef __cpp_lib_freestanding_cstring
1426 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
1429 # ifdef __cpp_lib_freestanding_expected
1430 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
1433 # ifdef __cpp_lib_freestanding_mdspan
1434 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
1437 # ifdef __cpp_lib_freestanding_optional
1438 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
1441 # ifdef __cpp_lib_freestanding_string_view
1442 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
1445 # ifdef __cpp_lib_freestanding_variant
1446 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
1449 # ifdef __cpp_lib_fstream_native_handle
1450 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
1453 # ifdef __cpp_lib_function_ref
1454 # error "__cpp_lib_function_ref should not be defined before c++26"
1457 # ifdef __cpp_lib_gcd_lcm
1458 # error "__cpp_lib_gcd_lcm should not be defined before c++17"
1461 # ifdef __cpp_lib_generate_random
1462 # error "__cpp_lib_generate_random should not be defined before c++26"
1465 # ifndef __cpp_lib_generic_associative_lookup
1466 # error "__cpp_lib_generic_associative_lookup should be defined in c++14"
1468 # if __cpp_lib_generic_associative_lookup != 201304L
1469 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"
1472 # ifdef __cpp_lib_generic_unordered_lookup
1473 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
1476 # ifdef __cpp_lib_hardware_interference_size
1477 # error "__cpp_lib_hardware_interference_size should not be defined before c++17"
1480 # ifdef __cpp_lib_has_unique_object_representations
1481 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
1484 # ifdef __cpp_lib_hazard_pointer
1485 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
1488 # ifdef __cpp_lib_hypot
1489 # error "__cpp_lib_hypot should not be defined before c++17"
1492 # ifdef __cpp_lib_incomplete_container_elements
1493 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
1496 # ifdef __cpp_lib_inplace_vector
1497 # error "__cpp_lib_inplace_vector should not be defined before c++26"
1500 # ifdef __cpp_lib_int_pow2
1501 # error "__cpp_lib_int_pow2 should not be defined before c++20"
1504 # ifdef __cpp_lib_integer_comparison_functions
1505 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
1508 # ifndef __cpp_lib_integer_sequence
1509 # error "__cpp_lib_integer_sequence should be defined in c++14"
1511 # if __cpp_lib_integer_sequence != 201304L
1512 # error "__cpp_lib_integer_sequence should have the value 201304L in c++14"
1515 # ifndef __cpp_lib_integral_constant_callable
1516 # error "__cpp_lib_integral_constant_callable should be defined in c++14"
1518 # if __cpp_lib_integral_constant_callable != 201304L
1519 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"
1522 # ifdef __cpp_lib_interpolate
1523 # error "__cpp_lib_interpolate should not be defined before c++20"
1526 # ifdef __cpp_lib_invoke
1527 # error "__cpp_lib_invoke should not be defined before c++17"
1530 # ifdef __cpp_lib_invoke_r
1531 # error "__cpp_lib_invoke_r should not be defined before c++23"
1534 # ifdef __cpp_lib_ios_noreplace
1535 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
1538 # ifdef __cpp_lib_is_aggregate
1539 # error "__cpp_lib_is_aggregate should not be defined before c++17"
1542 # ifdef __cpp_lib_is_constant_evaluated
1543 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
1546 # ifndef __cpp_lib_is_final
1547 # error "__cpp_lib_is_final should be defined in c++14"
1549 # if __cpp_lib_is_final != 201402L
1550 # error "__cpp_lib_is_final should have the value 201402L in c++14"
1553 # ifdef __cpp_lib_is_invocable
1554 # error "__cpp_lib_is_invocable should not be defined before c++17"
1557 # ifdef __cpp_lib_is_layout_compatible
1558 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
1561 # ifdef __cpp_lib_is_nothrow_convertible
1562 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
1565 # ifndef __cpp_lib_is_null_pointer
1566 # error "__cpp_lib_is_null_pointer should be defined in c++14"
1568 # if __cpp_lib_is_null_pointer != 201309L
1569 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"
1572 # ifdef __cpp_lib_is_pointer_interconvertible
1573 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
1576 # ifdef __cpp_lib_is_scoped_enum
1577 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
1580 # ifdef __cpp_lib_is_swappable
1581 # error "__cpp_lib_is_swappable should not be defined before c++17"
1584 # ifdef __cpp_lib_is_virtual_base_of
1585 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
1588 # ifdef __cpp_lib_is_within_lifetime
1589 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
1592 # ifdef __cpp_lib_jthread
1593 # error "__cpp_lib_jthread should not be defined before c++20"
1596 # ifdef __cpp_lib_latch
1597 # error "__cpp_lib_latch should not be defined before c++20"
1600 # ifdef __cpp_lib_launder
1601 # error "__cpp_lib_launder should not be defined before c++17"
1604 # ifdef __cpp_lib_linalg
1605 # error "__cpp_lib_linalg should not be defined before c++26"
1608 # ifdef __cpp_lib_list_remove_return_type
1609 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
1612 # ifdef __cpp_lib_logical_traits
1613 # error "__cpp_lib_logical_traits should not be defined before c++17"
1616 # ifdef __cpp_lib_make_from_tuple
1617 # error "__cpp_lib_make_from_tuple should not be defined before c++17"
1620 # ifndef __cpp_lib_make_reverse_iterator
1621 # error "__cpp_lib_make_reverse_iterator should be defined in c++14"
1623 # if __cpp_lib_make_reverse_iterator != 201402L
1624 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"
1627 # ifndef __cpp_lib_make_unique
1628 # error "__cpp_lib_make_unique should be defined in c++14"
1630 # if __cpp_lib_make_unique != 201304L
1631 # error "__cpp_lib_make_unique should have the value 201304L in c++14"
1634 # ifdef __cpp_lib_map_try_emplace
1635 # error "__cpp_lib_map_try_emplace should not be defined before c++17"
1638 # ifdef __cpp_lib_math_constants
1639 # error "__cpp_lib_math_constants should not be defined before c++20"
1642 # ifdef __cpp_lib_math_special_functions
1643 # error "__cpp_lib_math_special_functions should not be defined before c++17"
1646 # ifdef __cpp_lib_mdspan
1647 # error "__cpp_lib_mdspan should not be defined before c++23"
1650 # ifdef __cpp_lib_memory_resource
1651 # error "__cpp_lib_memory_resource should not be defined before c++17"
1654 # ifdef __cpp_lib_modules
1655 # error "__cpp_lib_modules should not be defined before c++23"
1658 # ifdef __cpp_lib_move_iterator_concept
1659 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
1662 # ifdef __cpp_lib_move_only_function
1663 # error "__cpp_lib_move_only_function should not be defined before c++23"
1666 # ifdef __cpp_lib_node_extract
1667 # error "__cpp_lib_node_extract should not be defined before c++17"
1670 # ifdef __cpp_lib_nonmember_container_access
1671 # error "__cpp_lib_nonmember_container_access should not be defined before c++17"
1674 # ifdef __cpp_lib_not_fn
1675 # error "__cpp_lib_not_fn should not be defined before c++17"
1678 # ifndef __cpp_lib_null_iterators
1679 # error "__cpp_lib_null_iterators should be defined in c++14"
1681 # if __cpp_lib_null_iterators != 201304L
1682 # error "__cpp_lib_null_iterators should have the value 201304L in c++14"
1685 # ifdef __cpp_lib_optional
1686 # error "__cpp_lib_optional should not be defined before c++17"
1689 # ifdef __cpp_lib_optional_range_support
1690 # error "__cpp_lib_optional_range_support should not be defined before c++26"
1693 # ifdef __cpp_lib_out_ptr
1694 # error "__cpp_lib_out_ptr should not be defined before c++23"
1697 # ifdef __cpp_lib_parallel_algorithm
1698 # error "__cpp_lib_parallel_algorithm should not be defined before c++17"
1701 # ifdef __cpp_lib_philox_engine
1702 # error "__cpp_lib_philox_engine should not be defined before c++26"
1705 # ifdef __cpp_lib_polymorphic_allocator
1706 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
1709 # ifdef __cpp_lib_print
1710 # error "__cpp_lib_print should not be defined before c++23"
1713 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
1714 # ifndef __cpp_lib_quoted_string_io
1715 # error "__cpp_lib_quoted_string_io should be defined in c++14"
1717 # if __cpp_lib_quoted_string_io != 201304L
1718 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"
1721 # ifdef __cpp_lib_quoted_string_io
1722 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
1726 # ifdef __cpp_lib_ranges
1727 # error "__cpp_lib_ranges should not be defined before c++20"
1730 # ifdef __cpp_lib_ranges_as_const
1731 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
1734 # ifdef __cpp_lib_ranges_as_rvalue
1735 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
1738 # ifdef __cpp_lib_ranges_chunk
1739 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
1742 # ifdef __cpp_lib_ranges_chunk_by
1743 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
1746 # ifdef __cpp_lib_ranges_concat
1747 # error "__cpp_lib_ranges_concat should not be defined before c++26"
1750 # ifdef __cpp_lib_ranges_contains
1751 # error "__cpp_lib_ranges_contains should not be defined before c++23"
1754 # ifdef __cpp_lib_ranges_find_last
1755 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
1758 # ifdef __cpp_lib_ranges_iota
1759 # error "__cpp_lib_ranges_iota should not be defined before c++23"
1762 # ifdef __cpp_lib_ranges_join_with
1763 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
1766 # ifdef __cpp_lib_ranges_repeat
1767 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
1770 # ifdef __cpp_lib_ranges_slide
1771 # error "__cpp_lib_ranges_slide should not be defined before c++23"
1774 # ifdef __cpp_lib_ranges_starts_ends_with
1775 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
1778 # ifdef __cpp_lib_ranges_to_container
1779 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
1782 # ifdef __cpp_lib_ranges_zip
1783 # error "__cpp_lib_ranges_zip should not be defined before c++23"
1786 # ifdef __cpp_lib_ratio
1787 # error "__cpp_lib_ratio should not be defined before c++26"
1790 # ifdef __cpp_lib_raw_memory_algorithms
1791 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
1794 # ifdef __cpp_lib_rcu
1795 # error "__cpp_lib_rcu should not be defined before c++26"
1798 # ifdef __cpp_lib_reference_from_temporary
1799 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
1802 # ifdef __cpp_lib_reference_wrapper
1803 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
1806 # ifdef __cpp_lib_remove_cvref
1807 # error "__cpp_lib_remove_cvref should not be defined before c++20"
1810 # ifndef __cpp_lib_result_of_sfinae
1811 # error "__cpp_lib_result_of_sfinae should be defined in c++14"
1813 # if __cpp_lib_result_of_sfinae != 201210L
1814 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"
1817 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
1818 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"
1820 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
1821 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"
1824 # ifdef __cpp_lib_sample
1825 # error "__cpp_lib_sample should not be defined before c++17"
1828 # ifdef __cpp_lib_saturation_arithmetic
1829 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
1832 # ifdef __cpp_lib_scoped_lock
1833 # error "__cpp_lib_scoped_lock should not be defined before c++17"
1836 # ifdef __cpp_lib_semaphore
1837 # error "__cpp_lib_semaphore should not be defined before c++20"
1840 # ifdef __cpp_lib_senders
1841 # error "__cpp_lib_senders should not be defined before c++26"
1844 # ifdef __cpp_lib_shared_mutex
1845 # error "__cpp_lib_shared_mutex should not be defined before c++17"
1848 # ifdef __cpp_lib_shared_ptr_arrays
1849 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
1852 # ifdef __cpp_lib_shared_ptr_weak_type
1853 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
1856 # if !defined(_LIBCPP_HAS_NO_THREADS)
1857 # ifndef __cpp_lib_shared_timed_mutex
1858 # error "__cpp_lib_shared_timed_mutex should be defined in c++14"
1860 # if __cpp_lib_shared_timed_mutex != 201402L
1861 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"
1864 # ifdef __cpp_lib_shared_timed_mutex
1865 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
1869 # ifdef __cpp_lib_shift
1870 # error "__cpp_lib_shift should not be defined before c++20"
1873 # ifdef __cpp_lib_smart_ptr_for_overwrite
1874 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
1877 # ifdef __cpp_lib_smart_ptr_owner_equality
1878 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
1881 # ifdef __cpp_lib_source_location
1882 # error "__cpp_lib_source_location should not be defined before c++20"
1885 # ifdef __cpp_lib_span
1886 # error "__cpp_lib_span should not be defined before c++20"
1889 # ifdef __cpp_lib_span_at
1890 # error "__cpp_lib_span_at should not be defined before c++26"
1893 # ifdef __cpp_lib_span_initializer_list
1894 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
1897 # ifdef __cpp_lib_spanstream
1898 # error "__cpp_lib_spanstream should not be defined before c++23"
1901 # ifdef __cpp_lib_ssize
1902 # error "__cpp_lib_ssize should not be defined before c++20"
1905 # ifdef __cpp_lib_sstream_from_string_view
1906 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
1909 # ifdef __cpp_lib_stacktrace
1910 # error "__cpp_lib_stacktrace should not be defined before c++23"
1913 # ifdef __cpp_lib_starts_ends_with
1914 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
1917 # ifdef __cpp_lib_stdatomic_h
1918 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
1921 # ifdef __cpp_lib_string_contains
1922 # error "__cpp_lib_string_contains should not be defined before c++23"
1925 # ifdef __cpp_lib_string_resize_and_overwrite
1926 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1929 # ifndef __cpp_lib_string_udls
1930 # error "__cpp_lib_string_udls should be defined in c++14"
1932 # if __cpp_lib_string_udls != 201304L
1933 # error "__cpp_lib_string_udls should have the value 201304L in c++14"
1936 # ifdef __cpp_lib_string_view
1937 # error "__cpp_lib_string_view should not be defined before c++17"
1940 # ifdef __cpp_lib_submdspan
1941 # error "__cpp_lib_submdspan should not be defined before c++26"
1944 # ifdef __cpp_lib_syncbuf
1945 # error "__cpp_lib_syncbuf should not be defined before c++20"
1948 # ifdef __cpp_lib_text_encoding
1949 # error "__cpp_lib_text_encoding should not be defined before c++26"
1952 # ifdef __cpp_lib_three_way_comparison
1953 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
1956 # ifdef __cpp_lib_to_address
1957 # error "__cpp_lib_to_address should not be defined before c++20"
1960 # ifdef __cpp_lib_to_array
1961 # error "__cpp_lib_to_array should not be defined before c++20"
1964 # ifdef __cpp_lib_to_chars
1965 # error "__cpp_lib_to_chars should not be defined before c++17"
1968 # ifdef __cpp_lib_to_string
1969 # error "__cpp_lib_to_string should not be defined before c++26"
1972 # ifdef __cpp_lib_to_underlying
1973 # error "__cpp_lib_to_underlying should not be defined before c++23"
1976 # ifndef __cpp_lib_transformation_trait_aliases
1977 # error "__cpp_lib_transformation_trait_aliases should be defined in c++14"
1979 # if __cpp_lib_transformation_trait_aliases != 201304L
1980 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"
1983 # ifndef __cpp_lib_transparent_operators
1984 # error "__cpp_lib_transparent_operators should be defined in c++14"
1986 # if __cpp_lib_transparent_operators != 201210L
1987 # error "__cpp_lib_transparent_operators should have the value 201210L in c++14"
1990 # ifndef __cpp_lib_tuple_element_t
1991 # error "__cpp_lib_tuple_element_t should be defined in c++14"
1993 # if __cpp_lib_tuple_element_t != 201402L
1994 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"
1997 # ifdef __cpp_lib_tuple_like
1998 # error "__cpp_lib_tuple_like should not be defined before c++23"
2001 # ifndef __cpp_lib_tuples_by_type
2002 # error "__cpp_lib_tuples_by_type should be defined in c++14"
2004 # if __cpp_lib_tuples_by_type != 201304L
2005 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"
2008 # ifdef __cpp_lib_type_identity
2009 # error "__cpp_lib_type_identity should not be defined before c++20"
2012 # ifdef __cpp_lib_type_trait_variable_templates
2013 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
2016 # ifdef __cpp_lib_uncaught_exceptions
2017 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
2020 # ifdef __cpp_lib_unordered_map_try_emplace
2021 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
2024 # ifdef __cpp_lib_unreachable
2025 # error "__cpp_lib_unreachable should not be defined before c++23"
2028 # ifdef __cpp_lib_unwrap_ref
2029 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
2032 # ifdef __cpp_lib_variant
2033 # error "__cpp_lib_variant should not be defined before c++17"
2036 # ifdef __cpp_lib_void_t
2037 # error "__cpp_lib_void_t should not be defined before c++17"
2040 #elif TEST_STD_VER == 17
2042 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
2043 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
2046 # ifndef __cpp_lib_addressof_constexpr
2047 # error "__cpp_lib_addressof_constexpr should be defined in c++17"
2049 # if __cpp_lib_addressof_constexpr != 201603L
2050 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"
2053 # ifdef __cpp_lib_allocate_at_least
2054 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
2057 # ifndef __cpp_lib_allocator_traits_is_always_equal
2058 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"
2060 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
2061 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"
2064 # ifndef __cpp_lib_any
2065 # error "__cpp_lib_any should be defined in c++17"
2067 # if __cpp_lib_any != 201606L
2068 # error "__cpp_lib_any should have the value 201606L in c++17"
2071 # ifndef __cpp_lib_apply
2072 # error "__cpp_lib_apply should be defined in c++17"
2074 # if __cpp_lib_apply != 201603L
2075 # error "__cpp_lib_apply should have the value 201603L in c++17"
2078 # ifndef __cpp_lib_array_constexpr
2079 # error "__cpp_lib_array_constexpr should be defined in c++17"
2081 # if __cpp_lib_array_constexpr != 201603L
2082 # error "__cpp_lib_array_constexpr should have the value 201603L in c++17"
2085 # ifndef __cpp_lib_as_const
2086 # error "__cpp_lib_as_const should be defined in c++17"
2088 # if __cpp_lib_as_const != 201510L
2089 # error "__cpp_lib_as_const should have the value 201510L in c++17"
2092 # ifdef __cpp_lib_associative_heterogeneous_erasure
2093 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
2096 # ifdef __cpp_lib_associative_heterogeneous_insertion
2097 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
2100 # ifdef __cpp_lib_assume_aligned
2101 # error "__cpp_lib_assume_aligned should not be defined before c++20"
2104 # ifdef __cpp_lib_atomic_flag_test
2105 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
2108 # ifdef __cpp_lib_atomic_float
2109 # error "__cpp_lib_atomic_float should not be defined before c++20"
2112 # ifndef __cpp_lib_atomic_is_always_lock_free
2113 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"
2115 # if __cpp_lib_atomic_is_always_lock_free != 201603L
2116 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"
2119 # ifdef __cpp_lib_atomic_lock_free_type_aliases
2120 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
2123 # ifdef __cpp_lib_atomic_min_max
2124 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
2127 # ifdef __cpp_lib_atomic_ref
2128 # error "__cpp_lib_atomic_ref should not be defined before c++20"
2131 # ifdef __cpp_lib_atomic_shared_ptr
2132 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
2135 # ifdef __cpp_lib_atomic_value_initialization
2136 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
2139 # ifdef __cpp_lib_atomic_wait
2140 # error "__cpp_lib_atomic_wait should not be defined before c++20"
2143 # ifdef __cpp_lib_barrier
2144 # error "__cpp_lib_barrier should not be defined before c++20"
2147 # ifdef __cpp_lib_bind_back
2148 # error "__cpp_lib_bind_back should not be defined before c++23"
2151 # ifdef __cpp_lib_bind_front
2152 # error "__cpp_lib_bind_front should not be defined before c++20"
2155 # ifdef __cpp_lib_bit_cast
2156 # error "__cpp_lib_bit_cast should not be defined before c++20"
2159 # ifdef __cpp_lib_bitops
2160 # error "__cpp_lib_bitops should not be defined before c++20"
2163 # ifdef __cpp_lib_bitset
2164 # error "__cpp_lib_bitset should not be defined before c++26"
2167 # ifndef __cpp_lib_bool_constant
2168 # error "__cpp_lib_bool_constant should be defined in c++17"
2170 # if __cpp_lib_bool_constant != 201505L
2171 # error "__cpp_lib_bool_constant should have the value 201505L in c++17"
2174 # ifdef __cpp_lib_bounded_array_traits
2175 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
2178 # ifndef __cpp_lib_boyer_moore_searcher
2179 # error "__cpp_lib_boyer_moore_searcher should be defined in c++17"
2181 # if __cpp_lib_boyer_moore_searcher != 201603L
2182 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"
2185 # ifndef __cpp_lib_byte
2186 # error "__cpp_lib_byte should be defined in c++17"
2188 # if __cpp_lib_byte != 201603L
2189 # error "__cpp_lib_byte should have the value 201603L in c++17"
2192 # ifdef __cpp_lib_byteswap
2193 # error "__cpp_lib_byteswap should not be defined before c++23"
2196 # ifdef __cpp_lib_char8_t
2197 # error "__cpp_lib_char8_t should not be defined before c++20"
2200 # ifndef __cpp_lib_chrono
2201 # error "__cpp_lib_chrono should be defined in c++17"
2203 # if __cpp_lib_chrono != 201611L
2204 # error "__cpp_lib_chrono should have the value 201611L in c++17"
2207 # ifndef __cpp_lib_chrono_udls
2208 # error "__cpp_lib_chrono_udls should be defined in c++17"
2210 # if __cpp_lib_chrono_udls != 201304L
2211 # error "__cpp_lib_chrono_udls should have the value 201304L in c++17"
2214 # ifndef __cpp_lib_clamp
2215 # error "__cpp_lib_clamp should be defined in c++17"
2217 # if __cpp_lib_clamp != 201603L
2218 # error "__cpp_lib_clamp should have the value 201603L in c++17"
2221 # ifndef __cpp_lib_complex_udls
2222 # error "__cpp_lib_complex_udls should be defined in c++17"
2224 # if __cpp_lib_complex_udls != 201309L
2225 # error "__cpp_lib_complex_udls should have the value 201309L in c++17"
2228 # ifdef __cpp_lib_concepts
2229 # error "__cpp_lib_concepts should not be defined before c++20"
2232 # ifdef __cpp_lib_constexpr_algorithms
2233 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
2236 # ifdef __cpp_lib_constexpr_bitset
2237 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
2240 # ifdef __cpp_lib_constexpr_charconv
2241 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
2244 # ifdef __cpp_lib_constexpr_cmath
2245 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
2248 # ifdef __cpp_lib_constexpr_complex
2249 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
2252 # ifdef __cpp_lib_constexpr_dynamic_alloc
2253 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
2256 # ifdef __cpp_lib_constexpr_functional
2257 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
2260 # ifdef __cpp_lib_constexpr_iterator
2261 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
2264 # ifdef __cpp_lib_constexpr_memory
2265 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
2268 # ifdef __cpp_lib_constexpr_new
2269 # error "__cpp_lib_constexpr_new should not be defined before c++26"
2272 # ifdef __cpp_lib_constexpr_numeric
2273 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
2276 # ifdef __cpp_lib_constexpr_string
2277 # error "__cpp_lib_constexpr_string should not be defined before c++20"
2280 # ifdef __cpp_lib_constexpr_string_view
2281 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
2284 # ifdef __cpp_lib_constexpr_tuple
2285 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
2288 # ifdef __cpp_lib_constexpr_typeinfo
2289 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
2292 # ifdef __cpp_lib_constexpr_utility
2293 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
2296 # ifdef __cpp_lib_constexpr_vector
2297 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
2300 # ifdef __cpp_lib_constrained_equality
2301 # error "__cpp_lib_constrained_equality should not be defined before c++26"
2304 # ifdef __cpp_lib_containers_ranges
2305 # error "__cpp_lib_containers_ranges should not be defined before c++23"
2308 # ifdef __cpp_lib_copyable_function
2309 # error "__cpp_lib_copyable_function should not be defined before c++26"
2312 # ifdef __cpp_lib_coroutine
2313 # error "__cpp_lib_coroutine should not be defined before c++20"
2316 # ifdef __cpp_lib_debugging
2317 # error "__cpp_lib_debugging should not be defined before c++26"
2320 # ifdef __cpp_lib_default_template_type_for_algorithm_values
2321 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
2324 # ifdef __cpp_lib_destroying_delete
2325 # error "__cpp_lib_destroying_delete should not be defined before c++20"
2328 # ifndef __cpp_lib_enable_shared_from_this
2329 # error "__cpp_lib_enable_shared_from_this should be defined in c++17"
2331 # if __cpp_lib_enable_shared_from_this != 201603L
2332 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"
2335 # ifdef __cpp_lib_endian
2336 # error "__cpp_lib_endian should not be defined before c++20"
2339 # ifdef __cpp_lib_erase_if
2340 # error "__cpp_lib_erase_if should not be defined before c++20"
2343 # ifndef __cpp_lib_exchange_function
2344 # error "__cpp_lib_exchange_function should be defined in c++17"
2346 # if __cpp_lib_exchange_function != 201304L
2347 # error "__cpp_lib_exchange_function should have the value 201304L in c++17"
2350 # if !defined(_LIBCPP_VERSION)
2351 # ifndef __cpp_lib_execution
2352 # error "__cpp_lib_execution should be defined in c++17"
2354 # if __cpp_lib_execution != 201603L
2355 # error "__cpp_lib_execution should have the value 201603L in c++17"
2357 # else // _LIBCPP_VERSION
2358 # ifdef __cpp_lib_execution
2359 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
2363 # ifdef __cpp_lib_expected
2364 # error "__cpp_lib_expected should not be defined before c++23"
2367 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
2368 # ifndef __cpp_lib_filesystem
2369 # error "__cpp_lib_filesystem should be defined in c++17"
2371 # if __cpp_lib_filesystem != 201703L
2372 # error "__cpp_lib_filesystem should have the value 201703L in c++17"
2375 # ifdef __cpp_lib_filesystem
2376 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
2380 # ifdef __cpp_lib_format
2381 # error "__cpp_lib_format should not be defined before c++20"
2384 # ifdef __cpp_lib_format_path
2385 # error "__cpp_lib_format_path should not be defined before c++26"
2388 # ifdef __cpp_lib_format_ranges
2389 # error "__cpp_lib_format_ranges should not be defined before c++23"
2392 # ifdef __cpp_lib_format_uchar
2393 # error "__cpp_lib_format_uchar should not be defined before c++20"
2396 # ifdef __cpp_lib_formatters
2397 # error "__cpp_lib_formatters should not be defined before c++23"
2400 # ifdef __cpp_lib_forward_like
2401 # error "__cpp_lib_forward_like should not be defined before c++23"
2404 # ifdef __cpp_lib_freestanding_algorithm
2405 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
2408 # ifdef __cpp_lib_freestanding_array
2409 # error "__cpp_lib_freestanding_array should not be defined before c++26"
2412 # ifdef __cpp_lib_freestanding_cstring
2413 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
2416 # ifdef __cpp_lib_freestanding_expected
2417 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
2420 # ifdef __cpp_lib_freestanding_mdspan
2421 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
2424 # ifdef __cpp_lib_freestanding_optional
2425 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
2428 # ifdef __cpp_lib_freestanding_string_view
2429 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
2432 # ifdef __cpp_lib_freestanding_variant
2433 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
2436 # ifdef __cpp_lib_fstream_native_handle
2437 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
2440 # ifdef __cpp_lib_function_ref
2441 # error "__cpp_lib_function_ref should not be defined before c++26"
2444 # ifndef __cpp_lib_gcd_lcm
2445 # error "__cpp_lib_gcd_lcm should be defined in c++17"
2447 # if __cpp_lib_gcd_lcm != 201606L
2448 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"
2451 # ifdef __cpp_lib_generate_random
2452 # error "__cpp_lib_generate_random should not be defined before c++26"
2455 # ifndef __cpp_lib_generic_associative_lookup
2456 # error "__cpp_lib_generic_associative_lookup should be defined in c++17"
2458 # if __cpp_lib_generic_associative_lookup != 201304L
2459 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"
2462 # ifdef __cpp_lib_generic_unordered_lookup
2463 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
2466 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
2467 # ifndef __cpp_lib_hardware_interference_size
2468 # error "__cpp_lib_hardware_interference_size should be defined in c++17"
2470 # if __cpp_lib_hardware_interference_size != 201703L
2471 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"
2474 # ifdef __cpp_lib_hardware_interference_size
2475 # error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
2479 # ifndef __cpp_lib_has_unique_object_representations
2480 # error "__cpp_lib_has_unique_object_representations should be defined in c++17"
2482 # if __cpp_lib_has_unique_object_representations != 201606L
2483 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
2486 # ifdef __cpp_lib_hazard_pointer
2487 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
2490 # ifndef __cpp_lib_hypot
2491 # error "__cpp_lib_hypot should be defined in c++17"
2493 # if __cpp_lib_hypot != 201603L
2494 # error "__cpp_lib_hypot should have the value 201603L in c++17"
2497 # ifndef __cpp_lib_incomplete_container_elements
2498 # error "__cpp_lib_incomplete_container_elements should be defined in c++17"
2500 # if __cpp_lib_incomplete_container_elements != 201505L
2501 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"
2504 # ifdef __cpp_lib_inplace_vector
2505 # error "__cpp_lib_inplace_vector should not be defined before c++26"
2508 # ifdef __cpp_lib_int_pow2
2509 # error "__cpp_lib_int_pow2 should not be defined before c++20"
2512 # ifdef __cpp_lib_integer_comparison_functions
2513 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
2516 # ifndef __cpp_lib_integer_sequence
2517 # error "__cpp_lib_integer_sequence should be defined in c++17"
2519 # if __cpp_lib_integer_sequence != 201304L
2520 # error "__cpp_lib_integer_sequence should have the value 201304L in c++17"
2523 # ifndef __cpp_lib_integral_constant_callable
2524 # error "__cpp_lib_integral_constant_callable should be defined in c++17"
2526 # if __cpp_lib_integral_constant_callable != 201304L
2527 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"
2530 # ifdef __cpp_lib_interpolate
2531 # error "__cpp_lib_interpolate should not be defined before c++20"
2534 # ifndef __cpp_lib_invoke
2535 # error "__cpp_lib_invoke should be defined in c++17"
2537 # if __cpp_lib_invoke != 201411L
2538 # error "__cpp_lib_invoke should have the value 201411L in c++17"
2541 # ifdef __cpp_lib_invoke_r
2542 # error "__cpp_lib_invoke_r should not be defined before c++23"
2545 # ifdef __cpp_lib_ios_noreplace
2546 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
2549 # ifndef __cpp_lib_is_aggregate
2550 # error "__cpp_lib_is_aggregate should be defined in c++17"
2552 # if __cpp_lib_is_aggregate != 201703L
2553 # error "__cpp_lib_is_aggregate should have the value 201703L in c++17"
2556 # ifdef __cpp_lib_is_constant_evaluated
2557 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
2560 # ifndef __cpp_lib_is_final
2561 # error "__cpp_lib_is_final should be defined in c++17"
2563 # if __cpp_lib_is_final != 201402L
2564 # error "__cpp_lib_is_final should have the value 201402L in c++17"
2567 # ifndef __cpp_lib_is_invocable
2568 # error "__cpp_lib_is_invocable should be defined in c++17"
2570 # if __cpp_lib_is_invocable != 201703L
2571 # error "__cpp_lib_is_invocable should have the value 201703L in c++17"
2574 # ifdef __cpp_lib_is_layout_compatible
2575 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
2578 # ifdef __cpp_lib_is_nothrow_convertible
2579 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
2582 # ifndef __cpp_lib_is_null_pointer
2583 # error "__cpp_lib_is_null_pointer should be defined in c++17"
2585 # if __cpp_lib_is_null_pointer != 201309L
2586 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"
2589 # ifdef __cpp_lib_is_pointer_interconvertible
2590 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
2593 # ifdef __cpp_lib_is_scoped_enum
2594 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
2597 # ifndef __cpp_lib_is_swappable
2598 # error "__cpp_lib_is_swappable should be defined in c++17"
2600 # if __cpp_lib_is_swappable != 201603L
2601 # error "__cpp_lib_is_swappable should have the value 201603L in c++17"
2604 # ifdef __cpp_lib_is_virtual_base_of
2605 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
2608 # ifdef __cpp_lib_is_within_lifetime
2609 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
2612 # ifdef __cpp_lib_jthread
2613 # error "__cpp_lib_jthread should not be defined before c++20"
2616 # ifdef __cpp_lib_latch
2617 # error "__cpp_lib_latch should not be defined before c++20"
2620 # ifndef __cpp_lib_launder
2621 # error "__cpp_lib_launder should be defined in c++17"
2623 # if __cpp_lib_launder != 201606L
2624 # error "__cpp_lib_launder should have the value 201606L in c++17"
2627 # ifdef __cpp_lib_linalg
2628 # error "__cpp_lib_linalg should not be defined before c++26"
2631 # ifdef __cpp_lib_list_remove_return_type
2632 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
2635 # ifndef __cpp_lib_logical_traits
2636 # error "__cpp_lib_logical_traits should be defined in c++17"
2638 # if __cpp_lib_logical_traits != 201510L
2639 # error "__cpp_lib_logical_traits should have the value 201510L in c++17"
2642 # ifndef __cpp_lib_make_from_tuple
2643 # error "__cpp_lib_make_from_tuple should be defined in c++17"
2645 # if __cpp_lib_make_from_tuple != 201606L
2646 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"
2649 # ifndef __cpp_lib_make_reverse_iterator
2650 # error "__cpp_lib_make_reverse_iterator should be defined in c++17"
2652 # if __cpp_lib_make_reverse_iterator != 201402L
2653 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"
2656 # ifndef __cpp_lib_make_unique
2657 # error "__cpp_lib_make_unique should be defined in c++17"
2659 # if __cpp_lib_make_unique != 201304L
2660 # error "__cpp_lib_make_unique should have the value 201304L in c++17"
2663 # ifndef __cpp_lib_map_try_emplace
2664 # error "__cpp_lib_map_try_emplace should be defined in c++17"
2666 # if __cpp_lib_map_try_emplace != 201411L
2667 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"
2670 # ifdef __cpp_lib_math_constants
2671 # error "__cpp_lib_math_constants should not be defined before c++20"
2674 # if !defined(_LIBCPP_VERSION)
2675 # ifndef __cpp_lib_math_special_functions
2676 # error "__cpp_lib_math_special_functions should be defined in c++17"
2678 # if __cpp_lib_math_special_functions != 201603L
2679 # error "__cpp_lib_math_special_functions should have the value 201603L in c++17"
2681 # else // _LIBCPP_VERSION
2682 # ifdef __cpp_lib_math_special_functions
2683 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
2687 # ifdef __cpp_lib_mdspan
2688 # error "__cpp_lib_mdspan should not be defined before c++23"
2691 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
2692 # ifndef __cpp_lib_memory_resource
2693 # error "__cpp_lib_memory_resource should be defined in c++17"
2695 # if __cpp_lib_memory_resource != 201603L
2696 # error "__cpp_lib_memory_resource should have the value 201603L in c++17"
2699 # ifdef __cpp_lib_memory_resource
2700 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
2704 # ifdef __cpp_lib_modules
2705 # error "__cpp_lib_modules should not be defined before c++23"
2708 # ifdef __cpp_lib_move_iterator_concept
2709 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
2712 # ifdef __cpp_lib_move_only_function
2713 # error "__cpp_lib_move_only_function should not be defined before c++23"
2716 # ifndef __cpp_lib_node_extract
2717 # error "__cpp_lib_node_extract should be defined in c++17"
2719 # if __cpp_lib_node_extract != 201606L
2720 # error "__cpp_lib_node_extract should have the value 201606L in c++17"
2723 # ifndef __cpp_lib_nonmember_container_access
2724 # error "__cpp_lib_nonmember_container_access should be defined in c++17"
2726 # if __cpp_lib_nonmember_container_access != 201411L
2727 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"
2730 # ifndef __cpp_lib_not_fn
2731 # error "__cpp_lib_not_fn should be defined in c++17"
2733 # if __cpp_lib_not_fn != 201603L
2734 # error "__cpp_lib_not_fn should have the value 201603L in c++17"
2737 # ifndef __cpp_lib_null_iterators
2738 # error "__cpp_lib_null_iterators should be defined in c++17"
2740 # if __cpp_lib_null_iterators != 201304L
2741 # error "__cpp_lib_null_iterators should have the value 201304L in c++17"
2744 # ifndef __cpp_lib_optional
2745 # error "__cpp_lib_optional should be defined in c++17"
2747 # if __cpp_lib_optional != 201606L
2748 # error "__cpp_lib_optional should have the value 201606L in c++17"
2751 # ifdef __cpp_lib_optional_range_support
2752 # error "__cpp_lib_optional_range_support should not be defined before c++26"
2755 # ifdef __cpp_lib_out_ptr
2756 # error "__cpp_lib_out_ptr should not be defined before c++23"
2759 # if !defined(_LIBCPP_VERSION)
2760 # ifndef __cpp_lib_parallel_algorithm
2761 # error "__cpp_lib_parallel_algorithm should be defined in c++17"
2763 # if __cpp_lib_parallel_algorithm != 201603L
2764 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"
2766 # else // _LIBCPP_VERSION
2767 # ifdef __cpp_lib_parallel_algorithm
2768 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
2772 # ifdef __cpp_lib_philox_engine
2773 # error "__cpp_lib_philox_engine should not be defined before c++26"
2776 # ifdef __cpp_lib_polymorphic_allocator
2777 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
2780 # ifdef __cpp_lib_print
2781 # error "__cpp_lib_print should not be defined before c++23"
2784 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
2785 # ifndef __cpp_lib_quoted_string_io
2786 # error "__cpp_lib_quoted_string_io should be defined in c++17"
2788 # if __cpp_lib_quoted_string_io != 201304L
2789 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"
2792 # ifdef __cpp_lib_quoted_string_io
2793 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
2797 # ifdef __cpp_lib_ranges
2798 # error "__cpp_lib_ranges should not be defined before c++20"
2801 # ifdef __cpp_lib_ranges_as_const
2802 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
2805 # ifdef __cpp_lib_ranges_as_rvalue
2806 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
2809 # ifdef __cpp_lib_ranges_chunk
2810 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
2813 # ifdef __cpp_lib_ranges_chunk_by
2814 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
2817 # ifdef __cpp_lib_ranges_concat
2818 # error "__cpp_lib_ranges_concat should not be defined before c++26"
2821 # ifdef __cpp_lib_ranges_contains
2822 # error "__cpp_lib_ranges_contains should not be defined before c++23"
2825 # ifdef __cpp_lib_ranges_find_last
2826 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
2829 # ifdef __cpp_lib_ranges_iota
2830 # error "__cpp_lib_ranges_iota should not be defined before c++23"
2833 # ifdef __cpp_lib_ranges_join_with
2834 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
2837 # ifdef __cpp_lib_ranges_repeat
2838 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
2841 # ifdef __cpp_lib_ranges_slide
2842 # error "__cpp_lib_ranges_slide should not be defined before c++23"
2845 # ifdef __cpp_lib_ranges_starts_ends_with
2846 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
2849 # ifdef __cpp_lib_ranges_to_container
2850 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
2853 # ifdef __cpp_lib_ranges_zip
2854 # error "__cpp_lib_ranges_zip should not be defined before c++23"
2857 # ifdef __cpp_lib_ratio
2858 # error "__cpp_lib_ratio should not be defined before c++26"
2861 # ifndef __cpp_lib_raw_memory_algorithms
2862 # error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
2864 # if __cpp_lib_raw_memory_algorithms != 201606L
2865 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
2868 # ifdef __cpp_lib_rcu
2869 # error "__cpp_lib_rcu should not be defined before c++26"
2872 # ifdef __cpp_lib_reference_from_temporary
2873 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
2876 # ifdef __cpp_lib_reference_wrapper
2877 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
2880 # ifdef __cpp_lib_remove_cvref
2881 # error "__cpp_lib_remove_cvref should not be defined before c++20"
2884 # ifndef __cpp_lib_result_of_sfinae
2885 # error "__cpp_lib_result_of_sfinae should be defined in c++17"
2887 # if __cpp_lib_result_of_sfinae != 201210L
2888 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"
2891 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
2892 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"
2894 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
2895 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"
2898 # ifndef __cpp_lib_sample
2899 # error "__cpp_lib_sample should be defined in c++17"
2901 # if __cpp_lib_sample != 201603L
2902 # error "__cpp_lib_sample should have the value 201603L in c++17"
2905 # ifdef __cpp_lib_saturation_arithmetic
2906 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
2909 # if !defined(_LIBCPP_HAS_NO_THREADS)
2910 # ifndef __cpp_lib_scoped_lock
2911 # error "__cpp_lib_scoped_lock should be defined in c++17"
2913 # if __cpp_lib_scoped_lock != 201703L
2914 # error "__cpp_lib_scoped_lock should have the value 201703L in c++17"
2917 # ifdef __cpp_lib_scoped_lock
2918 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2922 # ifdef __cpp_lib_semaphore
2923 # error "__cpp_lib_semaphore should not be defined before c++20"
2926 # ifdef __cpp_lib_senders
2927 # error "__cpp_lib_senders should not be defined before c++26"
2930 # if !defined(_LIBCPP_HAS_NO_THREADS)
2931 # ifndef __cpp_lib_shared_mutex
2932 # error "__cpp_lib_shared_mutex should be defined in c++17"
2934 # if __cpp_lib_shared_mutex != 201505L
2935 # error "__cpp_lib_shared_mutex should have the value 201505L in c++17"
2938 # ifdef __cpp_lib_shared_mutex
2939 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2943 # ifndef __cpp_lib_shared_ptr_arrays
2944 # error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
2946 # if __cpp_lib_shared_ptr_arrays != 201611L
2947 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
2950 # ifndef __cpp_lib_shared_ptr_weak_type
2951 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"
2953 # if __cpp_lib_shared_ptr_weak_type != 201606L
2954 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"
2957 # if !defined(_LIBCPP_HAS_NO_THREADS)
2958 # ifndef __cpp_lib_shared_timed_mutex
2959 # error "__cpp_lib_shared_timed_mutex should be defined in c++17"
2961 # if __cpp_lib_shared_timed_mutex != 201402L
2962 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"
2965 # ifdef __cpp_lib_shared_timed_mutex
2966 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2970 # ifdef __cpp_lib_shift
2971 # error "__cpp_lib_shift should not be defined before c++20"
2974 # ifdef __cpp_lib_smart_ptr_for_overwrite
2975 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
2978 # ifdef __cpp_lib_smart_ptr_owner_equality
2979 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
2982 # ifdef __cpp_lib_source_location
2983 # error "__cpp_lib_source_location should not be defined before c++20"
2986 # ifdef __cpp_lib_span
2987 # error "__cpp_lib_span should not be defined before c++20"
2990 # ifdef __cpp_lib_span_at
2991 # error "__cpp_lib_span_at should not be defined before c++26"
2994 # ifdef __cpp_lib_span_initializer_list
2995 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
2998 # ifdef __cpp_lib_spanstream
2999 # error "__cpp_lib_spanstream should not be defined before c++23"
3002 # ifdef __cpp_lib_ssize
3003 # error "__cpp_lib_ssize should not be defined before c++20"
3006 # ifdef __cpp_lib_sstream_from_string_view
3007 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
3010 # ifdef __cpp_lib_stacktrace
3011 # error "__cpp_lib_stacktrace should not be defined before c++23"
3014 # ifdef __cpp_lib_starts_ends_with
3015 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
3018 # ifdef __cpp_lib_stdatomic_h
3019 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
3022 # ifdef __cpp_lib_string_contains
3023 # error "__cpp_lib_string_contains should not be defined before c++23"
3026 # ifdef __cpp_lib_string_resize_and_overwrite
3027 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
3030 # ifndef __cpp_lib_string_udls
3031 # error "__cpp_lib_string_udls should be defined in c++17"
3033 # if __cpp_lib_string_udls != 201304L
3034 # error "__cpp_lib_string_udls should have the value 201304L in c++17"
3037 # ifndef __cpp_lib_string_view
3038 # error "__cpp_lib_string_view should be defined in c++17"
3040 # if __cpp_lib_string_view != 201606L
3041 # error "__cpp_lib_string_view should have the value 201606L in c++17"
3044 # ifdef __cpp_lib_submdspan
3045 # error "__cpp_lib_submdspan should not be defined before c++26"
3048 # ifdef __cpp_lib_syncbuf
3049 # error "__cpp_lib_syncbuf should not be defined before c++20"
3052 # ifdef __cpp_lib_text_encoding
3053 # error "__cpp_lib_text_encoding should not be defined before c++26"
3056 # ifdef __cpp_lib_three_way_comparison
3057 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
3060 # ifdef __cpp_lib_to_address
3061 # error "__cpp_lib_to_address should not be defined before c++20"
3064 # ifdef __cpp_lib_to_array
3065 # error "__cpp_lib_to_array should not be defined before c++20"
3068 # if !defined(_LIBCPP_VERSION)
3069 # ifndef __cpp_lib_to_chars
3070 # error "__cpp_lib_to_chars should be defined in c++17"
3072 # if __cpp_lib_to_chars != 201611L
3073 # error "__cpp_lib_to_chars should have the value 201611L in c++17"
3075 # else // _LIBCPP_VERSION
3076 # ifdef __cpp_lib_to_chars
3077 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
3081 # ifdef __cpp_lib_to_string
3082 # error "__cpp_lib_to_string should not be defined before c++26"
3085 # ifdef __cpp_lib_to_underlying
3086 # error "__cpp_lib_to_underlying should not be defined before c++23"
3089 # ifndef __cpp_lib_transformation_trait_aliases
3090 # error "__cpp_lib_transformation_trait_aliases should be defined in c++17"
3092 # if __cpp_lib_transformation_trait_aliases != 201304L
3093 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"
3096 # ifndef __cpp_lib_transparent_operators
3097 # error "__cpp_lib_transparent_operators should be defined in c++17"
3099 # if __cpp_lib_transparent_operators != 201510L
3100 # error "__cpp_lib_transparent_operators should have the value 201510L in c++17"
3103 # ifndef __cpp_lib_tuple_element_t
3104 # error "__cpp_lib_tuple_element_t should be defined in c++17"
3106 # if __cpp_lib_tuple_element_t != 201402L
3107 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"
3110 # ifdef __cpp_lib_tuple_like
3111 # error "__cpp_lib_tuple_like should not be defined before c++23"
3114 # ifndef __cpp_lib_tuples_by_type
3115 # error "__cpp_lib_tuples_by_type should be defined in c++17"
3117 # if __cpp_lib_tuples_by_type != 201304L
3118 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"
3121 # ifdef __cpp_lib_type_identity
3122 # error "__cpp_lib_type_identity should not be defined before c++20"
3125 # ifndef __cpp_lib_type_trait_variable_templates
3126 # error "__cpp_lib_type_trait_variable_templates should be defined in c++17"
3128 # if __cpp_lib_type_trait_variable_templates != 201510L
3129 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"
3132 # ifndef __cpp_lib_uncaught_exceptions
3133 # error "__cpp_lib_uncaught_exceptions should be defined in c++17"
3135 # if __cpp_lib_uncaught_exceptions != 201411L
3136 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"
3139 # ifndef __cpp_lib_unordered_map_try_emplace
3140 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"
3142 # if __cpp_lib_unordered_map_try_emplace != 201411L
3143 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"
3146 # ifdef __cpp_lib_unreachable
3147 # error "__cpp_lib_unreachable should not be defined before c++23"
3150 # ifdef __cpp_lib_unwrap_ref
3151 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
3154 # ifndef __cpp_lib_variant
3155 # error "__cpp_lib_variant should be defined in c++17"
3157 # if __cpp_lib_variant != 202102L
3158 # error "__cpp_lib_variant should have the value 202102L in c++17"
3161 # ifndef __cpp_lib_void_t
3162 # error "__cpp_lib_void_t should be defined in c++17"
3164 # if __cpp_lib_void_t != 201411L
3165 # error "__cpp_lib_void_t should have the value 201411L in c++17"
3168 #elif TEST_STD_VER == 20
3170 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
3171 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
3174 # ifndef __cpp_lib_addressof_constexpr
3175 # error "__cpp_lib_addressof_constexpr should be defined in c++20"
3177 # if __cpp_lib_addressof_constexpr != 201603L
3178 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"
3181 # ifdef __cpp_lib_allocate_at_least
3182 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
3185 # ifndef __cpp_lib_allocator_traits_is_always_equal
3186 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"
3188 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
3189 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"
3192 # ifndef __cpp_lib_any
3193 # error "__cpp_lib_any should be defined in c++20"
3195 # if __cpp_lib_any != 201606L
3196 # error "__cpp_lib_any should have the value 201606L in c++20"
3199 # ifndef __cpp_lib_apply
3200 # error "__cpp_lib_apply should be defined in c++20"
3202 # if __cpp_lib_apply != 201603L
3203 # error "__cpp_lib_apply should have the value 201603L in c++20"
3206 # ifndef __cpp_lib_array_constexpr
3207 # error "__cpp_lib_array_constexpr should be defined in c++20"
3209 # if __cpp_lib_array_constexpr != 201811L
3210 # error "__cpp_lib_array_constexpr should have the value 201811L in c++20"
3213 # ifndef __cpp_lib_as_const
3214 # error "__cpp_lib_as_const should be defined in c++20"
3216 # if __cpp_lib_as_const != 201510L
3217 # error "__cpp_lib_as_const should have the value 201510L in c++20"
3220 # ifdef __cpp_lib_associative_heterogeneous_erasure
3221 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
3224 # ifdef __cpp_lib_associative_heterogeneous_insertion
3225 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
3228 # ifndef __cpp_lib_assume_aligned
3229 # error "__cpp_lib_assume_aligned should be defined in c++20"
3231 # if __cpp_lib_assume_aligned != 201811L
3232 # error "__cpp_lib_assume_aligned should have the value 201811L in c++20"
3235 # ifndef __cpp_lib_atomic_flag_test
3236 # error "__cpp_lib_atomic_flag_test should be defined in c++20"
3238 # if __cpp_lib_atomic_flag_test != 201907L
3239 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"
3242 # if !defined(_LIBCPP_VERSION)
3243 # ifndef __cpp_lib_atomic_float
3244 # error "__cpp_lib_atomic_float should be defined in c++20"
3246 # if __cpp_lib_atomic_float != 201711L
3247 # error "__cpp_lib_atomic_float should have the value 201711L in c++20"
3249 # else // _LIBCPP_VERSION
3250 # ifdef __cpp_lib_atomic_float
3251 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
3255 # ifndef __cpp_lib_atomic_is_always_lock_free
3256 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"
3258 # if __cpp_lib_atomic_is_always_lock_free != 201603L
3259 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"
3262 # ifndef __cpp_lib_atomic_lock_free_type_aliases
3263 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"
3265 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
3266 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"
3269 # ifdef __cpp_lib_atomic_min_max
3270 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
3273 # ifndef __cpp_lib_atomic_ref
3274 # error "__cpp_lib_atomic_ref should be defined in c++20"
3276 # if __cpp_lib_atomic_ref != 201806L
3277 # error "__cpp_lib_atomic_ref should have the value 201806L in c++20"
3280 # if !defined(_LIBCPP_VERSION)
3281 # ifndef __cpp_lib_atomic_shared_ptr
3282 # error "__cpp_lib_atomic_shared_ptr should be defined in c++20"
3284 # if __cpp_lib_atomic_shared_ptr != 201711L
3285 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"
3287 # else // _LIBCPP_VERSION
3288 # ifdef __cpp_lib_atomic_shared_ptr
3289 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
3293 # ifndef __cpp_lib_atomic_value_initialization
3294 # error "__cpp_lib_atomic_value_initialization should be defined in c++20"
3296 # if __cpp_lib_atomic_value_initialization != 201911L
3297 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"
3300 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
3301 # ifndef __cpp_lib_atomic_wait
3302 # error "__cpp_lib_atomic_wait should be defined in c++20"
3304 # if __cpp_lib_atomic_wait != 201907L
3305 # error "__cpp_lib_atomic_wait should have the value 201907L in c++20"
3308 # ifdef __cpp_lib_atomic_wait
3309 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
3313 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3314 # ifndef __cpp_lib_barrier
3315 # error "__cpp_lib_barrier should be defined in c++20"
3317 # if __cpp_lib_barrier != 201907L
3318 # error "__cpp_lib_barrier should have the value 201907L in c++20"
3321 # ifdef __cpp_lib_barrier
3322 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3326 # ifdef __cpp_lib_bind_back
3327 # error "__cpp_lib_bind_back should not be defined before c++23"
3330 # ifndef __cpp_lib_bind_front
3331 # error "__cpp_lib_bind_front should be defined in c++20"
3333 # if __cpp_lib_bind_front != 201907L
3334 # error "__cpp_lib_bind_front should have the value 201907L in c++20"
3337 # ifndef __cpp_lib_bit_cast
3338 # error "__cpp_lib_bit_cast should be defined in c++20"
3340 # if __cpp_lib_bit_cast != 201806L
3341 # error "__cpp_lib_bit_cast should have the value 201806L in c++20"
3344 # ifndef __cpp_lib_bitops
3345 # error "__cpp_lib_bitops should be defined in c++20"
3347 # if __cpp_lib_bitops != 201907L
3348 # error "__cpp_lib_bitops should have the value 201907L in c++20"
3351 # ifdef __cpp_lib_bitset
3352 # error "__cpp_lib_bitset should not be defined before c++26"
3355 # ifndef __cpp_lib_bool_constant
3356 # error "__cpp_lib_bool_constant should be defined in c++20"
3358 # if __cpp_lib_bool_constant != 201505L
3359 # error "__cpp_lib_bool_constant should have the value 201505L in c++20"
3362 # ifndef __cpp_lib_bounded_array_traits
3363 # error "__cpp_lib_bounded_array_traits should be defined in c++20"
3365 # if __cpp_lib_bounded_array_traits != 201902L
3366 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"
3369 # ifndef __cpp_lib_boyer_moore_searcher
3370 # error "__cpp_lib_boyer_moore_searcher should be defined in c++20"
3372 # if __cpp_lib_boyer_moore_searcher != 201603L
3373 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"
3376 # ifndef __cpp_lib_byte
3377 # error "__cpp_lib_byte should be defined in c++20"
3379 # if __cpp_lib_byte != 201603L
3380 # error "__cpp_lib_byte should have the value 201603L in c++20"
3383 # ifdef __cpp_lib_byteswap
3384 # error "__cpp_lib_byteswap should not be defined before c++23"
3387 # if defined(__cpp_char8_t)
3388 # ifndef __cpp_lib_char8_t
3389 # error "__cpp_lib_char8_t should be defined in c++20"
3391 # if __cpp_lib_char8_t != 201907L
3392 # error "__cpp_lib_char8_t should have the value 201907L in c++20"
3395 # ifdef __cpp_lib_char8_t
3396 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
3400 # ifndef __cpp_lib_chrono
3401 # error "__cpp_lib_chrono should be defined in c++20"
3403 # if __cpp_lib_chrono != 201611L
3404 # error "__cpp_lib_chrono should have the value 201611L in c++20"
3407 # ifndef __cpp_lib_chrono_udls
3408 # error "__cpp_lib_chrono_udls should be defined in c++20"
3410 # if __cpp_lib_chrono_udls != 201304L
3411 # error "__cpp_lib_chrono_udls should have the value 201304L in c++20"
3414 # ifndef __cpp_lib_clamp
3415 # error "__cpp_lib_clamp should be defined in c++20"
3417 # if __cpp_lib_clamp != 201603L
3418 # error "__cpp_lib_clamp should have the value 201603L in c++20"
3421 # ifndef __cpp_lib_complex_udls
3422 # error "__cpp_lib_complex_udls should be defined in c++20"
3424 # if __cpp_lib_complex_udls != 201309L
3425 # error "__cpp_lib_complex_udls should have the value 201309L in c++20"
3428 # ifndef __cpp_lib_concepts
3429 # error "__cpp_lib_concepts should be defined in c++20"
3431 # if __cpp_lib_concepts != 202002L
3432 # error "__cpp_lib_concepts should have the value 202002L in c++20"
3435 # ifndef __cpp_lib_constexpr_algorithms
3436 # error "__cpp_lib_constexpr_algorithms should be defined in c++20"
3438 # if __cpp_lib_constexpr_algorithms != 201806L
3439 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"
3442 # ifdef __cpp_lib_constexpr_bitset
3443 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
3446 # ifdef __cpp_lib_constexpr_charconv
3447 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
3450 # ifdef __cpp_lib_constexpr_cmath
3451 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
3454 # ifndef __cpp_lib_constexpr_complex
3455 # error "__cpp_lib_constexpr_complex should be defined in c++20"
3457 # if __cpp_lib_constexpr_complex != 201711L
3458 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"
3461 # ifndef __cpp_lib_constexpr_dynamic_alloc
3462 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"
3464 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
3465 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
3468 # ifndef __cpp_lib_constexpr_functional
3469 # error "__cpp_lib_constexpr_functional should be defined in c++20"
3471 # if __cpp_lib_constexpr_functional != 201907L
3472 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
3475 # ifndef __cpp_lib_constexpr_iterator
3476 # error "__cpp_lib_constexpr_iterator should be defined in c++20"
3478 # if __cpp_lib_constexpr_iterator != 201811L
3479 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"
3482 # ifndef __cpp_lib_constexpr_memory
3483 # error "__cpp_lib_constexpr_memory should be defined in c++20"
3485 # if __cpp_lib_constexpr_memory != 201811L
3486 # error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
3489 # ifdef __cpp_lib_constexpr_new
3490 # error "__cpp_lib_constexpr_new should not be defined before c++26"
3493 # ifndef __cpp_lib_constexpr_numeric
3494 # error "__cpp_lib_constexpr_numeric should be defined in c++20"
3496 # if __cpp_lib_constexpr_numeric != 201911L
3497 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"
3500 # ifndef __cpp_lib_constexpr_string
3501 # error "__cpp_lib_constexpr_string should be defined in c++20"
3503 # if __cpp_lib_constexpr_string != 201907L
3504 # error "__cpp_lib_constexpr_string should have the value 201907L in c++20"
3507 # ifndef __cpp_lib_constexpr_string_view
3508 # error "__cpp_lib_constexpr_string_view should be defined in c++20"
3510 # if __cpp_lib_constexpr_string_view != 201811L
3511 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"
3514 # ifndef __cpp_lib_constexpr_tuple
3515 # error "__cpp_lib_constexpr_tuple should be defined in c++20"
3517 # if __cpp_lib_constexpr_tuple != 201811L
3518 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"
3521 # ifdef __cpp_lib_constexpr_typeinfo
3522 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
3525 # ifndef __cpp_lib_constexpr_utility
3526 # error "__cpp_lib_constexpr_utility should be defined in c++20"
3528 # if __cpp_lib_constexpr_utility != 201811L
3529 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"
3532 # ifndef __cpp_lib_constexpr_vector
3533 # error "__cpp_lib_constexpr_vector should be defined in c++20"
3535 # if __cpp_lib_constexpr_vector != 201907L
3536 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
3539 # ifdef __cpp_lib_constrained_equality
3540 # error "__cpp_lib_constrained_equality should not be defined before c++26"
3543 # ifdef __cpp_lib_containers_ranges
3544 # error "__cpp_lib_containers_ranges should not be defined before c++23"
3547 # ifdef __cpp_lib_copyable_function
3548 # error "__cpp_lib_copyable_function should not be defined before c++26"
3551 # ifndef __cpp_lib_coroutine
3552 # error "__cpp_lib_coroutine should be defined in c++20"
3554 # if __cpp_lib_coroutine != 201902L
3555 # error "__cpp_lib_coroutine should have the value 201902L in c++20"
3558 # ifdef __cpp_lib_debugging
3559 # error "__cpp_lib_debugging should not be defined before c++26"
3562 # ifdef __cpp_lib_default_template_type_for_algorithm_values
3563 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
3566 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
3567 # ifndef __cpp_lib_destroying_delete
3568 # error "__cpp_lib_destroying_delete should be defined in c++20"
3570 # if __cpp_lib_destroying_delete != 201806L
3571 # error "__cpp_lib_destroying_delete should have the value 201806L in c++20"
3574 # ifdef __cpp_lib_destroying_delete
3575 # error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
3579 # ifndef __cpp_lib_enable_shared_from_this
3580 # error "__cpp_lib_enable_shared_from_this should be defined in c++20"
3582 # if __cpp_lib_enable_shared_from_this != 201603L
3583 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"
3586 # ifndef __cpp_lib_endian
3587 # error "__cpp_lib_endian should be defined in c++20"
3589 # if __cpp_lib_endian != 201907L
3590 # error "__cpp_lib_endian should have the value 201907L in c++20"
3593 # ifndef __cpp_lib_erase_if
3594 # error "__cpp_lib_erase_if should be defined in c++20"
3596 # if __cpp_lib_erase_if != 202002L
3597 # error "__cpp_lib_erase_if should have the value 202002L in c++20"
3600 # ifndef __cpp_lib_exchange_function
3601 # error "__cpp_lib_exchange_function should be defined in c++20"
3603 # if __cpp_lib_exchange_function != 201304L
3604 # error "__cpp_lib_exchange_function should have the value 201304L in c++20"
3607 # if !defined(_LIBCPP_VERSION)
3608 # ifndef __cpp_lib_execution
3609 # error "__cpp_lib_execution should be defined in c++20"
3611 # if __cpp_lib_execution != 201902L
3612 # error "__cpp_lib_execution should have the value 201902L in c++20"
3614 # else // _LIBCPP_VERSION
3615 # ifdef __cpp_lib_execution
3616 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
3620 # ifdef __cpp_lib_expected
3621 # error "__cpp_lib_expected should not be defined before c++23"
3624 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
3625 # ifndef __cpp_lib_filesystem
3626 # error "__cpp_lib_filesystem should be defined in c++20"
3628 # if __cpp_lib_filesystem != 201703L
3629 # error "__cpp_lib_filesystem should have the value 201703L in c++20"
3632 # ifdef __cpp_lib_filesystem
3633 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
3637 # ifndef __cpp_lib_format
3638 # error "__cpp_lib_format should be defined in c++20"
3640 # if __cpp_lib_format != 202110L
3641 # error "__cpp_lib_format should have the value 202110L in c++20"
3644 # ifdef __cpp_lib_format_path
3645 # error "__cpp_lib_format_path should not be defined before c++26"
3648 # ifdef __cpp_lib_format_ranges
3649 # error "__cpp_lib_format_ranges should not be defined before c++23"
3652 # ifndef __cpp_lib_format_uchar
3653 # error "__cpp_lib_format_uchar should be defined in c++20"
3655 # if __cpp_lib_format_uchar != 202311L
3656 # error "__cpp_lib_format_uchar should have the value 202311L in c++20"
3659 # ifdef __cpp_lib_formatters
3660 # error "__cpp_lib_formatters should not be defined before c++23"
3663 # ifdef __cpp_lib_forward_like
3664 # error "__cpp_lib_forward_like should not be defined before c++23"
3667 # ifdef __cpp_lib_freestanding_algorithm
3668 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
3671 # ifdef __cpp_lib_freestanding_array
3672 # error "__cpp_lib_freestanding_array should not be defined before c++26"
3675 # ifdef __cpp_lib_freestanding_cstring
3676 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
3679 # ifdef __cpp_lib_freestanding_expected
3680 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
3683 # ifdef __cpp_lib_freestanding_mdspan
3684 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
3687 # ifdef __cpp_lib_freestanding_optional
3688 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
3691 # ifdef __cpp_lib_freestanding_string_view
3692 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
3695 # ifdef __cpp_lib_freestanding_variant
3696 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
3699 # ifdef __cpp_lib_fstream_native_handle
3700 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
3703 # ifdef __cpp_lib_function_ref
3704 # error "__cpp_lib_function_ref should not be defined before c++26"
3707 # ifndef __cpp_lib_gcd_lcm
3708 # error "__cpp_lib_gcd_lcm should be defined in c++20"
3710 # if __cpp_lib_gcd_lcm != 201606L
3711 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"
3714 # ifdef __cpp_lib_generate_random
3715 # error "__cpp_lib_generate_random should not be defined before c++26"
3718 # ifndef __cpp_lib_generic_associative_lookup
3719 # error "__cpp_lib_generic_associative_lookup should be defined in c++20"
3721 # if __cpp_lib_generic_associative_lookup != 201304L
3722 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"
3725 # ifndef __cpp_lib_generic_unordered_lookup
3726 # error "__cpp_lib_generic_unordered_lookup should be defined in c++20"
3728 # if __cpp_lib_generic_unordered_lookup != 201811L
3729 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"
3732 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
3733 # ifndef __cpp_lib_hardware_interference_size
3734 # error "__cpp_lib_hardware_interference_size should be defined in c++20"
3736 # if __cpp_lib_hardware_interference_size != 201703L
3737 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"
3740 # ifdef __cpp_lib_hardware_interference_size
3741 # error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
3745 # ifndef __cpp_lib_has_unique_object_representations
3746 # error "__cpp_lib_has_unique_object_representations should be defined in c++20"
3748 # if __cpp_lib_has_unique_object_representations != 201606L
3749 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
3752 # ifdef __cpp_lib_hazard_pointer
3753 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
3756 # ifndef __cpp_lib_hypot
3757 # error "__cpp_lib_hypot should be defined in c++20"
3759 # if __cpp_lib_hypot != 201603L
3760 # error "__cpp_lib_hypot should have the value 201603L in c++20"
3763 # ifndef __cpp_lib_incomplete_container_elements
3764 # error "__cpp_lib_incomplete_container_elements should be defined in c++20"
3766 # if __cpp_lib_incomplete_container_elements != 201505L
3767 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"
3770 # ifdef __cpp_lib_inplace_vector
3771 # error "__cpp_lib_inplace_vector should not be defined before c++26"
3774 # ifndef __cpp_lib_int_pow2
3775 # error "__cpp_lib_int_pow2 should be defined in c++20"
3777 # if __cpp_lib_int_pow2 != 202002L
3778 # error "__cpp_lib_int_pow2 should have the value 202002L in c++20"
3781 # ifndef __cpp_lib_integer_comparison_functions
3782 # error "__cpp_lib_integer_comparison_functions should be defined in c++20"
3784 # if __cpp_lib_integer_comparison_functions != 202002L
3785 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"
3788 # ifndef __cpp_lib_integer_sequence
3789 # error "__cpp_lib_integer_sequence should be defined in c++20"
3791 # if __cpp_lib_integer_sequence != 201304L
3792 # error "__cpp_lib_integer_sequence should have the value 201304L in c++20"
3795 # ifndef __cpp_lib_integral_constant_callable
3796 # error "__cpp_lib_integral_constant_callable should be defined in c++20"
3798 # if __cpp_lib_integral_constant_callable != 201304L
3799 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"
3802 # ifndef __cpp_lib_interpolate
3803 # error "__cpp_lib_interpolate should be defined in c++20"
3805 # if __cpp_lib_interpolate != 201902L
3806 # error "__cpp_lib_interpolate should have the value 201902L in c++20"
3809 # ifndef __cpp_lib_invoke
3810 # error "__cpp_lib_invoke should be defined in c++20"
3812 # if __cpp_lib_invoke != 201411L
3813 # error "__cpp_lib_invoke should have the value 201411L in c++20"
3816 # ifdef __cpp_lib_invoke_r
3817 # error "__cpp_lib_invoke_r should not be defined before c++23"
3820 # ifdef __cpp_lib_ios_noreplace
3821 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
3824 # ifndef __cpp_lib_is_aggregate
3825 # error "__cpp_lib_is_aggregate should be defined in c++20"
3827 # if __cpp_lib_is_aggregate != 201703L
3828 # error "__cpp_lib_is_aggregate should have the value 201703L in c++20"
3831 # ifndef __cpp_lib_is_constant_evaluated
3832 # error "__cpp_lib_is_constant_evaluated should be defined in c++20"
3834 # if __cpp_lib_is_constant_evaluated != 201811L
3835 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"
3838 # ifndef __cpp_lib_is_final
3839 # error "__cpp_lib_is_final should be defined in c++20"
3841 # if __cpp_lib_is_final != 201402L
3842 # error "__cpp_lib_is_final should have the value 201402L in c++20"
3845 # ifndef __cpp_lib_is_invocable
3846 # error "__cpp_lib_is_invocable should be defined in c++20"
3848 # if __cpp_lib_is_invocable != 201703L
3849 # error "__cpp_lib_is_invocable should have the value 201703L in c++20"
3852 # if !defined(_LIBCPP_VERSION)
3853 # ifndef __cpp_lib_is_layout_compatible
3854 # error "__cpp_lib_is_layout_compatible should be defined in c++20"
3856 # if __cpp_lib_is_layout_compatible != 201907L
3857 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"
3859 # else // _LIBCPP_VERSION
3860 # ifdef __cpp_lib_is_layout_compatible
3861 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
3865 # ifndef __cpp_lib_is_nothrow_convertible
3866 # error "__cpp_lib_is_nothrow_convertible should be defined in c++20"
3868 # if __cpp_lib_is_nothrow_convertible != 201806L
3869 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"
3872 # ifndef __cpp_lib_is_null_pointer
3873 # error "__cpp_lib_is_null_pointer should be defined in c++20"
3875 # if __cpp_lib_is_null_pointer != 201309L
3876 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"
3879 # if !defined(_LIBCPP_VERSION)
3880 # ifndef __cpp_lib_is_pointer_interconvertible
3881 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"
3883 # if __cpp_lib_is_pointer_interconvertible != 201907L
3884 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"
3886 # else // _LIBCPP_VERSION
3887 # ifdef __cpp_lib_is_pointer_interconvertible
3888 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
3892 # ifdef __cpp_lib_is_scoped_enum
3893 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
3896 # ifndef __cpp_lib_is_swappable
3897 # error "__cpp_lib_is_swappable should be defined in c++20"
3899 # if __cpp_lib_is_swappable != 201603L
3900 # error "__cpp_lib_is_swappable should have the value 201603L in c++20"
3903 # ifdef __cpp_lib_is_virtual_base_of
3904 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
3907 # ifdef __cpp_lib_is_within_lifetime
3908 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
3911 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3912 # ifndef __cpp_lib_jthread
3913 # error "__cpp_lib_jthread should be defined in c++20"
3915 # if __cpp_lib_jthread != 201911L
3916 # error "__cpp_lib_jthread should have the value 201911L in c++20"
3919 # ifdef __cpp_lib_jthread
3920 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3924 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3925 # ifndef __cpp_lib_latch
3926 # error "__cpp_lib_latch should be defined in c++20"
3928 # if __cpp_lib_latch != 201907L
3929 # error "__cpp_lib_latch should have the value 201907L in c++20"
3932 # ifdef __cpp_lib_latch
3933 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3937 # ifndef __cpp_lib_launder
3938 # error "__cpp_lib_launder should be defined in c++20"
3940 # if __cpp_lib_launder != 201606L
3941 # error "__cpp_lib_launder should have the value 201606L in c++20"
3944 # ifdef __cpp_lib_linalg
3945 # error "__cpp_lib_linalg should not be defined before c++26"
3948 # ifndef __cpp_lib_list_remove_return_type
3949 # error "__cpp_lib_list_remove_return_type should be defined in c++20"
3951 # if __cpp_lib_list_remove_return_type != 201806L
3952 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"
3955 # ifndef __cpp_lib_logical_traits
3956 # error "__cpp_lib_logical_traits should be defined in c++20"
3958 # if __cpp_lib_logical_traits != 201510L
3959 # error "__cpp_lib_logical_traits should have the value 201510L in c++20"
3962 # ifndef __cpp_lib_make_from_tuple
3963 # error "__cpp_lib_make_from_tuple should be defined in c++20"
3965 # if __cpp_lib_make_from_tuple != 201606L
3966 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"
3969 # ifndef __cpp_lib_make_reverse_iterator
3970 # error "__cpp_lib_make_reverse_iterator should be defined in c++20"
3972 # if __cpp_lib_make_reverse_iterator != 201402L
3973 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"
3976 # ifndef __cpp_lib_make_unique
3977 # error "__cpp_lib_make_unique should be defined in c++20"
3979 # if __cpp_lib_make_unique != 201304L
3980 # error "__cpp_lib_make_unique should have the value 201304L in c++20"
3983 # ifndef __cpp_lib_map_try_emplace
3984 # error "__cpp_lib_map_try_emplace should be defined in c++20"
3986 # if __cpp_lib_map_try_emplace != 201411L
3987 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"
3990 # ifndef __cpp_lib_math_constants
3991 # error "__cpp_lib_math_constants should be defined in c++20"
3993 # if __cpp_lib_math_constants != 201907L
3994 # error "__cpp_lib_math_constants should have the value 201907L in c++20"
3997 # if !defined(_LIBCPP_VERSION)
3998 # ifndef __cpp_lib_math_special_functions
3999 # error "__cpp_lib_math_special_functions should be defined in c++20"
4001 # if __cpp_lib_math_special_functions != 201603L
4002 # error "__cpp_lib_math_special_functions should have the value 201603L in c++20"
4004 # else // _LIBCPP_VERSION
4005 # ifdef __cpp_lib_math_special_functions
4006 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
4010 # ifdef __cpp_lib_mdspan
4011 # error "__cpp_lib_mdspan should not be defined before c++23"
4014 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4015 # ifndef __cpp_lib_memory_resource
4016 # error "__cpp_lib_memory_resource should be defined in c++20"
4018 # if __cpp_lib_memory_resource != 201603L
4019 # error "__cpp_lib_memory_resource should have the value 201603L in c++20"
4022 # ifdef __cpp_lib_memory_resource
4023 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4027 # ifdef __cpp_lib_modules
4028 # error "__cpp_lib_modules should not be defined before c++23"
4031 # ifndef __cpp_lib_move_iterator_concept
4032 # error "__cpp_lib_move_iterator_concept should be defined in c++20"
4034 # if __cpp_lib_move_iterator_concept != 202207L
4035 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20"
4038 # ifdef __cpp_lib_move_only_function
4039 # error "__cpp_lib_move_only_function should not be defined before c++23"
4042 # ifndef __cpp_lib_node_extract
4043 # error "__cpp_lib_node_extract should be defined in c++20"
4045 # if __cpp_lib_node_extract != 201606L
4046 # error "__cpp_lib_node_extract should have the value 201606L in c++20"
4049 # ifndef __cpp_lib_nonmember_container_access
4050 # error "__cpp_lib_nonmember_container_access should be defined in c++20"
4052 # if __cpp_lib_nonmember_container_access != 201411L
4053 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"
4056 # ifndef __cpp_lib_not_fn
4057 # error "__cpp_lib_not_fn should be defined in c++20"
4059 # if __cpp_lib_not_fn != 201603L
4060 # error "__cpp_lib_not_fn should have the value 201603L in c++20"
4063 # ifndef __cpp_lib_null_iterators
4064 # error "__cpp_lib_null_iterators should be defined in c++20"
4066 # if __cpp_lib_null_iterators != 201304L
4067 # error "__cpp_lib_null_iterators should have the value 201304L in c++20"
4070 # ifndef __cpp_lib_optional
4071 # error "__cpp_lib_optional should be defined in c++20"
4073 # if __cpp_lib_optional != 201606L
4074 # error "__cpp_lib_optional should have the value 201606L in c++20"
4077 # ifdef __cpp_lib_optional_range_support
4078 # error "__cpp_lib_optional_range_support should not be defined before c++26"
4081 # ifdef __cpp_lib_out_ptr
4082 # error "__cpp_lib_out_ptr should not be defined before c++23"
4085 # if !defined(_LIBCPP_VERSION)
4086 # ifndef __cpp_lib_parallel_algorithm
4087 # error "__cpp_lib_parallel_algorithm should be defined in c++20"
4089 # if __cpp_lib_parallel_algorithm != 201603L
4090 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"
4092 # else // _LIBCPP_VERSION
4093 # ifdef __cpp_lib_parallel_algorithm
4094 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
4098 # ifdef __cpp_lib_philox_engine
4099 # error "__cpp_lib_philox_engine should not be defined before c++26"
4102 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4103 # ifndef __cpp_lib_polymorphic_allocator
4104 # error "__cpp_lib_polymorphic_allocator should be defined in c++20"
4106 # if __cpp_lib_polymorphic_allocator != 201902L
4107 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"
4110 # ifdef __cpp_lib_polymorphic_allocator
4111 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4115 # ifdef __cpp_lib_print
4116 # error "__cpp_lib_print should not be defined before c++23"
4119 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
4120 # ifndef __cpp_lib_quoted_string_io
4121 # error "__cpp_lib_quoted_string_io should be defined in c++20"
4123 # if __cpp_lib_quoted_string_io != 201304L
4124 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"
4127 # ifdef __cpp_lib_quoted_string_io
4128 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
4132 # ifndef __cpp_lib_ranges
4133 # error "__cpp_lib_ranges should be defined in c++20"
4135 # if __cpp_lib_ranges != 202207L
4136 # error "__cpp_lib_ranges should have the value 202207L in c++20"
4139 # ifdef __cpp_lib_ranges_as_const
4140 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
4143 # ifdef __cpp_lib_ranges_as_rvalue
4144 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
4147 # ifdef __cpp_lib_ranges_chunk
4148 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
4151 # ifdef __cpp_lib_ranges_chunk_by
4152 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
4155 # ifdef __cpp_lib_ranges_concat
4156 # error "__cpp_lib_ranges_concat should not be defined before c++26"
4159 # ifdef __cpp_lib_ranges_contains
4160 # error "__cpp_lib_ranges_contains should not be defined before c++23"
4163 # ifdef __cpp_lib_ranges_find_last
4164 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
4167 # ifdef __cpp_lib_ranges_iota
4168 # error "__cpp_lib_ranges_iota should not be defined before c++23"
4171 # ifdef __cpp_lib_ranges_join_with
4172 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
4175 # ifdef __cpp_lib_ranges_repeat
4176 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
4179 # ifdef __cpp_lib_ranges_slide
4180 # error "__cpp_lib_ranges_slide should not be defined before c++23"
4183 # ifdef __cpp_lib_ranges_starts_ends_with
4184 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
4187 # ifdef __cpp_lib_ranges_to_container
4188 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
4191 # ifdef __cpp_lib_ranges_zip
4192 # error "__cpp_lib_ranges_zip should not be defined before c++23"
4195 # ifdef __cpp_lib_ratio
4196 # error "__cpp_lib_ratio should not be defined before c++26"
4199 # ifndef __cpp_lib_raw_memory_algorithms
4200 # error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
4202 # if __cpp_lib_raw_memory_algorithms != 201606L
4203 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
4206 # ifdef __cpp_lib_rcu
4207 # error "__cpp_lib_rcu should not be defined before c++26"
4210 # ifdef __cpp_lib_reference_from_temporary
4211 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
4214 # ifdef __cpp_lib_reference_wrapper
4215 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
4218 # ifndef __cpp_lib_remove_cvref
4219 # error "__cpp_lib_remove_cvref should be defined in c++20"
4221 # if __cpp_lib_remove_cvref != 201711L
4222 # error "__cpp_lib_remove_cvref should have the value 201711L in c++20"
4225 # ifndef __cpp_lib_result_of_sfinae
4226 # error "__cpp_lib_result_of_sfinae should be defined in c++20"
4228 # if __cpp_lib_result_of_sfinae != 201210L
4229 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"
4232 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
4233 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"
4235 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
4236 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"
4239 # ifndef __cpp_lib_sample
4240 # error "__cpp_lib_sample should be defined in c++20"
4242 # if __cpp_lib_sample != 201603L
4243 # error "__cpp_lib_sample should have the value 201603L in c++20"
4246 # ifdef __cpp_lib_saturation_arithmetic
4247 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
4250 # if !defined(_LIBCPP_HAS_NO_THREADS)
4251 # ifndef __cpp_lib_scoped_lock
4252 # error "__cpp_lib_scoped_lock should be defined in c++20"
4254 # if __cpp_lib_scoped_lock != 201703L
4255 # error "__cpp_lib_scoped_lock should have the value 201703L in c++20"
4258 # ifdef __cpp_lib_scoped_lock
4259 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4263 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4264 # ifndef __cpp_lib_semaphore
4265 # error "__cpp_lib_semaphore should be defined in c++20"
4267 # if __cpp_lib_semaphore != 201907L
4268 # error "__cpp_lib_semaphore should have the value 201907L in c++20"
4271 # ifdef __cpp_lib_semaphore
4272 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
4276 # ifdef __cpp_lib_senders
4277 # error "__cpp_lib_senders should not be defined before c++26"
4280 # if !defined(_LIBCPP_HAS_NO_THREADS)
4281 # ifndef __cpp_lib_shared_mutex
4282 # error "__cpp_lib_shared_mutex should be defined in c++20"
4284 # if __cpp_lib_shared_mutex != 201505L
4285 # error "__cpp_lib_shared_mutex should have the value 201505L in c++20"
4288 # ifdef __cpp_lib_shared_mutex
4289 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4293 # ifndef __cpp_lib_shared_ptr_arrays
4294 # error "__cpp_lib_shared_ptr_arrays should be defined in c++20"
4296 # if __cpp_lib_shared_ptr_arrays != 201707L
4297 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20"
4300 # ifndef __cpp_lib_shared_ptr_weak_type
4301 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"
4303 # if __cpp_lib_shared_ptr_weak_type != 201606L
4304 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"
4307 # if !defined(_LIBCPP_HAS_NO_THREADS)
4308 # ifndef __cpp_lib_shared_timed_mutex
4309 # error "__cpp_lib_shared_timed_mutex should be defined in c++20"
4311 # if __cpp_lib_shared_timed_mutex != 201402L
4312 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"
4315 # ifdef __cpp_lib_shared_timed_mutex
4316 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4320 # ifndef __cpp_lib_shift
4321 # error "__cpp_lib_shift should be defined in c++20"
4323 # if __cpp_lib_shift != 201806L
4324 # error "__cpp_lib_shift should have the value 201806L in c++20"
4327 # if !defined(_LIBCPP_VERSION)
4328 # ifndef __cpp_lib_smart_ptr_for_overwrite
4329 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"
4331 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
4332 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"
4334 # else // _LIBCPP_VERSION
4335 # ifdef __cpp_lib_smart_ptr_for_overwrite
4336 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
4340 # ifdef __cpp_lib_smart_ptr_owner_equality
4341 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
4344 # ifndef __cpp_lib_source_location
4345 # error "__cpp_lib_source_location should be defined in c++20"
4347 # if __cpp_lib_source_location != 201907L
4348 # error "__cpp_lib_source_location should have the value 201907L in c++20"
4351 # ifndef __cpp_lib_span
4352 # error "__cpp_lib_span should be defined in c++20"
4354 # if __cpp_lib_span != 202002L
4355 # error "__cpp_lib_span should have the value 202002L in c++20"
4358 # ifdef __cpp_lib_span_at
4359 # error "__cpp_lib_span_at should not be defined before c++26"
4362 # ifdef __cpp_lib_span_initializer_list
4363 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
4366 # ifdef __cpp_lib_spanstream
4367 # error "__cpp_lib_spanstream should not be defined before c++23"
4370 # ifndef __cpp_lib_ssize
4371 # error "__cpp_lib_ssize should be defined in c++20"
4373 # if __cpp_lib_ssize != 201902L
4374 # error "__cpp_lib_ssize should have the value 201902L in c++20"
4377 # ifdef __cpp_lib_sstream_from_string_view
4378 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
4381 # ifdef __cpp_lib_stacktrace
4382 # error "__cpp_lib_stacktrace should not be defined before c++23"
4385 # ifndef __cpp_lib_starts_ends_with
4386 # error "__cpp_lib_starts_ends_with should be defined in c++20"
4388 # if __cpp_lib_starts_ends_with != 201711L
4389 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"
4392 # ifdef __cpp_lib_stdatomic_h
4393 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
4396 # ifdef __cpp_lib_string_contains
4397 # error "__cpp_lib_string_contains should not be defined before c++23"
4400 # ifdef __cpp_lib_string_resize_and_overwrite
4401 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
4404 # ifndef __cpp_lib_string_udls
4405 # error "__cpp_lib_string_udls should be defined in c++20"
4407 # if __cpp_lib_string_udls != 201304L
4408 # error "__cpp_lib_string_udls should have the value 201304L in c++20"
4411 # ifndef __cpp_lib_string_view
4412 # error "__cpp_lib_string_view should be defined in c++20"
4414 # if __cpp_lib_string_view != 201803L
4415 # error "__cpp_lib_string_view should have the value 201803L in c++20"
4418 # ifdef __cpp_lib_submdspan
4419 # error "__cpp_lib_submdspan should not be defined before c++26"
4422 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
4423 # ifndef __cpp_lib_syncbuf
4424 # error "__cpp_lib_syncbuf should be defined in c++20"
4426 # if __cpp_lib_syncbuf != 201803L
4427 # error "__cpp_lib_syncbuf should have the value 201803L in c++20"
4430 # ifdef __cpp_lib_syncbuf
4431 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
4435 # ifdef __cpp_lib_text_encoding
4436 # error "__cpp_lib_text_encoding should not be defined before c++26"
4439 # ifndef __cpp_lib_three_way_comparison
4440 # error "__cpp_lib_three_way_comparison should be defined in c++20"
4442 # if __cpp_lib_three_way_comparison != 201907L
4443 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
4446 # ifndef __cpp_lib_to_address
4447 # error "__cpp_lib_to_address should be defined in c++20"
4449 # if __cpp_lib_to_address != 201711L
4450 # error "__cpp_lib_to_address should have the value 201711L in c++20"
4453 # ifndef __cpp_lib_to_array
4454 # error "__cpp_lib_to_array should be defined in c++20"
4456 # if __cpp_lib_to_array != 201907L
4457 # error "__cpp_lib_to_array should have the value 201907L in c++20"
4460 # if !defined(_LIBCPP_VERSION)
4461 # ifndef __cpp_lib_to_chars
4462 # error "__cpp_lib_to_chars should be defined in c++20"
4464 # if __cpp_lib_to_chars != 201611L
4465 # error "__cpp_lib_to_chars should have the value 201611L in c++20"
4467 # else // _LIBCPP_VERSION
4468 # ifdef __cpp_lib_to_chars
4469 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
4473 # ifdef __cpp_lib_to_string
4474 # error "__cpp_lib_to_string should not be defined before c++26"
4477 # ifdef __cpp_lib_to_underlying
4478 # error "__cpp_lib_to_underlying should not be defined before c++23"
4481 # ifndef __cpp_lib_transformation_trait_aliases
4482 # error "__cpp_lib_transformation_trait_aliases should be defined in c++20"
4484 # if __cpp_lib_transformation_trait_aliases != 201304L
4485 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"
4488 # ifndef __cpp_lib_transparent_operators
4489 # error "__cpp_lib_transparent_operators should be defined in c++20"
4491 # if __cpp_lib_transparent_operators != 201510L
4492 # error "__cpp_lib_transparent_operators should have the value 201510L in c++20"
4495 # ifndef __cpp_lib_tuple_element_t
4496 # error "__cpp_lib_tuple_element_t should be defined in c++20"
4498 # if __cpp_lib_tuple_element_t != 201402L
4499 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"
4502 # ifdef __cpp_lib_tuple_like
4503 # error "__cpp_lib_tuple_like should not be defined before c++23"
4506 # ifndef __cpp_lib_tuples_by_type
4507 # error "__cpp_lib_tuples_by_type should be defined in c++20"
4509 # if __cpp_lib_tuples_by_type != 201304L
4510 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"
4513 # ifndef __cpp_lib_type_identity
4514 # error "__cpp_lib_type_identity should be defined in c++20"
4516 # if __cpp_lib_type_identity != 201806L
4517 # error "__cpp_lib_type_identity should have the value 201806L in c++20"
4520 # ifndef __cpp_lib_type_trait_variable_templates
4521 # error "__cpp_lib_type_trait_variable_templates should be defined in c++20"
4523 # if __cpp_lib_type_trait_variable_templates != 201510L
4524 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"
4527 # ifndef __cpp_lib_uncaught_exceptions
4528 # error "__cpp_lib_uncaught_exceptions should be defined in c++20"
4530 # if __cpp_lib_uncaught_exceptions != 201411L
4531 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"
4534 # ifndef __cpp_lib_unordered_map_try_emplace
4535 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"
4537 # if __cpp_lib_unordered_map_try_emplace != 201411L
4538 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"
4541 # ifdef __cpp_lib_unreachable
4542 # error "__cpp_lib_unreachable should not be defined before c++23"
4545 # ifndef __cpp_lib_unwrap_ref
4546 # error "__cpp_lib_unwrap_ref should be defined in c++20"
4548 # if __cpp_lib_unwrap_ref != 201811L
4549 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"
4552 # ifndef __cpp_lib_variant
4553 # error "__cpp_lib_variant should be defined in c++20"
4555 # if __cpp_lib_variant != 202102L
4556 # error "__cpp_lib_variant should have the value 202102L in c++20"
4559 # ifndef __cpp_lib_void_t
4560 # error "__cpp_lib_void_t should be defined in c++20"
4562 # if __cpp_lib_void_t != 201411L
4563 # error "__cpp_lib_void_t should have the value 201411L in c++20"
4566 #elif TEST_STD_VER == 23
4568 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
4569 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++23"
4571 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
4572 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++23"
4575 # ifndef __cpp_lib_addressof_constexpr
4576 # error "__cpp_lib_addressof_constexpr should be defined in c++23"
4578 # if __cpp_lib_addressof_constexpr != 201603L
4579 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23"
4582 # ifndef __cpp_lib_allocate_at_least
4583 # error "__cpp_lib_allocate_at_least should be defined in c++23"
4585 # if __cpp_lib_allocate_at_least != 202302L
4586 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++23"
4589 # ifndef __cpp_lib_allocator_traits_is_always_equal
4590 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23"
4592 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
4593 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23"
4596 # ifndef __cpp_lib_any
4597 # error "__cpp_lib_any should be defined in c++23"
4599 # if __cpp_lib_any != 201606L
4600 # error "__cpp_lib_any should have the value 201606L in c++23"
4603 # ifndef __cpp_lib_apply
4604 # error "__cpp_lib_apply should be defined in c++23"
4606 # if __cpp_lib_apply != 201603L
4607 # error "__cpp_lib_apply should have the value 201603L in c++23"
4610 # ifndef __cpp_lib_array_constexpr
4611 # error "__cpp_lib_array_constexpr should be defined in c++23"
4613 # if __cpp_lib_array_constexpr != 201811L
4614 # error "__cpp_lib_array_constexpr should have the value 201811L in c++23"
4617 # ifndef __cpp_lib_as_const
4618 # error "__cpp_lib_as_const should be defined in c++23"
4620 # if __cpp_lib_as_const != 201510L
4621 # error "__cpp_lib_as_const should have the value 201510L in c++23"
4624 # if !defined(_LIBCPP_VERSION)
4625 # ifndef __cpp_lib_associative_heterogeneous_erasure
4626 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++23"
4628 # if __cpp_lib_associative_heterogeneous_erasure != 202110L
4629 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++23"
4631 # else // _LIBCPP_VERSION
4632 # ifdef __cpp_lib_associative_heterogeneous_erasure
4633 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
4637 # ifdef __cpp_lib_associative_heterogeneous_insertion
4638 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
4641 # ifndef __cpp_lib_assume_aligned
4642 # error "__cpp_lib_assume_aligned should be defined in c++23"
4644 # if __cpp_lib_assume_aligned != 201811L
4645 # error "__cpp_lib_assume_aligned should have the value 201811L in c++23"
4648 # ifndef __cpp_lib_atomic_flag_test
4649 # error "__cpp_lib_atomic_flag_test should be defined in c++23"
4651 # if __cpp_lib_atomic_flag_test != 201907L
4652 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++23"
4655 # if !defined(_LIBCPP_VERSION)
4656 # ifndef __cpp_lib_atomic_float
4657 # error "__cpp_lib_atomic_float should be defined in c++23"
4659 # if __cpp_lib_atomic_float != 201711L
4660 # error "__cpp_lib_atomic_float should have the value 201711L in c++23"
4662 # else // _LIBCPP_VERSION
4663 # ifdef __cpp_lib_atomic_float
4664 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
4668 # ifndef __cpp_lib_atomic_is_always_lock_free
4669 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++23"
4671 # if __cpp_lib_atomic_is_always_lock_free != 201603L
4672 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++23"
4675 # ifndef __cpp_lib_atomic_lock_free_type_aliases
4676 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++23"
4678 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
4679 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++23"
4682 # ifdef __cpp_lib_atomic_min_max
4683 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
4686 # ifndef __cpp_lib_atomic_ref
4687 # error "__cpp_lib_atomic_ref should be defined in c++23"
4689 # if __cpp_lib_atomic_ref != 201806L
4690 # error "__cpp_lib_atomic_ref should have the value 201806L in c++23"
4693 # if !defined(_LIBCPP_VERSION)
4694 # ifndef __cpp_lib_atomic_shared_ptr
4695 # error "__cpp_lib_atomic_shared_ptr should be defined in c++23"
4697 # if __cpp_lib_atomic_shared_ptr != 201711L
4698 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++23"
4700 # else // _LIBCPP_VERSION
4701 # ifdef __cpp_lib_atomic_shared_ptr
4702 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
4706 # ifndef __cpp_lib_atomic_value_initialization
4707 # error "__cpp_lib_atomic_value_initialization should be defined in c++23"
4709 # if __cpp_lib_atomic_value_initialization != 201911L
4710 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23"
4713 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
4714 # ifndef __cpp_lib_atomic_wait
4715 # error "__cpp_lib_atomic_wait should be defined in c++23"
4717 # if __cpp_lib_atomic_wait != 201907L
4718 # error "__cpp_lib_atomic_wait should have the value 201907L in c++23"
4721 # ifdef __cpp_lib_atomic_wait
4722 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
4726 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4727 # ifndef __cpp_lib_barrier
4728 # error "__cpp_lib_barrier should be defined in c++23"
4730 # if __cpp_lib_barrier != 201907L
4731 # error "__cpp_lib_barrier should have the value 201907L in c++23"
4734 # ifdef __cpp_lib_barrier
4735 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
4739 # ifndef __cpp_lib_bind_back
4740 # error "__cpp_lib_bind_back should be defined in c++23"
4742 # if __cpp_lib_bind_back != 202202L
4743 # error "__cpp_lib_bind_back should have the value 202202L in c++23"
4746 # ifndef __cpp_lib_bind_front
4747 # error "__cpp_lib_bind_front should be defined in c++23"
4749 # if __cpp_lib_bind_front != 201907L
4750 # error "__cpp_lib_bind_front should have the value 201907L in c++23"
4753 # ifndef __cpp_lib_bit_cast
4754 # error "__cpp_lib_bit_cast should be defined in c++23"
4756 # if __cpp_lib_bit_cast != 201806L
4757 # error "__cpp_lib_bit_cast should have the value 201806L in c++23"
4760 # ifndef __cpp_lib_bitops
4761 # error "__cpp_lib_bitops should be defined in c++23"
4763 # if __cpp_lib_bitops != 201907L
4764 # error "__cpp_lib_bitops should have the value 201907L in c++23"
4767 # ifdef __cpp_lib_bitset
4768 # error "__cpp_lib_bitset should not be defined before c++26"
4771 # ifndef __cpp_lib_bool_constant
4772 # error "__cpp_lib_bool_constant should be defined in c++23"
4774 # if __cpp_lib_bool_constant != 201505L
4775 # error "__cpp_lib_bool_constant should have the value 201505L in c++23"
4778 # ifndef __cpp_lib_bounded_array_traits
4779 # error "__cpp_lib_bounded_array_traits should be defined in c++23"
4781 # if __cpp_lib_bounded_array_traits != 201902L
4782 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++23"
4785 # ifndef __cpp_lib_boyer_moore_searcher
4786 # error "__cpp_lib_boyer_moore_searcher should be defined in c++23"
4788 # if __cpp_lib_boyer_moore_searcher != 201603L
4789 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23"
4792 # ifndef __cpp_lib_byte
4793 # error "__cpp_lib_byte should be defined in c++23"
4795 # if __cpp_lib_byte != 201603L
4796 # error "__cpp_lib_byte should have the value 201603L in c++23"
4799 # ifndef __cpp_lib_byteswap
4800 # error "__cpp_lib_byteswap should be defined in c++23"
4802 # if __cpp_lib_byteswap != 202110L
4803 # error "__cpp_lib_byteswap should have the value 202110L in c++23"
4806 # if defined(__cpp_char8_t)
4807 # ifndef __cpp_lib_char8_t
4808 # error "__cpp_lib_char8_t should be defined in c++23"
4810 # if __cpp_lib_char8_t != 201907L
4811 # error "__cpp_lib_char8_t should have the value 201907L in c++23"
4814 # ifdef __cpp_lib_char8_t
4815 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
4819 # ifndef __cpp_lib_chrono
4820 # error "__cpp_lib_chrono should be defined in c++23"
4822 # if __cpp_lib_chrono != 201611L
4823 # error "__cpp_lib_chrono should have the value 201611L in c++23"
4826 # ifndef __cpp_lib_chrono_udls
4827 # error "__cpp_lib_chrono_udls should be defined in c++23"
4829 # if __cpp_lib_chrono_udls != 201304L
4830 # error "__cpp_lib_chrono_udls should have the value 201304L in c++23"
4833 # ifndef __cpp_lib_clamp
4834 # error "__cpp_lib_clamp should be defined in c++23"
4836 # if __cpp_lib_clamp != 201603L
4837 # error "__cpp_lib_clamp should have the value 201603L in c++23"
4840 # ifndef __cpp_lib_complex_udls
4841 # error "__cpp_lib_complex_udls should be defined in c++23"
4843 # if __cpp_lib_complex_udls != 201309L
4844 # error "__cpp_lib_complex_udls should have the value 201309L in c++23"
4847 # ifndef __cpp_lib_concepts
4848 # error "__cpp_lib_concepts should be defined in c++23"
4850 # if __cpp_lib_concepts != 202002L
4851 # error "__cpp_lib_concepts should have the value 202002L in c++23"
4854 # ifndef __cpp_lib_constexpr_algorithms
4855 # error "__cpp_lib_constexpr_algorithms should be defined in c++23"
4857 # if __cpp_lib_constexpr_algorithms != 201806L
4858 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23"
4861 # ifndef __cpp_lib_constexpr_bitset
4862 # error "__cpp_lib_constexpr_bitset should be defined in c++23"
4864 # if __cpp_lib_constexpr_bitset != 202207L
4865 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23"
4868 # ifndef __cpp_lib_constexpr_charconv
4869 # error "__cpp_lib_constexpr_charconv should be defined in c++23"
4871 # if __cpp_lib_constexpr_charconv != 202207L
4872 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++23"
4875 # if !defined(_LIBCPP_VERSION)
4876 # ifndef __cpp_lib_constexpr_cmath
4877 # error "__cpp_lib_constexpr_cmath should be defined in c++23"
4879 # if __cpp_lib_constexpr_cmath != 202202L
4880 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++23"
4882 # else // _LIBCPP_VERSION
4883 # ifdef __cpp_lib_constexpr_cmath
4884 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
4888 # ifndef __cpp_lib_constexpr_complex
4889 # error "__cpp_lib_constexpr_complex should be defined in c++23"
4891 # if __cpp_lib_constexpr_complex != 201711L
4892 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++23"
4895 # ifndef __cpp_lib_constexpr_dynamic_alloc
4896 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23"
4898 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
4899 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23"
4902 # ifndef __cpp_lib_constexpr_functional
4903 # error "__cpp_lib_constexpr_functional should be defined in c++23"
4905 # if __cpp_lib_constexpr_functional != 201907L
4906 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++23"
4909 # ifndef __cpp_lib_constexpr_iterator
4910 # error "__cpp_lib_constexpr_iterator should be defined in c++23"
4912 # if __cpp_lib_constexpr_iterator != 201811L
4913 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++23"
4916 # ifndef __cpp_lib_constexpr_memory
4917 # error "__cpp_lib_constexpr_memory should be defined in c++23"
4919 # if __cpp_lib_constexpr_memory != 202202L
4920 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++23"
4923 # ifdef __cpp_lib_constexpr_new
4924 # error "__cpp_lib_constexpr_new should not be defined before c++26"
4927 # ifndef __cpp_lib_constexpr_numeric
4928 # error "__cpp_lib_constexpr_numeric should be defined in c++23"
4930 # if __cpp_lib_constexpr_numeric != 201911L
4931 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++23"
4934 # ifndef __cpp_lib_constexpr_string
4935 # error "__cpp_lib_constexpr_string should be defined in c++23"
4937 # if __cpp_lib_constexpr_string != 201907L
4938 # error "__cpp_lib_constexpr_string should have the value 201907L in c++23"
4941 # ifndef __cpp_lib_constexpr_string_view
4942 # error "__cpp_lib_constexpr_string_view should be defined in c++23"
4944 # if __cpp_lib_constexpr_string_view != 201811L
4945 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++23"
4948 # ifndef __cpp_lib_constexpr_tuple
4949 # error "__cpp_lib_constexpr_tuple should be defined in c++23"
4951 # if __cpp_lib_constexpr_tuple != 201811L
4952 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++23"
4955 # ifndef __cpp_lib_constexpr_typeinfo
4956 # error "__cpp_lib_constexpr_typeinfo should be defined in c++23"
4958 # if __cpp_lib_constexpr_typeinfo != 202106L
4959 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++23"
4962 # ifndef __cpp_lib_constexpr_utility
4963 # error "__cpp_lib_constexpr_utility should be defined in c++23"
4965 # if __cpp_lib_constexpr_utility != 201811L
4966 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++23"
4969 # ifndef __cpp_lib_constexpr_vector
4970 # error "__cpp_lib_constexpr_vector should be defined in c++23"
4972 # if __cpp_lib_constexpr_vector != 201907L
4973 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++23"
4976 # ifdef __cpp_lib_constrained_equality
4977 # error "__cpp_lib_constrained_equality should not be defined before c++26"
4980 # ifndef __cpp_lib_containers_ranges
4981 # error "__cpp_lib_containers_ranges should be defined in c++23"
4983 # if __cpp_lib_containers_ranges != 202202L
4984 # error "__cpp_lib_containers_ranges should have the value 202202L in c++23"
4987 # ifdef __cpp_lib_copyable_function
4988 # error "__cpp_lib_copyable_function should not be defined before c++26"
4991 # ifndef __cpp_lib_coroutine
4992 # error "__cpp_lib_coroutine should be defined in c++23"
4994 # if __cpp_lib_coroutine != 201902L
4995 # error "__cpp_lib_coroutine should have the value 201902L in c++23"
4998 # ifdef __cpp_lib_debugging
4999 # error "__cpp_lib_debugging should not be defined before c++26"
5002 # ifdef __cpp_lib_default_template_type_for_algorithm_values
5003 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
5006 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
5007 # ifndef __cpp_lib_destroying_delete
5008 # error "__cpp_lib_destroying_delete should be defined in c++23"
5010 # if __cpp_lib_destroying_delete != 201806L
5011 # error "__cpp_lib_destroying_delete should have the value 201806L in c++23"
5014 # ifdef __cpp_lib_destroying_delete
5015 # error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
5019 # ifndef __cpp_lib_enable_shared_from_this
5020 # error "__cpp_lib_enable_shared_from_this should be defined in c++23"
5022 # if __cpp_lib_enable_shared_from_this != 201603L
5023 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23"
5026 # ifndef __cpp_lib_endian
5027 # error "__cpp_lib_endian should be defined in c++23"
5029 # if __cpp_lib_endian != 201907L
5030 # error "__cpp_lib_endian should have the value 201907L in c++23"
5033 # ifndef __cpp_lib_erase_if
5034 # error "__cpp_lib_erase_if should be defined in c++23"
5036 # if __cpp_lib_erase_if != 202002L
5037 # error "__cpp_lib_erase_if should have the value 202002L in c++23"
5040 # ifndef __cpp_lib_exchange_function
5041 # error "__cpp_lib_exchange_function should be defined in c++23"
5043 # if __cpp_lib_exchange_function != 201304L
5044 # error "__cpp_lib_exchange_function should have the value 201304L in c++23"
5047 # if !defined(_LIBCPP_VERSION)
5048 # ifndef __cpp_lib_execution
5049 # error "__cpp_lib_execution should be defined in c++23"
5051 # if __cpp_lib_execution != 201902L
5052 # error "__cpp_lib_execution should have the value 201902L in c++23"
5054 # else // _LIBCPP_VERSION
5055 # ifdef __cpp_lib_execution
5056 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
5060 # ifndef __cpp_lib_expected
5061 # error "__cpp_lib_expected should be defined in c++23"
5063 # if __cpp_lib_expected != 202211L
5064 # error "__cpp_lib_expected should have the value 202211L in c++23"
5067 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
5068 # ifndef __cpp_lib_filesystem
5069 # error "__cpp_lib_filesystem should be defined in c++23"
5071 # if __cpp_lib_filesystem != 201703L
5072 # error "__cpp_lib_filesystem should have the value 201703L in c++23"
5075 # ifdef __cpp_lib_filesystem
5076 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
5080 # ifndef __cpp_lib_format
5081 # error "__cpp_lib_format should be defined in c++23"
5083 # if __cpp_lib_format != 202110L
5084 # error "__cpp_lib_format should have the value 202110L in c++23"
5087 # ifdef __cpp_lib_format_path
5088 # error "__cpp_lib_format_path should not be defined before c++26"
5091 # ifndef __cpp_lib_format_ranges
5092 # error "__cpp_lib_format_ranges should be defined in c++23"
5094 # if __cpp_lib_format_ranges != 202207L
5095 # error "__cpp_lib_format_ranges should have the value 202207L in c++23"
5098 # ifndef __cpp_lib_format_uchar
5099 # error "__cpp_lib_format_uchar should be defined in c++23"
5101 # if __cpp_lib_format_uchar != 202311L
5102 # error "__cpp_lib_format_uchar should have the value 202311L in c++23"
5105 # if !defined(_LIBCPP_VERSION)
5106 # ifndef __cpp_lib_formatters
5107 # error "__cpp_lib_formatters should be defined in c++23"
5109 # if __cpp_lib_formatters != 202302L
5110 # error "__cpp_lib_formatters should have the value 202302L in c++23"
5112 # else // _LIBCPP_VERSION
5113 # ifdef __cpp_lib_formatters
5114 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
5118 # ifndef __cpp_lib_forward_like
5119 # error "__cpp_lib_forward_like should be defined in c++23"
5121 # if __cpp_lib_forward_like != 202207L
5122 # error "__cpp_lib_forward_like should have the value 202207L in c++23"
5125 # ifdef __cpp_lib_freestanding_algorithm
5126 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
5129 # ifdef __cpp_lib_freestanding_array
5130 # error "__cpp_lib_freestanding_array should not be defined before c++26"
5133 # ifdef __cpp_lib_freestanding_cstring
5134 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
5137 # ifdef __cpp_lib_freestanding_expected
5138 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
5141 # ifdef __cpp_lib_freestanding_mdspan
5142 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
5145 # ifdef __cpp_lib_freestanding_optional
5146 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
5149 # ifdef __cpp_lib_freestanding_string_view
5150 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
5153 # ifdef __cpp_lib_freestanding_variant
5154 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
5157 # ifdef __cpp_lib_fstream_native_handle
5158 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
5161 # ifdef __cpp_lib_function_ref
5162 # error "__cpp_lib_function_ref should not be defined before c++26"
5165 # ifndef __cpp_lib_gcd_lcm
5166 # error "__cpp_lib_gcd_lcm should be defined in c++23"
5168 # if __cpp_lib_gcd_lcm != 201606L
5169 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++23"
5172 # ifdef __cpp_lib_generate_random
5173 # error "__cpp_lib_generate_random should not be defined before c++26"
5176 # ifndef __cpp_lib_generic_associative_lookup
5177 # error "__cpp_lib_generic_associative_lookup should be defined in c++23"
5179 # if __cpp_lib_generic_associative_lookup != 201304L
5180 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++23"
5183 # ifndef __cpp_lib_generic_unordered_lookup
5184 # error "__cpp_lib_generic_unordered_lookup should be defined in c++23"
5186 # if __cpp_lib_generic_unordered_lookup != 201811L
5187 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++23"
5190 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
5191 # ifndef __cpp_lib_hardware_interference_size
5192 # error "__cpp_lib_hardware_interference_size should be defined in c++23"
5194 # if __cpp_lib_hardware_interference_size != 201703L
5195 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++23"
5198 # ifdef __cpp_lib_hardware_interference_size
5199 # error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
5203 # ifndef __cpp_lib_has_unique_object_representations
5204 # error "__cpp_lib_has_unique_object_representations should be defined in c++23"
5206 # if __cpp_lib_has_unique_object_representations != 201606L
5207 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23"
5210 # ifdef __cpp_lib_hazard_pointer
5211 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
5214 # ifndef __cpp_lib_hypot
5215 # error "__cpp_lib_hypot should be defined in c++23"
5217 # if __cpp_lib_hypot != 201603L
5218 # error "__cpp_lib_hypot should have the value 201603L in c++23"
5221 # ifndef __cpp_lib_incomplete_container_elements
5222 # error "__cpp_lib_incomplete_container_elements should be defined in c++23"
5224 # if __cpp_lib_incomplete_container_elements != 201505L
5225 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++23"
5228 # ifdef __cpp_lib_inplace_vector
5229 # error "__cpp_lib_inplace_vector should not be defined before c++26"
5232 # ifndef __cpp_lib_int_pow2
5233 # error "__cpp_lib_int_pow2 should be defined in c++23"
5235 # if __cpp_lib_int_pow2 != 202002L
5236 # error "__cpp_lib_int_pow2 should have the value 202002L in c++23"
5239 # ifndef __cpp_lib_integer_comparison_functions
5240 # error "__cpp_lib_integer_comparison_functions should be defined in c++23"
5242 # if __cpp_lib_integer_comparison_functions != 202002L
5243 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++23"
5246 # ifndef __cpp_lib_integer_sequence
5247 # error "__cpp_lib_integer_sequence should be defined in c++23"
5249 # if __cpp_lib_integer_sequence != 201304L
5250 # error "__cpp_lib_integer_sequence should have the value 201304L in c++23"
5253 # ifndef __cpp_lib_integral_constant_callable
5254 # error "__cpp_lib_integral_constant_callable should be defined in c++23"
5256 # if __cpp_lib_integral_constant_callable != 201304L
5257 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++23"
5260 # ifndef __cpp_lib_interpolate
5261 # error "__cpp_lib_interpolate should be defined in c++23"
5263 # if __cpp_lib_interpolate != 201902L
5264 # error "__cpp_lib_interpolate should have the value 201902L in c++23"
5267 # ifndef __cpp_lib_invoke
5268 # error "__cpp_lib_invoke should be defined in c++23"
5270 # if __cpp_lib_invoke != 201411L
5271 # error "__cpp_lib_invoke should have the value 201411L in c++23"
5274 # ifndef __cpp_lib_invoke_r
5275 # error "__cpp_lib_invoke_r should be defined in c++23"
5277 # if __cpp_lib_invoke_r != 202106L
5278 # error "__cpp_lib_invoke_r should have the value 202106L in c++23"
5281 # ifndef __cpp_lib_ios_noreplace
5282 # error "__cpp_lib_ios_noreplace should be defined in c++23"
5284 # if __cpp_lib_ios_noreplace != 202207L
5285 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++23"
5288 # ifndef __cpp_lib_is_aggregate
5289 # error "__cpp_lib_is_aggregate should be defined in c++23"
5291 # if __cpp_lib_is_aggregate != 201703L
5292 # error "__cpp_lib_is_aggregate should have the value 201703L in c++23"
5295 # ifndef __cpp_lib_is_constant_evaluated
5296 # error "__cpp_lib_is_constant_evaluated should be defined in c++23"
5298 # if __cpp_lib_is_constant_evaluated != 201811L
5299 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++23"
5302 # ifndef __cpp_lib_is_final
5303 # error "__cpp_lib_is_final should be defined in c++23"
5305 # if __cpp_lib_is_final != 201402L
5306 # error "__cpp_lib_is_final should have the value 201402L in c++23"
5309 # ifndef __cpp_lib_is_invocable
5310 # error "__cpp_lib_is_invocable should be defined in c++23"
5312 # if __cpp_lib_is_invocable != 201703L
5313 # error "__cpp_lib_is_invocable should have the value 201703L in c++23"
5316 # if !defined(_LIBCPP_VERSION)
5317 # ifndef __cpp_lib_is_layout_compatible
5318 # error "__cpp_lib_is_layout_compatible should be defined in c++23"
5320 # if __cpp_lib_is_layout_compatible != 201907L
5321 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++23"
5323 # else // _LIBCPP_VERSION
5324 # ifdef __cpp_lib_is_layout_compatible
5325 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
5329 # ifndef __cpp_lib_is_nothrow_convertible
5330 # error "__cpp_lib_is_nothrow_convertible should be defined in c++23"
5332 # if __cpp_lib_is_nothrow_convertible != 201806L
5333 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++23"
5336 # ifndef __cpp_lib_is_null_pointer
5337 # error "__cpp_lib_is_null_pointer should be defined in c++23"
5339 # if __cpp_lib_is_null_pointer != 201309L
5340 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++23"
5343 # if !defined(_LIBCPP_VERSION)
5344 # ifndef __cpp_lib_is_pointer_interconvertible
5345 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++23"
5347 # if __cpp_lib_is_pointer_interconvertible != 201907L
5348 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++23"
5350 # else // _LIBCPP_VERSION
5351 # ifdef __cpp_lib_is_pointer_interconvertible
5352 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
5356 # ifndef __cpp_lib_is_scoped_enum
5357 # error "__cpp_lib_is_scoped_enum should be defined in c++23"
5359 # if __cpp_lib_is_scoped_enum != 202011L
5360 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++23"
5363 # ifndef __cpp_lib_is_swappable
5364 # error "__cpp_lib_is_swappable should be defined in c++23"
5366 # if __cpp_lib_is_swappable != 201603L
5367 # error "__cpp_lib_is_swappable should have the value 201603L in c++23"
5370 # ifdef __cpp_lib_is_virtual_base_of
5371 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
5374 # ifdef __cpp_lib_is_within_lifetime
5375 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
5378 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5379 # ifndef __cpp_lib_jthread
5380 # error "__cpp_lib_jthread should be defined in c++23"
5382 # if __cpp_lib_jthread != 201911L
5383 # error "__cpp_lib_jthread should have the value 201911L in c++23"
5386 # ifdef __cpp_lib_jthread
5387 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5391 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5392 # ifndef __cpp_lib_latch
5393 # error "__cpp_lib_latch should be defined in c++23"
5395 # if __cpp_lib_latch != 201907L
5396 # error "__cpp_lib_latch should have the value 201907L in c++23"
5399 # ifdef __cpp_lib_latch
5400 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5404 # ifndef __cpp_lib_launder
5405 # error "__cpp_lib_launder should be defined in c++23"
5407 # if __cpp_lib_launder != 201606L
5408 # error "__cpp_lib_launder should have the value 201606L in c++23"
5411 # ifdef __cpp_lib_linalg
5412 # error "__cpp_lib_linalg should not be defined before c++26"
5415 # ifndef __cpp_lib_list_remove_return_type
5416 # error "__cpp_lib_list_remove_return_type should be defined in c++23"
5418 # if __cpp_lib_list_remove_return_type != 201806L
5419 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++23"
5422 # ifndef __cpp_lib_logical_traits
5423 # error "__cpp_lib_logical_traits should be defined in c++23"
5425 # if __cpp_lib_logical_traits != 201510L
5426 # error "__cpp_lib_logical_traits should have the value 201510L in c++23"
5429 # ifndef __cpp_lib_make_from_tuple
5430 # error "__cpp_lib_make_from_tuple should be defined in c++23"
5432 # if __cpp_lib_make_from_tuple != 201606L
5433 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++23"
5436 # ifndef __cpp_lib_make_reverse_iterator
5437 # error "__cpp_lib_make_reverse_iterator should be defined in c++23"
5439 # if __cpp_lib_make_reverse_iterator != 201402L
5440 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++23"
5443 # ifndef __cpp_lib_make_unique
5444 # error "__cpp_lib_make_unique should be defined in c++23"
5446 # if __cpp_lib_make_unique != 201304L
5447 # error "__cpp_lib_make_unique should have the value 201304L in c++23"
5450 # ifndef __cpp_lib_map_try_emplace
5451 # error "__cpp_lib_map_try_emplace should be defined in c++23"
5453 # if __cpp_lib_map_try_emplace != 201411L
5454 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++23"
5457 # ifndef __cpp_lib_math_constants
5458 # error "__cpp_lib_math_constants should be defined in c++23"
5460 # if __cpp_lib_math_constants != 201907L
5461 # error "__cpp_lib_math_constants should have the value 201907L in c++23"
5464 # if !defined(_LIBCPP_VERSION)
5465 # ifndef __cpp_lib_math_special_functions
5466 # error "__cpp_lib_math_special_functions should be defined in c++23"
5468 # if __cpp_lib_math_special_functions != 201603L
5469 # error "__cpp_lib_math_special_functions should have the value 201603L in c++23"
5471 # else // _LIBCPP_VERSION
5472 # ifdef __cpp_lib_math_special_functions
5473 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
5477 # ifndef __cpp_lib_mdspan
5478 # error "__cpp_lib_mdspan should be defined in c++23"
5480 # if __cpp_lib_mdspan != 202207L
5481 # error "__cpp_lib_mdspan should have the value 202207L in c++23"
5484 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5485 # ifndef __cpp_lib_memory_resource
5486 # error "__cpp_lib_memory_resource should be defined in c++23"
5488 # if __cpp_lib_memory_resource != 201603L
5489 # error "__cpp_lib_memory_resource should have the value 201603L in c++23"
5492 # ifdef __cpp_lib_memory_resource
5493 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5497 # ifndef __cpp_lib_modules
5498 # error "__cpp_lib_modules should be defined in c++23"
5500 # if __cpp_lib_modules != 202207L
5501 # error "__cpp_lib_modules should have the value 202207L in c++23"
5504 # ifndef __cpp_lib_move_iterator_concept
5505 # error "__cpp_lib_move_iterator_concept should be defined in c++23"
5507 # if __cpp_lib_move_iterator_concept != 202207L
5508 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++23"
5511 # if !defined(_LIBCPP_VERSION)
5512 # ifndef __cpp_lib_move_only_function
5513 # error "__cpp_lib_move_only_function should be defined in c++23"
5515 # if __cpp_lib_move_only_function != 202110L
5516 # error "__cpp_lib_move_only_function should have the value 202110L in c++23"
5518 # else // _LIBCPP_VERSION
5519 # ifdef __cpp_lib_move_only_function
5520 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
5524 # ifndef __cpp_lib_node_extract
5525 # error "__cpp_lib_node_extract should be defined in c++23"
5527 # if __cpp_lib_node_extract != 201606L
5528 # error "__cpp_lib_node_extract should have the value 201606L in c++23"
5531 # ifndef __cpp_lib_nonmember_container_access
5532 # error "__cpp_lib_nonmember_container_access should be defined in c++23"
5534 # if __cpp_lib_nonmember_container_access != 201411L
5535 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++23"
5538 # ifndef __cpp_lib_not_fn
5539 # error "__cpp_lib_not_fn should be defined in c++23"
5541 # if __cpp_lib_not_fn != 201603L
5542 # error "__cpp_lib_not_fn should have the value 201603L in c++23"
5545 # ifndef __cpp_lib_null_iterators
5546 # error "__cpp_lib_null_iterators should be defined in c++23"
5548 # if __cpp_lib_null_iterators != 201304L
5549 # error "__cpp_lib_null_iterators should have the value 201304L in c++23"
5552 # ifndef __cpp_lib_optional
5553 # error "__cpp_lib_optional should be defined in c++23"
5555 # if __cpp_lib_optional != 202110L
5556 # error "__cpp_lib_optional should have the value 202110L in c++23"
5559 # ifdef __cpp_lib_optional_range_support
5560 # error "__cpp_lib_optional_range_support should not be defined before c++26"
5563 # ifndef __cpp_lib_out_ptr
5564 # error "__cpp_lib_out_ptr should be defined in c++23"
5566 # if __cpp_lib_out_ptr != 202106L
5567 # error "__cpp_lib_out_ptr should have the value 202106L in c++23"
5570 # if !defined(_LIBCPP_VERSION)
5571 # ifndef __cpp_lib_parallel_algorithm
5572 # error "__cpp_lib_parallel_algorithm should be defined in c++23"
5574 # if __cpp_lib_parallel_algorithm != 201603L
5575 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++23"
5577 # else // _LIBCPP_VERSION
5578 # ifdef __cpp_lib_parallel_algorithm
5579 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
5583 # ifdef __cpp_lib_philox_engine
5584 # error "__cpp_lib_philox_engine should not be defined before c++26"
5587 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5588 # ifndef __cpp_lib_polymorphic_allocator
5589 # error "__cpp_lib_polymorphic_allocator should be defined in c++23"
5591 # if __cpp_lib_polymorphic_allocator != 201902L
5592 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++23"
5595 # ifdef __cpp_lib_polymorphic_allocator
5596 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5600 # ifndef __cpp_lib_print
5601 # error "__cpp_lib_print should be defined in c++23"
5603 # if __cpp_lib_print != 202207L
5604 # error "__cpp_lib_print should have the value 202207L in c++23"
5607 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
5608 # ifndef __cpp_lib_quoted_string_io
5609 # error "__cpp_lib_quoted_string_io should be defined in c++23"
5611 # if __cpp_lib_quoted_string_io != 201304L
5612 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++23"
5615 # ifdef __cpp_lib_quoted_string_io
5616 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
5620 # ifndef __cpp_lib_ranges
5621 # error "__cpp_lib_ranges should be defined in c++23"
5623 # if __cpp_lib_ranges != 202211L
5624 # error "__cpp_lib_ranges should have the value 202211L in c++23"
5627 # if !defined(_LIBCPP_VERSION)
5628 # ifndef __cpp_lib_ranges_as_const
5629 # error "__cpp_lib_ranges_as_const should be defined in c++23"
5631 # if __cpp_lib_ranges_as_const != 202207L
5632 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++23"
5634 # else // _LIBCPP_VERSION
5635 # ifdef __cpp_lib_ranges_as_const
5636 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
5640 # ifndef __cpp_lib_ranges_as_rvalue
5641 # error "__cpp_lib_ranges_as_rvalue should be defined in c++23"
5643 # if __cpp_lib_ranges_as_rvalue != 202207L
5644 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++23"
5647 # if !defined(_LIBCPP_VERSION)
5648 # ifndef __cpp_lib_ranges_chunk
5649 # error "__cpp_lib_ranges_chunk should be defined in c++23"
5651 # if __cpp_lib_ranges_chunk != 202202L
5652 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++23"
5654 # else // _LIBCPP_VERSION
5655 # ifdef __cpp_lib_ranges_chunk
5656 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
5660 # ifndef __cpp_lib_ranges_chunk_by
5661 # error "__cpp_lib_ranges_chunk_by should be defined in c++23"
5663 # if __cpp_lib_ranges_chunk_by != 202202L
5664 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++23"
5667 # ifdef __cpp_lib_ranges_concat
5668 # error "__cpp_lib_ranges_concat should not be defined before c++26"
5671 # ifndef __cpp_lib_ranges_contains
5672 # error "__cpp_lib_ranges_contains should be defined in c++23"
5674 # if __cpp_lib_ranges_contains != 202207L
5675 # error "__cpp_lib_ranges_contains should have the value 202207L in c++23"
5678 # ifndef __cpp_lib_ranges_find_last
5679 # error "__cpp_lib_ranges_find_last should be defined in c++23"
5681 # if __cpp_lib_ranges_find_last != 202207L
5682 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++23"
5685 # if !defined(_LIBCPP_VERSION)
5686 # ifndef __cpp_lib_ranges_iota
5687 # error "__cpp_lib_ranges_iota should be defined in c++23"
5689 # if __cpp_lib_ranges_iota != 202202L
5690 # error "__cpp_lib_ranges_iota should have the value 202202L in c++23"
5692 # else // _LIBCPP_VERSION
5693 # ifdef __cpp_lib_ranges_iota
5694 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
5698 # if !defined(_LIBCPP_VERSION)
5699 # ifndef __cpp_lib_ranges_join_with
5700 # error "__cpp_lib_ranges_join_with should be defined in c++23"
5702 # if __cpp_lib_ranges_join_with != 202202L
5703 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++23"
5705 # else // _LIBCPP_VERSION
5706 # ifdef __cpp_lib_ranges_join_with
5707 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
5711 # ifndef __cpp_lib_ranges_repeat
5712 # error "__cpp_lib_ranges_repeat should be defined in c++23"
5714 # if __cpp_lib_ranges_repeat != 202207L
5715 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++23"
5718 # if !defined(_LIBCPP_VERSION)
5719 # ifndef __cpp_lib_ranges_slide
5720 # error "__cpp_lib_ranges_slide should be defined in c++23"
5722 # if __cpp_lib_ranges_slide != 202202L
5723 # error "__cpp_lib_ranges_slide should have the value 202202L in c++23"
5725 # else // _LIBCPP_VERSION
5726 # ifdef __cpp_lib_ranges_slide
5727 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
5731 # ifndef __cpp_lib_ranges_starts_ends_with
5732 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++23"
5734 # if __cpp_lib_ranges_starts_ends_with != 202106L
5735 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++23"
5738 # ifndef __cpp_lib_ranges_to_container
5739 # error "__cpp_lib_ranges_to_container should be defined in c++23"
5741 # if __cpp_lib_ranges_to_container != 202202L
5742 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++23"
5745 # if !defined(_LIBCPP_VERSION)
5746 # ifndef __cpp_lib_ranges_zip
5747 # error "__cpp_lib_ranges_zip should be defined in c++23"
5749 # if __cpp_lib_ranges_zip != 202110L
5750 # error "__cpp_lib_ranges_zip should have the value 202110L in c++23"
5752 # else // _LIBCPP_VERSION
5753 # ifdef __cpp_lib_ranges_zip
5754 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
5758 # ifdef __cpp_lib_ratio
5759 # error "__cpp_lib_ratio should not be defined before c++26"
5762 # ifndef __cpp_lib_raw_memory_algorithms
5763 # error "__cpp_lib_raw_memory_algorithms should be defined in c++23"
5765 # if __cpp_lib_raw_memory_algorithms != 201606L
5766 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23"
5769 # ifdef __cpp_lib_rcu
5770 # error "__cpp_lib_rcu should not be defined before c++26"
5773 # if !defined(_LIBCPP_VERSION)
5774 # ifndef __cpp_lib_reference_from_temporary
5775 # error "__cpp_lib_reference_from_temporary should be defined in c++23"
5777 # if __cpp_lib_reference_from_temporary != 202202L
5778 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++23"
5780 # else // _LIBCPP_VERSION
5781 # ifdef __cpp_lib_reference_from_temporary
5782 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
5786 # ifdef __cpp_lib_reference_wrapper
5787 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
5790 # ifndef __cpp_lib_remove_cvref
5791 # error "__cpp_lib_remove_cvref should be defined in c++23"
5793 # if __cpp_lib_remove_cvref != 201711L
5794 # error "__cpp_lib_remove_cvref should have the value 201711L in c++23"
5797 # ifndef __cpp_lib_result_of_sfinae
5798 # error "__cpp_lib_result_of_sfinae should be defined in c++23"
5800 # if __cpp_lib_result_of_sfinae != 201210L
5801 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23"
5804 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
5805 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++23"
5807 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
5808 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++23"
5811 # ifndef __cpp_lib_sample
5812 # error "__cpp_lib_sample should be defined in c++23"
5814 # if __cpp_lib_sample != 201603L
5815 # error "__cpp_lib_sample should have the value 201603L in c++23"
5818 # ifdef __cpp_lib_saturation_arithmetic
5819 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
5822 # if !defined(_LIBCPP_HAS_NO_THREADS)
5823 # ifndef __cpp_lib_scoped_lock
5824 # error "__cpp_lib_scoped_lock should be defined in c++23"
5826 # if __cpp_lib_scoped_lock != 201703L
5827 # error "__cpp_lib_scoped_lock should have the value 201703L in c++23"
5830 # ifdef __cpp_lib_scoped_lock
5831 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5835 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5836 # ifndef __cpp_lib_semaphore
5837 # error "__cpp_lib_semaphore should be defined in c++23"
5839 # if __cpp_lib_semaphore != 201907L
5840 # error "__cpp_lib_semaphore should have the value 201907L in c++23"
5843 # ifdef __cpp_lib_semaphore
5844 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5848 # ifdef __cpp_lib_senders
5849 # error "__cpp_lib_senders should not be defined before c++26"
5852 # if !defined(_LIBCPP_HAS_NO_THREADS)
5853 # ifndef __cpp_lib_shared_mutex
5854 # error "__cpp_lib_shared_mutex should be defined in c++23"
5856 # if __cpp_lib_shared_mutex != 201505L
5857 # error "__cpp_lib_shared_mutex should have the value 201505L in c++23"
5860 # ifdef __cpp_lib_shared_mutex
5861 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5865 # ifndef __cpp_lib_shared_ptr_arrays
5866 # error "__cpp_lib_shared_ptr_arrays should be defined in c++23"
5868 # if __cpp_lib_shared_ptr_arrays != 201707L
5869 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23"
5872 # ifndef __cpp_lib_shared_ptr_weak_type
5873 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++23"
5875 # if __cpp_lib_shared_ptr_weak_type != 201606L
5876 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23"
5879 # if !defined(_LIBCPP_HAS_NO_THREADS)
5880 # ifndef __cpp_lib_shared_timed_mutex
5881 # error "__cpp_lib_shared_timed_mutex should be defined in c++23"
5883 # if __cpp_lib_shared_timed_mutex != 201402L
5884 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++23"
5887 # ifdef __cpp_lib_shared_timed_mutex
5888 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5892 # ifndef __cpp_lib_shift
5893 # error "__cpp_lib_shift should be defined in c++23"
5895 # if __cpp_lib_shift != 201806L
5896 # error "__cpp_lib_shift should have the value 201806L in c++23"
5899 # if !defined(_LIBCPP_VERSION)
5900 # ifndef __cpp_lib_smart_ptr_for_overwrite
5901 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23"
5903 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
5904 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23"
5906 # else // _LIBCPP_VERSION
5907 # ifdef __cpp_lib_smart_ptr_for_overwrite
5908 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
5912 # ifdef __cpp_lib_smart_ptr_owner_equality
5913 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
5916 # ifndef __cpp_lib_source_location
5917 # error "__cpp_lib_source_location should be defined in c++23"
5919 # if __cpp_lib_source_location != 201907L
5920 # error "__cpp_lib_source_location should have the value 201907L in c++23"
5923 # ifndef __cpp_lib_span
5924 # error "__cpp_lib_span should be defined in c++23"
5926 # if __cpp_lib_span != 202002L
5927 # error "__cpp_lib_span should have the value 202002L in c++23"
5930 # ifdef __cpp_lib_span_at
5931 # error "__cpp_lib_span_at should not be defined before c++26"
5934 # ifdef __cpp_lib_span_initializer_list
5935 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
5938 # if !defined(_LIBCPP_VERSION)
5939 # ifndef __cpp_lib_spanstream
5940 # error "__cpp_lib_spanstream should be defined in c++23"
5942 # if __cpp_lib_spanstream != 202106L
5943 # error "__cpp_lib_spanstream should have the value 202106L in c++23"
5945 # else // _LIBCPP_VERSION
5946 # ifdef __cpp_lib_spanstream
5947 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
5951 # ifndef __cpp_lib_ssize
5952 # error "__cpp_lib_ssize should be defined in c++23"
5954 # if __cpp_lib_ssize != 201902L
5955 # error "__cpp_lib_ssize should have the value 201902L in c++23"
5958 # ifdef __cpp_lib_sstream_from_string_view
5959 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
5962 # if !defined(_LIBCPP_VERSION)
5963 # ifndef __cpp_lib_stacktrace
5964 # error "__cpp_lib_stacktrace should be defined in c++23"
5966 # if __cpp_lib_stacktrace != 202011L
5967 # error "__cpp_lib_stacktrace should have the value 202011L in c++23"
5969 # else // _LIBCPP_VERSION
5970 # ifdef __cpp_lib_stacktrace
5971 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
5975 # ifndef __cpp_lib_starts_ends_with
5976 # error "__cpp_lib_starts_ends_with should be defined in c++23"
5978 # if __cpp_lib_starts_ends_with != 201711L
5979 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++23"
5982 # ifndef __cpp_lib_stdatomic_h
5983 # error "__cpp_lib_stdatomic_h should be defined in c++23"
5985 # if __cpp_lib_stdatomic_h != 202011L
5986 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++23"
5989 # ifndef __cpp_lib_string_contains
5990 # error "__cpp_lib_string_contains should be defined in c++23"
5992 # if __cpp_lib_string_contains != 202011L
5993 # error "__cpp_lib_string_contains should have the value 202011L in c++23"
5996 # ifndef __cpp_lib_string_resize_and_overwrite
5997 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++23"
5999 # if __cpp_lib_string_resize_and_overwrite != 202110L
6000 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++23"
6003 # ifndef __cpp_lib_string_udls
6004 # error "__cpp_lib_string_udls should be defined in c++23"
6006 # if __cpp_lib_string_udls != 201304L
6007 # error "__cpp_lib_string_udls should have the value 201304L in c++23"
6010 # ifndef __cpp_lib_string_view
6011 # error "__cpp_lib_string_view should be defined in c++23"
6013 # if __cpp_lib_string_view != 201803L
6014 # error "__cpp_lib_string_view should have the value 201803L in c++23"
6017 # ifdef __cpp_lib_submdspan
6018 # error "__cpp_lib_submdspan should not be defined before c++26"
6021 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
6022 # ifndef __cpp_lib_syncbuf
6023 # error "__cpp_lib_syncbuf should be defined in c++23"
6025 # if __cpp_lib_syncbuf != 201803L
6026 # error "__cpp_lib_syncbuf should have the value 201803L in c++23"
6029 # ifdef __cpp_lib_syncbuf
6030 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
6034 # ifdef __cpp_lib_text_encoding
6035 # error "__cpp_lib_text_encoding should not be defined before c++26"
6038 # ifndef __cpp_lib_three_way_comparison
6039 # error "__cpp_lib_three_way_comparison should be defined in c++23"
6041 # if __cpp_lib_three_way_comparison != 201907L
6042 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"
6045 # ifndef __cpp_lib_to_address
6046 # error "__cpp_lib_to_address should be defined in c++23"
6048 # if __cpp_lib_to_address != 201711L
6049 # error "__cpp_lib_to_address should have the value 201711L in c++23"
6052 # ifndef __cpp_lib_to_array
6053 # error "__cpp_lib_to_array should be defined in c++23"
6055 # if __cpp_lib_to_array != 201907L
6056 # error "__cpp_lib_to_array should have the value 201907L in c++23"
6059 # if !defined(_LIBCPP_VERSION)
6060 # ifndef __cpp_lib_to_chars
6061 # error "__cpp_lib_to_chars should be defined in c++23"
6063 # if __cpp_lib_to_chars != 201611L
6064 # error "__cpp_lib_to_chars should have the value 201611L in c++23"
6066 # else // _LIBCPP_VERSION
6067 # ifdef __cpp_lib_to_chars
6068 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
6072 # ifdef __cpp_lib_to_string
6073 # error "__cpp_lib_to_string should not be defined before c++26"
6076 # ifndef __cpp_lib_to_underlying
6077 # error "__cpp_lib_to_underlying should be defined in c++23"
6079 # if __cpp_lib_to_underlying != 202102L
6080 # error "__cpp_lib_to_underlying should have the value 202102L in c++23"
6083 # ifndef __cpp_lib_transformation_trait_aliases
6084 # error "__cpp_lib_transformation_trait_aliases should be defined in c++23"
6086 # if __cpp_lib_transformation_trait_aliases != 201304L
6087 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++23"
6090 # ifndef __cpp_lib_transparent_operators
6091 # error "__cpp_lib_transparent_operators should be defined in c++23"
6093 # if __cpp_lib_transparent_operators != 201510L
6094 # error "__cpp_lib_transparent_operators should have the value 201510L in c++23"
6097 # ifndef __cpp_lib_tuple_element_t
6098 # error "__cpp_lib_tuple_element_t should be defined in c++23"
6100 # if __cpp_lib_tuple_element_t != 201402L
6101 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++23"
6104 # if !defined(_LIBCPP_VERSION)
6105 # ifndef __cpp_lib_tuple_like
6106 # error "__cpp_lib_tuple_like should be defined in c++23"
6108 # if __cpp_lib_tuple_like != 202207L
6109 # error "__cpp_lib_tuple_like should have the value 202207L in c++23"
6111 # else // _LIBCPP_VERSION
6112 # ifdef __cpp_lib_tuple_like
6113 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
6117 # ifndef __cpp_lib_tuples_by_type
6118 # error "__cpp_lib_tuples_by_type should be defined in c++23"
6120 # if __cpp_lib_tuples_by_type != 201304L
6121 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++23"
6124 # ifndef __cpp_lib_type_identity
6125 # error "__cpp_lib_type_identity should be defined in c++23"
6127 # if __cpp_lib_type_identity != 201806L
6128 # error "__cpp_lib_type_identity should have the value 201806L in c++23"
6131 # ifndef __cpp_lib_type_trait_variable_templates
6132 # error "__cpp_lib_type_trait_variable_templates should be defined in c++23"
6134 # if __cpp_lib_type_trait_variable_templates != 201510L
6135 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++23"
6138 # ifndef __cpp_lib_uncaught_exceptions
6139 # error "__cpp_lib_uncaught_exceptions should be defined in c++23"
6141 # if __cpp_lib_uncaught_exceptions != 201411L
6142 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++23"
6145 # ifndef __cpp_lib_unordered_map_try_emplace
6146 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++23"
6148 # if __cpp_lib_unordered_map_try_emplace != 201411L
6149 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++23"
6152 # ifndef __cpp_lib_unreachable
6153 # error "__cpp_lib_unreachable should be defined in c++23"
6155 # if __cpp_lib_unreachable != 202202L
6156 # error "__cpp_lib_unreachable should have the value 202202L in c++23"
6159 # ifndef __cpp_lib_unwrap_ref
6160 # error "__cpp_lib_unwrap_ref should be defined in c++23"
6162 # if __cpp_lib_unwrap_ref != 201811L
6163 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++23"
6166 # ifndef __cpp_lib_variant
6167 # error "__cpp_lib_variant should be defined in c++23"
6169 # if __cpp_lib_variant != 202102L
6170 # error "__cpp_lib_variant should have the value 202102L in c++23"
6173 # ifndef __cpp_lib_void_t
6174 # error "__cpp_lib_void_t should be defined in c++23"
6176 # if __cpp_lib_void_t != 201411L
6177 # error "__cpp_lib_void_t should have the value 201411L in c++23"
6180 #elif TEST_STD_VER > 23
6182 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
6183 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++26"
6185 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
6186 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++26"
6189 # ifndef __cpp_lib_addressof_constexpr
6190 # error "__cpp_lib_addressof_constexpr should be defined in c++26"
6192 # if __cpp_lib_addressof_constexpr != 201603L
6193 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26"
6196 # ifndef __cpp_lib_allocate_at_least
6197 # error "__cpp_lib_allocate_at_least should be defined in c++26"
6199 # if __cpp_lib_allocate_at_least != 202302L
6200 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++26"
6203 # ifndef __cpp_lib_allocator_traits_is_always_equal
6204 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26"
6206 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
6207 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26"
6210 # ifndef __cpp_lib_any
6211 # error "__cpp_lib_any should be defined in c++26"
6213 # if __cpp_lib_any != 201606L
6214 # error "__cpp_lib_any should have the value 201606L in c++26"
6217 # ifndef __cpp_lib_apply
6218 # error "__cpp_lib_apply should be defined in c++26"
6220 # if __cpp_lib_apply != 201603L
6221 # error "__cpp_lib_apply should have the value 201603L in c++26"
6224 # ifndef __cpp_lib_array_constexpr
6225 # error "__cpp_lib_array_constexpr should be defined in c++26"
6227 # if __cpp_lib_array_constexpr != 201811L
6228 # error "__cpp_lib_array_constexpr should have the value 201811L in c++26"
6231 # ifndef __cpp_lib_as_const
6232 # error "__cpp_lib_as_const should be defined in c++26"
6234 # if __cpp_lib_as_const != 201510L
6235 # error "__cpp_lib_as_const should have the value 201510L in c++26"
6238 # if !defined(_LIBCPP_VERSION)
6239 # ifndef __cpp_lib_associative_heterogeneous_erasure
6240 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++26"
6242 # if __cpp_lib_associative_heterogeneous_erasure != 202110L
6243 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++26"
6245 # else // _LIBCPP_VERSION
6246 # ifdef __cpp_lib_associative_heterogeneous_erasure
6247 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
6251 # if !defined(_LIBCPP_VERSION)
6252 # ifndef __cpp_lib_associative_heterogeneous_insertion
6253 # error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
6255 # if __cpp_lib_associative_heterogeneous_insertion != 202306L
6256 # error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
6258 # else // _LIBCPP_VERSION
6259 # ifdef __cpp_lib_associative_heterogeneous_insertion
6260 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
6264 # ifndef __cpp_lib_assume_aligned
6265 # error "__cpp_lib_assume_aligned should be defined in c++26"
6267 # if __cpp_lib_assume_aligned != 201811L
6268 # error "__cpp_lib_assume_aligned should have the value 201811L in c++26"
6271 # ifndef __cpp_lib_atomic_flag_test
6272 # error "__cpp_lib_atomic_flag_test should be defined in c++26"
6274 # if __cpp_lib_atomic_flag_test != 201907L
6275 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++26"
6278 # if !defined(_LIBCPP_VERSION)
6279 # ifndef __cpp_lib_atomic_float
6280 # error "__cpp_lib_atomic_float should be defined in c++26"
6282 # if __cpp_lib_atomic_float != 201711L
6283 # error "__cpp_lib_atomic_float should have the value 201711L in c++26"
6285 # else // _LIBCPP_VERSION
6286 # ifdef __cpp_lib_atomic_float
6287 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
6291 # ifndef __cpp_lib_atomic_is_always_lock_free
6292 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++26"
6294 # if __cpp_lib_atomic_is_always_lock_free != 201603L
6295 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++26"
6298 # ifndef __cpp_lib_atomic_lock_free_type_aliases
6299 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++26"
6301 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
6302 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++26"
6305 # if !defined(_LIBCPP_VERSION)
6306 # ifndef __cpp_lib_atomic_min_max
6307 # error "__cpp_lib_atomic_min_max should be defined in c++26"
6309 # if __cpp_lib_atomic_min_max != 202403L
6310 # error "__cpp_lib_atomic_min_max should have the value 202403L in c++26"
6312 # else // _LIBCPP_VERSION
6313 # ifdef __cpp_lib_atomic_min_max
6314 # error "__cpp_lib_atomic_min_max should not be defined because it is unimplemented in libc++!"
6318 # ifndef __cpp_lib_atomic_ref
6319 # error "__cpp_lib_atomic_ref should be defined in c++26"
6321 # if __cpp_lib_atomic_ref != 201806L
6322 # error "__cpp_lib_atomic_ref should have the value 201806L in c++26"
6325 # if !defined(_LIBCPP_VERSION)
6326 # ifndef __cpp_lib_atomic_shared_ptr
6327 # error "__cpp_lib_atomic_shared_ptr should be defined in c++26"
6329 # if __cpp_lib_atomic_shared_ptr != 201711L
6330 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++26"
6332 # else // _LIBCPP_VERSION
6333 # ifdef __cpp_lib_atomic_shared_ptr
6334 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
6338 # ifndef __cpp_lib_atomic_value_initialization
6339 # error "__cpp_lib_atomic_value_initialization should be defined in c++26"
6341 # if __cpp_lib_atomic_value_initialization != 201911L
6342 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26"
6345 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
6346 # ifndef __cpp_lib_atomic_wait
6347 # error "__cpp_lib_atomic_wait should be defined in c++26"
6349 # if __cpp_lib_atomic_wait != 201907L
6350 # error "__cpp_lib_atomic_wait should have the value 201907L in c++26"
6353 # ifdef __cpp_lib_atomic_wait
6354 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
6358 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
6359 # ifndef __cpp_lib_barrier
6360 # error "__cpp_lib_barrier should be defined in c++26"
6362 # if __cpp_lib_barrier != 201907L
6363 # error "__cpp_lib_barrier should have the value 201907L in c++26"
6366 # ifdef __cpp_lib_barrier
6367 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
6371 # ifndef __cpp_lib_bind_back
6372 # error "__cpp_lib_bind_back should be defined in c++26"
6374 # if __cpp_lib_bind_back != 202202L
6375 # error "__cpp_lib_bind_back should have the value 202202L in c++26"
6378 # ifndef __cpp_lib_bind_front
6379 # error "__cpp_lib_bind_front should be defined in c++26"
6381 # if __cpp_lib_bind_front != 202306L
6382 # error "__cpp_lib_bind_front should have the value 202306L in c++26"
6385 # ifndef __cpp_lib_bit_cast
6386 # error "__cpp_lib_bit_cast should be defined in c++26"
6388 # if __cpp_lib_bit_cast != 201806L
6389 # error "__cpp_lib_bit_cast should have the value 201806L in c++26"
6392 # ifndef __cpp_lib_bitops
6393 # error "__cpp_lib_bitops should be defined in c++26"
6395 # if __cpp_lib_bitops != 201907L
6396 # error "__cpp_lib_bitops should have the value 201907L in c++26"
6399 # ifndef __cpp_lib_bitset
6400 # error "__cpp_lib_bitset should be defined in c++26"
6402 # if __cpp_lib_bitset != 202306L
6403 # error "__cpp_lib_bitset should have the value 202306L in c++26"
6406 # ifndef __cpp_lib_bool_constant
6407 # error "__cpp_lib_bool_constant should be defined in c++26"
6409 # if __cpp_lib_bool_constant != 201505L
6410 # error "__cpp_lib_bool_constant should have the value 201505L in c++26"
6413 # ifndef __cpp_lib_bounded_array_traits
6414 # error "__cpp_lib_bounded_array_traits should be defined in c++26"
6416 # if __cpp_lib_bounded_array_traits != 201902L
6417 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++26"
6420 # ifndef __cpp_lib_boyer_moore_searcher
6421 # error "__cpp_lib_boyer_moore_searcher should be defined in c++26"
6423 # if __cpp_lib_boyer_moore_searcher != 201603L
6424 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26"
6427 # ifndef __cpp_lib_byte
6428 # error "__cpp_lib_byte should be defined in c++26"
6430 # if __cpp_lib_byte != 201603L
6431 # error "__cpp_lib_byte should have the value 201603L in c++26"
6434 # ifndef __cpp_lib_byteswap
6435 # error "__cpp_lib_byteswap should be defined in c++26"
6437 # if __cpp_lib_byteswap != 202110L
6438 # error "__cpp_lib_byteswap should have the value 202110L in c++26"
6441 # if defined(__cpp_char8_t)
6442 # ifndef __cpp_lib_char8_t
6443 # error "__cpp_lib_char8_t should be defined in c++26"
6445 # if __cpp_lib_char8_t != 201907L
6446 # error "__cpp_lib_char8_t should have the value 201907L in c++26"
6449 # ifdef __cpp_lib_char8_t
6450 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
6454 # ifndef __cpp_lib_chrono
6455 # error "__cpp_lib_chrono should be defined in c++26"
6457 # if __cpp_lib_chrono != 201611L
6458 # error "__cpp_lib_chrono should have the value 201611L in c++26"
6461 # ifndef __cpp_lib_chrono_udls
6462 # error "__cpp_lib_chrono_udls should be defined in c++26"
6464 # if __cpp_lib_chrono_udls != 201304L
6465 # error "__cpp_lib_chrono_udls should have the value 201304L in c++26"
6468 # ifndef __cpp_lib_clamp
6469 # error "__cpp_lib_clamp should be defined in c++26"
6471 # if __cpp_lib_clamp != 201603L
6472 # error "__cpp_lib_clamp should have the value 201603L in c++26"
6475 # ifndef __cpp_lib_complex_udls
6476 # error "__cpp_lib_complex_udls should be defined in c++26"
6478 # if __cpp_lib_complex_udls != 201309L
6479 # error "__cpp_lib_complex_udls should have the value 201309L in c++26"
6482 # ifndef __cpp_lib_concepts
6483 # error "__cpp_lib_concepts should be defined in c++26"
6485 # if __cpp_lib_concepts != 202002L
6486 # error "__cpp_lib_concepts should have the value 202002L in c++26"
6489 # ifndef __cpp_lib_constexpr_algorithms
6490 # error "__cpp_lib_constexpr_algorithms should be defined in c++26"
6492 # if __cpp_lib_constexpr_algorithms != 201806L
6493 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++26"
6496 # ifndef __cpp_lib_constexpr_bitset
6497 # error "__cpp_lib_constexpr_bitset should be defined in c++26"
6499 # if __cpp_lib_constexpr_bitset != 202207L
6500 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26"
6503 # ifndef __cpp_lib_constexpr_charconv
6504 # error "__cpp_lib_constexpr_charconv should be defined in c++26"
6506 # if __cpp_lib_constexpr_charconv != 202207L
6507 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++26"
6510 # if !defined(_LIBCPP_VERSION)
6511 # ifndef __cpp_lib_constexpr_cmath
6512 # error "__cpp_lib_constexpr_cmath should be defined in c++26"
6514 # if __cpp_lib_constexpr_cmath != 202202L
6515 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++26"
6517 # else // _LIBCPP_VERSION
6518 # ifdef __cpp_lib_constexpr_cmath
6519 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
6523 # ifndef __cpp_lib_constexpr_complex
6524 # error "__cpp_lib_constexpr_complex should be defined in c++26"
6526 # if __cpp_lib_constexpr_complex != 201711L
6527 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++26"
6530 # ifndef __cpp_lib_constexpr_dynamic_alloc
6531 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26"
6533 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
6534 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26"
6537 # ifndef __cpp_lib_constexpr_functional
6538 # error "__cpp_lib_constexpr_functional should be defined in c++26"
6540 # if __cpp_lib_constexpr_functional != 201907L
6541 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++26"
6544 # ifndef __cpp_lib_constexpr_iterator
6545 # error "__cpp_lib_constexpr_iterator should be defined in c++26"
6547 # if __cpp_lib_constexpr_iterator != 201811L
6548 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++26"
6551 # ifndef __cpp_lib_constexpr_memory
6552 # error "__cpp_lib_constexpr_memory should be defined in c++26"
6554 # if __cpp_lib_constexpr_memory != 202202L
6555 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++26"
6558 # if !defined(_LIBCPP_VERSION)
6559 # ifndef __cpp_lib_constexpr_new
6560 # error "__cpp_lib_constexpr_new should be defined in c++26"
6562 # if __cpp_lib_constexpr_new != 202406L
6563 # error "__cpp_lib_constexpr_new should have the value 202406L in c++26"
6565 # else // _LIBCPP_VERSION
6566 # ifdef __cpp_lib_constexpr_new
6567 # error "__cpp_lib_constexpr_new should not be defined because it is unimplemented in libc++!"
6571 # ifndef __cpp_lib_constexpr_numeric
6572 # error "__cpp_lib_constexpr_numeric should be defined in c++26"
6574 # if __cpp_lib_constexpr_numeric != 201911L
6575 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++26"
6578 # ifndef __cpp_lib_constexpr_string
6579 # error "__cpp_lib_constexpr_string should be defined in c++26"
6581 # if __cpp_lib_constexpr_string != 201907L
6582 # error "__cpp_lib_constexpr_string should have the value 201907L in c++26"
6585 # ifndef __cpp_lib_constexpr_string_view
6586 # error "__cpp_lib_constexpr_string_view should be defined in c++26"
6588 # if __cpp_lib_constexpr_string_view != 201811L
6589 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++26"
6592 # ifndef __cpp_lib_constexpr_tuple
6593 # error "__cpp_lib_constexpr_tuple should be defined in c++26"
6595 # if __cpp_lib_constexpr_tuple != 201811L
6596 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++26"
6599 # ifndef __cpp_lib_constexpr_typeinfo
6600 # error "__cpp_lib_constexpr_typeinfo should be defined in c++26"
6602 # if __cpp_lib_constexpr_typeinfo != 202106L
6603 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++26"
6606 # ifndef __cpp_lib_constexpr_utility
6607 # error "__cpp_lib_constexpr_utility should be defined in c++26"
6609 # if __cpp_lib_constexpr_utility != 201811L
6610 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++26"
6613 # ifndef __cpp_lib_constexpr_vector
6614 # error "__cpp_lib_constexpr_vector should be defined in c++26"
6616 # if __cpp_lib_constexpr_vector != 201907L
6617 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++26"
6620 # if !defined(_LIBCPP_VERSION)
6621 # ifndef __cpp_lib_constrained_equality
6622 # error "__cpp_lib_constrained_equality should be defined in c++26"
6624 # if __cpp_lib_constrained_equality != 202403L
6625 # error "__cpp_lib_constrained_equality should have the value 202403L in c++26"
6627 # else // _LIBCPP_VERSION
6628 # ifdef __cpp_lib_constrained_equality
6629 # error "__cpp_lib_constrained_equality should not be defined because it is unimplemented in libc++!"
6633 # ifndef __cpp_lib_containers_ranges
6634 # error "__cpp_lib_containers_ranges should be defined in c++26"
6636 # if __cpp_lib_containers_ranges != 202202L
6637 # error "__cpp_lib_containers_ranges should have the value 202202L in c++26"
6640 # if !defined(_LIBCPP_VERSION)
6641 # ifndef __cpp_lib_copyable_function
6642 # error "__cpp_lib_copyable_function should be defined in c++26"
6644 # if __cpp_lib_copyable_function != 202306L
6645 # error "__cpp_lib_copyable_function should have the value 202306L in c++26"
6647 # else // _LIBCPP_VERSION
6648 # ifdef __cpp_lib_copyable_function
6649 # error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"
6653 # ifndef __cpp_lib_coroutine
6654 # error "__cpp_lib_coroutine should be defined in c++26"
6656 # if __cpp_lib_coroutine != 201902L
6657 # error "__cpp_lib_coroutine should have the value 201902L in c++26"
6660 # if !defined(_LIBCPP_VERSION)
6661 # ifndef __cpp_lib_debugging
6662 # error "__cpp_lib_debugging should be defined in c++26"
6664 # if __cpp_lib_debugging != 202311L
6665 # error "__cpp_lib_debugging should have the value 202311L in c++26"
6667 # else // _LIBCPP_VERSION
6668 # ifdef __cpp_lib_debugging
6669 # error "__cpp_lib_debugging should not be defined because it is unimplemented in libc++!"
6673 # if !defined(_LIBCPP_VERSION)
6674 # ifndef __cpp_lib_default_template_type_for_algorithm_values
6675 # error "__cpp_lib_default_template_type_for_algorithm_values should be defined in c++26"
6677 # if __cpp_lib_default_template_type_for_algorithm_values != 202403L
6678 # error "__cpp_lib_default_template_type_for_algorithm_values should have the value 202403L in c++26"
6680 # else // _LIBCPP_VERSION
6681 # ifdef __cpp_lib_default_template_type_for_algorithm_values
6682 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined because it is unimplemented in libc++!"
6686 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
6687 # ifndef __cpp_lib_destroying_delete
6688 # error "__cpp_lib_destroying_delete should be defined in c++26"
6690 # if __cpp_lib_destroying_delete != 201806L
6691 # error "__cpp_lib_destroying_delete should have the value 201806L in c++26"
6694 # ifdef __cpp_lib_destroying_delete
6695 # error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
6699 # ifndef __cpp_lib_enable_shared_from_this
6700 # error "__cpp_lib_enable_shared_from_this should be defined in c++26"
6702 # if __cpp_lib_enable_shared_from_this != 201603L
6703 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26"
6706 # ifndef __cpp_lib_endian
6707 # error "__cpp_lib_endian should be defined in c++26"
6709 # if __cpp_lib_endian != 201907L
6710 # error "__cpp_lib_endian should have the value 201907L in c++26"
6713 # ifndef __cpp_lib_erase_if
6714 # error "__cpp_lib_erase_if should be defined in c++26"
6716 # if __cpp_lib_erase_if != 202002L
6717 # error "__cpp_lib_erase_if should have the value 202002L in c++26"
6720 # ifndef __cpp_lib_exchange_function
6721 # error "__cpp_lib_exchange_function should be defined in c++26"
6723 # if __cpp_lib_exchange_function != 201304L
6724 # error "__cpp_lib_exchange_function should have the value 201304L in c++26"
6727 # if !defined(_LIBCPP_VERSION)
6728 # ifndef __cpp_lib_execution
6729 # error "__cpp_lib_execution should be defined in c++26"
6731 # if __cpp_lib_execution != 201902L
6732 # error "__cpp_lib_execution should have the value 201902L in c++26"
6734 # else // _LIBCPP_VERSION
6735 # ifdef __cpp_lib_execution
6736 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
6740 # ifndef __cpp_lib_expected
6741 # error "__cpp_lib_expected should be defined in c++26"
6743 # if __cpp_lib_expected != 202211L
6744 # error "__cpp_lib_expected should have the value 202211L in c++26"
6747 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
6748 # ifndef __cpp_lib_filesystem
6749 # error "__cpp_lib_filesystem should be defined in c++26"
6751 # if __cpp_lib_filesystem != 201703L
6752 # error "__cpp_lib_filesystem should have the value 201703L in c++26"
6755 # ifdef __cpp_lib_filesystem
6756 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
6760 # ifndef __cpp_lib_format
6761 # error "__cpp_lib_format should be defined in c++26"
6763 # if __cpp_lib_format != 202110L
6764 # error "__cpp_lib_format should have the value 202110L in c++26"
6767 # if !defined(_LIBCPP_VERSION)
6768 # ifndef __cpp_lib_format_path
6769 # error "__cpp_lib_format_path should be defined in c++26"
6771 # if __cpp_lib_format_path != 202403L
6772 # error "__cpp_lib_format_path should have the value 202403L in c++26"
6774 # else // _LIBCPP_VERSION
6775 # ifdef __cpp_lib_format_path
6776 # error "__cpp_lib_format_path should not be defined because it is unimplemented in libc++!"
6780 # ifndef __cpp_lib_format_ranges
6781 # error "__cpp_lib_format_ranges should be defined in c++26"
6783 # if __cpp_lib_format_ranges != 202207L
6784 # error "__cpp_lib_format_ranges should have the value 202207L in c++26"
6787 # ifndef __cpp_lib_format_uchar
6788 # error "__cpp_lib_format_uchar should be defined in c++26"
6790 # if __cpp_lib_format_uchar != 202311L
6791 # error "__cpp_lib_format_uchar should have the value 202311L in c++26"
6794 # if !defined(_LIBCPP_VERSION)
6795 # ifndef __cpp_lib_formatters
6796 # error "__cpp_lib_formatters should be defined in c++26"
6798 # if __cpp_lib_formatters != 202302L
6799 # error "__cpp_lib_formatters should have the value 202302L in c++26"
6801 # else // _LIBCPP_VERSION
6802 # ifdef __cpp_lib_formatters
6803 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
6807 # ifndef __cpp_lib_forward_like
6808 # error "__cpp_lib_forward_like should be defined in c++26"
6810 # if __cpp_lib_forward_like != 202207L
6811 # error "__cpp_lib_forward_like should have the value 202207L in c++26"
6814 # if !defined(_LIBCPP_VERSION)
6815 # ifndef __cpp_lib_freestanding_algorithm
6816 # error "__cpp_lib_freestanding_algorithm should be defined in c++26"
6818 # if __cpp_lib_freestanding_algorithm != 202311L
6819 # error "__cpp_lib_freestanding_algorithm should have the value 202311L in c++26"
6821 # else // _LIBCPP_VERSION
6822 # ifdef __cpp_lib_freestanding_algorithm
6823 # error "__cpp_lib_freestanding_algorithm should not be defined because it is unimplemented in libc++!"
6827 # if !defined(_LIBCPP_VERSION)
6828 # ifndef __cpp_lib_freestanding_array
6829 # error "__cpp_lib_freestanding_array should be defined in c++26"
6831 # if __cpp_lib_freestanding_array != 202311L
6832 # error "__cpp_lib_freestanding_array should have the value 202311L in c++26"
6834 # else // _LIBCPP_VERSION
6835 # ifdef __cpp_lib_freestanding_array
6836 # error "__cpp_lib_freestanding_array should not be defined because it is unimplemented in libc++!"
6840 # if !defined(_LIBCPP_VERSION)
6841 # ifndef __cpp_lib_freestanding_cstring
6842 # error "__cpp_lib_freestanding_cstring should be defined in c++26"
6844 # if __cpp_lib_freestanding_cstring != 202306L
6845 # error "__cpp_lib_freestanding_cstring should have the value 202306L in c++26"
6847 # else // _LIBCPP_VERSION
6848 # ifdef __cpp_lib_freestanding_cstring
6849 # error "__cpp_lib_freestanding_cstring should not be defined because it is unimplemented in libc++!"
6853 # if !defined(_LIBCPP_VERSION)
6854 # ifndef __cpp_lib_freestanding_expected
6855 # error "__cpp_lib_freestanding_expected should be defined in c++26"
6857 # if __cpp_lib_freestanding_expected != 202311L
6858 # error "__cpp_lib_freestanding_expected should have the value 202311L in c++26"
6860 # else // _LIBCPP_VERSION
6861 # ifdef __cpp_lib_freestanding_expected
6862 # error "__cpp_lib_freestanding_expected should not be defined because it is unimplemented in libc++!"
6866 # if !defined(_LIBCPP_VERSION)
6867 # ifndef __cpp_lib_freestanding_mdspan
6868 # error "__cpp_lib_freestanding_mdspan should be defined in c++26"
6870 # if __cpp_lib_freestanding_mdspan != 202311L
6871 # error "__cpp_lib_freestanding_mdspan should have the value 202311L in c++26"
6873 # else // _LIBCPP_VERSION
6874 # ifdef __cpp_lib_freestanding_mdspan
6875 # error "__cpp_lib_freestanding_mdspan should not be defined because it is unimplemented in libc++!"
6879 # if !defined(_LIBCPP_VERSION)
6880 # ifndef __cpp_lib_freestanding_optional
6881 # error "__cpp_lib_freestanding_optional should be defined in c++26"
6883 # if __cpp_lib_freestanding_optional != 202311L
6884 # error "__cpp_lib_freestanding_optional should have the value 202311L in c++26"
6886 # else // _LIBCPP_VERSION
6887 # ifdef __cpp_lib_freestanding_optional
6888 # error "__cpp_lib_freestanding_optional should not be defined because it is unimplemented in libc++!"
6892 # if !defined(_LIBCPP_VERSION)
6893 # ifndef __cpp_lib_freestanding_string_view
6894 # error "__cpp_lib_freestanding_string_view should be defined in c++26"
6896 # if __cpp_lib_freestanding_string_view != 202311L
6897 # error "__cpp_lib_freestanding_string_view should have the value 202311L in c++26"
6899 # else // _LIBCPP_VERSION
6900 # ifdef __cpp_lib_freestanding_string_view
6901 # error "__cpp_lib_freestanding_string_view should not be defined because it is unimplemented in libc++!"
6905 # if !defined(_LIBCPP_VERSION)
6906 # ifndef __cpp_lib_freestanding_variant
6907 # error "__cpp_lib_freestanding_variant should be defined in c++26"
6909 # if __cpp_lib_freestanding_variant != 202311L
6910 # error "__cpp_lib_freestanding_variant should have the value 202311L in c++26"
6912 # else // _LIBCPP_VERSION
6913 # ifdef __cpp_lib_freestanding_variant
6914 # error "__cpp_lib_freestanding_variant should not be defined because it is unimplemented in libc++!"
6918 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && !defined(_LIBCPP_HAS_NO_LOCALIZATION))
6919 # ifndef __cpp_lib_fstream_native_handle
6920 # error "__cpp_lib_fstream_native_handle should be defined in c++26"
6922 # if __cpp_lib_fstream_native_handle != 202306L
6923 # error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"
6926 # ifdef __cpp_lib_fstream_native_handle
6927 # error "__cpp_lib_fstream_native_handle should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && !defined(_LIBCPP_HAS_NO_LOCALIZATION))' is not met!"
6931 # if !defined(_LIBCPP_VERSION)
6932 # ifndef __cpp_lib_function_ref
6933 # error "__cpp_lib_function_ref should be defined in c++26"
6935 # if __cpp_lib_function_ref != 202306L
6936 # error "__cpp_lib_function_ref should have the value 202306L in c++26"
6938 # else // _LIBCPP_VERSION
6939 # ifdef __cpp_lib_function_ref
6940 # error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"
6944 # ifndef __cpp_lib_gcd_lcm
6945 # error "__cpp_lib_gcd_lcm should be defined in c++26"
6947 # if __cpp_lib_gcd_lcm != 201606L
6948 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++26"
6951 # if !defined(_LIBCPP_VERSION)
6952 # ifndef __cpp_lib_generate_random
6953 # error "__cpp_lib_generate_random should be defined in c++26"
6955 # if __cpp_lib_generate_random != 202403L
6956 # error "__cpp_lib_generate_random should have the value 202403L in c++26"
6958 # else // _LIBCPP_VERSION
6959 # ifdef __cpp_lib_generate_random
6960 # error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!"
6964 # ifndef __cpp_lib_generic_associative_lookup
6965 # error "__cpp_lib_generic_associative_lookup should be defined in c++26"
6967 # if __cpp_lib_generic_associative_lookup != 201304L
6968 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++26"
6971 # ifndef __cpp_lib_generic_unordered_lookup
6972 # error "__cpp_lib_generic_unordered_lookup should be defined in c++26"
6974 # if __cpp_lib_generic_unordered_lookup != 201811L
6975 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++26"
6978 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
6979 # ifndef __cpp_lib_hardware_interference_size
6980 # error "__cpp_lib_hardware_interference_size should be defined in c++26"
6982 # if __cpp_lib_hardware_interference_size != 201703L
6983 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++26"
6986 # ifdef __cpp_lib_hardware_interference_size
6987 # error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
6991 # ifndef __cpp_lib_has_unique_object_representations
6992 # error "__cpp_lib_has_unique_object_representations should be defined in c++26"
6994 # if __cpp_lib_has_unique_object_representations != 201606L
6995 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26"
6998 # if !defined(_LIBCPP_VERSION)
6999 # ifndef __cpp_lib_hazard_pointer
7000 # error "__cpp_lib_hazard_pointer should be defined in c++26"
7002 # if __cpp_lib_hazard_pointer != 202306L
7003 # error "__cpp_lib_hazard_pointer should have the value 202306L in c++26"
7005 # else // _LIBCPP_VERSION
7006 # ifdef __cpp_lib_hazard_pointer
7007 # error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!"
7011 # ifndef __cpp_lib_hypot
7012 # error "__cpp_lib_hypot should be defined in c++26"
7014 # if __cpp_lib_hypot != 201603L
7015 # error "__cpp_lib_hypot should have the value 201603L in c++26"
7018 # ifndef __cpp_lib_incomplete_container_elements
7019 # error "__cpp_lib_incomplete_container_elements should be defined in c++26"
7021 # if __cpp_lib_incomplete_container_elements != 201505L
7022 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++26"
7025 # if !defined(_LIBCPP_VERSION)
7026 # ifndef __cpp_lib_inplace_vector
7027 # error "__cpp_lib_inplace_vector should be defined in c++26"
7029 # if __cpp_lib_inplace_vector != 202406L
7030 # error "__cpp_lib_inplace_vector should have the value 202406L in c++26"
7032 # else // _LIBCPP_VERSION
7033 # ifdef __cpp_lib_inplace_vector
7034 # error "__cpp_lib_inplace_vector should not be defined because it is unimplemented in libc++!"
7038 # ifndef __cpp_lib_int_pow2
7039 # error "__cpp_lib_int_pow2 should be defined in c++26"
7041 # if __cpp_lib_int_pow2 != 202002L
7042 # error "__cpp_lib_int_pow2 should have the value 202002L in c++26"
7045 # ifndef __cpp_lib_integer_comparison_functions
7046 # error "__cpp_lib_integer_comparison_functions should be defined in c++26"
7048 # if __cpp_lib_integer_comparison_functions != 202002L
7049 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++26"
7052 # ifndef __cpp_lib_integer_sequence
7053 # error "__cpp_lib_integer_sequence should be defined in c++26"
7055 # if __cpp_lib_integer_sequence != 201304L
7056 # error "__cpp_lib_integer_sequence should have the value 201304L in c++26"
7059 # ifndef __cpp_lib_integral_constant_callable
7060 # error "__cpp_lib_integral_constant_callable should be defined in c++26"
7062 # if __cpp_lib_integral_constant_callable != 201304L
7063 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++26"
7066 # ifndef __cpp_lib_interpolate
7067 # error "__cpp_lib_interpolate should be defined in c++26"
7069 # if __cpp_lib_interpolate != 201902L
7070 # error "__cpp_lib_interpolate should have the value 201902L in c++26"
7073 # ifndef __cpp_lib_invoke
7074 # error "__cpp_lib_invoke should be defined in c++26"
7076 # if __cpp_lib_invoke != 201411L
7077 # error "__cpp_lib_invoke should have the value 201411L in c++26"
7080 # ifndef __cpp_lib_invoke_r
7081 # error "__cpp_lib_invoke_r should be defined in c++26"
7083 # if __cpp_lib_invoke_r != 202106L
7084 # error "__cpp_lib_invoke_r should have the value 202106L in c++26"
7087 # ifndef __cpp_lib_ios_noreplace
7088 # error "__cpp_lib_ios_noreplace should be defined in c++26"
7090 # if __cpp_lib_ios_noreplace != 202207L
7091 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++26"
7094 # ifndef __cpp_lib_is_aggregate
7095 # error "__cpp_lib_is_aggregate should be defined in c++26"
7097 # if __cpp_lib_is_aggregate != 201703L
7098 # error "__cpp_lib_is_aggregate should have the value 201703L in c++26"
7101 # ifndef __cpp_lib_is_constant_evaluated
7102 # error "__cpp_lib_is_constant_evaluated should be defined in c++26"
7104 # if __cpp_lib_is_constant_evaluated != 201811L
7105 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++26"
7108 # ifndef __cpp_lib_is_final
7109 # error "__cpp_lib_is_final should be defined in c++26"
7111 # if __cpp_lib_is_final != 201402L
7112 # error "__cpp_lib_is_final should have the value 201402L in c++26"
7115 # ifndef __cpp_lib_is_invocable
7116 # error "__cpp_lib_is_invocable should be defined in c++26"
7118 # if __cpp_lib_is_invocable != 201703L
7119 # error "__cpp_lib_is_invocable should have the value 201703L in c++26"
7122 # if !defined(_LIBCPP_VERSION)
7123 # ifndef __cpp_lib_is_layout_compatible
7124 # error "__cpp_lib_is_layout_compatible should be defined in c++26"
7126 # if __cpp_lib_is_layout_compatible != 201907L
7127 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++26"
7129 # else // _LIBCPP_VERSION
7130 # ifdef __cpp_lib_is_layout_compatible
7131 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
7135 # ifndef __cpp_lib_is_nothrow_convertible
7136 # error "__cpp_lib_is_nothrow_convertible should be defined in c++26"
7138 # if __cpp_lib_is_nothrow_convertible != 201806L
7139 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++26"
7142 # ifndef __cpp_lib_is_null_pointer
7143 # error "__cpp_lib_is_null_pointer should be defined in c++26"
7145 # if __cpp_lib_is_null_pointer != 201309L
7146 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++26"
7149 # if !defined(_LIBCPP_VERSION)
7150 # ifndef __cpp_lib_is_pointer_interconvertible
7151 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++26"
7153 # if __cpp_lib_is_pointer_interconvertible != 201907L
7154 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++26"
7156 # else // _LIBCPP_VERSION
7157 # ifdef __cpp_lib_is_pointer_interconvertible
7158 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
7162 # ifndef __cpp_lib_is_scoped_enum
7163 # error "__cpp_lib_is_scoped_enum should be defined in c++26"
7165 # if __cpp_lib_is_scoped_enum != 202011L
7166 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++26"
7169 # ifndef __cpp_lib_is_swappable
7170 # error "__cpp_lib_is_swappable should be defined in c++26"
7172 # if __cpp_lib_is_swappable != 201603L
7173 # error "__cpp_lib_is_swappable should have the value 201603L in c++26"
7176 # if !defined(_LIBCPP_VERSION)
7177 # ifndef __cpp_lib_is_virtual_base_of
7178 # error "__cpp_lib_is_virtual_base_of should be defined in c++26"
7180 # if __cpp_lib_is_virtual_base_of != 202406L
7181 # error "__cpp_lib_is_virtual_base_of should have the value 202406L in c++26"
7183 # else // _LIBCPP_VERSION
7184 # ifdef __cpp_lib_is_virtual_base_of
7185 # error "__cpp_lib_is_virtual_base_of should not be defined because it is unimplemented in libc++!"
7189 # if !defined(_LIBCPP_VERSION)
7190 # ifndef __cpp_lib_is_within_lifetime
7191 # error "__cpp_lib_is_within_lifetime should be defined in c++26"
7193 # if __cpp_lib_is_within_lifetime != 202306L
7194 # error "__cpp_lib_is_within_lifetime should have the value 202306L in c++26"
7196 # else // _LIBCPP_VERSION
7197 # ifdef __cpp_lib_is_within_lifetime
7198 # error "__cpp_lib_is_within_lifetime should not be defined because it is unimplemented in libc++!"
7202 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7203 # ifndef __cpp_lib_jthread
7204 # error "__cpp_lib_jthread should be defined in c++26"
7206 # if __cpp_lib_jthread != 201911L
7207 # error "__cpp_lib_jthread should have the value 201911L in c++26"
7210 # ifdef __cpp_lib_jthread
7211 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7215 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7216 # ifndef __cpp_lib_latch
7217 # error "__cpp_lib_latch should be defined in c++26"
7219 # if __cpp_lib_latch != 201907L
7220 # error "__cpp_lib_latch should have the value 201907L in c++26"
7223 # ifdef __cpp_lib_latch
7224 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7228 # ifndef __cpp_lib_launder
7229 # error "__cpp_lib_launder should be defined in c++26"
7231 # if __cpp_lib_launder != 201606L
7232 # error "__cpp_lib_launder should have the value 201606L in c++26"
7235 # if !defined(_LIBCPP_VERSION)
7236 # ifndef __cpp_lib_linalg
7237 # error "__cpp_lib_linalg should be defined in c++26"
7239 # if __cpp_lib_linalg != 202311L
7240 # error "__cpp_lib_linalg should have the value 202311L in c++26"
7242 # else // _LIBCPP_VERSION
7243 # ifdef __cpp_lib_linalg
7244 # error "__cpp_lib_linalg should not be defined because it is unimplemented in libc++!"
7248 # ifndef __cpp_lib_list_remove_return_type
7249 # error "__cpp_lib_list_remove_return_type should be defined in c++26"
7251 # if __cpp_lib_list_remove_return_type != 201806L
7252 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++26"
7255 # ifndef __cpp_lib_logical_traits
7256 # error "__cpp_lib_logical_traits should be defined in c++26"
7258 # if __cpp_lib_logical_traits != 201510L
7259 # error "__cpp_lib_logical_traits should have the value 201510L in c++26"
7262 # ifndef __cpp_lib_make_from_tuple
7263 # error "__cpp_lib_make_from_tuple should be defined in c++26"
7265 # if __cpp_lib_make_from_tuple != 201606L
7266 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++26"
7269 # ifndef __cpp_lib_make_reverse_iterator
7270 # error "__cpp_lib_make_reverse_iterator should be defined in c++26"
7272 # if __cpp_lib_make_reverse_iterator != 201402L
7273 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++26"
7276 # ifndef __cpp_lib_make_unique
7277 # error "__cpp_lib_make_unique should be defined in c++26"
7279 # if __cpp_lib_make_unique != 201304L
7280 # error "__cpp_lib_make_unique should have the value 201304L in c++26"
7283 # ifndef __cpp_lib_map_try_emplace
7284 # error "__cpp_lib_map_try_emplace should be defined in c++26"
7286 # if __cpp_lib_map_try_emplace != 201411L
7287 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++26"
7290 # ifndef __cpp_lib_math_constants
7291 # error "__cpp_lib_math_constants should be defined in c++26"
7293 # if __cpp_lib_math_constants != 201907L
7294 # error "__cpp_lib_math_constants should have the value 201907L in c++26"
7297 # if !defined(_LIBCPP_VERSION)
7298 # ifndef __cpp_lib_math_special_functions
7299 # error "__cpp_lib_math_special_functions should be defined in c++26"
7301 # if __cpp_lib_math_special_functions != 201603L
7302 # error "__cpp_lib_math_special_functions should have the value 201603L in c++26"
7304 # else // _LIBCPP_VERSION
7305 # ifdef __cpp_lib_math_special_functions
7306 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
7310 # ifndef __cpp_lib_mdspan
7311 # error "__cpp_lib_mdspan should be defined in c++26"
7313 # if __cpp_lib_mdspan != 202406L
7314 # error "__cpp_lib_mdspan should have the value 202406L in c++26"
7317 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7318 # ifndef __cpp_lib_memory_resource
7319 # error "__cpp_lib_memory_resource should be defined in c++26"
7321 # if __cpp_lib_memory_resource != 201603L
7322 # error "__cpp_lib_memory_resource should have the value 201603L in c++26"
7325 # ifdef __cpp_lib_memory_resource
7326 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7330 # ifndef __cpp_lib_modules
7331 # error "__cpp_lib_modules should be defined in c++26"
7333 # if __cpp_lib_modules != 202207L
7334 # error "__cpp_lib_modules should have the value 202207L in c++26"
7337 # ifndef __cpp_lib_move_iterator_concept
7338 # error "__cpp_lib_move_iterator_concept should be defined in c++26"
7340 # if __cpp_lib_move_iterator_concept != 202207L
7341 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++26"
7344 # if !defined(_LIBCPP_VERSION)
7345 # ifndef __cpp_lib_move_only_function
7346 # error "__cpp_lib_move_only_function should be defined in c++26"
7348 # if __cpp_lib_move_only_function != 202110L
7349 # error "__cpp_lib_move_only_function should have the value 202110L in c++26"
7351 # else // _LIBCPP_VERSION
7352 # ifdef __cpp_lib_move_only_function
7353 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
7357 # ifndef __cpp_lib_node_extract
7358 # error "__cpp_lib_node_extract should be defined in c++26"
7360 # if __cpp_lib_node_extract != 201606L
7361 # error "__cpp_lib_node_extract should have the value 201606L in c++26"
7364 # ifndef __cpp_lib_nonmember_container_access
7365 # error "__cpp_lib_nonmember_container_access should be defined in c++26"
7367 # if __cpp_lib_nonmember_container_access != 201411L
7368 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++26"
7371 # ifndef __cpp_lib_not_fn
7372 # error "__cpp_lib_not_fn should be defined in c++26"
7374 # if __cpp_lib_not_fn != 201603L
7375 # error "__cpp_lib_not_fn should have the value 201603L in c++26"
7378 # ifndef __cpp_lib_null_iterators
7379 # error "__cpp_lib_null_iterators should be defined in c++26"
7381 # if __cpp_lib_null_iterators != 201304L
7382 # error "__cpp_lib_null_iterators should have the value 201304L in c++26"
7385 # ifndef __cpp_lib_optional
7386 # error "__cpp_lib_optional should be defined in c++26"
7388 # if __cpp_lib_optional != 202110L
7389 # error "__cpp_lib_optional should have the value 202110L in c++26"
7392 # if !defined(_LIBCPP_VERSION)
7393 # ifndef __cpp_lib_optional_range_support
7394 # error "__cpp_lib_optional_range_support should be defined in c++26"
7396 # if __cpp_lib_optional_range_support != 202406L
7397 # error "__cpp_lib_optional_range_support should have the value 202406L in c++26"
7399 # else // _LIBCPP_VERSION
7400 # ifdef __cpp_lib_optional_range_support
7401 # error "__cpp_lib_optional_range_support should not be defined because it is unimplemented in libc++!"
7405 # ifndef __cpp_lib_out_ptr
7406 # error "__cpp_lib_out_ptr should be defined in c++26"
7408 # if __cpp_lib_out_ptr != 202311L
7409 # error "__cpp_lib_out_ptr should have the value 202311L in c++26"
7412 # if !defined(_LIBCPP_VERSION)
7413 # ifndef __cpp_lib_parallel_algorithm
7414 # error "__cpp_lib_parallel_algorithm should be defined in c++26"
7416 # if __cpp_lib_parallel_algorithm != 201603L
7417 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++26"
7419 # else // _LIBCPP_VERSION
7420 # ifdef __cpp_lib_parallel_algorithm
7421 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
7425 # if !defined(_LIBCPP_VERSION)
7426 # ifndef __cpp_lib_philox_engine
7427 # error "__cpp_lib_philox_engine should be defined in c++26"
7429 # if __cpp_lib_philox_engine != 202406L
7430 # error "__cpp_lib_philox_engine should have the value 202406L in c++26"
7432 # else // _LIBCPP_VERSION
7433 # ifdef __cpp_lib_philox_engine
7434 # error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!"
7438 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7439 # ifndef __cpp_lib_polymorphic_allocator
7440 # error "__cpp_lib_polymorphic_allocator should be defined in c++26"
7442 # if __cpp_lib_polymorphic_allocator != 201902L
7443 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++26"
7446 # ifdef __cpp_lib_polymorphic_allocator
7447 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7451 # ifndef __cpp_lib_print
7452 # error "__cpp_lib_print should be defined in c++26"
7454 # if __cpp_lib_print != 202207L
7455 # error "__cpp_lib_print should have the value 202207L in c++26"
7458 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
7459 # ifndef __cpp_lib_quoted_string_io
7460 # error "__cpp_lib_quoted_string_io should be defined in c++26"
7462 # if __cpp_lib_quoted_string_io != 201304L
7463 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++26"
7466 # ifdef __cpp_lib_quoted_string_io
7467 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
7471 # ifndef __cpp_lib_ranges
7472 # error "__cpp_lib_ranges should be defined in c++26"
7474 # if __cpp_lib_ranges != 202211L
7475 # error "__cpp_lib_ranges should have the value 202211L in c++26"
7478 # if !defined(_LIBCPP_VERSION)
7479 # ifndef __cpp_lib_ranges_as_const
7480 # error "__cpp_lib_ranges_as_const should be defined in c++26"
7482 # if __cpp_lib_ranges_as_const != 202207L
7483 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++26"
7485 # else // _LIBCPP_VERSION
7486 # ifdef __cpp_lib_ranges_as_const
7487 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
7491 # ifndef __cpp_lib_ranges_as_rvalue
7492 # error "__cpp_lib_ranges_as_rvalue should be defined in c++26"
7494 # if __cpp_lib_ranges_as_rvalue != 202207L
7495 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++26"
7498 # if !defined(_LIBCPP_VERSION)
7499 # ifndef __cpp_lib_ranges_chunk
7500 # error "__cpp_lib_ranges_chunk should be defined in c++26"
7502 # if __cpp_lib_ranges_chunk != 202202L
7503 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++26"
7505 # else // _LIBCPP_VERSION
7506 # ifdef __cpp_lib_ranges_chunk
7507 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
7511 # ifndef __cpp_lib_ranges_chunk_by
7512 # error "__cpp_lib_ranges_chunk_by should be defined in c++26"
7514 # if __cpp_lib_ranges_chunk_by != 202202L
7515 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++26"
7518 # if !defined(_LIBCPP_VERSION)
7519 # ifndef __cpp_lib_ranges_concat
7520 # error "__cpp_lib_ranges_concat should be defined in c++26"
7522 # if __cpp_lib_ranges_concat != 202403L
7523 # error "__cpp_lib_ranges_concat should have the value 202403L in c++26"
7525 # else // _LIBCPP_VERSION
7526 # ifdef __cpp_lib_ranges_concat
7527 # error "__cpp_lib_ranges_concat should not be defined because it is unimplemented in libc++!"
7531 # ifndef __cpp_lib_ranges_contains
7532 # error "__cpp_lib_ranges_contains should be defined in c++26"
7534 # if __cpp_lib_ranges_contains != 202207L
7535 # error "__cpp_lib_ranges_contains should have the value 202207L in c++26"
7538 # ifndef __cpp_lib_ranges_find_last
7539 # error "__cpp_lib_ranges_find_last should be defined in c++26"
7541 # if __cpp_lib_ranges_find_last != 202207L
7542 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++26"
7545 # if !defined(_LIBCPP_VERSION)
7546 # ifndef __cpp_lib_ranges_iota
7547 # error "__cpp_lib_ranges_iota should be defined in c++26"
7549 # if __cpp_lib_ranges_iota != 202202L
7550 # error "__cpp_lib_ranges_iota should have the value 202202L in c++26"
7552 # else // _LIBCPP_VERSION
7553 # ifdef __cpp_lib_ranges_iota
7554 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
7558 # if !defined(_LIBCPP_VERSION)
7559 # ifndef __cpp_lib_ranges_join_with
7560 # error "__cpp_lib_ranges_join_with should be defined in c++26"
7562 # if __cpp_lib_ranges_join_with != 202202L
7563 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++26"
7565 # else // _LIBCPP_VERSION
7566 # ifdef __cpp_lib_ranges_join_with
7567 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
7571 # ifndef __cpp_lib_ranges_repeat
7572 # error "__cpp_lib_ranges_repeat should be defined in c++26"
7574 # if __cpp_lib_ranges_repeat != 202207L
7575 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++26"
7578 # if !defined(_LIBCPP_VERSION)
7579 # ifndef __cpp_lib_ranges_slide
7580 # error "__cpp_lib_ranges_slide should be defined in c++26"
7582 # if __cpp_lib_ranges_slide != 202202L
7583 # error "__cpp_lib_ranges_slide should have the value 202202L in c++26"
7585 # else // _LIBCPP_VERSION
7586 # ifdef __cpp_lib_ranges_slide
7587 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
7591 # ifndef __cpp_lib_ranges_starts_ends_with
7592 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++26"
7594 # if __cpp_lib_ranges_starts_ends_with != 202106L
7595 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++26"
7598 # ifndef __cpp_lib_ranges_to_container
7599 # error "__cpp_lib_ranges_to_container should be defined in c++26"
7601 # if __cpp_lib_ranges_to_container != 202202L
7602 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++26"
7605 # if !defined(_LIBCPP_VERSION)
7606 # ifndef __cpp_lib_ranges_zip
7607 # error "__cpp_lib_ranges_zip should be defined in c++26"
7609 # if __cpp_lib_ranges_zip != 202110L
7610 # error "__cpp_lib_ranges_zip should have the value 202110L in c++26"
7612 # else // _LIBCPP_VERSION
7613 # ifdef __cpp_lib_ranges_zip
7614 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
7618 # ifndef __cpp_lib_ratio
7619 # error "__cpp_lib_ratio should be defined in c++26"
7621 # if __cpp_lib_ratio != 202306L
7622 # error "__cpp_lib_ratio should have the value 202306L in c++26"
7625 # ifndef __cpp_lib_raw_memory_algorithms
7626 # error "__cpp_lib_raw_memory_algorithms should be defined in c++26"
7628 # if __cpp_lib_raw_memory_algorithms != 201606L
7629 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26"
7632 # if !defined(_LIBCPP_VERSION)
7633 # ifndef __cpp_lib_rcu
7634 # error "__cpp_lib_rcu should be defined in c++26"
7636 # if __cpp_lib_rcu != 202306L
7637 # error "__cpp_lib_rcu should have the value 202306L in c++26"
7639 # else // _LIBCPP_VERSION
7640 # ifdef __cpp_lib_rcu
7641 # error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!"
7645 # if !defined(_LIBCPP_VERSION)
7646 # ifndef __cpp_lib_reference_from_temporary
7647 # error "__cpp_lib_reference_from_temporary should be defined in c++26"
7649 # if __cpp_lib_reference_from_temporary != 202202L
7650 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++26"
7652 # else // _LIBCPP_VERSION
7653 # ifdef __cpp_lib_reference_from_temporary
7654 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
7658 # ifndef __cpp_lib_reference_wrapper
7659 # error "__cpp_lib_reference_wrapper should be defined in c++26"
7661 # if __cpp_lib_reference_wrapper != 202403L
7662 # error "__cpp_lib_reference_wrapper should have the value 202403L in c++26"
7665 # ifndef __cpp_lib_remove_cvref
7666 # error "__cpp_lib_remove_cvref should be defined in c++26"
7668 # if __cpp_lib_remove_cvref != 201711L
7669 # error "__cpp_lib_remove_cvref should have the value 201711L in c++26"
7672 # ifndef __cpp_lib_result_of_sfinae
7673 # error "__cpp_lib_result_of_sfinae should be defined in c++26"
7675 # if __cpp_lib_result_of_sfinae != 201210L
7676 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26"
7679 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
7680 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++26"
7682 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
7683 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++26"
7686 # ifndef __cpp_lib_sample
7687 # error "__cpp_lib_sample should be defined in c++26"
7689 # if __cpp_lib_sample != 201603L
7690 # error "__cpp_lib_sample should have the value 201603L in c++26"
7693 # ifndef __cpp_lib_saturation_arithmetic
7694 # error "__cpp_lib_saturation_arithmetic should be defined in c++26"
7696 # if __cpp_lib_saturation_arithmetic != 202311L
7697 # error "__cpp_lib_saturation_arithmetic should have the value 202311L in c++26"
7700 # if !defined(_LIBCPP_HAS_NO_THREADS)
7701 # ifndef __cpp_lib_scoped_lock
7702 # error "__cpp_lib_scoped_lock should be defined in c++26"
7704 # if __cpp_lib_scoped_lock != 201703L
7705 # error "__cpp_lib_scoped_lock should have the value 201703L in c++26"
7708 # ifdef __cpp_lib_scoped_lock
7709 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7713 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7714 # ifndef __cpp_lib_semaphore
7715 # error "__cpp_lib_semaphore should be defined in c++26"
7717 # if __cpp_lib_semaphore != 201907L
7718 # error "__cpp_lib_semaphore should have the value 201907L in c++26"
7721 # ifdef __cpp_lib_semaphore
7722 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7726 # if !defined(_LIBCPP_VERSION)
7727 # ifndef __cpp_lib_senders
7728 # error "__cpp_lib_senders should be defined in c++26"
7730 # if __cpp_lib_senders != 202406L
7731 # error "__cpp_lib_senders should have the value 202406L in c++26"
7733 # else // _LIBCPP_VERSION
7734 # ifdef __cpp_lib_senders
7735 # error "__cpp_lib_senders should not be defined because it is unimplemented in libc++!"
7739 # if !defined(_LIBCPP_HAS_NO_THREADS)
7740 # ifndef __cpp_lib_shared_mutex
7741 # error "__cpp_lib_shared_mutex should be defined in c++26"
7743 # if __cpp_lib_shared_mutex != 201505L
7744 # error "__cpp_lib_shared_mutex should have the value 201505L in c++26"
7747 # ifdef __cpp_lib_shared_mutex
7748 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7752 # ifndef __cpp_lib_shared_ptr_arrays
7753 # error "__cpp_lib_shared_ptr_arrays should be defined in c++26"
7755 # if __cpp_lib_shared_ptr_arrays != 201707L
7756 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26"
7759 # ifndef __cpp_lib_shared_ptr_weak_type
7760 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++26"
7762 # if __cpp_lib_shared_ptr_weak_type != 201606L
7763 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26"
7766 # if !defined(_LIBCPP_HAS_NO_THREADS)
7767 # ifndef __cpp_lib_shared_timed_mutex
7768 # error "__cpp_lib_shared_timed_mutex should be defined in c++26"
7770 # if __cpp_lib_shared_timed_mutex != 201402L
7771 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++26"
7774 # ifdef __cpp_lib_shared_timed_mutex
7775 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7779 # ifndef __cpp_lib_shift
7780 # error "__cpp_lib_shift should be defined in c++26"
7782 # if __cpp_lib_shift != 201806L
7783 # error "__cpp_lib_shift should have the value 201806L in c++26"
7786 # if !defined(_LIBCPP_VERSION)
7787 # ifndef __cpp_lib_smart_ptr_for_overwrite
7788 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26"
7790 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
7791 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26"
7793 # else // _LIBCPP_VERSION
7794 # ifdef __cpp_lib_smart_ptr_for_overwrite
7795 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
7799 # if !defined(_LIBCPP_VERSION)
7800 # ifndef __cpp_lib_smart_ptr_owner_equality
7801 # error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"
7803 # if __cpp_lib_smart_ptr_owner_equality != 202306L
7804 # error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"
7806 # else // _LIBCPP_VERSION
7807 # ifdef __cpp_lib_smart_ptr_owner_equality
7808 # error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"
7812 # ifndef __cpp_lib_source_location
7813 # error "__cpp_lib_source_location should be defined in c++26"
7815 # if __cpp_lib_source_location != 201907L
7816 # error "__cpp_lib_source_location should have the value 201907L in c++26"
7819 # ifndef __cpp_lib_span
7820 # error "__cpp_lib_span should be defined in c++26"
7822 # if __cpp_lib_span != 202002L
7823 # error "__cpp_lib_span should have the value 202002L in c++26"
7826 # ifndef __cpp_lib_span_at
7827 # error "__cpp_lib_span_at should be defined in c++26"
7829 # if __cpp_lib_span_at != 202311L
7830 # error "__cpp_lib_span_at should have the value 202311L in c++26"
7833 # ifndef __cpp_lib_span_initializer_list
7834 # error "__cpp_lib_span_initializer_list should be defined in c++26"
7836 # if __cpp_lib_span_initializer_list != 202311L
7837 # error "__cpp_lib_span_initializer_list should have the value 202311L in c++26"
7840 # if !defined(_LIBCPP_VERSION)
7841 # ifndef __cpp_lib_spanstream
7842 # error "__cpp_lib_spanstream should be defined in c++26"
7844 # if __cpp_lib_spanstream != 202106L
7845 # error "__cpp_lib_spanstream should have the value 202106L in c++26"
7847 # else // _LIBCPP_VERSION
7848 # ifdef __cpp_lib_spanstream
7849 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
7853 # ifndef __cpp_lib_ssize
7854 # error "__cpp_lib_ssize should be defined in c++26"
7856 # if __cpp_lib_ssize != 201902L
7857 # error "__cpp_lib_ssize should have the value 201902L in c++26"
7860 # ifndef __cpp_lib_sstream_from_string_view
7861 # error "__cpp_lib_sstream_from_string_view should be defined in c++26"
7863 # if __cpp_lib_sstream_from_string_view != 202306L
7864 # error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"
7867 # if !defined(_LIBCPP_VERSION)
7868 # ifndef __cpp_lib_stacktrace
7869 # error "__cpp_lib_stacktrace should be defined in c++26"
7871 # if __cpp_lib_stacktrace != 202011L
7872 # error "__cpp_lib_stacktrace should have the value 202011L in c++26"
7874 # else // _LIBCPP_VERSION
7875 # ifdef __cpp_lib_stacktrace
7876 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
7880 # ifndef __cpp_lib_starts_ends_with
7881 # error "__cpp_lib_starts_ends_with should be defined in c++26"
7883 # if __cpp_lib_starts_ends_with != 201711L
7884 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++26"
7887 # ifndef __cpp_lib_stdatomic_h
7888 # error "__cpp_lib_stdatomic_h should be defined in c++26"
7890 # if __cpp_lib_stdatomic_h != 202011L
7891 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++26"
7894 # ifndef __cpp_lib_string_contains
7895 # error "__cpp_lib_string_contains should be defined in c++26"
7897 # if __cpp_lib_string_contains != 202011L
7898 # error "__cpp_lib_string_contains should have the value 202011L in c++26"
7901 # ifndef __cpp_lib_string_resize_and_overwrite
7902 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++26"
7904 # if __cpp_lib_string_resize_and_overwrite != 202110L
7905 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++26"
7908 # ifndef __cpp_lib_string_udls
7909 # error "__cpp_lib_string_udls should be defined in c++26"
7911 # if __cpp_lib_string_udls != 201304L
7912 # error "__cpp_lib_string_udls should have the value 201304L in c++26"
7915 # ifndef __cpp_lib_string_view
7916 # error "__cpp_lib_string_view should be defined in c++26"
7918 # if __cpp_lib_string_view != 202403L
7919 # error "__cpp_lib_string_view should have the value 202403L in c++26"
7922 # if !defined(_LIBCPP_VERSION)
7923 # ifndef __cpp_lib_submdspan
7924 # error "__cpp_lib_submdspan should be defined in c++26"
7926 # if __cpp_lib_submdspan != 202306L
7927 # error "__cpp_lib_submdspan should have the value 202306L in c++26"
7929 # else // _LIBCPP_VERSION
7930 # ifdef __cpp_lib_submdspan
7931 # error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"
7935 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
7936 # ifndef __cpp_lib_syncbuf
7937 # error "__cpp_lib_syncbuf should be defined in c++26"
7939 # if __cpp_lib_syncbuf != 201803L
7940 # error "__cpp_lib_syncbuf should have the value 201803L in c++26"
7943 # ifdef __cpp_lib_syncbuf
7944 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
7948 # if !defined(_LIBCPP_VERSION)
7949 # ifndef __cpp_lib_text_encoding
7950 # error "__cpp_lib_text_encoding should be defined in c++26"
7952 # if __cpp_lib_text_encoding != 202306L
7953 # error "__cpp_lib_text_encoding should have the value 202306L in c++26"
7955 # else // _LIBCPP_VERSION
7956 # ifdef __cpp_lib_text_encoding
7957 # error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!"
7961 # ifndef __cpp_lib_three_way_comparison
7962 # error "__cpp_lib_three_way_comparison should be defined in c++26"
7964 # if __cpp_lib_three_way_comparison != 201907L
7965 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"
7968 # ifndef __cpp_lib_to_address
7969 # error "__cpp_lib_to_address should be defined in c++26"
7971 # if __cpp_lib_to_address != 201711L
7972 # error "__cpp_lib_to_address should have the value 201711L in c++26"
7975 # ifndef __cpp_lib_to_array
7976 # error "__cpp_lib_to_array should be defined in c++26"
7978 # if __cpp_lib_to_array != 201907L
7979 # error "__cpp_lib_to_array should have the value 201907L in c++26"
7982 # if !defined(_LIBCPP_VERSION)
7983 # ifndef __cpp_lib_to_chars
7984 # error "__cpp_lib_to_chars should be defined in c++26"
7986 # if __cpp_lib_to_chars != 202306L
7987 # error "__cpp_lib_to_chars should have the value 202306L in c++26"
7989 # else // _LIBCPP_VERSION
7990 # ifdef __cpp_lib_to_chars
7991 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
7995 # if !defined(_LIBCPP_VERSION)
7996 # ifndef __cpp_lib_to_string
7997 # error "__cpp_lib_to_string should be defined in c++26"
7999 # if __cpp_lib_to_string != 202306L
8000 # error "__cpp_lib_to_string should have the value 202306L in c++26"
8002 # else // _LIBCPP_VERSION
8003 # ifdef __cpp_lib_to_string
8004 # error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
8008 # ifndef __cpp_lib_to_underlying
8009 # error "__cpp_lib_to_underlying should be defined in c++26"
8011 # if __cpp_lib_to_underlying != 202102L
8012 # error "__cpp_lib_to_underlying should have the value 202102L in c++26"
8015 # ifndef __cpp_lib_transformation_trait_aliases
8016 # error "__cpp_lib_transformation_trait_aliases should be defined in c++26"
8018 # if __cpp_lib_transformation_trait_aliases != 201304L
8019 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++26"
8022 # ifndef __cpp_lib_transparent_operators
8023 # error "__cpp_lib_transparent_operators should be defined in c++26"
8025 # if __cpp_lib_transparent_operators != 201510L
8026 # error "__cpp_lib_transparent_operators should have the value 201510L in c++26"
8029 # ifndef __cpp_lib_tuple_element_t
8030 # error "__cpp_lib_tuple_element_t should be defined in c++26"
8032 # if __cpp_lib_tuple_element_t != 201402L
8033 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++26"
8036 # if !defined(_LIBCPP_VERSION)
8037 # ifndef __cpp_lib_tuple_like
8038 # error "__cpp_lib_tuple_like should be defined in c++26"
8040 # if __cpp_lib_tuple_like != 202311L
8041 # error "__cpp_lib_tuple_like should have the value 202311L in c++26"
8043 # else // _LIBCPP_VERSION
8044 # ifdef __cpp_lib_tuple_like
8045 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
8049 # ifndef __cpp_lib_tuples_by_type
8050 # error "__cpp_lib_tuples_by_type should be defined in c++26"
8052 # if __cpp_lib_tuples_by_type != 201304L
8053 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++26"
8056 # ifndef __cpp_lib_type_identity
8057 # error "__cpp_lib_type_identity should be defined in c++26"
8059 # if __cpp_lib_type_identity != 201806L
8060 # error "__cpp_lib_type_identity should have the value 201806L in c++26"
8063 # ifndef __cpp_lib_type_trait_variable_templates
8064 # error "__cpp_lib_type_trait_variable_templates should be defined in c++26"
8066 # if __cpp_lib_type_trait_variable_templates != 201510L
8067 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++26"
8070 # ifndef __cpp_lib_uncaught_exceptions
8071 # error "__cpp_lib_uncaught_exceptions should be defined in c++26"
8073 # if __cpp_lib_uncaught_exceptions != 201411L
8074 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++26"
8077 # ifndef __cpp_lib_unordered_map_try_emplace
8078 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++26"
8080 # if __cpp_lib_unordered_map_try_emplace != 201411L
8081 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++26"
8084 # ifndef __cpp_lib_unreachable
8085 # error "__cpp_lib_unreachable should be defined in c++26"
8087 # if __cpp_lib_unreachable != 202202L
8088 # error "__cpp_lib_unreachable should have the value 202202L in c++26"
8091 # ifndef __cpp_lib_unwrap_ref
8092 # error "__cpp_lib_unwrap_ref should be defined in c++26"
8094 # if __cpp_lib_unwrap_ref != 201811L
8095 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++26"
8098 # ifndef __cpp_lib_variant
8099 # error "__cpp_lib_variant should be defined in c++26"
8101 # if __cpp_lib_variant != 202102L
8102 # error "__cpp_lib_variant should have the value 202102L in c++26"
8105 # ifndef __cpp_lib_void_t
8106 # error "__cpp_lib_void_t should be defined in c++26"
8108 # if __cpp_lib_void_t != 201411L
8109 # error "__cpp_lib_void_t should have the value 201411L in c++26"
8112 #endif // TEST_STD_VER > 23