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]
170 __cpp_lib_ranges_as_const 202207L [C++23]
171 __cpp_lib_ranges_as_rvalue 202207L [C++23]
172 __cpp_lib_ranges_chunk 202202L [C++23]
173 __cpp_lib_ranges_chunk_by 202202L [C++23]
174 __cpp_lib_ranges_concat 202403L [C++26]
175 __cpp_lib_ranges_contains 202207L [C++23]
176 __cpp_lib_ranges_find_last 202207L [C++23]
177 __cpp_lib_ranges_iota 202202L [C++23]
178 __cpp_lib_ranges_join_with 202202L [C++23]
179 __cpp_lib_ranges_repeat 202207L [C++23]
180 __cpp_lib_ranges_slide 202202L [C++23]
181 __cpp_lib_ranges_starts_ends_with 202106L [C++23]
182 __cpp_lib_ranges_to_container 202202L [C++23]
183 __cpp_lib_ranges_zip 202110L [C++23]
184 __cpp_lib_ratio 202306L [C++26]
185 __cpp_lib_raw_memory_algorithms 201606L [C++17]
186 __cpp_lib_rcu 202306L [C++26]
187 __cpp_lib_reference_from_temporary 202202L [C++23]
188 __cpp_lib_reference_wrapper 202403L [C++26]
189 __cpp_lib_remove_cvref 201711L [C++20]
190 __cpp_lib_result_of_sfinae 201210L [C++14]
191 __cpp_lib_robust_nonmodifying_seq_ops 201304L [C++14]
192 __cpp_lib_sample 201603L [C++17]
193 __cpp_lib_saturation_arithmetic 202311L [C++26]
194 __cpp_lib_scoped_lock 201703L [C++17]
195 __cpp_lib_semaphore 201907L [C++20]
196 __cpp_lib_senders 202406L [C++26]
197 __cpp_lib_shared_mutex 201505L [C++17]
198 __cpp_lib_shared_ptr_arrays 201611L [C++17]
200 __cpp_lib_shared_ptr_weak_type 201606L [C++17]
201 __cpp_lib_shared_timed_mutex 201402L [C++14]
202 __cpp_lib_shift 201806L [C++20]
203 __cpp_lib_smart_ptr_for_overwrite 202002L [C++20]
204 __cpp_lib_smart_ptr_owner_equality 202306L [C++26]
205 __cpp_lib_source_location 201907L [C++20]
206 __cpp_lib_span 202002L [C++20]
207 __cpp_lib_span_at 202311L [C++26]
208 __cpp_lib_span_initializer_list 202311L [C++26]
209 __cpp_lib_spanstream 202106L [C++23]
210 __cpp_lib_ssize 201902L [C++20]
211 __cpp_lib_sstream_from_string_view 202306L [C++26]
212 __cpp_lib_stacktrace 202011L [C++23]
213 __cpp_lib_starts_ends_with 201711L [C++20]
214 __cpp_lib_stdatomic_h 202011L [C++23]
215 __cpp_lib_string_contains 202011L [C++23]
216 __cpp_lib_string_resize_and_overwrite 202110L [C++23]
217 __cpp_lib_string_udls 201304L [C++14]
218 __cpp_lib_string_view 201606L [C++17]
221 __cpp_lib_submdspan 202306L [C++26]
222 __cpp_lib_syncbuf 201803L [C++20]
223 __cpp_lib_text_encoding 202306L [C++26]
224 __cpp_lib_three_way_comparison 201907L [C++20]
225 __cpp_lib_to_address 201711L [C++20]
226 __cpp_lib_to_array 201907L [C++20]
227 __cpp_lib_to_chars 201611L [C++17]
229 __cpp_lib_to_string 202306L [C++26]
230 __cpp_lib_to_underlying 202102L [C++23]
231 __cpp_lib_transformation_trait_aliases 201304L [C++14]
232 __cpp_lib_transparent_operators 201210L [C++14]
234 __cpp_lib_tuple_element_t 201402L [C++14]
235 __cpp_lib_tuple_like 202207L [C++23]
237 __cpp_lib_tuples_by_type 201304L [C++14]
238 __cpp_lib_type_identity 201806L [C++20]
239 __cpp_lib_type_trait_variable_templates 201510L [C++17]
240 __cpp_lib_uncaught_exceptions 201411L [C++17]
241 __cpp_lib_unordered_map_try_emplace 201411L [C++17]
242 __cpp_lib_unreachable 202202L [C++23]
243 __cpp_lib_unwrap_ref 201811L [C++20]
244 __cpp_lib_variant 202102L [C++17]
245 __cpp_lib_void_t 201411L [C++17]
249 #include "test_macros.h"
251 #if TEST_STD_VER < 14
253 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
254 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
257 # ifdef __cpp_lib_addressof_constexpr
258 # error "__cpp_lib_addressof_constexpr should not be defined before c++17"
261 # ifdef __cpp_lib_allocate_at_least
262 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
265 # ifdef __cpp_lib_allocator_traits_is_always_equal
266 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
269 # ifdef __cpp_lib_any
270 # error "__cpp_lib_any should not be defined before c++17"
273 # ifdef __cpp_lib_apply
274 # error "__cpp_lib_apply should not be defined before c++17"
277 # ifdef __cpp_lib_array_constexpr
278 # error "__cpp_lib_array_constexpr should not be defined before c++17"
281 # ifdef __cpp_lib_as_const
282 # error "__cpp_lib_as_const should not be defined before c++17"
285 # ifdef __cpp_lib_associative_heterogeneous_erasure
286 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
289 # ifdef __cpp_lib_associative_heterogeneous_insertion
290 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
293 # ifdef __cpp_lib_assume_aligned
294 # error "__cpp_lib_assume_aligned should not be defined before c++20"
297 # ifdef __cpp_lib_atomic_flag_test
298 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
301 # ifdef __cpp_lib_atomic_float
302 # error "__cpp_lib_atomic_float should not be defined before c++20"
305 # ifdef __cpp_lib_atomic_is_always_lock_free
306 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
309 # ifdef __cpp_lib_atomic_lock_free_type_aliases
310 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
313 # ifdef __cpp_lib_atomic_min_max
314 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
317 # ifdef __cpp_lib_atomic_ref
318 # error "__cpp_lib_atomic_ref should not be defined before c++20"
321 # ifdef __cpp_lib_atomic_shared_ptr
322 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
325 # ifdef __cpp_lib_atomic_value_initialization
326 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
329 # ifdef __cpp_lib_atomic_wait
330 # error "__cpp_lib_atomic_wait should not be defined before c++20"
333 # ifdef __cpp_lib_barrier
334 # error "__cpp_lib_barrier should not be defined before c++20"
337 # ifdef __cpp_lib_bind_back
338 # error "__cpp_lib_bind_back should not be defined before c++23"
341 # ifdef __cpp_lib_bind_front
342 # error "__cpp_lib_bind_front should not be defined before c++20"
345 # ifdef __cpp_lib_bit_cast
346 # error "__cpp_lib_bit_cast should not be defined before c++20"
349 # ifdef __cpp_lib_bitops
350 # error "__cpp_lib_bitops should not be defined before c++20"
353 # ifdef __cpp_lib_bitset
354 # error "__cpp_lib_bitset should not be defined before c++26"
357 # ifdef __cpp_lib_bool_constant
358 # error "__cpp_lib_bool_constant should not be defined before c++17"
361 # ifdef __cpp_lib_bounded_array_traits
362 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
365 # ifdef __cpp_lib_boyer_moore_searcher
366 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
369 # ifdef __cpp_lib_byte
370 # error "__cpp_lib_byte should not be defined before c++17"
373 # ifdef __cpp_lib_byteswap
374 # error "__cpp_lib_byteswap should not be defined before c++23"
377 # ifdef __cpp_lib_char8_t
378 # error "__cpp_lib_char8_t should not be defined before c++20"
381 # ifdef __cpp_lib_chrono
382 # error "__cpp_lib_chrono should not be defined before c++17"
385 # ifdef __cpp_lib_chrono_udls
386 # error "__cpp_lib_chrono_udls should not be defined before c++14"
389 # ifdef __cpp_lib_clamp
390 # error "__cpp_lib_clamp should not be defined before c++17"
393 # ifdef __cpp_lib_complex_udls
394 # error "__cpp_lib_complex_udls should not be defined before c++14"
397 # ifdef __cpp_lib_concepts
398 # error "__cpp_lib_concepts should not be defined before c++20"
401 # ifdef __cpp_lib_constexpr_algorithms
402 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
405 # ifdef __cpp_lib_constexpr_bitset
406 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
409 # ifdef __cpp_lib_constexpr_charconv
410 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
413 # ifdef __cpp_lib_constexpr_cmath
414 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
417 # ifdef __cpp_lib_constexpr_complex
418 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
421 # ifdef __cpp_lib_constexpr_dynamic_alloc
422 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
425 # ifdef __cpp_lib_constexpr_functional
426 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
429 # ifdef __cpp_lib_constexpr_iterator
430 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
433 # ifdef __cpp_lib_constexpr_memory
434 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
437 # ifdef __cpp_lib_constexpr_new
438 # error "__cpp_lib_constexpr_new should not be defined before c++26"
441 # ifdef __cpp_lib_constexpr_numeric
442 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
445 # ifdef __cpp_lib_constexpr_string
446 # error "__cpp_lib_constexpr_string should not be defined before c++20"
449 # ifdef __cpp_lib_constexpr_string_view
450 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
453 # ifdef __cpp_lib_constexpr_tuple
454 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
457 # ifdef __cpp_lib_constexpr_typeinfo
458 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
461 # ifdef __cpp_lib_constexpr_utility
462 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
465 # ifdef __cpp_lib_constexpr_vector
466 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
469 # ifdef __cpp_lib_constrained_equality
470 # error "__cpp_lib_constrained_equality should not be defined before c++26"
473 # ifdef __cpp_lib_containers_ranges
474 # error "__cpp_lib_containers_ranges should not be defined before c++23"
477 # ifdef __cpp_lib_copyable_function
478 # error "__cpp_lib_copyable_function should not be defined before c++26"
481 # ifdef __cpp_lib_coroutine
482 # error "__cpp_lib_coroutine should not be defined before c++20"
485 # ifdef __cpp_lib_debugging
486 # error "__cpp_lib_debugging should not be defined before c++26"
489 # ifdef __cpp_lib_default_template_type_for_algorithm_values
490 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
493 # ifdef __cpp_lib_destroying_delete
494 # error "__cpp_lib_destroying_delete should not be defined before c++20"
497 # ifdef __cpp_lib_enable_shared_from_this
498 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
501 # ifdef __cpp_lib_endian
502 # error "__cpp_lib_endian should not be defined before c++20"
505 # ifdef __cpp_lib_erase_if
506 # error "__cpp_lib_erase_if should not be defined before c++20"
509 # ifdef __cpp_lib_exchange_function
510 # error "__cpp_lib_exchange_function should not be defined before c++14"
513 # ifdef __cpp_lib_execution
514 # error "__cpp_lib_execution should not be defined before c++17"
517 # ifdef __cpp_lib_expected
518 # error "__cpp_lib_expected should not be defined before c++23"
521 # ifdef __cpp_lib_filesystem
522 # error "__cpp_lib_filesystem should not be defined before c++17"
525 # ifdef __cpp_lib_format
526 # error "__cpp_lib_format should not be defined before c++20"
529 # ifdef __cpp_lib_format_path
530 # error "__cpp_lib_format_path should not be defined before c++26"
533 # ifdef __cpp_lib_format_ranges
534 # error "__cpp_lib_format_ranges should not be defined before c++23"
537 # ifdef __cpp_lib_format_uchar
538 # error "__cpp_lib_format_uchar should not be defined before c++20"
541 # ifdef __cpp_lib_formatters
542 # error "__cpp_lib_formatters should not be defined before c++23"
545 # ifdef __cpp_lib_forward_like
546 # error "__cpp_lib_forward_like should not be defined before c++23"
549 # ifdef __cpp_lib_freestanding_algorithm
550 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
553 # ifdef __cpp_lib_freestanding_array
554 # error "__cpp_lib_freestanding_array should not be defined before c++26"
557 # ifdef __cpp_lib_freestanding_cstring
558 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
561 # ifdef __cpp_lib_freestanding_expected
562 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
565 # ifdef __cpp_lib_freestanding_mdspan
566 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
569 # ifdef __cpp_lib_freestanding_optional
570 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
573 # ifdef __cpp_lib_freestanding_string_view
574 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
577 # ifdef __cpp_lib_freestanding_variant
578 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
581 # ifdef __cpp_lib_fstream_native_handle
582 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
585 # ifdef __cpp_lib_function_ref
586 # error "__cpp_lib_function_ref should not be defined before c++26"
589 # ifdef __cpp_lib_gcd_lcm
590 # error "__cpp_lib_gcd_lcm should not be defined before c++17"
593 # ifdef __cpp_lib_generate_random
594 # error "__cpp_lib_generate_random should not be defined before c++26"
597 # ifdef __cpp_lib_generic_associative_lookup
598 # error "__cpp_lib_generic_associative_lookup should not be defined before c++14"
601 # ifdef __cpp_lib_generic_unordered_lookup
602 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
605 # ifdef __cpp_lib_hardware_interference_size
606 # error "__cpp_lib_hardware_interference_size should not be defined before c++17"
609 # ifdef __cpp_lib_has_unique_object_representations
610 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
613 # ifdef __cpp_lib_hazard_pointer
614 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
617 # ifdef __cpp_lib_hypot
618 # error "__cpp_lib_hypot should not be defined before c++17"
621 # ifdef __cpp_lib_incomplete_container_elements
622 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
625 # ifdef __cpp_lib_inplace_vector
626 # error "__cpp_lib_inplace_vector should not be defined before c++26"
629 # ifdef __cpp_lib_int_pow2
630 # error "__cpp_lib_int_pow2 should not be defined before c++20"
633 # ifdef __cpp_lib_integer_comparison_functions
634 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
637 # ifdef __cpp_lib_integer_sequence
638 # error "__cpp_lib_integer_sequence should not be defined before c++14"
641 # ifdef __cpp_lib_integral_constant_callable
642 # error "__cpp_lib_integral_constant_callable should not be defined before c++14"
645 # ifdef __cpp_lib_interpolate
646 # error "__cpp_lib_interpolate should not be defined before c++20"
649 # ifdef __cpp_lib_invoke
650 # error "__cpp_lib_invoke should not be defined before c++17"
653 # ifdef __cpp_lib_invoke_r
654 # error "__cpp_lib_invoke_r should not be defined before c++23"
657 # ifdef __cpp_lib_ios_noreplace
658 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
661 # ifdef __cpp_lib_is_aggregate
662 # error "__cpp_lib_is_aggregate should not be defined before c++17"
665 # ifdef __cpp_lib_is_constant_evaluated
666 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
669 # ifdef __cpp_lib_is_final
670 # error "__cpp_lib_is_final should not be defined before c++14"
673 # ifdef __cpp_lib_is_invocable
674 # error "__cpp_lib_is_invocable should not be defined before c++17"
677 # ifdef __cpp_lib_is_layout_compatible
678 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
681 # ifdef __cpp_lib_is_nothrow_convertible
682 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
685 # ifdef __cpp_lib_is_null_pointer
686 # error "__cpp_lib_is_null_pointer should not be defined before c++14"
689 # ifdef __cpp_lib_is_pointer_interconvertible
690 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
693 # ifdef __cpp_lib_is_scoped_enum
694 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
697 # ifdef __cpp_lib_is_swappable
698 # error "__cpp_lib_is_swappable should not be defined before c++17"
701 # ifdef __cpp_lib_is_virtual_base_of
702 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
705 # ifdef __cpp_lib_is_within_lifetime
706 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
709 # ifdef __cpp_lib_jthread
710 # error "__cpp_lib_jthread should not be defined before c++20"
713 # ifdef __cpp_lib_latch
714 # error "__cpp_lib_latch should not be defined before c++20"
717 # ifdef __cpp_lib_launder
718 # error "__cpp_lib_launder should not be defined before c++17"
721 # ifdef __cpp_lib_linalg
722 # error "__cpp_lib_linalg should not be defined before c++26"
725 # ifdef __cpp_lib_list_remove_return_type
726 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
729 # ifdef __cpp_lib_logical_traits
730 # error "__cpp_lib_logical_traits should not be defined before c++17"
733 # ifdef __cpp_lib_make_from_tuple
734 # error "__cpp_lib_make_from_tuple should not be defined before c++17"
737 # ifdef __cpp_lib_make_reverse_iterator
738 # error "__cpp_lib_make_reverse_iterator should not be defined before c++14"
741 # ifdef __cpp_lib_make_unique
742 # error "__cpp_lib_make_unique should not be defined before c++14"
745 # ifdef __cpp_lib_map_try_emplace
746 # error "__cpp_lib_map_try_emplace should not be defined before c++17"
749 # ifdef __cpp_lib_math_constants
750 # error "__cpp_lib_math_constants should not be defined before c++20"
753 # ifdef __cpp_lib_math_special_functions
754 # error "__cpp_lib_math_special_functions should not be defined before c++17"
757 # ifdef __cpp_lib_mdspan
758 # error "__cpp_lib_mdspan should not be defined before c++23"
761 # ifdef __cpp_lib_memory_resource
762 # error "__cpp_lib_memory_resource should not be defined before c++17"
765 # ifdef __cpp_lib_modules
766 # error "__cpp_lib_modules should not be defined before c++23"
769 # ifdef __cpp_lib_move_iterator_concept
770 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
773 # ifdef __cpp_lib_move_only_function
774 # error "__cpp_lib_move_only_function should not be defined before c++23"
777 # ifdef __cpp_lib_node_extract
778 # error "__cpp_lib_node_extract should not be defined before c++17"
781 # ifdef __cpp_lib_nonmember_container_access
782 # error "__cpp_lib_nonmember_container_access should not be defined before c++17"
785 # ifdef __cpp_lib_not_fn
786 # error "__cpp_lib_not_fn should not be defined before c++17"
789 # ifdef __cpp_lib_null_iterators
790 # error "__cpp_lib_null_iterators should not be defined before c++14"
793 # ifdef __cpp_lib_optional
794 # error "__cpp_lib_optional should not be defined before c++17"
797 # ifdef __cpp_lib_optional_range_support
798 # error "__cpp_lib_optional_range_support should not be defined before c++26"
801 # ifdef __cpp_lib_out_ptr
802 # error "__cpp_lib_out_ptr should not be defined before c++23"
805 # ifdef __cpp_lib_parallel_algorithm
806 # error "__cpp_lib_parallel_algorithm should not be defined before c++17"
809 # ifdef __cpp_lib_philox_engine
810 # error "__cpp_lib_philox_engine should not be defined before c++26"
813 # ifdef __cpp_lib_polymorphic_allocator
814 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
817 # ifdef __cpp_lib_print
818 # error "__cpp_lib_print should not be defined before c++23"
821 # ifdef __cpp_lib_quoted_string_io
822 # error "__cpp_lib_quoted_string_io should not be defined before c++14"
825 # ifdef __cpp_lib_ranges
826 # error "__cpp_lib_ranges should not be defined before c++20"
829 # ifdef __cpp_lib_ranges_as_const
830 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
833 # ifdef __cpp_lib_ranges_as_rvalue
834 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
837 # ifdef __cpp_lib_ranges_chunk
838 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
841 # ifdef __cpp_lib_ranges_chunk_by
842 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
845 # ifdef __cpp_lib_ranges_concat
846 # error "__cpp_lib_ranges_concat should not be defined before c++26"
849 # ifdef __cpp_lib_ranges_contains
850 # error "__cpp_lib_ranges_contains should not be defined before c++23"
853 # ifdef __cpp_lib_ranges_find_last
854 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
857 # ifdef __cpp_lib_ranges_iota
858 # error "__cpp_lib_ranges_iota should not be defined before c++23"
861 # ifdef __cpp_lib_ranges_join_with
862 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
865 # ifdef __cpp_lib_ranges_repeat
866 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
869 # ifdef __cpp_lib_ranges_slide
870 # error "__cpp_lib_ranges_slide should not be defined before c++23"
873 # ifdef __cpp_lib_ranges_starts_ends_with
874 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
877 # ifdef __cpp_lib_ranges_to_container
878 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
881 # ifdef __cpp_lib_ranges_zip
882 # error "__cpp_lib_ranges_zip should not be defined before c++23"
885 # ifdef __cpp_lib_ratio
886 # error "__cpp_lib_ratio should not be defined before c++26"
889 # ifdef __cpp_lib_raw_memory_algorithms
890 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
893 # ifdef __cpp_lib_rcu
894 # error "__cpp_lib_rcu should not be defined before c++26"
897 # ifdef __cpp_lib_reference_from_temporary
898 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
901 # ifdef __cpp_lib_reference_wrapper
902 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
905 # ifdef __cpp_lib_remove_cvref
906 # error "__cpp_lib_remove_cvref should not be defined before c++20"
909 # ifdef __cpp_lib_result_of_sfinae
910 # error "__cpp_lib_result_of_sfinae should not be defined before c++14"
913 # ifdef __cpp_lib_robust_nonmodifying_seq_ops
914 # error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"
917 # ifdef __cpp_lib_sample
918 # error "__cpp_lib_sample should not be defined before c++17"
921 # ifdef __cpp_lib_saturation_arithmetic
922 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
925 # ifdef __cpp_lib_scoped_lock
926 # error "__cpp_lib_scoped_lock should not be defined before c++17"
929 # ifdef __cpp_lib_semaphore
930 # error "__cpp_lib_semaphore should not be defined before c++20"
933 # ifdef __cpp_lib_senders
934 # error "__cpp_lib_senders should not be defined before c++26"
937 # ifdef __cpp_lib_shared_mutex
938 # error "__cpp_lib_shared_mutex should not be defined before c++17"
941 # ifdef __cpp_lib_shared_ptr_arrays
942 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
945 # ifdef __cpp_lib_shared_ptr_weak_type
946 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
949 # ifdef __cpp_lib_shared_timed_mutex
950 # error "__cpp_lib_shared_timed_mutex should not be defined before c++14"
953 # ifdef __cpp_lib_shift
954 # error "__cpp_lib_shift should not be defined before c++20"
957 # ifdef __cpp_lib_smart_ptr_for_overwrite
958 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
961 # ifdef __cpp_lib_smart_ptr_owner_equality
962 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
965 # ifdef __cpp_lib_source_location
966 # error "__cpp_lib_source_location should not be defined before c++20"
969 # ifdef __cpp_lib_span
970 # error "__cpp_lib_span should not be defined before c++20"
973 # ifdef __cpp_lib_span_at
974 # error "__cpp_lib_span_at should not be defined before c++26"
977 # ifdef __cpp_lib_span_initializer_list
978 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
981 # ifdef __cpp_lib_spanstream
982 # error "__cpp_lib_spanstream should not be defined before c++23"
985 # ifdef __cpp_lib_ssize
986 # error "__cpp_lib_ssize should not be defined before c++20"
989 # ifdef __cpp_lib_sstream_from_string_view
990 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
993 # ifdef __cpp_lib_stacktrace
994 # error "__cpp_lib_stacktrace should not be defined before c++23"
997 # ifdef __cpp_lib_starts_ends_with
998 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
1001 # ifdef __cpp_lib_stdatomic_h
1002 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
1005 # ifdef __cpp_lib_string_contains
1006 # error "__cpp_lib_string_contains should not be defined before c++23"
1009 # ifdef __cpp_lib_string_resize_and_overwrite
1010 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1013 # ifdef __cpp_lib_string_udls
1014 # error "__cpp_lib_string_udls should not be defined before c++14"
1017 # ifdef __cpp_lib_string_view
1018 # error "__cpp_lib_string_view should not be defined before c++17"
1021 # ifdef __cpp_lib_submdspan
1022 # error "__cpp_lib_submdspan should not be defined before c++26"
1025 # ifdef __cpp_lib_syncbuf
1026 # error "__cpp_lib_syncbuf should not be defined before c++20"
1029 # ifdef __cpp_lib_text_encoding
1030 # error "__cpp_lib_text_encoding should not be defined before c++26"
1033 # ifdef __cpp_lib_three_way_comparison
1034 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
1037 # ifdef __cpp_lib_to_address
1038 # error "__cpp_lib_to_address should not be defined before c++20"
1041 # ifdef __cpp_lib_to_array
1042 # error "__cpp_lib_to_array should not be defined before c++20"
1045 # ifdef __cpp_lib_to_chars
1046 # error "__cpp_lib_to_chars should not be defined before c++17"
1049 # ifdef __cpp_lib_to_string
1050 # error "__cpp_lib_to_string should not be defined before c++26"
1053 # ifdef __cpp_lib_to_underlying
1054 # error "__cpp_lib_to_underlying should not be defined before c++23"
1057 # ifdef __cpp_lib_transformation_trait_aliases
1058 # error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"
1061 # ifdef __cpp_lib_transparent_operators
1062 # error "__cpp_lib_transparent_operators should not be defined before c++14"
1065 # ifdef __cpp_lib_tuple_element_t
1066 # error "__cpp_lib_tuple_element_t should not be defined before c++14"
1069 # ifdef __cpp_lib_tuple_like
1070 # error "__cpp_lib_tuple_like should not be defined before c++23"
1073 # ifdef __cpp_lib_tuples_by_type
1074 # error "__cpp_lib_tuples_by_type should not be defined before c++14"
1077 # ifdef __cpp_lib_type_identity
1078 # error "__cpp_lib_type_identity should not be defined before c++20"
1081 # ifdef __cpp_lib_type_trait_variable_templates
1082 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
1085 # ifdef __cpp_lib_uncaught_exceptions
1086 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
1089 # ifdef __cpp_lib_unordered_map_try_emplace
1090 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
1093 # ifdef __cpp_lib_unreachable
1094 # error "__cpp_lib_unreachable should not be defined before c++23"
1097 # ifdef __cpp_lib_unwrap_ref
1098 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
1101 # ifdef __cpp_lib_variant
1102 # error "__cpp_lib_variant should not be defined before c++17"
1105 # ifdef __cpp_lib_void_t
1106 # error "__cpp_lib_void_t should not be defined before c++17"
1109 #elif TEST_STD_VER == 14
1111 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
1112 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
1115 # ifdef __cpp_lib_addressof_constexpr
1116 # error "__cpp_lib_addressof_constexpr should not be defined before c++17"
1119 # ifdef __cpp_lib_allocate_at_least
1120 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
1123 # ifdef __cpp_lib_allocator_traits_is_always_equal
1124 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
1127 # ifdef __cpp_lib_any
1128 # error "__cpp_lib_any should not be defined before c++17"
1131 # ifdef __cpp_lib_apply
1132 # error "__cpp_lib_apply should not be defined before c++17"
1135 # ifdef __cpp_lib_array_constexpr
1136 # error "__cpp_lib_array_constexpr should not be defined before c++17"
1139 # ifdef __cpp_lib_as_const
1140 # error "__cpp_lib_as_const should not be defined before c++17"
1143 # ifdef __cpp_lib_associative_heterogeneous_erasure
1144 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
1147 # ifdef __cpp_lib_associative_heterogeneous_insertion
1148 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
1151 # ifdef __cpp_lib_assume_aligned
1152 # error "__cpp_lib_assume_aligned should not be defined before c++20"
1155 # ifdef __cpp_lib_atomic_flag_test
1156 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
1159 # ifdef __cpp_lib_atomic_float
1160 # error "__cpp_lib_atomic_float should not be defined before c++20"
1163 # ifdef __cpp_lib_atomic_is_always_lock_free
1164 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
1167 # ifdef __cpp_lib_atomic_lock_free_type_aliases
1168 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
1171 # ifdef __cpp_lib_atomic_min_max
1172 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
1175 # ifdef __cpp_lib_atomic_ref
1176 # error "__cpp_lib_atomic_ref should not be defined before c++20"
1179 # ifdef __cpp_lib_atomic_shared_ptr
1180 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
1183 # ifdef __cpp_lib_atomic_value_initialization
1184 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
1187 # ifdef __cpp_lib_atomic_wait
1188 # error "__cpp_lib_atomic_wait should not be defined before c++20"
1191 # ifdef __cpp_lib_barrier
1192 # error "__cpp_lib_barrier should not be defined before c++20"
1195 # ifdef __cpp_lib_bind_back
1196 # error "__cpp_lib_bind_back should not be defined before c++23"
1199 # ifdef __cpp_lib_bind_front
1200 # error "__cpp_lib_bind_front should not be defined before c++20"
1203 # ifdef __cpp_lib_bit_cast
1204 # error "__cpp_lib_bit_cast should not be defined before c++20"
1207 # ifdef __cpp_lib_bitops
1208 # error "__cpp_lib_bitops should not be defined before c++20"
1211 # ifdef __cpp_lib_bitset
1212 # error "__cpp_lib_bitset should not be defined before c++26"
1215 # ifdef __cpp_lib_bool_constant
1216 # error "__cpp_lib_bool_constant should not be defined before c++17"
1219 # ifdef __cpp_lib_bounded_array_traits
1220 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
1223 # ifdef __cpp_lib_boyer_moore_searcher
1224 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
1227 # ifdef __cpp_lib_byte
1228 # error "__cpp_lib_byte should not be defined before c++17"
1231 # ifdef __cpp_lib_byteswap
1232 # error "__cpp_lib_byteswap should not be defined before c++23"
1235 # ifdef __cpp_lib_char8_t
1236 # error "__cpp_lib_char8_t should not be defined before c++20"
1239 # ifdef __cpp_lib_chrono
1240 # error "__cpp_lib_chrono should not be defined before c++17"
1243 # ifndef __cpp_lib_chrono_udls
1244 # error "__cpp_lib_chrono_udls should be defined in c++14"
1246 # if __cpp_lib_chrono_udls != 201304L
1247 # error "__cpp_lib_chrono_udls should have the value 201304L in c++14"
1250 # ifdef __cpp_lib_clamp
1251 # error "__cpp_lib_clamp should not be defined before c++17"
1254 # ifndef __cpp_lib_complex_udls
1255 # error "__cpp_lib_complex_udls should be defined in c++14"
1257 # if __cpp_lib_complex_udls != 201309L
1258 # error "__cpp_lib_complex_udls should have the value 201309L in c++14"
1261 # ifdef __cpp_lib_concepts
1262 # error "__cpp_lib_concepts should not be defined before c++20"
1265 # ifdef __cpp_lib_constexpr_algorithms
1266 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
1269 # ifdef __cpp_lib_constexpr_bitset
1270 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
1273 # ifdef __cpp_lib_constexpr_charconv
1274 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
1277 # ifdef __cpp_lib_constexpr_cmath
1278 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
1281 # ifdef __cpp_lib_constexpr_complex
1282 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
1285 # ifdef __cpp_lib_constexpr_dynamic_alloc
1286 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
1289 # ifdef __cpp_lib_constexpr_functional
1290 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
1293 # ifdef __cpp_lib_constexpr_iterator
1294 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
1297 # ifdef __cpp_lib_constexpr_memory
1298 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
1301 # ifdef __cpp_lib_constexpr_new
1302 # error "__cpp_lib_constexpr_new should not be defined before c++26"
1305 # ifdef __cpp_lib_constexpr_numeric
1306 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
1309 # ifdef __cpp_lib_constexpr_string
1310 # error "__cpp_lib_constexpr_string should not be defined before c++20"
1313 # ifdef __cpp_lib_constexpr_string_view
1314 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
1317 # ifdef __cpp_lib_constexpr_tuple
1318 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
1321 # ifdef __cpp_lib_constexpr_typeinfo
1322 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
1325 # ifdef __cpp_lib_constexpr_utility
1326 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
1329 # ifdef __cpp_lib_constexpr_vector
1330 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
1333 # ifdef __cpp_lib_constrained_equality
1334 # error "__cpp_lib_constrained_equality should not be defined before c++26"
1337 # ifdef __cpp_lib_containers_ranges
1338 # error "__cpp_lib_containers_ranges should not be defined before c++23"
1341 # ifdef __cpp_lib_copyable_function
1342 # error "__cpp_lib_copyable_function should not be defined before c++26"
1345 # ifdef __cpp_lib_coroutine
1346 # error "__cpp_lib_coroutine should not be defined before c++20"
1349 # ifdef __cpp_lib_debugging
1350 # error "__cpp_lib_debugging should not be defined before c++26"
1353 # ifdef __cpp_lib_default_template_type_for_algorithm_values
1354 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
1357 # ifdef __cpp_lib_destroying_delete
1358 # error "__cpp_lib_destroying_delete should not be defined before c++20"
1361 # ifdef __cpp_lib_enable_shared_from_this
1362 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
1365 # ifdef __cpp_lib_endian
1366 # error "__cpp_lib_endian should not be defined before c++20"
1369 # ifdef __cpp_lib_erase_if
1370 # error "__cpp_lib_erase_if should not be defined before c++20"
1373 # ifndef __cpp_lib_exchange_function
1374 # error "__cpp_lib_exchange_function should be defined in c++14"
1376 # if __cpp_lib_exchange_function != 201304L
1377 # error "__cpp_lib_exchange_function should have the value 201304L in c++14"
1380 # ifdef __cpp_lib_execution
1381 # error "__cpp_lib_execution should not be defined before c++17"
1384 # ifdef __cpp_lib_expected
1385 # error "__cpp_lib_expected should not be defined before c++23"
1388 # ifdef __cpp_lib_filesystem
1389 # error "__cpp_lib_filesystem should not be defined before c++17"
1392 # ifdef __cpp_lib_format
1393 # error "__cpp_lib_format should not be defined before c++20"
1396 # ifdef __cpp_lib_format_path
1397 # error "__cpp_lib_format_path should not be defined before c++26"
1400 # ifdef __cpp_lib_format_ranges
1401 # error "__cpp_lib_format_ranges should not be defined before c++23"
1404 # ifdef __cpp_lib_format_uchar
1405 # error "__cpp_lib_format_uchar should not be defined before c++20"
1408 # ifdef __cpp_lib_formatters
1409 # error "__cpp_lib_formatters should not be defined before c++23"
1412 # ifdef __cpp_lib_forward_like
1413 # error "__cpp_lib_forward_like should not be defined before c++23"
1416 # ifdef __cpp_lib_freestanding_algorithm
1417 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
1420 # ifdef __cpp_lib_freestanding_array
1421 # error "__cpp_lib_freestanding_array should not be defined before c++26"
1424 # ifdef __cpp_lib_freestanding_cstring
1425 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
1428 # ifdef __cpp_lib_freestanding_expected
1429 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
1432 # ifdef __cpp_lib_freestanding_mdspan
1433 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
1436 # ifdef __cpp_lib_freestanding_optional
1437 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
1440 # ifdef __cpp_lib_freestanding_string_view
1441 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
1444 # ifdef __cpp_lib_freestanding_variant
1445 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
1448 # ifdef __cpp_lib_fstream_native_handle
1449 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
1452 # ifdef __cpp_lib_function_ref
1453 # error "__cpp_lib_function_ref should not be defined before c++26"
1456 # ifdef __cpp_lib_gcd_lcm
1457 # error "__cpp_lib_gcd_lcm should not be defined before c++17"
1460 # ifdef __cpp_lib_generate_random
1461 # error "__cpp_lib_generate_random should not be defined before c++26"
1464 # ifndef __cpp_lib_generic_associative_lookup
1465 # error "__cpp_lib_generic_associative_lookup should be defined in c++14"
1467 # if __cpp_lib_generic_associative_lookup != 201304L
1468 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"
1471 # ifdef __cpp_lib_generic_unordered_lookup
1472 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
1475 # ifdef __cpp_lib_hardware_interference_size
1476 # error "__cpp_lib_hardware_interference_size should not be defined before c++17"
1479 # ifdef __cpp_lib_has_unique_object_representations
1480 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
1483 # ifdef __cpp_lib_hazard_pointer
1484 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
1487 # ifdef __cpp_lib_hypot
1488 # error "__cpp_lib_hypot should not be defined before c++17"
1491 # ifdef __cpp_lib_incomplete_container_elements
1492 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
1495 # ifdef __cpp_lib_inplace_vector
1496 # error "__cpp_lib_inplace_vector should not be defined before c++26"
1499 # ifdef __cpp_lib_int_pow2
1500 # error "__cpp_lib_int_pow2 should not be defined before c++20"
1503 # ifdef __cpp_lib_integer_comparison_functions
1504 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
1507 # ifndef __cpp_lib_integer_sequence
1508 # error "__cpp_lib_integer_sequence should be defined in c++14"
1510 # if __cpp_lib_integer_sequence != 201304L
1511 # error "__cpp_lib_integer_sequence should have the value 201304L in c++14"
1514 # ifndef __cpp_lib_integral_constant_callable
1515 # error "__cpp_lib_integral_constant_callable should be defined in c++14"
1517 # if __cpp_lib_integral_constant_callable != 201304L
1518 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"
1521 # ifdef __cpp_lib_interpolate
1522 # error "__cpp_lib_interpolate should not be defined before c++20"
1525 # ifdef __cpp_lib_invoke
1526 # error "__cpp_lib_invoke should not be defined before c++17"
1529 # ifdef __cpp_lib_invoke_r
1530 # error "__cpp_lib_invoke_r should not be defined before c++23"
1533 # ifdef __cpp_lib_ios_noreplace
1534 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
1537 # ifdef __cpp_lib_is_aggregate
1538 # error "__cpp_lib_is_aggregate should not be defined before c++17"
1541 # ifdef __cpp_lib_is_constant_evaluated
1542 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
1545 # ifndef __cpp_lib_is_final
1546 # error "__cpp_lib_is_final should be defined in c++14"
1548 # if __cpp_lib_is_final != 201402L
1549 # error "__cpp_lib_is_final should have the value 201402L in c++14"
1552 # ifdef __cpp_lib_is_invocable
1553 # error "__cpp_lib_is_invocable should not be defined before c++17"
1556 # ifdef __cpp_lib_is_layout_compatible
1557 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
1560 # ifdef __cpp_lib_is_nothrow_convertible
1561 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
1564 # ifndef __cpp_lib_is_null_pointer
1565 # error "__cpp_lib_is_null_pointer should be defined in c++14"
1567 # if __cpp_lib_is_null_pointer != 201309L
1568 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"
1571 # ifdef __cpp_lib_is_pointer_interconvertible
1572 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
1575 # ifdef __cpp_lib_is_scoped_enum
1576 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
1579 # ifdef __cpp_lib_is_swappable
1580 # error "__cpp_lib_is_swappable should not be defined before c++17"
1583 # ifdef __cpp_lib_is_virtual_base_of
1584 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
1587 # ifdef __cpp_lib_is_within_lifetime
1588 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
1591 # ifdef __cpp_lib_jthread
1592 # error "__cpp_lib_jthread should not be defined before c++20"
1595 # ifdef __cpp_lib_latch
1596 # error "__cpp_lib_latch should not be defined before c++20"
1599 # ifdef __cpp_lib_launder
1600 # error "__cpp_lib_launder should not be defined before c++17"
1603 # ifdef __cpp_lib_linalg
1604 # error "__cpp_lib_linalg should not be defined before c++26"
1607 # ifdef __cpp_lib_list_remove_return_type
1608 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
1611 # ifdef __cpp_lib_logical_traits
1612 # error "__cpp_lib_logical_traits should not be defined before c++17"
1615 # ifdef __cpp_lib_make_from_tuple
1616 # error "__cpp_lib_make_from_tuple should not be defined before c++17"
1619 # ifndef __cpp_lib_make_reverse_iterator
1620 # error "__cpp_lib_make_reverse_iterator should be defined in c++14"
1622 # if __cpp_lib_make_reverse_iterator != 201402L
1623 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"
1626 # ifndef __cpp_lib_make_unique
1627 # error "__cpp_lib_make_unique should be defined in c++14"
1629 # if __cpp_lib_make_unique != 201304L
1630 # error "__cpp_lib_make_unique should have the value 201304L in c++14"
1633 # ifdef __cpp_lib_map_try_emplace
1634 # error "__cpp_lib_map_try_emplace should not be defined before c++17"
1637 # ifdef __cpp_lib_math_constants
1638 # error "__cpp_lib_math_constants should not be defined before c++20"
1641 # ifdef __cpp_lib_math_special_functions
1642 # error "__cpp_lib_math_special_functions should not be defined before c++17"
1645 # ifdef __cpp_lib_mdspan
1646 # error "__cpp_lib_mdspan should not be defined before c++23"
1649 # ifdef __cpp_lib_memory_resource
1650 # error "__cpp_lib_memory_resource should not be defined before c++17"
1653 # ifdef __cpp_lib_modules
1654 # error "__cpp_lib_modules should not be defined before c++23"
1657 # ifdef __cpp_lib_move_iterator_concept
1658 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
1661 # ifdef __cpp_lib_move_only_function
1662 # error "__cpp_lib_move_only_function should not be defined before c++23"
1665 # ifdef __cpp_lib_node_extract
1666 # error "__cpp_lib_node_extract should not be defined before c++17"
1669 # ifdef __cpp_lib_nonmember_container_access
1670 # error "__cpp_lib_nonmember_container_access should not be defined before c++17"
1673 # ifdef __cpp_lib_not_fn
1674 # error "__cpp_lib_not_fn should not be defined before c++17"
1677 # ifndef __cpp_lib_null_iterators
1678 # error "__cpp_lib_null_iterators should be defined in c++14"
1680 # if __cpp_lib_null_iterators != 201304L
1681 # error "__cpp_lib_null_iterators should have the value 201304L in c++14"
1684 # ifdef __cpp_lib_optional
1685 # error "__cpp_lib_optional should not be defined before c++17"
1688 # ifdef __cpp_lib_optional_range_support
1689 # error "__cpp_lib_optional_range_support should not be defined before c++26"
1692 # ifdef __cpp_lib_out_ptr
1693 # error "__cpp_lib_out_ptr should not be defined before c++23"
1696 # ifdef __cpp_lib_parallel_algorithm
1697 # error "__cpp_lib_parallel_algorithm should not be defined before c++17"
1700 # ifdef __cpp_lib_philox_engine
1701 # error "__cpp_lib_philox_engine should not be defined before c++26"
1704 # ifdef __cpp_lib_polymorphic_allocator
1705 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
1708 # ifdef __cpp_lib_print
1709 # error "__cpp_lib_print should not be defined before c++23"
1712 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
1713 # ifndef __cpp_lib_quoted_string_io
1714 # error "__cpp_lib_quoted_string_io should be defined in c++14"
1716 # if __cpp_lib_quoted_string_io != 201304L
1717 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"
1720 # ifdef __cpp_lib_quoted_string_io
1721 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
1725 # ifdef __cpp_lib_ranges
1726 # error "__cpp_lib_ranges should not be defined before c++20"
1729 # ifdef __cpp_lib_ranges_as_const
1730 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
1733 # ifdef __cpp_lib_ranges_as_rvalue
1734 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
1737 # ifdef __cpp_lib_ranges_chunk
1738 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
1741 # ifdef __cpp_lib_ranges_chunk_by
1742 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
1745 # ifdef __cpp_lib_ranges_concat
1746 # error "__cpp_lib_ranges_concat should not be defined before c++26"
1749 # ifdef __cpp_lib_ranges_contains
1750 # error "__cpp_lib_ranges_contains should not be defined before c++23"
1753 # ifdef __cpp_lib_ranges_find_last
1754 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
1757 # ifdef __cpp_lib_ranges_iota
1758 # error "__cpp_lib_ranges_iota should not be defined before c++23"
1761 # ifdef __cpp_lib_ranges_join_with
1762 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
1765 # ifdef __cpp_lib_ranges_repeat
1766 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
1769 # ifdef __cpp_lib_ranges_slide
1770 # error "__cpp_lib_ranges_slide should not be defined before c++23"
1773 # ifdef __cpp_lib_ranges_starts_ends_with
1774 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
1777 # ifdef __cpp_lib_ranges_to_container
1778 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
1781 # ifdef __cpp_lib_ranges_zip
1782 # error "__cpp_lib_ranges_zip should not be defined before c++23"
1785 # ifdef __cpp_lib_ratio
1786 # error "__cpp_lib_ratio should not be defined before c++26"
1789 # ifdef __cpp_lib_raw_memory_algorithms
1790 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
1793 # ifdef __cpp_lib_rcu
1794 # error "__cpp_lib_rcu should not be defined before c++26"
1797 # ifdef __cpp_lib_reference_from_temporary
1798 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
1801 # ifdef __cpp_lib_reference_wrapper
1802 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
1805 # ifdef __cpp_lib_remove_cvref
1806 # error "__cpp_lib_remove_cvref should not be defined before c++20"
1809 # ifndef __cpp_lib_result_of_sfinae
1810 # error "__cpp_lib_result_of_sfinae should be defined in c++14"
1812 # if __cpp_lib_result_of_sfinae != 201210L
1813 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"
1816 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
1817 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"
1819 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
1820 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"
1823 # ifdef __cpp_lib_sample
1824 # error "__cpp_lib_sample should not be defined before c++17"
1827 # ifdef __cpp_lib_saturation_arithmetic
1828 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
1831 # ifdef __cpp_lib_scoped_lock
1832 # error "__cpp_lib_scoped_lock should not be defined before c++17"
1835 # ifdef __cpp_lib_semaphore
1836 # error "__cpp_lib_semaphore should not be defined before c++20"
1839 # ifdef __cpp_lib_senders
1840 # error "__cpp_lib_senders should not be defined before c++26"
1843 # ifdef __cpp_lib_shared_mutex
1844 # error "__cpp_lib_shared_mutex should not be defined before c++17"
1847 # ifdef __cpp_lib_shared_ptr_arrays
1848 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
1851 # ifdef __cpp_lib_shared_ptr_weak_type
1852 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
1855 # if !defined(_LIBCPP_HAS_NO_THREADS)
1856 # ifndef __cpp_lib_shared_timed_mutex
1857 # error "__cpp_lib_shared_timed_mutex should be defined in c++14"
1859 # if __cpp_lib_shared_timed_mutex != 201402L
1860 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"
1863 # ifdef __cpp_lib_shared_timed_mutex
1864 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
1868 # ifdef __cpp_lib_shift
1869 # error "__cpp_lib_shift should not be defined before c++20"
1872 # ifdef __cpp_lib_smart_ptr_for_overwrite
1873 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
1876 # ifdef __cpp_lib_smart_ptr_owner_equality
1877 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
1880 # ifdef __cpp_lib_source_location
1881 # error "__cpp_lib_source_location should not be defined before c++20"
1884 # ifdef __cpp_lib_span
1885 # error "__cpp_lib_span should not be defined before c++20"
1888 # ifdef __cpp_lib_span_at
1889 # error "__cpp_lib_span_at should not be defined before c++26"
1892 # ifdef __cpp_lib_span_initializer_list
1893 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
1896 # ifdef __cpp_lib_spanstream
1897 # error "__cpp_lib_spanstream should not be defined before c++23"
1900 # ifdef __cpp_lib_ssize
1901 # error "__cpp_lib_ssize should not be defined before c++20"
1904 # ifdef __cpp_lib_sstream_from_string_view
1905 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
1908 # ifdef __cpp_lib_stacktrace
1909 # error "__cpp_lib_stacktrace should not be defined before c++23"
1912 # ifdef __cpp_lib_starts_ends_with
1913 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
1916 # ifdef __cpp_lib_stdatomic_h
1917 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
1920 # ifdef __cpp_lib_string_contains
1921 # error "__cpp_lib_string_contains should not be defined before c++23"
1924 # ifdef __cpp_lib_string_resize_and_overwrite
1925 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1928 # ifndef __cpp_lib_string_udls
1929 # error "__cpp_lib_string_udls should be defined in c++14"
1931 # if __cpp_lib_string_udls != 201304L
1932 # error "__cpp_lib_string_udls should have the value 201304L in c++14"
1935 # ifdef __cpp_lib_string_view
1936 # error "__cpp_lib_string_view should not be defined before c++17"
1939 # ifdef __cpp_lib_submdspan
1940 # error "__cpp_lib_submdspan should not be defined before c++26"
1943 # ifdef __cpp_lib_syncbuf
1944 # error "__cpp_lib_syncbuf should not be defined before c++20"
1947 # ifdef __cpp_lib_text_encoding
1948 # error "__cpp_lib_text_encoding should not be defined before c++26"
1951 # ifdef __cpp_lib_three_way_comparison
1952 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
1955 # ifdef __cpp_lib_to_address
1956 # error "__cpp_lib_to_address should not be defined before c++20"
1959 # ifdef __cpp_lib_to_array
1960 # error "__cpp_lib_to_array should not be defined before c++20"
1963 # ifdef __cpp_lib_to_chars
1964 # error "__cpp_lib_to_chars should not be defined before c++17"
1967 # ifdef __cpp_lib_to_string
1968 # error "__cpp_lib_to_string should not be defined before c++26"
1971 # ifdef __cpp_lib_to_underlying
1972 # error "__cpp_lib_to_underlying should not be defined before c++23"
1975 # ifndef __cpp_lib_transformation_trait_aliases
1976 # error "__cpp_lib_transformation_trait_aliases should be defined in c++14"
1978 # if __cpp_lib_transformation_trait_aliases != 201304L
1979 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"
1982 # ifndef __cpp_lib_transparent_operators
1983 # error "__cpp_lib_transparent_operators should be defined in c++14"
1985 # if __cpp_lib_transparent_operators != 201210L
1986 # error "__cpp_lib_transparent_operators should have the value 201210L in c++14"
1989 # ifndef __cpp_lib_tuple_element_t
1990 # error "__cpp_lib_tuple_element_t should be defined in c++14"
1992 # if __cpp_lib_tuple_element_t != 201402L
1993 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"
1996 # ifdef __cpp_lib_tuple_like
1997 # error "__cpp_lib_tuple_like should not be defined before c++23"
2000 # ifndef __cpp_lib_tuples_by_type
2001 # error "__cpp_lib_tuples_by_type should be defined in c++14"
2003 # if __cpp_lib_tuples_by_type != 201304L
2004 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"
2007 # ifdef __cpp_lib_type_identity
2008 # error "__cpp_lib_type_identity should not be defined before c++20"
2011 # ifdef __cpp_lib_type_trait_variable_templates
2012 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
2015 # ifdef __cpp_lib_uncaught_exceptions
2016 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
2019 # ifdef __cpp_lib_unordered_map_try_emplace
2020 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
2023 # ifdef __cpp_lib_unreachable
2024 # error "__cpp_lib_unreachable should not be defined before c++23"
2027 # ifdef __cpp_lib_unwrap_ref
2028 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
2031 # ifdef __cpp_lib_variant
2032 # error "__cpp_lib_variant should not be defined before c++17"
2035 # ifdef __cpp_lib_void_t
2036 # error "__cpp_lib_void_t should not be defined before c++17"
2039 #elif TEST_STD_VER == 17
2041 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
2042 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
2045 # ifndef __cpp_lib_addressof_constexpr
2046 # error "__cpp_lib_addressof_constexpr should be defined in c++17"
2048 # if __cpp_lib_addressof_constexpr != 201603L
2049 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"
2052 # ifdef __cpp_lib_allocate_at_least
2053 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
2056 # ifndef __cpp_lib_allocator_traits_is_always_equal
2057 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"
2059 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
2060 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"
2063 # ifndef __cpp_lib_any
2064 # error "__cpp_lib_any should be defined in c++17"
2066 # if __cpp_lib_any != 201606L
2067 # error "__cpp_lib_any should have the value 201606L in c++17"
2070 # ifndef __cpp_lib_apply
2071 # error "__cpp_lib_apply should be defined in c++17"
2073 # if __cpp_lib_apply != 201603L
2074 # error "__cpp_lib_apply should have the value 201603L in c++17"
2077 # ifndef __cpp_lib_array_constexpr
2078 # error "__cpp_lib_array_constexpr should be defined in c++17"
2080 # if __cpp_lib_array_constexpr != 201603L
2081 # error "__cpp_lib_array_constexpr should have the value 201603L in c++17"
2084 # ifndef __cpp_lib_as_const
2085 # error "__cpp_lib_as_const should be defined in c++17"
2087 # if __cpp_lib_as_const != 201510L
2088 # error "__cpp_lib_as_const should have the value 201510L in c++17"
2091 # ifdef __cpp_lib_associative_heterogeneous_erasure
2092 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
2095 # ifdef __cpp_lib_associative_heterogeneous_insertion
2096 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
2099 # ifdef __cpp_lib_assume_aligned
2100 # error "__cpp_lib_assume_aligned should not be defined before c++20"
2103 # ifdef __cpp_lib_atomic_flag_test
2104 # error "__cpp_lib_atomic_flag_test should not be defined before c++20"
2107 # ifdef __cpp_lib_atomic_float
2108 # error "__cpp_lib_atomic_float should not be defined before c++20"
2111 # ifndef __cpp_lib_atomic_is_always_lock_free
2112 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"
2114 # if __cpp_lib_atomic_is_always_lock_free != 201603L
2115 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"
2118 # ifdef __cpp_lib_atomic_lock_free_type_aliases
2119 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
2122 # ifdef __cpp_lib_atomic_min_max
2123 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
2126 # ifdef __cpp_lib_atomic_ref
2127 # error "__cpp_lib_atomic_ref should not be defined before c++20"
2130 # ifdef __cpp_lib_atomic_shared_ptr
2131 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
2134 # ifdef __cpp_lib_atomic_value_initialization
2135 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
2138 # ifdef __cpp_lib_atomic_wait
2139 # error "__cpp_lib_atomic_wait should not be defined before c++20"
2142 # ifdef __cpp_lib_barrier
2143 # error "__cpp_lib_barrier should not be defined before c++20"
2146 # ifdef __cpp_lib_bind_back
2147 # error "__cpp_lib_bind_back should not be defined before c++23"
2150 # ifdef __cpp_lib_bind_front
2151 # error "__cpp_lib_bind_front should not be defined before c++20"
2154 # ifdef __cpp_lib_bit_cast
2155 # error "__cpp_lib_bit_cast should not be defined before c++20"
2158 # ifdef __cpp_lib_bitops
2159 # error "__cpp_lib_bitops should not be defined before c++20"
2162 # ifdef __cpp_lib_bitset
2163 # error "__cpp_lib_bitset should not be defined before c++26"
2166 # ifndef __cpp_lib_bool_constant
2167 # error "__cpp_lib_bool_constant should be defined in c++17"
2169 # if __cpp_lib_bool_constant != 201505L
2170 # error "__cpp_lib_bool_constant should have the value 201505L in c++17"
2173 # ifdef __cpp_lib_bounded_array_traits
2174 # error "__cpp_lib_bounded_array_traits should not be defined before c++20"
2177 # ifndef __cpp_lib_boyer_moore_searcher
2178 # error "__cpp_lib_boyer_moore_searcher should be defined in c++17"
2180 # if __cpp_lib_boyer_moore_searcher != 201603L
2181 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"
2184 # ifndef __cpp_lib_byte
2185 # error "__cpp_lib_byte should be defined in c++17"
2187 # if __cpp_lib_byte != 201603L
2188 # error "__cpp_lib_byte should have the value 201603L in c++17"
2191 # ifdef __cpp_lib_byteswap
2192 # error "__cpp_lib_byteswap should not be defined before c++23"
2195 # ifdef __cpp_lib_char8_t
2196 # error "__cpp_lib_char8_t should not be defined before c++20"
2199 # ifndef __cpp_lib_chrono
2200 # error "__cpp_lib_chrono should be defined in c++17"
2202 # if __cpp_lib_chrono != 201611L
2203 # error "__cpp_lib_chrono should have the value 201611L in c++17"
2206 # ifndef __cpp_lib_chrono_udls
2207 # error "__cpp_lib_chrono_udls should be defined in c++17"
2209 # if __cpp_lib_chrono_udls != 201304L
2210 # error "__cpp_lib_chrono_udls should have the value 201304L in c++17"
2213 # ifndef __cpp_lib_clamp
2214 # error "__cpp_lib_clamp should be defined in c++17"
2216 # if __cpp_lib_clamp != 201603L
2217 # error "__cpp_lib_clamp should have the value 201603L in c++17"
2220 # ifndef __cpp_lib_complex_udls
2221 # error "__cpp_lib_complex_udls should be defined in c++17"
2223 # if __cpp_lib_complex_udls != 201309L
2224 # error "__cpp_lib_complex_udls should have the value 201309L in c++17"
2227 # ifdef __cpp_lib_concepts
2228 # error "__cpp_lib_concepts should not be defined before c++20"
2231 # ifdef __cpp_lib_constexpr_algorithms
2232 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
2235 # ifdef __cpp_lib_constexpr_bitset
2236 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
2239 # ifdef __cpp_lib_constexpr_charconv
2240 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
2243 # ifdef __cpp_lib_constexpr_cmath
2244 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
2247 # ifdef __cpp_lib_constexpr_complex
2248 # error "__cpp_lib_constexpr_complex should not be defined before c++20"
2251 # ifdef __cpp_lib_constexpr_dynamic_alloc
2252 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
2255 # ifdef __cpp_lib_constexpr_functional
2256 # error "__cpp_lib_constexpr_functional should not be defined before c++20"
2259 # ifdef __cpp_lib_constexpr_iterator
2260 # error "__cpp_lib_constexpr_iterator should not be defined before c++20"
2263 # ifdef __cpp_lib_constexpr_memory
2264 # error "__cpp_lib_constexpr_memory should not be defined before c++20"
2267 # ifdef __cpp_lib_constexpr_new
2268 # error "__cpp_lib_constexpr_new should not be defined before c++26"
2271 # ifdef __cpp_lib_constexpr_numeric
2272 # error "__cpp_lib_constexpr_numeric should not be defined before c++20"
2275 # ifdef __cpp_lib_constexpr_string
2276 # error "__cpp_lib_constexpr_string should not be defined before c++20"
2279 # ifdef __cpp_lib_constexpr_string_view
2280 # error "__cpp_lib_constexpr_string_view should not be defined before c++20"
2283 # ifdef __cpp_lib_constexpr_tuple
2284 # error "__cpp_lib_constexpr_tuple should not be defined before c++20"
2287 # ifdef __cpp_lib_constexpr_typeinfo
2288 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
2291 # ifdef __cpp_lib_constexpr_utility
2292 # error "__cpp_lib_constexpr_utility should not be defined before c++20"
2295 # ifdef __cpp_lib_constexpr_vector
2296 # error "__cpp_lib_constexpr_vector should not be defined before c++20"
2299 # ifdef __cpp_lib_constrained_equality
2300 # error "__cpp_lib_constrained_equality should not be defined before c++26"
2303 # ifdef __cpp_lib_containers_ranges
2304 # error "__cpp_lib_containers_ranges should not be defined before c++23"
2307 # ifdef __cpp_lib_copyable_function
2308 # error "__cpp_lib_copyable_function should not be defined before c++26"
2311 # ifdef __cpp_lib_coroutine
2312 # error "__cpp_lib_coroutine should not be defined before c++20"
2315 # ifdef __cpp_lib_debugging
2316 # error "__cpp_lib_debugging should not be defined before c++26"
2319 # ifdef __cpp_lib_default_template_type_for_algorithm_values
2320 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
2323 # ifdef __cpp_lib_destroying_delete
2324 # error "__cpp_lib_destroying_delete should not be defined before c++20"
2327 # ifndef __cpp_lib_enable_shared_from_this
2328 # error "__cpp_lib_enable_shared_from_this should be defined in c++17"
2330 # if __cpp_lib_enable_shared_from_this != 201603L
2331 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"
2334 # ifdef __cpp_lib_endian
2335 # error "__cpp_lib_endian should not be defined before c++20"
2338 # ifdef __cpp_lib_erase_if
2339 # error "__cpp_lib_erase_if should not be defined before c++20"
2342 # ifndef __cpp_lib_exchange_function
2343 # error "__cpp_lib_exchange_function should be defined in c++17"
2345 # if __cpp_lib_exchange_function != 201304L
2346 # error "__cpp_lib_exchange_function should have the value 201304L in c++17"
2349 # if !defined(_LIBCPP_VERSION)
2350 # ifndef __cpp_lib_execution
2351 # error "__cpp_lib_execution should be defined in c++17"
2353 # if __cpp_lib_execution != 201603L
2354 # error "__cpp_lib_execution should have the value 201603L in c++17"
2356 # else // _LIBCPP_VERSION
2357 # ifdef __cpp_lib_execution
2358 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
2362 # ifdef __cpp_lib_expected
2363 # error "__cpp_lib_expected should not be defined before c++23"
2366 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
2367 # ifndef __cpp_lib_filesystem
2368 # error "__cpp_lib_filesystem should be defined in c++17"
2370 # if __cpp_lib_filesystem != 201703L
2371 # error "__cpp_lib_filesystem should have the value 201703L in c++17"
2374 # ifdef __cpp_lib_filesystem
2375 # 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!"
2379 # ifdef __cpp_lib_format
2380 # error "__cpp_lib_format should not be defined before c++20"
2383 # ifdef __cpp_lib_format_path
2384 # error "__cpp_lib_format_path should not be defined before c++26"
2387 # ifdef __cpp_lib_format_ranges
2388 # error "__cpp_lib_format_ranges should not be defined before c++23"
2391 # ifdef __cpp_lib_format_uchar
2392 # error "__cpp_lib_format_uchar should not be defined before c++20"
2395 # ifdef __cpp_lib_formatters
2396 # error "__cpp_lib_formatters should not be defined before c++23"
2399 # ifdef __cpp_lib_forward_like
2400 # error "__cpp_lib_forward_like should not be defined before c++23"
2403 # ifdef __cpp_lib_freestanding_algorithm
2404 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
2407 # ifdef __cpp_lib_freestanding_array
2408 # error "__cpp_lib_freestanding_array should not be defined before c++26"
2411 # ifdef __cpp_lib_freestanding_cstring
2412 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
2415 # ifdef __cpp_lib_freestanding_expected
2416 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
2419 # ifdef __cpp_lib_freestanding_mdspan
2420 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
2423 # ifdef __cpp_lib_freestanding_optional
2424 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
2427 # ifdef __cpp_lib_freestanding_string_view
2428 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
2431 # ifdef __cpp_lib_freestanding_variant
2432 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
2435 # ifdef __cpp_lib_fstream_native_handle
2436 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
2439 # ifdef __cpp_lib_function_ref
2440 # error "__cpp_lib_function_ref should not be defined before c++26"
2443 # ifndef __cpp_lib_gcd_lcm
2444 # error "__cpp_lib_gcd_lcm should be defined in c++17"
2446 # if __cpp_lib_gcd_lcm != 201606L
2447 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"
2450 # ifdef __cpp_lib_generate_random
2451 # error "__cpp_lib_generate_random should not be defined before c++26"
2454 # ifndef __cpp_lib_generic_associative_lookup
2455 # error "__cpp_lib_generic_associative_lookup should be defined in c++17"
2457 # if __cpp_lib_generic_associative_lookup != 201304L
2458 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"
2461 # ifdef __cpp_lib_generic_unordered_lookup
2462 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
2465 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
2466 # ifndef __cpp_lib_hardware_interference_size
2467 # error "__cpp_lib_hardware_interference_size should be defined in c++17"
2469 # if __cpp_lib_hardware_interference_size != 201703L
2470 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"
2473 # ifdef __cpp_lib_hardware_interference_size
2474 # 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!"
2478 # ifndef __cpp_lib_has_unique_object_representations
2479 # error "__cpp_lib_has_unique_object_representations should be defined in c++17"
2481 # if __cpp_lib_has_unique_object_representations != 201606L
2482 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
2485 # ifdef __cpp_lib_hazard_pointer
2486 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
2489 # ifndef __cpp_lib_hypot
2490 # error "__cpp_lib_hypot should be defined in c++17"
2492 # if __cpp_lib_hypot != 201603L
2493 # error "__cpp_lib_hypot should have the value 201603L in c++17"
2496 # ifndef __cpp_lib_incomplete_container_elements
2497 # error "__cpp_lib_incomplete_container_elements should be defined in c++17"
2499 # if __cpp_lib_incomplete_container_elements != 201505L
2500 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"
2503 # ifdef __cpp_lib_inplace_vector
2504 # error "__cpp_lib_inplace_vector should not be defined before c++26"
2507 # ifdef __cpp_lib_int_pow2
2508 # error "__cpp_lib_int_pow2 should not be defined before c++20"
2511 # ifdef __cpp_lib_integer_comparison_functions
2512 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
2515 # ifndef __cpp_lib_integer_sequence
2516 # error "__cpp_lib_integer_sequence should be defined in c++17"
2518 # if __cpp_lib_integer_sequence != 201304L
2519 # error "__cpp_lib_integer_sequence should have the value 201304L in c++17"
2522 # ifndef __cpp_lib_integral_constant_callable
2523 # error "__cpp_lib_integral_constant_callable should be defined in c++17"
2525 # if __cpp_lib_integral_constant_callable != 201304L
2526 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"
2529 # ifdef __cpp_lib_interpolate
2530 # error "__cpp_lib_interpolate should not be defined before c++20"
2533 # ifndef __cpp_lib_invoke
2534 # error "__cpp_lib_invoke should be defined in c++17"
2536 # if __cpp_lib_invoke != 201411L
2537 # error "__cpp_lib_invoke should have the value 201411L in c++17"
2540 # ifdef __cpp_lib_invoke_r
2541 # error "__cpp_lib_invoke_r should not be defined before c++23"
2544 # ifdef __cpp_lib_ios_noreplace
2545 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
2548 # ifndef __cpp_lib_is_aggregate
2549 # error "__cpp_lib_is_aggregate should be defined in c++17"
2551 # if __cpp_lib_is_aggregate != 201703L
2552 # error "__cpp_lib_is_aggregate should have the value 201703L in c++17"
2555 # ifdef __cpp_lib_is_constant_evaluated
2556 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
2559 # ifndef __cpp_lib_is_final
2560 # error "__cpp_lib_is_final should be defined in c++17"
2562 # if __cpp_lib_is_final != 201402L
2563 # error "__cpp_lib_is_final should have the value 201402L in c++17"
2566 # ifndef __cpp_lib_is_invocable
2567 # error "__cpp_lib_is_invocable should be defined in c++17"
2569 # if __cpp_lib_is_invocable != 201703L
2570 # error "__cpp_lib_is_invocable should have the value 201703L in c++17"
2573 # ifdef __cpp_lib_is_layout_compatible
2574 # error "__cpp_lib_is_layout_compatible should not be defined before c++20"
2577 # ifdef __cpp_lib_is_nothrow_convertible
2578 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
2581 # ifndef __cpp_lib_is_null_pointer
2582 # error "__cpp_lib_is_null_pointer should be defined in c++17"
2584 # if __cpp_lib_is_null_pointer != 201309L
2585 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"
2588 # ifdef __cpp_lib_is_pointer_interconvertible
2589 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
2592 # ifdef __cpp_lib_is_scoped_enum
2593 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
2596 # ifndef __cpp_lib_is_swappable
2597 # error "__cpp_lib_is_swappable should be defined in c++17"
2599 # if __cpp_lib_is_swappable != 201603L
2600 # error "__cpp_lib_is_swappable should have the value 201603L in c++17"
2603 # ifdef __cpp_lib_is_virtual_base_of
2604 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
2607 # ifdef __cpp_lib_is_within_lifetime
2608 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
2611 # ifdef __cpp_lib_jthread
2612 # error "__cpp_lib_jthread should not be defined before c++20"
2615 # ifdef __cpp_lib_latch
2616 # error "__cpp_lib_latch should not be defined before c++20"
2619 # ifndef __cpp_lib_launder
2620 # error "__cpp_lib_launder should be defined in c++17"
2622 # if __cpp_lib_launder != 201606L
2623 # error "__cpp_lib_launder should have the value 201606L in c++17"
2626 # ifdef __cpp_lib_linalg
2627 # error "__cpp_lib_linalg should not be defined before c++26"
2630 # ifdef __cpp_lib_list_remove_return_type
2631 # error "__cpp_lib_list_remove_return_type should not be defined before c++20"
2634 # ifndef __cpp_lib_logical_traits
2635 # error "__cpp_lib_logical_traits should be defined in c++17"
2637 # if __cpp_lib_logical_traits != 201510L
2638 # error "__cpp_lib_logical_traits should have the value 201510L in c++17"
2641 # ifndef __cpp_lib_make_from_tuple
2642 # error "__cpp_lib_make_from_tuple should be defined in c++17"
2644 # if __cpp_lib_make_from_tuple != 201606L
2645 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"
2648 # ifndef __cpp_lib_make_reverse_iterator
2649 # error "__cpp_lib_make_reverse_iterator should be defined in c++17"
2651 # if __cpp_lib_make_reverse_iterator != 201402L
2652 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"
2655 # ifndef __cpp_lib_make_unique
2656 # error "__cpp_lib_make_unique should be defined in c++17"
2658 # if __cpp_lib_make_unique != 201304L
2659 # error "__cpp_lib_make_unique should have the value 201304L in c++17"
2662 # ifndef __cpp_lib_map_try_emplace
2663 # error "__cpp_lib_map_try_emplace should be defined in c++17"
2665 # if __cpp_lib_map_try_emplace != 201411L
2666 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"
2669 # ifdef __cpp_lib_math_constants
2670 # error "__cpp_lib_math_constants should not be defined before c++20"
2673 # if !defined(_LIBCPP_VERSION)
2674 # ifndef __cpp_lib_math_special_functions
2675 # error "__cpp_lib_math_special_functions should be defined in c++17"
2677 # if __cpp_lib_math_special_functions != 201603L
2678 # error "__cpp_lib_math_special_functions should have the value 201603L in c++17"
2680 # else // _LIBCPP_VERSION
2681 # ifdef __cpp_lib_math_special_functions
2682 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
2686 # ifdef __cpp_lib_mdspan
2687 # error "__cpp_lib_mdspan should not be defined before c++23"
2690 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
2691 # ifndef __cpp_lib_memory_resource
2692 # error "__cpp_lib_memory_resource should be defined in c++17"
2694 # if __cpp_lib_memory_resource != 201603L
2695 # error "__cpp_lib_memory_resource should have the value 201603L in c++17"
2698 # ifdef __cpp_lib_memory_resource
2699 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
2703 # ifdef __cpp_lib_modules
2704 # error "__cpp_lib_modules should not be defined before c++23"
2707 # ifdef __cpp_lib_move_iterator_concept
2708 # error "__cpp_lib_move_iterator_concept should not be defined before c++20"
2711 # ifdef __cpp_lib_move_only_function
2712 # error "__cpp_lib_move_only_function should not be defined before c++23"
2715 # ifndef __cpp_lib_node_extract
2716 # error "__cpp_lib_node_extract should be defined in c++17"
2718 # if __cpp_lib_node_extract != 201606L
2719 # error "__cpp_lib_node_extract should have the value 201606L in c++17"
2722 # ifndef __cpp_lib_nonmember_container_access
2723 # error "__cpp_lib_nonmember_container_access should be defined in c++17"
2725 # if __cpp_lib_nonmember_container_access != 201411L
2726 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"
2729 # ifndef __cpp_lib_not_fn
2730 # error "__cpp_lib_not_fn should be defined in c++17"
2732 # if __cpp_lib_not_fn != 201603L
2733 # error "__cpp_lib_not_fn should have the value 201603L in c++17"
2736 # ifndef __cpp_lib_null_iterators
2737 # error "__cpp_lib_null_iterators should be defined in c++17"
2739 # if __cpp_lib_null_iterators != 201304L
2740 # error "__cpp_lib_null_iterators should have the value 201304L in c++17"
2743 # ifndef __cpp_lib_optional
2744 # error "__cpp_lib_optional should be defined in c++17"
2746 # if __cpp_lib_optional != 201606L
2747 # error "__cpp_lib_optional should have the value 201606L in c++17"
2750 # ifdef __cpp_lib_optional_range_support
2751 # error "__cpp_lib_optional_range_support should not be defined before c++26"
2754 # ifdef __cpp_lib_out_ptr
2755 # error "__cpp_lib_out_ptr should not be defined before c++23"
2758 # if !defined(_LIBCPP_VERSION)
2759 # ifndef __cpp_lib_parallel_algorithm
2760 # error "__cpp_lib_parallel_algorithm should be defined in c++17"
2762 # if __cpp_lib_parallel_algorithm != 201603L
2763 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"
2765 # else // _LIBCPP_VERSION
2766 # ifdef __cpp_lib_parallel_algorithm
2767 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
2771 # ifdef __cpp_lib_philox_engine
2772 # error "__cpp_lib_philox_engine should not be defined before c++26"
2775 # ifdef __cpp_lib_polymorphic_allocator
2776 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
2779 # ifdef __cpp_lib_print
2780 # error "__cpp_lib_print should not be defined before c++23"
2783 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
2784 # ifndef __cpp_lib_quoted_string_io
2785 # error "__cpp_lib_quoted_string_io should be defined in c++17"
2787 # if __cpp_lib_quoted_string_io != 201304L
2788 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"
2791 # ifdef __cpp_lib_quoted_string_io
2792 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
2796 # ifdef __cpp_lib_ranges
2797 # error "__cpp_lib_ranges should not be defined before c++20"
2800 # ifdef __cpp_lib_ranges_as_const
2801 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
2804 # ifdef __cpp_lib_ranges_as_rvalue
2805 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
2808 # ifdef __cpp_lib_ranges_chunk
2809 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
2812 # ifdef __cpp_lib_ranges_chunk_by
2813 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
2816 # ifdef __cpp_lib_ranges_concat
2817 # error "__cpp_lib_ranges_concat should not be defined before c++26"
2820 # ifdef __cpp_lib_ranges_contains
2821 # error "__cpp_lib_ranges_contains should not be defined before c++23"
2824 # ifdef __cpp_lib_ranges_find_last
2825 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
2828 # ifdef __cpp_lib_ranges_iota
2829 # error "__cpp_lib_ranges_iota should not be defined before c++23"
2832 # ifdef __cpp_lib_ranges_join_with
2833 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
2836 # ifdef __cpp_lib_ranges_repeat
2837 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
2840 # ifdef __cpp_lib_ranges_slide
2841 # error "__cpp_lib_ranges_slide should not be defined before c++23"
2844 # ifdef __cpp_lib_ranges_starts_ends_with
2845 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
2848 # ifdef __cpp_lib_ranges_to_container
2849 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
2852 # ifdef __cpp_lib_ranges_zip
2853 # error "__cpp_lib_ranges_zip should not be defined before c++23"
2856 # ifdef __cpp_lib_ratio
2857 # error "__cpp_lib_ratio should not be defined before c++26"
2860 # ifndef __cpp_lib_raw_memory_algorithms
2861 # error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
2863 # if __cpp_lib_raw_memory_algorithms != 201606L
2864 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
2867 # ifdef __cpp_lib_rcu
2868 # error "__cpp_lib_rcu should not be defined before c++26"
2871 # ifdef __cpp_lib_reference_from_temporary
2872 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
2875 # ifdef __cpp_lib_reference_wrapper
2876 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
2879 # ifdef __cpp_lib_remove_cvref
2880 # error "__cpp_lib_remove_cvref should not be defined before c++20"
2883 # ifndef __cpp_lib_result_of_sfinae
2884 # error "__cpp_lib_result_of_sfinae should be defined in c++17"
2886 # if __cpp_lib_result_of_sfinae != 201210L
2887 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"
2890 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
2891 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"
2893 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
2894 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"
2897 # ifndef __cpp_lib_sample
2898 # error "__cpp_lib_sample should be defined in c++17"
2900 # if __cpp_lib_sample != 201603L
2901 # error "__cpp_lib_sample should have the value 201603L in c++17"
2904 # ifdef __cpp_lib_saturation_arithmetic
2905 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
2908 # if !defined(_LIBCPP_HAS_NO_THREADS)
2909 # ifndef __cpp_lib_scoped_lock
2910 # error "__cpp_lib_scoped_lock should be defined in c++17"
2912 # if __cpp_lib_scoped_lock != 201703L
2913 # error "__cpp_lib_scoped_lock should have the value 201703L in c++17"
2916 # ifdef __cpp_lib_scoped_lock
2917 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2921 # ifdef __cpp_lib_semaphore
2922 # error "__cpp_lib_semaphore should not be defined before c++20"
2925 # ifdef __cpp_lib_senders
2926 # error "__cpp_lib_senders should not be defined before c++26"
2929 # if !defined(_LIBCPP_HAS_NO_THREADS)
2930 # ifndef __cpp_lib_shared_mutex
2931 # error "__cpp_lib_shared_mutex should be defined in c++17"
2933 # if __cpp_lib_shared_mutex != 201505L
2934 # error "__cpp_lib_shared_mutex should have the value 201505L in c++17"
2937 # ifdef __cpp_lib_shared_mutex
2938 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2942 # ifndef __cpp_lib_shared_ptr_arrays
2943 # error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
2945 # if __cpp_lib_shared_ptr_arrays != 201611L
2946 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
2949 # ifndef __cpp_lib_shared_ptr_weak_type
2950 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"
2952 # if __cpp_lib_shared_ptr_weak_type != 201606L
2953 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"
2956 # if !defined(_LIBCPP_HAS_NO_THREADS)
2957 # ifndef __cpp_lib_shared_timed_mutex
2958 # error "__cpp_lib_shared_timed_mutex should be defined in c++17"
2960 # if __cpp_lib_shared_timed_mutex != 201402L
2961 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"
2964 # ifdef __cpp_lib_shared_timed_mutex
2965 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2969 # ifdef __cpp_lib_shift
2970 # error "__cpp_lib_shift should not be defined before c++20"
2973 # ifdef __cpp_lib_smart_ptr_for_overwrite
2974 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
2977 # ifdef __cpp_lib_smart_ptr_owner_equality
2978 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
2981 # ifdef __cpp_lib_source_location
2982 # error "__cpp_lib_source_location should not be defined before c++20"
2985 # ifdef __cpp_lib_span
2986 # error "__cpp_lib_span should not be defined before c++20"
2989 # ifdef __cpp_lib_span_at
2990 # error "__cpp_lib_span_at should not be defined before c++26"
2993 # ifdef __cpp_lib_span_initializer_list
2994 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
2997 # ifdef __cpp_lib_spanstream
2998 # error "__cpp_lib_spanstream should not be defined before c++23"
3001 # ifdef __cpp_lib_ssize
3002 # error "__cpp_lib_ssize should not be defined before c++20"
3005 # ifdef __cpp_lib_sstream_from_string_view
3006 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
3009 # ifdef __cpp_lib_stacktrace
3010 # error "__cpp_lib_stacktrace should not be defined before c++23"
3013 # ifdef __cpp_lib_starts_ends_with
3014 # error "__cpp_lib_starts_ends_with should not be defined before c++20"
3017 # ifdef __cpp_lib_stdatomic_h
3018 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
3021 # ifdef __cpp_lib_string_contains
3022 # error "__cpp_lib_string_contains should not be defined before c++23"
3025 # ifdef __cpp_lib_string_resize_and_overwrite
3026 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
3029 # ifndef __cpp_lib_string_udls
3030 # error "__cpp_lib_string_udls should be defined in c++17"
3032 # if __cpp_lib_string_udls != 201304L
3033 # error "__cpp_lib_string_udls should have the value 201304L in c++17"
3036 # ifndef __cpp_lib_string_view
3037 # error "__cpp_lib_string_view should be defined in c++17"
3039 # if __cpp_lib_string_view != 201606L
3040 # error "__cpp_lib_string_view should have the value 201606L in c++17"
3043 # ifdef __cpp_lib_submdspan
3044 # error "__cpp_lib_submdspan should not be defined before c++26"
3047 # ifdef __cpp_lib_syncbuf
3048 # error "__cpp_lib_syncbuf should not be defined before c++20"
3051 # ifdef __cpp_lib_text_encoding
3052 # error "__cpp_lib_text_encoding should not be defined before c++26"
3055 # ifdef __cpp_lib_three_way_comparison
3056 # error "__cpp_lib_three_way_comparison should not be defined before c++20"
3059 # ifdef __cpp_lib_to_address
3060 # error "__cpp_lib_to_address should not be defined before c++20"
3063 # ifdef __cpp_lib_to_array
3064 # error "__cpp_lib_to_array should not be defined before c++20"
3067 # if !defined(_LIBCPP_VERSION)
3068 # ifndef __cpp_lib_to_chars
3069 # error "__cpp_lib_to_chars should be defined in c++17"
3071 # if __cpp_lib_to_chars != 201611L
3072 # error "__cpp_lib_to_chars should have the value 201611L in c++17"
3074 # else // _LIBCPP_VERSION
3075 # ifdef __cpp_lib_to_chars
3076 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
3080 # ifdef __cpp_lib_to_string
3081 # error "__cpp_lib_to_string should not be defined before c++26"
3084 # ifdef __cpp_lib_to_underlying
3085 # error "__cpp_lib_to_underlying should not be defined before c++23"
3088 # ifndef __cpp_lib_transformation_trait_aliases
3089 # error "__cpp_lib_transformation_trait_aliases should be defined in c++17"
3091 # if __cpp_lib_transformation_trait_aliases != 201304L
3092 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"
3095 # ifndef __cpp_lib_transparent_operators
3096 # error "__cpp_lib_transparent_operators should be defined in c++17"
3098 # if __cpp_lib_transparent_operators != 201510L
3099 # error "__cpp_lib_transparent_operators should have the value 201510L in c++17"
3102 # ifndef __cpp_lib_tuple_element_t
3103 # error "__cpp_lib_tuple_element_t should be defined in c++17"
3105 # if __cpp_lib_tuple_element_t != 201402L
3106 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"
3109 # ifdef __cpp_lib_tuple_like
3110 # error "__cpp_lib_tuple_like should not be defined before c++23"
3113 # ifndef __cpp_lib_tuples_by_type
3114 # error "__cpp_lib_tuples_by_type should be defined in c++17"
3116 # if __cpp_lib_tuples_by_type != 201304L
3117 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"
3120 # ifdef __cpp_lib_type_identity
3121 # error "__cpp_lib_type_identity should not be defined before c++20"
3124 # ifndef __cpp_lib_type_trait_variable_templates
3125 # error "__cpp_lib_type_trait_variable_templates should be defined in c++17"
3127 # if __cpp_lib_type_trait_variable_templates != 201510L
3128 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"
3131 # ifndef __cpp_lib_uncaught_exceptions
3132 # error "__cpp_lib_uncaught_exceptions should be defined in c++17"
3134 # if __cpp_lib_uncaught_exceptions != 201411L
3135 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"
3138 # ifndef __cpp_lib_unordered_map_try_emplace
3139 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"
3141 # if __cpp_lib_unordered_map_try_emplace != 201411L
3142 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"
3145 # ifdef __cpp_lib_unreachable
3146 # error "__cpp_lib_unreachable should not be defined before c++23"
3149 # ifdef __cpp_lib_unwrap_ref
3150 # error "__cpp_lib_unwrap_ref should not be defined before c++20"
3153 # ifndef __cpp_lib_variant
3154 # error "__cpp_lib_variant should be defined in c++17"
3156 # if __cpp_lib_variant != 202102L
3157 # error "__cpp_lib_variant should have the value 202102L in c++17"
3160 # ifndef __cpp_lib_void_t
3161 # error "__cpp_lib_void_t should be defined in c++17"
3163 # if __cpp_lib_void_t != 201411L
3164 # error "__cpp_lib_void_t should have the value 201411L in c++17"
3167 #elif TEST_STD_VER == 20
3169 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
3170 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
3173 # ifndef __cpp_lib_addressof_constexpr
3174 # error "__cpp_lib_addressof_constexpr should be defined in c++20"
3176 # if __cpp_lib_addressof_constexpr != 201603L
3177 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"
3180 # ifdef __cpp_lib_allocate_at_least
3181 # error "__cpp_lib_allocate_at_least should not be defined before c++23"
3184 # ifndef __cpp_lib_allocator_traits_is_always_equal
3185 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"
3187 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
3188 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"
3191 # ifndef __cpp_lib_any
3192 # error "__cpp_lib_any should be defined in c++20"
3194 # if __cpp_lib_any != 201606L
3195 # error "__cpp_lib_any should have the value 201606L in c++20"
3198 # ifndef __cpp_lib_apply
3199 # error "__cpp_lib_apply should be defined in c++20"
3201 # if __cpp_lib_apply != 201603L
3202 # error "__cpp_lib_apply should have the value 201603L in c++20"
3205 # ifndef __cpp_lib_array_constexpr
3206 # error "__cpp_lib_array_constexpr should be defined in c++20"
3208 # if __cpp_lib_array_constexpr != 201811L
3209 # error "__cpp_lib_array_constexpr should have the value 201811L in c++20"
3212 # ifndef __cpp_lib_as_const
3213 # error "__cpp_lib_as_const should be defined in c++20"
3215 # if __cpp_lib_as_const != 201510L
3216 # error "__cpp_lib_as_const should have the value 201510L in c++20"
3219 # ifdef __cpp_lib_associative_heterogeneous_erasure
3220 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
3223 # ifdef __cpp_lib_associative_heterogeneous_insertion
3224 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
3227 # ifndef __cpp_lib_assume_aligned
3228 # error "__cpp_lib_assume_aligned should be defined in c++20"
3230 # if __cpp_lib_assume_aligned != 201811L
3231 # error "__cpp_lib_assume_aligned should have the value 201811L in c++20"
3234 # ifndef __cpp_lib_atomic_flag_test
3235 # error "__cpp_lib_atomic_flag_test should be defined in c++20"
3237 # if __cpp_lib_atomic_flag_test != 201907L
3238 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"
3241 # if !defined(_LIBCPP_VERSION)
3242 # ifndef __cpp_lib_atomic_float
3243 # error "__cpp_lib_atomic_float should be defined in c++20"
3245 # if __cpp_lib_atomic_float != 201711L
3246 # error "__cpp_lib_atomic_float should have the value 201711L in c++20"
3248 # else // _LIBCPP_VERSION
3249 # ifdef __cpp_lib_atomic_float
3250 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
3254 # ifndef __cpp_lib_atomic_is_always_lock_free
3255 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"
3257 # if __cpp_lib_atomic_is_always_lock_free != 201603L
3258 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"
3261 # ifndef __cpp_lib_atomic_lock_free_type_aliases
3262 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"
3264 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
3265 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"
3268 # ifdef __cpp_lib_atomic_min_max
3269 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
3272 # ifndef __cpp_lib_atomic_ref
3273 # error "__cpp_lib_atomic_ref should be defined in c++20"
3275 # if __cpp_lib_atomic_ref != 201806L
3276 # error "__cpp_lib_atomic_ref should have the value 201806L in c++20"
3279 # if !defined(_LIBCPP_VERSION)
3280 # ifndef __cpp_lib_atomic_shared_ptr
3281 # error "__cpp_lib_atomic_shared_ptr should be defined in c++20"
3283 # if __cpp_lib_atomic_shared_ptr != 201711L
3284 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"
3286 # else // _LIBCPP_VERSION
3287 # ifdef __cpp_lib_atomic_shared_ptr
3288 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
3292 # ifndef __cpp_lib_atomic_value_initialization
3293 # error "__cpp_lib_atomic_value_initialization should be defined in c++20"
3295 # if __cpp_lib_atomic_value_initialization != 201911L
3296 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"
3299 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
3300 # ifndef __cpp_lib_atomic_wait
3301 # error "__cpp_lib_atomic_wait should be defined in c++20"
3303 # if __cpp_lib_atomic_wait != 201907L
3304 # error "__cpp_lib_atomic_wait should have the value 201907L in c++20"
3307 # ifdef __cpp_lib_atomic_wait
3308 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
3312 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3313 # ifndef __cpp_lib_barrier
3314 # error "__cpp_lib_barrier should be defined in c++20"
3316 # if __cpp_lib_barrier != 201907L
3317 # error "__cpp_lib_barrier should have the value 201907L in c++20"
3320 # ifdef __cpp_lib_barrier
3321 # 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!"
3325 # ifdef __cpp_lib_bind_back
3326 # error "__cpp_lib_bind_back should not be defined before c++23"
3329 # ifndef __cpp_lib_bind_front
3330 # error "__cpp_lib_bind_front should be defined in c++20"
3332 # if __cpp_lib_bind_front != 201907L
3333 # error "__cpp_lib_bind_front should have the value 201907L in c++20"
3336 # ifndef __cpp_lib_bit_cast
3337 # error "__cpp_lib_bit_cast should be defined in c++20"
3339 # if __cpp_lib_bit_cast != 201806L
3340 # error "__cpp_lib_bit_cast should have the value 201806L in c++20"
3343 # ifndef __cpp_lib_bitops
3344 # error "__cpp_lib_bitops should be defined in c++20"
3346 # if __cpp_lib_bitops != 201907L
3347 # error "__cpp_lib_bitops should have the value 201907L in c++20"
3350 # ifdef __cpp_lib_bitset
3351 # error "__cpp_lib_bitset should not be defined before c++26"
3354 # ifndef __cpp_lib_bool_constant
3355 # error "__cpp_lib_bool_constant should be defined in c++20"
3357 # if __cpp_lib_bool_constant != 201505L
3358 # error "__cpp_lib_bool_constant should have the value 201505L in c++20"
3361 # ifndef __cpp_lib_bounded_array_traits
3362 # error "__cpp_lib_bounded_array_traits should be defined in c++20"
3364 # if __cpp_lib_bounded_array_traits != 201902L
3365 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"
3368 # ifndef __cpp_lib_boyer_moore_searcher
3369 # error "__cpp_lib_boyer_moore_searcher should be defined in c++20"
3371 # if __cpp_lib_boyer_moore_searcher != 201603L
3372 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"
3375 # ifndef __cpp_lib_byte
3376 # error "__cpp_lib_byte should be defined in c++20"
3378 # if __cpp_lib_byte != 201603L
3379 # error "__cpp_lib_byte should have the value 201603L in c++20"
3382 # ifdef __cpp_lib_byteswap
3383 # error "__cpp_lib_byteswap should not be defined before c++23"
3386 # if defined(__cpp_char8_t)
3387 # ifndef __cpp_lib_char8_t
3388 # error "__cpp_lib_char8_t should be defined in c++20"
3390 # if __cpp_lib_char8_t != 201907L
3391 # error "__cpp_lib_char8_t should have the value 201907L in c++20"
3394 # ifdef __cpp_lib_char8_t
3395 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
3399 # ifndef __cpp_lib_chrono
3400 # error "__cpp_lib_chrono should be defined in c++20"
3402 # if __cpp_lib_chrono != 201611L
3403 # error "__cpp_lib_chrono should have the value 201611L in c++20"
3406 # ifndef __cpp_lib_chrono_udls
3407 # error "__cpp_lib_chrono_udls should be defined in c++20"
3409 # if __cpp_lib_chrono_udls != 201304L
3410 # error "__cpp_lib_chrono_udls should have the value 201304L in c++20"
3413 # ifndef __cpp_lib_clamp
3414 # error "__cpp_lib_clamp should be defined in c++20"
3416 # if __cpp_lib_clamp != 201603L
3417 # error "__cpp_lib_clamp should have the value 201603L in c++20"
3420 # ifndef __cpp_lib_complex_udls
3421 # error "__cpp_lib_complex_udls should be defined in c++20"
3423 # if __cpp_lib_complex_udls != 201309L
3424 # error "__cpp_lib_complex_udls should have the value 201309L in c++20"
3427 # ifndef __cpp_lib_concepts
3428 # error "__cpp_lib_concepts should be defined in c++20"
3430 # if __cpp_lib_concepts != 202002L
3431 # error "__cpp_lib_concepts should have the value 202002L in c++20"
3434 # ifndef __cpp_lib_constexpr_algorithms
3435 # error "__cpp_lib_constexpr_algorithms should be defined in c++20"
3437 # if __cpp_lib_constexpr_algorithms != 201806L
3438 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"
3441 # ifdef __cpp_lib_constexpr_bitset
3442 # error "__cpp_lib_constexpr_bitset should not be defined before c++23"
3445 # ifdef __cpp_lib_constexpr_charconv
3446 # error "__cpp_lib_constexpr_charconv should not be defined before c++23"
3449 # ifdef __cpp_lib_constexpr_cmath
3450 # error "__cpp_lib_constexpr_cmath should not be defined before c++23"
3453 # ifndef __cpp_lib_constexpr_complex
3454 # error "__cpp_lib_constexpr_complex should be defined in c++20"
3456 # if __cpp_lib_constexpr_complex != 201711L
3457 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"
3460 # ifndef __cpp_lib_constexpr_dynamic_alloc
3461 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"
3463 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
3464 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
3467 # ifndef __cpp_lib_constexpr_functional
3468 # error "__cpp_lib_constexpr_functional should be defined in c++20"
3470 # if __cpp_lib_constexpr_functional != 201907L
3471 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
3474 # ifndef __cpp_lib_constexpr_iterator
3475 # error "__cpp_lib_constexpr_iterator should be defined in c++20"
3477 # if __cpp_lib_constexpr_iterator != 201811L
3478 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"
3481 # ifndef __cpp_lib_constexpr_memory
3482 # error "__cpp_lib_constexpr_memory should be defined in c++20"
3484 # if __cpp_lib_constexpr_memory != 201811L
3485 # error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
3488 # ifdef __cpp_lib_constexpr_new
3489 # error "__cpp_lib_constexpr_new should not be defined before c++26"
3492 # ifndef __cpp_lib_constexpr_numeric
3493 # error "__cpp_lib_constexpr_numeric should be defined in c++20"
3495 # if __cpp_lib_constexpr_numeric != 201911L
3496 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"
3499 # ifndef __cpp_lib_constexpr_string
3500 # error "__cpp_lib_constexpr_string should be defined in c++20"
3502 # if __cpp_lib_constexpr_string != 201907L
3503 # error "__cpp_lib_constexpr_string should have the value 201907L in c++20"
3506 # ifndef __cpp_lib_constexpr_string_view
3507 # error "__cpp_lib_constexpr_string_view should be defined in c++20"
3509 # if __cpp_lib_constexpr_string_view != 201811L
3510 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"
3513 # ifndef __cpp_lib_constexpr_tuple
3514 # error "__cpp_lib_constexpr_tuple should be defined in c++20"
3516 # if __cpp_lib_constexpr_tuple != 201811L
3517 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"
3520 # ifdef __cpp_lib_constexpr_typeinfo
3521 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
3524 # ifndef __cpp_lib_constexpr_utility
3525 # error "__cpp_lib_constexpr_utility should be defined in c++20"
3527 # if __cpp_lib_constexpr_utility != 201811L
3528 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"
3531 # ifndef __cpp_lib_constexpr_vector
3532 # error "__cpp_lib_constexpr_vector should be defined in c++20"
3534 # if __cpp_lib_constexpr_vector != 201907L
3535 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
3538 # ifdef __cpp_lib_constrained_equality
3539 # error "__cpp_lib_constrained_equality should not be defined before c++26"
3542 # ifdef __cpp_lib_containers_ranges
3543 # error "__cpp_lib_containers_ranges should not be defined before c++23"
3546 # ifdef __cpp_lib_copyable_function
3547 # error "__cpp_lib_copyable_function should not be defined before c++26"
3550 # ifndef __cpp_lib_coroutine
3551 # error "__cpp_lib_coroutine should be defined in c++20"
3553 # if __cpp_lib_coroutine != 201902L
3554 # error "__cpp_lib_coroutine should have the value 201902L in c++20"
3557 # ifdef __cpp_lib_debugging
3558 # error "__cpp_lib_debugging should not be defined before c++26"
3561 # ifdef __cpp_lib_default_template_type_for_algorithm_values
3562 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
3565 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
3566 # ifndef __cpp_lib_destroying_delete
3567 # error "__cpp_lib_destroying_delete should be defined in c++20"
3569 # if __cpp_lib_destroying_delete != 201806L
3570 # error "__cpp_lib_destroying_delete should have the value 201806L in c++20"
3573 # ifdef __cpp_lib_destroying_delete
3574 # 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!"
3578 # ifndef __cpp_lib_enable_shared_from_this
3579 # error "__cpp_lib_enable_shared_from_this should be defined in c++20"
3581 # if __cpp_lib_enable_shared_from_this != 201603L
3582 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"
3585 # ifndef __cpp_lib_endian
3586 # error "__cpp_lib_endian should be defined in c++20"
3588 # if __cpp_lib_endian != 201907L
3589 # error "__cpp_lib_endian should have the value 201907L in c++20"
3592 # ifndef __cpp_lib_erase_if
3593 # error "__cpp_lib_erase_if should be defined in c++20"
3595 # if __cpp_lib_erase_if != 202002L
3596 # error "__cpp_lib_erase_if should have the value 202002L in c++20"
3599 # ifndef __cpp_lib_exchange_function
3600 # error "__cpp_lib_exchange_function should be defined in c++20"
3602 # if __cpp_lib_exchange_function != 201304L
3603 # error "__cpp_lib_exchange_function should have the value 201304L in c++20"
3606 # if !defined(_LIBCPP_VERSION)
3607 # ifndef __cpp_lib_execution
3608 # error "__cpp_lib_execution should be defined in c++20"
3610 # if __cpp_lib_execution != 201902L
3611 # error "__cpp_lib_execution should have the value 201902L in c++20"
3613 # else // _LIBCPP_VERSION
3614 # ifdef __cpp_lib_execution
3615 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
3619 # ifdef __cpp_lib_expected
3620 # error "__cpp_lib_expected should not be defined before c++23"
3623 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
3624 # ifndef __cpp_lib_filesystem
3625 # error "__cpp_lib_filesystem should be defined in c++20"
3627 # if __cpp_lib_filesystem != 201703L
3628 # error "__cpp_lib_filesystem should have the value 201703L in c++20"
3631 # ifdef __cpp_lib_filesystem
3632 # 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!"
3636 # ifndef __cpp_lib_format
3637 # error "__cpp_lib_format should be defined in c++20"
3639 # if __cpp_lib_format != 202110L
3640 # error "__cpp_lib_format should have the value 202110L in c++20"
3643 # ifdef __cpp_lib_format_path
3644 # error "__cpp_lib_format_path should not be defined before c++26"
3647 # ifdef __cpp_lib_format_ranges
3648 # error "__cpp_lib_format_ranges should not be defined before c++23"
3651 # ifndef __cpp_lib_format_uchar
3652 # error "__cpp_lib_format_uchar should be defined in c++20"
3654 # if __cpp_lib_format_uchar != 202311L
3655 # error "__cpp_lib_format_uchar should have the value 202311L in c++20"
3658 # ifdef __cpp_lib_formatters
3659 # error "__cpp_lib_formatters should not be defined before c++23"
3662 # ifdef __cpp_lib_forward_like
3663 # error "__cpp_lib_forward_like should not be defined before c++23"
3666 # ifdef __cpp_lib_freestanding_algorithm
3667 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
3670 # ifdef __cpp_lib_freestanding_array
3671 # error "__cpp_lib_freestanding_array should not be defined before c++26"
3674 # ifdef __cpp_lib_freestanding_cstring
3675 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
3678 # ifdef __cpp_lib_freestanding_expected
3679 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
3682 # ifdef __cpp_lib_freestanding_mdspan
3683 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
3686 # ifdef __cpp_lib_freestanding_optional
3687 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
3690 # ifdef __cpp_lib_freestanding_string_view
3691 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
3694 # ifdef __cpp_lib_freestanding_variant
3695 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
3698 # ifdef __cpp_lib_fstream_native_handle
3699 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
3702 # ifdef __cpp_lib_function_ref
3703 # error "__cpp_lib_function_ref should not be defined before c++26"
3706 # ifndef __cpp_lib_gcd_lcm
3707 # error "__cpp_lib_gcd_lcm should be defined in c++20"
3709 # if __cpp_lib_gcd_lcm != 201606L
3710 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"
3713 # ifdef __cpp_lib_generate_random
3714 # error "__cpp_lib_generate_random should not be defined before c++26"
3717 # ifndef __cpp_lib_generic_associative_lookup
3718 # error "__cpp_lib_generic_associative_lookup should be defined in c++20"
3720 # if __cpp_lib_generic_associative_lookup != 201304L
3721 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"
3724 # ifndef __cpp_lib_generic_unordered_lookup
3725 # error "__cpp_lib_generic_unordered_lookup should be defined in c++20"
3727 # if __cpp_lib_generic_unordered_lookup != 201811L
3728 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"
3731 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
3732 # ifndef __cpp_lib_hardware_interference_size
3733 # error "__cpp_lib_hardware_interference_size should be defined in c++20"
3735 # if __cpp_lib_hardware_interference_size != 201703L
3736 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"
3739 # ifdef __cpp_lib_hardware_interference_size
3740 # 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!"
3744 # ifndef __cpp_lib_has_unique_object_representations
3745 # error "__cpp_lib_has_unique_object_representations should be defined in c++20"
3747 # if __cpp_lib_has_unique_object_representations != 201606L
3748 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
3751 # ifdef __cpp_lib_hazard_pointer
3752 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
3755 # ifndef __cpp_lib_hypot
3756 # error "__cpp_lib_hypot should be defined in c++20"
3758 # if __cpp_lib_hypot != 201603L
3759 # error "__cpp_lib_hypot should have the value 201603L in c++20"
3762 # ifndef __cpp_lib_incomplete_container_elements
3763 # error "__cpp_lib_incomplete_container_elements should be defined in c++20"
3765 # if __cpp_lib_incomplete_container_elements != 201505L
3766 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"
3769 # ifdef __cpp_lib_inplace_vector
3770 # error "__cpp_lib_inplace_vector should not be defined before c++26"
3773 # ifndef __cpp_lib_int_pow2
3774 # error "__cpp_lib_int_pow2 should be defined in c++20"
3776 # if __cpp_lib_int_pow2 != 202002L
3777 # error "__cpp_lib_int_pow2 should have the value 202002L in c++20"
3780 # ifndef __cpp_lib_integer_comparison_functions
3781 # error "__cpp_lib_integer_comparison_functions should be defined in c++20"
3783 # if __cpp_lib_integer_comparison_functions != 202002L
3784 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"
3787 # ifndef __cpp_lib_integer_sequence
3788 # error "__cpp_lib_integer_sequence should be defined in c++20"
3790 # if __cpp_lib_integer_sequence != 201304L
3791 # error "__cpp_lib_integer_sequence should have the value 201304L in c++20"
3794 # ifndef __cpp_lib_integral_constant_callable
3795 # error "__cpp_lib_integral_constant_callable should be defined in c++20"
3797 # if __cpp_lib_integral_constant_callable != 201304L
3798 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"
3801 # ifndef __cpp_lib_interpolate
3802 # error "__cpp_lib_interpolate should be defined in c++20"
3804 # if __cpp_lib_interpolate != 201902L
3805 # error "__cpp_lib_interpolate should have the value 201902L in c++20"
3808 # ifndef __cpp_lib_invoke
3809 # error "__cpp_lib_invoke should be defined in c++20"
3811 # if __cpp_lib_invoke != 201411L
3812 # error "__cpp_lib_invoke should have the value 201411L in c++20"
3815 # ifdef __cpp_lib_invoke_r
3816 # error "__cpp_lib_invoke_r should not be defined before c++23"
3819 # ifdef __cpp_lib_ios_noreplace
3820 # error "__cpp_lib_ios_noreplace should not be defined before c++23"
3823 # ifndef __cpp_lib_is_aggregate
3824 # error "__cpp_lib_is_aggregate should be defined in c++20"
3826 # if __cpp_lib_is_aggregate != 201703L
3827 # error "__cpp_lib_is_aggregate should have the value 201703L in c++20"
3830 # ifndef __cpp_lib_is_constant_evaluated
3831 # error "__cpp_lib_is_constant_evaluated should be defined in c++20"
3833 # if __cpp_lib_is_constant_evaluated != 201811L
3834 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"
3837 # ifndef __cpp_lib_is_final
3838 # error "__cpp_lib_is_final should be defined in c++20"
3840 # if __cpp_lib_is_final != 201402L
3841 # error "__cpp_lib_is_final should have the value 201402L in c++20"
3844 # ifndef __cpp_lib_is_invocable
3845 # error "__cpp_lib_is_invocable should be defined in c++20"
3847 # if __cpp_lib_is_invocable != 201703L
3848 # error "__cpp_lib_is_invocable should have the value 201703L in c++20"
3851 # if !defined(_LIBCPP_VERSION)
3852 # ifndef __cpp_lib_is_layout_compatible
3853 # error "__cpp_lib_is_layout_compatible should be defined in c++20"
3855 # if __cpp_lib_is_layout_compatible != 201907L
3856 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"
3858 # else // _LIBCPP_VERSION
3859 # ifdef __cpp_lib_is_layout_compatible
3860 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
3864 # ifndef __cpp_lib_is_nothrow_convertible
3865 # error "__cpp_lib_is_nothrow_convertible should be defined in c++20"
3867 # if __cpp_lib_is_nothrow_convertible != 201806L
3868 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"
3871 # ifndef __cpp_lib_is_null_pointer
3872 # error "__cpp_lib_is_null_pointer should be defined in c++20"
3874 # if __cpp_lib_is_null_pointer != 201309L
3875 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"
3878 # if !defined(_LIBCPP_VERSION)
3879 # ifndef __cpp_lib_is_pointer_interconvertible
3880 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"
3882 # if __cpp_lib_is_pointer_interconvertible != 201907L
3883 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"
3885 # else // _LIBCPP_VERSION
3886 # ifdef __cpp_lib_is_pointer_interconvertible
3887 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
3891 # ifdef __cpp_lib_is_scoped_enum
3892 # error "__cpp_lib_is_scoped_enum should not be defined before c++23"
3895 # ifndef __cpp_lib_is_swappable
3896 # error "__cpp_lib_is_swappable should be defined in c++20"
3898 # if __cpp_lib_is_swappable != 201603L
3899 # error "__cpp_lib_is_swappable should have the value 201603L in c++20"
3902 # ifdef __cpp_lib_is_virtual_base_of
3903 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
3906 # ifdef __cpp_lib_is_within_lifetime
3907 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
3910 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3911 # ifndef __cpp_lib_jthread
3912 # error "__cpp_lib_jthread should be defined in c++20"
3914 # if __cpp_lib_jthread != 201911L
3915 # error "__cpp_lib_jthread should have the value 201911L in c++20"
3918 # ifdef __cpp_lib_jthread
3919 # 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!"
3923 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3924 # ifndef __cpp_lib_latch
3925 # error "__cpp_lib_latch should be defined in c++20"
3927 # if __cpp_lib_latch != 201907L
3928 # error "__cpp_lib_latch should have the value 201907L in c++20"
3931 # ifdef __cpp_lib_latch
3932 # 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!"
3936 # ifndef __cpp_lib_launder
3937 # error "__cpp_lib_launder should be defined in c++20"
3939 # if __cpp_lib_launder != 201606L
3940 # error "__cpp_lib_launder should have the value 201606L in c++20"
3943 # ifdef __cpp_lib_linalg
3944 # error "__cpp_lib_linalg should not be defined before c++26"
3947 # ifndef __cpp_lib_list_remove_return_type
3948 # error "__cpp_lib_list_remove_return_type should be defined in c++20"
3950 # if __cpp_lib_list_remove_return_type != 201806L
3951 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"
3954 # ifndef __cpp_lib_logical_traits
3955 # error "__cpp_lib_logical_traits should be defined in c++20"
3957 # if __cpp_lib_logical_traits != 201510L
3958 # error "__cpp_lib_logical_traits should have the value 201510L in c++20"
3961 # ifndef __cpp_lib_make_from_tuple
3962 # error "__cpp_lib_make_from_tuple should be defined in c++20"
3964 # if __cpp_lib_make_from_tuple != 201606L
3965 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"
3968 # ifndef __cpp_lib_make_reverse_iterator
3969 # error "__cpp_lib_make_reverse_iterator should be defined in c++20"
3971 # if __cpp_lib_make_reverse_iterator != 201402L
3972 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"
3975 # ifndef __cpp_lib_make_unique
3976 # error "__cpp_lib_make_unique should be defined in c++20"
3978 # if __cpp_lib_make_unique != 201304L
3979 # error "__cpp_lib_make_unique should have the value 201304L in c++20"
3982 # ifndef __cpp_lib_map_try_emplace
3983 # error "__cpp_lib_map_try_emplace should be defined in c++20"
3985 # if __cpp_lib_map_try_emplace != 201411L
3986 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"
3989 # ifndef __cpp_lib_math_constants
3990 # error "__cpp_lib_math_constants should be defined in c++20"
3992 # if __cpp_lib_math_constants != 201907L
3993 # error "__cpp_lib_math_constants should have the value 201907L in c++20"
3996 # if !defined(_LIBCPP_VERSION)
3997 # ifndef __cpp_lib_math_special_functions
3998 # error "__cpp_lib_math_special_functions should be defined in c++20"
4000 # if __cpp_lib_math_special_functions != 201603L
4001 # error "__cpp_lib_math_special_functions should have the value 201603L in c++20"
4003 # else // _LIBCPP_VERSION
4004 # ifdef __cpp_lib_math_special_functions
4005 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
4009 # ifdef __cpp_lib_mdspan
4010 # error "__cpp_lib_mdspan should not be defined before c++23"
4013 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4014 # ifndef __cpp_lib_memory_resource
4015 # error "__cpp_lib_memory_resource should be defined in c++20"
4017 # if __cpp_lib_memory_resource != 201603L
4018 # error "__cpp_lib_memory_resource should have the value 201603L in c++20"
4021 # ifdef __cpp_lib_memory_resource
4022 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4026 # ifdef __cpp_lib_modules
4027 # error "__cpp_lib_modules should not be defined before c++23"
4030 # ifndef __cpp_lib_move_iterator_concept
4031 # error "__cpp_lib_move_iterator_concept should be defined in c++20"
4033 # if __cpp_lib_move_iterator_concept != 202207L
4034 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20"
4037 # ifdef __cpp_lib_move_only_function
4038 # error "__cpp_lib_move_only_function should not be defined before c++23"
4041 # ifndef __cpp_lib_node_extract
4042 # error "__cpp_lib_node_extract should be defined in c++20"
4044 # if __cpp_lib_node_extract != 201606L
4045 # error "__cpp_lib_node_extract should have the value 201606L in c++20"
4048 # ifndef __cpp_lib_nonmember_container_access
4049 # error "__cpp_lib_nonmember_container_access should be defined in c++20"
4051 # if __cpp_lib_nonmember_container_access != 201411L
4052 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"
4055 # ifndef __cpp_lib_not_fn
4056 # error "__cpp_lib_not_fn should be defined in c++20"
4058 # if __cpp_lib_not_fn != 201603L
4059 # error "__cpp_lib_not_fn should have the value 201603L in c++20"
4062 # ifndef __cpp_lib_null_iterators
4063 # error "__cpp_lib_null_iterators should be defined in c++20"
4065 # if __cpp_lib_null_iterators != 201304L
4066 # error "__cpp_lib_null_iterators should have the value 201304L in c++20"
4069 # ifndef __cpp_lib_optional
4070 # error "__cpp_lib_optional should be defined in c++20"
4072 # if __cpp_lib_optional != 201606L
4073 # error "__cpp_lib_optional should have the value 201606L in c++20"
4076 # ifdef __cpp_lib_optional_range_support
4077 # error "__cpp_lib_optional_range_support should not be defined before c++26"
4080 # ifdef __cpp_lib_out_ptr
4081 # error "__cpp_lib_out_ptr should not be defined before c++23"
4084 # if !defined(_LIBCPP_VERSION)
4085 # ifndef __cpp_lib_parallel_algorithm
4086 # error "__cpp_lib_parallel_algorithm should be defined in c++20"
4088 # if __cpp_lib_parallel_algorithm != 201603L
4089 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"
4091 # else // _LIBCPP_VERSION
4092 # ifdef __cpp_lib_parallel_algorithm
4093 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
4097 # ifdef __cpp_lib_philox_engine
4098 # error "__cpp_lib_philox_engine should not be defined before c++26"
4101 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4102 # ifndef __cpp_lib_polymorphic_allocator
4103 # error "__cpp_lib_polymorphic_allocator should be defined in c++20"
4105 # if __cpp_lib_polymorphic_allocator != 201902L
4106 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"
4109 # ifdef __cpp_lib_polymorphic_allocator
4110 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4114 # ifdef __cpp_lib_print
4115 # error "__cpp_lib_print should not be defined before c++23"
4118 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
4119 # ifndef __cpp_lib_quoted_string_io
4120 # error "__cpp_lib_quoted_string_io should be defined in c++20"
4122 # if __cpp_lib_quoted_string_io != 201304L
4123 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"
4126 # ifdef __cpp_lib_quoted_string_io
4127 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
4131 # ifndef __cpp_lib_ranges
4132 # error "__cpp_lib_ranges should be defined in c++20"
4134 # if __cpp_lib_ranges != 202207L
4135 # error "__cpp_lib_ranges should have the value 202207L in c++20"
4138 # ifdef __cpp_lib_ranges_as_const
4139 # error "__cpp_lib_ranges_as_const should not be defined before c++23"
4142 # ifdef __cpp_lib_ranges_as_rvalue
4143 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
4146 # ifdef __cpp_lib_ranges_chunk
4147 # error "__cpp_lib_ranges_chunk should not be defined before c++23"
4150 # ifdef __cpp_lib_ranges_chunk_by
4151 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
4154 # ifdef __cpp_lib_ranges_concat
4155 # error "__cpp_lib_ranges_concat should not be defined before c++26"
4158 # ifdef __cpp_lib_ranges_contains
4159 # error "__cpp_lib_ranges_contains should not be defined before c++23"
4162 # ifdef __cpp_lib_ranges_find_last
4163 # error "__cpp_lib_ranges_find_last should not be defined before c++23"
4166 # ifdef __cpp_lib_ranges_iota
4167 # error "__cpp_lib_ranges_iota should not be defined before c++23"
4170 # ifdef __cpp_lib_ranges_join_with
4171 # error "__cpp_lib_ranges_join_with should not be defined before c++23"
4174 # ifdef __cpp_lib_ranges_repeat
4175 # error "__cpp_lib_ranges_repeat should not be defined before c++23"
4178 # ifdef __cpp_lib_ranges_slide
4179 # error "__cpp_lib_ranges_slide should not be defined before c++23"
4182 # ifdef __cpp_lib_ranges_starts_ends_with
4183 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
4186 # ifdef __cpp_lib_ranges_to_container
4187 # error "__cpp_lib_ranges_to_container should not be defined before c++23"
4190 # ifdef __cpp_lib_ranges_zip
4191 # error "__cpp_lib_ranges_zip should not be defined before c++23"
4194 # ifdef __cpp_lib_ratio
4195 # error "__cpp_lib_ratio should not be defined before c++26"
4198 # ifndef __cpp_lib_raw_memory_algorithms
4199 # error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
4201 # if __cpp_lib_raw_memory_algorithms != 201606L
4202 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
4205 # ifdef __cpp_lib_rcu
4206 # error "__cpp_lib_rcu should not be defined before c++26"
4209 # ifdef __cpp_lib_reference_from_temporary
4210 # error "__cpp_lib_reference_from_temporary should not be defined before c++23"
4213 # ifdef __cpp_lib_reference_wrapper
4214 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
4217 # ifndef __cpp_lib_remove_cvref
4218 # error "__cpp_lib_remove_cvref should be defined in c++20"
4220 # if __cpp_lib_remove_cvref != 201711L
4221 # error "__cpp_lib_remove_cvref should have the value 201711L in c++20"
4224 # ifndef __cpp_lib_result_of_sfinae
4225 # error "__cpp_lib_result_of_sfinae should be defined in c++20"
4227 # if __cpp_lib_result_of_sfinae != 201210L
4228 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"
4231 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
4232 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"
4234 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
4235 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"
4238 # ifndef __cpp_lib_sample
4239 # error "__cpp_lib_sample should be defined in c++20"
4241 # if __cpp_lib_sample != 201603L
4242 # error "__cpp_lib_sample should have the value 201603L in c++20"
4245 # ifdef __cpp_lib_saturation_arithmetic
4246 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
4249 # if !defined(_LIBCPP_HAS_NO_THREADS)
4250 # ifndef __cpp_lib_scoped_lock
4251 # error "__cpp_lib_scoped_lock should be defined in c++20"
4253 # if __cpp_lib_scoped_lock != 201703L
4254 # error "__cpp_lib_scoped_lock should have the value 201703L in c++20"
4257 # ifdef __cpp_lib_scoped_lock
4258 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4262 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4263 # ifndef __cpp_lib_semaphore
4264 # error "__cpp_lib_semaphore should be defined in c++20"
4266 # if __cpp_lib_semaphore != 201907L
4267 # error "__cpp_lib_semaphore should have the value 201907L in c++20"
4270 # ifdef __cpp_lib_semaphore
4271 # 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!"
4275 # ifdef __cpp_lib_senders
4276 # error "__cpp_lib_senders should not be defined before c++26"
4279 # if !defined(_LIBCPP_HAS_NO_THREADS)
4280 # ifndef __cpp_lib_shared_mutex
4281 # error "__cpp_lib_shared_mutex should be defined in c++20"
4283 # if __cpp_lib_shared_mutex != 201505L
4284 # error "__cpp_lib_shared_mutex should have the value 201505L in c++20"
4287 # ifdef __cpp_lib_shared_mutex
4288 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4292 # ifndef __cpp_lib_shared_ptr_arrays
4293 # error "__cpp_lib_shared_ptr_arrays should be defined in c++20"
4295 # if __cpp_lib_shared_ptr_arrays != 201707L
4296 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20"
4299 # ifndef __cpp_lib_shared_ptr_weak_type
4300 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"
4302 # if __cpp_lib_shared_ptr_weak_type != 201606L
4303 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"
4306 # if !defined(_LIBCPP_HAS_NO_THREADS)
4307 # ifndef __cpp_lib_shared_timed_mutex
4308 # error "__cpp_lib_shared_timed_mutex should be defined in c++20"
4310 # if __cpp_lib_shared_timed_mutex != 201402L
4311 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"
4314 # ifdef __cpp_lib_shared_timed_mutex
4315 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4319 # ifndef __cpp_lib_shift
4320 # error "__cpp_lib_shift should be defined in c++20"
4322 # if __cpp_lib_shift != 201806L
4323 # error "__cpp_lib_shift should have the value 201806L in c++20"
4326 # if !defined(_LIBCPP_VERSION)
4327 # ifndef __cpp_lib_smart_ptr_for_overwrite
4328 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"
4330 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
4331 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"
4333 # else // _LIBCPP_VERSION
4334 # ifdef __cpp_lib_smart_ptr_for_overwrite
4335 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
4339 # ifdef __cpp_lib_smart_ptr_owner_equality
4340 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
4343 # ifndef __cpp_lib_source_location
4344 # error "__cpp_lib_source_location should be defined in c++20"
4346 # if __cpp_lib_source_location != 201907L
4347 # error "__cpp_lib_source_location should have the value 201907L in c++20"
4350 # ifndef __cpp_lib_span
4351 # error "__cpp_lib_span should be defined in c++20"
4353 # if __cpp_lib_span != 202002L
4354 # error "__cpp_lib_span should have the value 202002L in c++20"
4357 # ifdef __cpp_lib_span_at
4358 # error "__cpp_lib_span_at should not be defined before c++26"
4361 # ifdef __cpp_lib_span_initializer_list
4362 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
4365 # ifdef __cpp_lib_spanstream
4366 # error "__cpp_lib_spanstream should not be defined before c++23"
4369 # ifndef __cpp_lib_ssize
4370 # error "__cpp_lib_ssize should be defined in c++20"
4372 # if __cpp_lib_ssize != 201902L
4373 # error "__cpp_lib_ssize should have the value 201902L in c++20"
4376 # ifdef __cpp_lib_sstream_from_string_view
4377 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
4380 # ifdef __cpp_lib_stacktrace
4381 # error "__cpp_lib_stacktrace should not be defined before c++23"
4384 # ifndef __cpp_lib_starts_ends_with
4385 # error "__cpp_lib_starts_ends_with should be defined in c++20"
4387 # if __cpp_lib_starts_ends_with != 201711L
4388 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"
4391 # ifdef __cpp_lib_stdatomic_h
4392 # error "__cpp_lib_stdatomic_h should not be defined before c++23"
4395 # ifdef __cpp_lib_string_contains
4396 # error "__cpp_lib_string_contains should not be defined before c++23"
4399 # ifdef __cpp_lib_string_resize_and_overwrite
4400 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
4403 # ifndef __cpp_lib_string_udls
4404 # error "__cpp_lib_string_udls should be defined in c++20"
4406 # if __cpp_lib_string_udls != 201304L
4407 # error "__cpp_lib_string_udls should have the value 201304L in c++20"
4410 # ifndef __cpp_lib_string_view
4411 # error "__cpp_lib_string_view should be defined in c++20"
4413 # if __cpp_lib_string_view != 201803L
4414 # error "__cpp_lib_string_view should have the value 201803L in c++20"
4417 # ifdef __cpp_lib_submdspan
4418 # error "__cpp_lib_submdspan should not be defined before c++26"
4421 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
4422 # ifndef __cpp_lib_syncbuf
4423 # error "__cpp_lib_syncbuf should be defined in c++20"
4425 # if __cpp_lib_syncbuf != 201803L
4426 # error "__cpp_lib_syncbuf should have the value 201803L in c++20"
4429 # ifdef __cpp_lib_syncbuf
4430 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
4434 # ifdef __cpp_lib_text_encoding
4435 # error "__cpp_lib_text_encoding should not be defined before c++26"
4438 # ifndef __cpp_lib_three_way_comparison
4439 # error "__cpp_lib_three_way_comparison should be defined in c++20"
4441 # if __cpp_lib_three_way_comparison != 201907L
4442 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
4445 # ifndef __cpp_lib_to_address
4446 # error "__cpp_lib_to_address should be defined in c++20"
4448 # if __cpp_lib_to_address != 201711L
4449 # error "__cpp_lib_to_address should have the value 201711L in c++20"
4452 # ifndef __cpp_lib_to_array
4453 # error "__cpp_lib_to_array should be defined in c++20"
4455 # if __cpp_lib_to_array != 201907L
4456 # error "__cpp_lib_to_array should have the value 201907L in c++20"
4459 # if !defined(_LIBCPP_VERSION)
4460 # ifndef __cpp_lib_to_chars
4461 # error "__cpp_lib_to_chars should be defined in c++20"
4463 # if __cpp_lib_to_chars != 201611L
4464 # error "__cpp_lib_to_chars should have the value 201611L in c++20"
4466 # else // _LIBCPP_VERSION
4467 # ifdef __cpp_lib_to_chars
4468 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
4472 # ifdef __cpp_lib_to_string
4473 # error "__cpp_lib_to_string should not be defined before c++26"
4476 # ifdef __cpp_lib_to_underlying
4477 # error "__cpp_lib_to_underlying should not be defined before c++23"
4480 # ifndef __cpp_lib_transformation_trait_aliases
4481 # error "__cpp_lib_transformation_trait_aliases should be defined in c++20"
4483 # if __cpp_lib_transformation_trait_aliases != 201304L
4484 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"
4487 # ifndef __cpp_lib_transparent_operators
4488 # error "__cpp_lib_transparent_operators should be defined in c++20"
4490 # if __cpp_lib_transparent_operators != 201510L
4491 # error "__cpp_lib_transparent_operators should have the value 201510L in c++20"
4494 # ifndef __cpp_lib_tuple_element_t
4495 # error "__cpp_lib_tuple_element_t should be defined in c++20"
4497 # if __cpp_lib_tuple_element_t != 201402L
4498 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"
4501 # ifdef __cpp_lib_tuple_like
4502 # error "__cpp_lib_tuple_like should not be defined before c++23"
4505 # ifndef __cpp_lib_tuples_by_type
4506 # error "__cpp_lib_tuples_by_type should be defined in c++20"
4508 # if __cpp_lib_tuples_by_type != 201304L
4509 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"
4512 # ifndef __cpp_lib_type_identity
4513 # error "__cpp_lib_type_identity should be defined in c++20"
4515 # if __cpp_lib_type_identity != 201806L
4516 # error "__cpp_lib_type_identity should have the value 201806L in c++20"
4519 # ifndef __cpp_lib_type_trait_variable_templates
4520 # error "__cpp_lib_type_trait_variable_templates should be defined in c++20"
4522 # if __cpp_lib_type_trait_variable_templates != 201510L
4523 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"
4526 # ifndef __cpp_lib_uncaught_exceptions
4527 # error "__cpp_lib_uncaught_exceptions should be defined in c++20"
4529 # if __cpp_lib_uncaught_exceptions != 201411L
4530 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"
4533 # ifndef __cpp_lib_unordered_map_try_emplace
4534 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"
4536 # if __cpp_lib_unordered_map_try_emplace != 201411L
4537 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"
4540 # ifdef __cpp_lib_unreachable
4541 # error "__cpp_lib_unreachable should not be defined before c++23"
4544 # ifndef __cpp_lib_unwrap_ref
4545 # error "__cpp_lib_unwrap_ref should be defined in c++20"
4547 # if __cpp_lib_unwrap_ref != 201811L
4548 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"
4551 # ifndef __cpp_lib_variant
4552 # error "__cpp_lib_variant should be defined in c++20"
4554 # if __cpp_lib_variant != 202102L
4555 # error "__cpp_lib_variant should have the value 202102L in c++20"
4558 # ifndef __cpp_lib_void_t
4559 # error "__cpp_lib_void_t should be defined in c++20"
4561 # if __cpp_lib_void_t != 201411L
4562 # error "__cpp_lib_void_t should have the value 201411L in c++20"
4565 #elif TEST_STD_VER == 23
4567 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
4568 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++23"
4570 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
4571 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++23"
4574 # ifndef __cpp_lib_addressof_constexpr
4575 # error "__cpp_lib_addressof_constexpr should be defined in c++23"
4577 # if __cpp_lib_addressof_constexpr != 201603L
4578 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23"
4581 # ifndef __cpp_lib_allocate_at_least
4582 # error "__cpp_lib_allocate_at_least should be defined in c++23"
4584 # if __cpp_lib_allocate_at_least != 202302L
4585 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++23"
4588 # ifndef __cpp_lib_allocator_traits_is_always_equal
4589 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23"
4591 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
4592 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23"
4595 # ifndef __cpp_lib_any
4596 # error "__cpp_lib_any should be defined in c++23"
4598 # if __cpp_lib_any != 201606L
4599 # error "__cpp_lib_any should have the value 201606L in c++23"
4602 # ifndef __cpp_lib_apply
4603 # error "__cpp_lib_apply should be defined in c++23"
4605 # if __cpp_lib_apply != 201603L
4606 # error "__cpp_lib_apply should have the value 201603L in c++23"
4609 # ifndef __cpp_lib_array_constexpr
4610 # error "__cpp_lib_array_constexpr should be defined in c++23"
4612 # if __cpp_lib_array_constexpr != 201811L
4613 # error "__cpp_lib_array_constexpr should have the value 201811L in c++23"
4616 # ifndef __cpp_lib_as_const
4617 # error "__cpp_lib_as_const should be defined in c++23"
4619 # if __cpp_lib_as_const != 201510L
4620 # error "__cpp_lib_as_const should have the value 201510L in c++23"
4623 # if !defined(_LIBCPP_VERSION)
4624 # ifndef __cpp_lib_associative_heterogeneous_erasure
4625 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++23"
4627 # if __cpp_lib_associative_heterogeneous_erasure != 202110L
4628 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++23"
4630 # else // _LIBCPP_VERSION
4631 # ifdef __cpp_lib_associative_heterogeneous_erasure
4632 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
4636 # ifdef __cpp_lib_associative_heterogeneous_insertion
4637 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
4640 # ifndef __cpp_lib_assume_aligned
4641 # error "__cpp_lib_assume_aligned should be defined in c++23"
4643 # if __cpp_lib_assume_aligned != 201811L
4644 # error "__cpp_lib_assume_aligned should have the value 201811L in c++23"
4647 # ifndef __cpp_lib_atomic_flag_test
4648 # error "__cpp_lib_atomic_flag_test should be defined in c++23"
4650 # if __cpp_lib_atomic_flag_test != 201907L
4651 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++23"
4654 # if !defined(_LIBCPP_VERSION)
4655 # ifndef __cpp_lib_atomic_float
4656 # error "__cpp_lib_atomic_float should be defined in c++23"
4658 # if __cpp_lib_atomic_float != 201711L
4659 # error "__cpp_lib_atomic_float should have the value 201711L in c++23"
4661 # else // _LIBCPP_VERSION
4662 # ifdef __cpp_lib_atomic_float
4663 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
4667 # ifndef __cpp_lib_atomic_is_always_lock_free
4668 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++23"
4670 # if __cpp_lib_atomic_is_always_lock_free != 201603L
4671 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++23"
4674 # ifndef __cpp_lib_atomic_lock_free_type_aliases
4675 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++23"
4677 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
4678 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++23"
4681 # ifdef __cpp_lib_atomic_min_max
4682 # error "__cpp_lib_atomic_min_max should not be defined before c++26"
4685 # ifndef __cpp_lib_atomic_ref
4686 # error "__cpp_lib_atomic_ref should be defined in c++23"
4688 # if __cpp_lib_atomic_ref != 201806L
4689 # error "__cpp_lib_atomic_ref should have the value 201806L in c++23"
4692 # if !defined(_LIBCPP_VERSION)
4693 # ifndef __cpp_lib_atomic_shared_ptr
4694 # error "__cpp_lib_atomic_shared_ptr should be defined in c++23"
4696 # if __cpp_lib_atomic_shared_ptr != 201711L
4697 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++23"
4699 # else // _LIBCPP_VERSION
4700 # ifdef __cpp_lib_atomic_shared_ptr
4701 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
4705 # ifndef __cpp_lib_atomic_value_initialization
4706 # error "__cpp_lib_atomic_value_initialization should be defined in c++23"
4708 # if __cpp_lib_atomic_value_initialization != 201911L
4709 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23"
4712 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
4713 # ifndef __cpp_lib_atomic_wait
4714 # error "__cpp_lib_atomic_wait should be defined in c++23"
4716 # if __cpp_lib_atomic_wait != 201907L
4717 # error "__cpp_lib_atomic_wait should have the value 201907L in c++23"
4720 # ifdef __cpp_lib_atomic_wait
4721 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
4725 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4726 # ifndef __cpp_lib_barrier
4727 # error "__cpp_lib_barrier should be defined in c++23"
4729 # if __cpp_lib_barrier != 201907L
4730 # error "__cpp_lib_barrier should have the value 201907L in c++23"
4733 # ifdef __cpp_lib_barrier
4734 # 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!"
4738 # ifndef __cpp_lib_bind_back
4739 # error "__cpp_lib_bind_back should be defined in c++23"
4741 # if __cpp_lib_bind_back != 202202L
4742 # error "__cpp_lib_bind_back should have the value 202202L in c++23"
4745 # ifndef __cpp_lib_bind_front
4746 # error "__cpp_lib_bind_front should be defined in c++23"
4748 # if __cpp_lib_bind_front != 201907L
4749 # error "__cpp_lib_bind_front should have the value 201907L in c++23"
4752 # ifndef __cpp_lib_bit_cast
4753 # error "__cpp_lib_bit_cast should be defined in c++23"
4755 # if __cpp_lib_bit_cast != 201806L
4756 # error "__cpp_lib_bit_cast should have the value 201806L in c++23"
4759 # ifndef __cpp_lib_bitops
4760 # error "__cpp_lib_bitops should be defined in c++23"
4762 # if __cpp_lib_bitops != 201907L
4763 # error "__cpp_lib_bitops should have the value 201907L in c++23"
4766 # ifdef __cpp_lib_bitset
4767 # error "__cpp_lib_bitset should not be defined before c++26"
4770 # ifndef __cpp_lib_bool_constant
4771 # error "__cpp_lib_bool_constant should be defined in c++23"
4773 # if __cpp_lib_bool_constant != 201505L
4774 # error "__cpp_lib_bool_constant should have the value 201505L in c++23"
4777 # ifndef __cpp_lib_bounded_array_traits
4778 # error "__cpp_lib_bounded_array_traits should be defined in c++23"
4780 # if __cpp_lib_bounded_array_traits != 201902L
4781 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++23"
4784 # ifndef __cpp_lib_boyer_moore_searcher
4785 # error "__cpp_lib_boyer_moore_searcher should be defined in c++23"
4787 # if __cpp_lib_boyer_moore_searcher != 201603L
4788 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23"
4791 # ifndef __cpp_lib_byte
4792 # error "__cpp_lib_byte should be defined in c++23"
4794 # if __cpp_lib_byte != 201603L
4795 # error "__cpp_lib_byte should have the value 201603L in c++23"
4798 # ifndef __cpp_lib_byteswap
4799 # error "__cpp_lib_byteswap should be defined in c++23"
4801 # if __cpp_lib_byteswap != 202110L
4802 # error "__cpp_lib_byteswap should have the value 202110L in c++23"
4805 # if defined(__cpp_char8_t)
4806 # ifndef __cpp_lib_char8_t
4807 # error "__cpp_lib_char8_t should be defined in c++23"
4809 # if __cpp_lib_char8_t != 201907L
4810 # error "__cpp_lib_char8_t should have the value 201907L in c++23"
4813 # ifdef __cpp_lib_char8_t
4814 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
4818 # ifndef __cpp_lib_chrono
4819 # error "__cpp_lib_chrono should be defined in c++23"
4821 # if __cpp_lib_chrono != 201611L
4822 # error "__cpp_lib_chrono should have the value 201611L in c++23"
4825 # ifndef __cpp_lib_chrono_udls
4826 # error "__cpp_lib_chrono_udls should be defined in c++23"
4828 # if __cpp_lib_chrono_udls != 201304L
4829 # error "__cpp_lib_chrono_udls should have the value 201304L in c++23"
4832 # ifndef __cpp_lib_clamp
4833 # error "__cpp_lib_clamp should be defined in c++23"
4835 # if __cpp_lib_clamp != 201603L
4836 # error "__cpp_lib_clamp should have the value 201603L in c++23"
4839 # ifndef __cpp_lib_complex_udls
4840 # error "__cpp_lib_complex_udls should be defined in c++23"
4842 # if __cpp_lib_complex_udls != 201309L
4843 # error "__cpp_lib_complex_udls should have the value 201309L in c++23"
4846 # ifndef __cpp_lib_concepts
4847 # error "__cpp_lib_concepts should be defined in c++23"
4849 # if __cpp_lib_concepts != 202002L
4850 # error "__cpp_lib_concepts should have the value 202002L in c++23"
4853 # ifndef __cpp_lib_constexpr_algorithms
4854 # error "__cpp_lib_constexpr_algorithms should be defined in c++23"
4856 # if __cpp_lib_constexpr_algorithms != 201806L
4857 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23"
4860 # ifndef __cpp_lib_constexpr_bitset
4861 # error "__cpp_lib_constexpr_bitset should be defined in c++23"
4863 # if __cpp_lib_constexpr_bitset != 202207L
4864 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23"
4867 # ifndef __cpp_lib_constexpr_charconv
4868 # error "__cpp_lib_constexpr_charconv should be defined in c++23"
4870 # if __cpp_lib_constexpr_charconv != 202207L
4871 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++23"
4874 # if !defined(_LIBCPP_VERSION)
4875 # ifndef __cpp_lib_constexpr_cmath
4876 # error "__cpp_lib_constexpr_cmath should be defined in c++23"
4878 # if __cpp_lib_constexpr_cmath != 202202L
4879 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++23"
4881 # else // _LIBCPP_VERSION
4882 # ifdef __cpp_lib_constexpr_cmath
4883 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
4887 # ifndef __cpp_lib_constexpr_complex
4888 # error "__cpp_lib_constexpr_complex should be defined in c++23"
4890 # if __cpp_lib_constexpr_complex != 201711L
4891 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++23"
4894 # ifndef __cpp_lib_constexpr_dynamic_alloc
4895 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23"
4897 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
4898 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23"
4901 # ifndef __cpp_lib_constexpr_functional
4902 # error "__cpp_lib_constexpr_functional should be defined in c++23"
4904 # if __cpp_lib_constexpr_functional != 201907L
4905 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++23"
4908 # ifndef __cpp_lib_constexpr_iterator
4909 # error "__cpp_lib_constexpr_iterator should be defined in c++23"
4911 # if __cpp_lib_constexpr_iterator != 201811L
4912 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++23"
4915 # ifndef __cpp_lib_constexpr_memory
4916 # error "__cpp_lib_constexpr_memory should be defined in c++23"
4918 # if __cpp_lib_constexpr_memory != 202202L
4919 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++23"
4922 # ifdef __cpp_lib_constexpr_new
4923 # error "__cpp_lib_constexpr_new should not be defined before c++26"
4926 # ifndef __cpp_lib_constexpr_numeric
4927 # error "__cpp_lib_constexpr_numeric should be defined in c++23"
4929 # if __cpp_lib_constexpr_numeric != 201911L
4930 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++23"
4933 # ifndef __cpp_lib_constexpr_string
4934 # error "__cpp_lib_constexpr_string should be defined in c++23"
4936 # if __cpp_lib_constexpr_string != 201907L
4937 # error "__cpp_lib_constexpr_string should have the value 201907L in c++23"
4940 # ifndef __cpp_lib_constexpr_string_view
4941 # error "__cpp_lib_constexpr_string_view should be defined in c++23"
4943 # if __cpp_lib_constexpr_string_view != 201811L
4944 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++23"
4947 # ifndef __cpp_lib_constexpr_tuple
4948 # error "__cpp_lib_constexpr_tuple should be defined in c++23"
4950 # if __cpp_lib_constexpr_tuple != 201811L
4951 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++23"
4954 # ifndef __cpp_lib_constexpr_typeinfo
4955 # error "__cpp_lib_constexpr_typeinfo should be defined in c++23"
4957 # if __cpp_lib_constexpr_typeinfo != 202106L
4958 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++23"
4961 # ifndef __cpp_lib_constexpr_utility
4962 # error "__cpp_lib_constexpr_utility should be defined in c++23"
4964 # if __cpp_lib_constexpr_utility != 201811L
4965 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++23"
4968 # ifndef __cpp_lib_constexpr_vector
4969 # error "__cpp_lib_constexpr_vector should be defined in c++23"
4971 # if __cpp_lib_constexpr_vector != 201907L
4972 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++23"
4975 # ifdef __cpp_lib_constrained_equality
4976 # error "__cpp_lib_constrained_equality should not be defined before c++26"
4979 # ifndef __cpp_lib_containers_ranges
4980 # error "__cpp_lib_containers_ranges should be defined in c++23"
4982 # if __cpp_lib_containers_ranges != 202202L
4983 # error "__cpp_lib_containers_ranges should have the value 202202L in c++23"
4986 # ifdef __cpp_lib_copyable_function
4987 # error "__cpp_lib_copyable_function should not be defined before c++26"
4990 # ifndef __cpp_lib_coroutine
4991 # error "__cpp_lib_coroutine should be defined in c++23"
4993 # if __cpp_lib_coroutine != 201902L
4994 # error "__cpp_lib_coroutine should have the value 201902L in c++23"
4997 # ifdef __cpp_lib_debugging
4998 # error "__cpp_lib_debugging should not be defined before c++26"
5001 # ifdef __cpp_lib_default_template_type_for_algorithm_values
5002 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
5005 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
5006 # ifndef __cpp_lib_destroying_delete
5007 # error "__cpp_lib_destroying_delete should be defined in c++23"
5009 # if __cpp_lib_destroying_delete != 201806L
5010 # error "__cpp_lib_destroying_delete should have the value 201806L in c++23"
5013 # ifdef __cpp_lib_destroying_delete
5014 # 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!"
5018 # ifndef __cpp_lib_enable_shared_from_this
5019 # error "__cpp_lib_enable_shared_from_this should be defined in c++23"
5021 # if __cpp_lib_enable_shared_from_this != 201603L
5022 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23"
5025 # ifndef __cpp_lib_endian
5026 # error "__cpp_lib_endian should be defined in c++23"
5028 # if __cpp_lib_endian != 201907L
5029 # error "__cpp_lib_endian should have the value 201907L in c++23"
5032 # ifndef __cpp_lib_erase_if
5033 # error "__cpp_lib_erase_if should be defined in c++23"
5035 # if __cpp_lib_erase_if != 202002L
5036 # error "__cpp_lib_erase_if should have the value 202002L in c++23"
5039 # ifndef __cpp_lib_exchange_function
5040 # error "__cpp_lib_exchange_function should be defined in c++23"
5042 # if __cpp_lib_exchange_function != 201304L
5043 # error "__cpp_lib_exchange_function should have the value 201304L in c++23"
5046 # if !defined(_LIBCPP_VERSION)
5047 # ifndef __cpp_lib_execution
5048 # error "__cpp_lib_execution should be defined in c++23"
5050 # if __cpp_lib_execution != 201902L
5051 # error "__cpp_lib_execution should have the value 201902L in c++23"
5053 # else // _LIBCPP_VERSION
5054 # ifdef __cpp_lib_execution
5055 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
5059 # ifndef __cpp_lib_expected
5060 # error "__cpp_lib_expected should be defined in c++23"
5062 # if __cpp_lib_expected != 202211L
5063 # error "__cpp_lib_expected should have the value 202211L in c++23"
5066 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
5067 # ifndef __cpp_lib_filesystem
5068 # error "__cpp_lib_filesystem should be defined in c++23"
5070 # if __cpp_lib_filesystem != 201703L
5071 # error "__cpp_lib_filesystem should have the value 201703L in c++23"
5074 # ifdef __cpp_lib_filesystem
5075 # 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!"
5079 # ifndef __cpp_lib_format
5080 # error "__cpp_lib_format should be defined in c++23"
5082 # if __cpp_lib_format != 202110L
5083 # error "__cpp_lib_format should have the value 202110L in c++23"
5086 # ifdef __cpp_lib_format_path
5087 # error "__cpp_lib_format_path should not be defined before c++26"
5090 # ifndef __cpp_lib_format_ranges
5091 # error "__cpp_lib_format_ranges should be defined in c++23"
5093 # if __cpp_lib_format_ranges != 202207L
5094 # error "__cpp_lib_format_ranges should have the value 202207L in c++23"
5097 # ifndef __cpp_lib_format_uchar
5098 # error "__cpp_lib_format_uchar should be defined in c++23"
5100 # if __cpp_lib_format_uchar != 202311L
5101 # error "__cpp_lib_format_uchar should have the value 202311L in c++23"
5104 # if !defined(_LIBCPP_VERSION)
5105 # ifndef __cpp_lib_formatters
5106 # error "__cpp_lib_formatters should be defined in c++23"
5108 # if __cpp_lib_formatters != 202302L
5109 # error "__cpp_lib_formatters should have the value 202302L in c++23"
5111 # else // _LIBCPP_VERSION
5112 # ifdef __cpp_lib_formatters
5113 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
5117 # ifndef __cpp_lib_forward_like
5118 # error "__cpp_lib_forward_like should be defined in c++23"
5120 # if __cpp_lib_forward_like != 202207L
5121 # error "__cpp_lib_forward_like should have the value 202207L in c++23"
5124 # ifdef __cpp_lib_freestanding_algorithm
5125 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
5128 # ifdef __cpp_lib_freestanding_array
5129 # error "__cpp_lib_freestanding_array should not be defined before c++26"
5132 # ifdef __cpp_lib_freestanding_cstring
5133 # error "__cpp_lib_freestanding_cstring should not be defined before c++26"
5136 # ifdef __cpp_lib_freestanding_expected
5137 # error "__cpp_lib_freestanding_expected should not be defined before c++26"
5140 # ifdef __cpp_lib_freestanding_mdspan
5141 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
5144 # ifdef __cpp_lib_freestanding_optional
5145 # error "__cpp_lib_freestanding_optional should not be defined before c++26"
5148 # ifdef __cpp_lib_freestanding_string_view
5149 # error "__cpp_lib_freestanding_string_view should not be defined before c++26"
5152 # ifdef __cpp_lib_freestanding_variant
5153 # error "__cpp_lib_freestanding_variant should not be defined before c++26"
5156 # ifdef __cpp_lib_fstream_native_handle
5157 # error "__cpp_lib_fstream_native_handle should not be defined before c++26"
5160 # ifdef __cpp_lib_function_ref
5161 # error "__cpp_lib_function_ref should not be defined before c++26"
5164 # ifndef __cpp_lib_gcd_lcm
5165 # error "__cpp_lib_gcd_lcm should be defined in c++23"
5167 # if __cpp_lib_gcd_lcm != 201606L
5168 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++23"
5171 # ifdef __cpp_lib_generate_random
5172 # error "__cpp_lib_generate_random should not be defined before c++26"
5175 # ifndef __cpp_lib_generic_associative_lookup
5176 # error "__cpp_lib_generic_associative_lookup should be defined in c++23"
5178 # if __cpp_lib_generic_associative_lookup != 201304L
5179 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++23"
5182 # ifndef __cpp_lib_generic_unordered_lookup
5183 # error "__cpp_lib_generic_unordered_lookup should be defined in c++23"
5185 # if __cpp_lib_generic_unordered_lookup != 201811L
5186 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++23"
5189 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
5190 # ifndef __cpp_lib_hardware_interference_size
5191 # error "__cpp_lib_hardware_interference_size should be defined in c++23"
5193 # if __cpp_lib_hardware_interference_size != 201703L
5194 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++23"
5197 # ifdef __cpp_lib_hardware_interference_size
5198 # 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!"
5202 # ifndef __cpp_lib_has_unique_object_representations
5203 # error "__cpp_lib_has_unique_object_representations should be defined in c++23"
5205 # if __cpp_lib_has_unique_object_representations != 201606L
5206 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23"
5209 # ifdef __cpp_lib_hazard_pointer
5210 # error "__cpp_lib_hazard_pointer should not be defined before c++26"
5213 # ifndef __cpp_lib_hypot
5214 # error "__cpp_lib_hypot should be defined in c++23"
5216 # if __cpp_lib_hypot != 201603L
5217 # error "__cpp_lib_hypot should have the value 201603L in c++23"
5220 # ifndef __cpp_lib_incomplete_container_elements
5221 # error "__cpp_lib_incomplete_container_elements should be defined in c++23"
5223 # if __cpp_lib_incomplete_container_elements != 201505L
5224 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++23"
5227 # ifdef __cpp_lib_inplace_vector
5228 # error "__cpp_lib_inplace_vector should not be defined before c++26"
5231 # ifndef __cpp_lib_int_pow2
5232 # error "__cpp_lib_int_pow2 should be defined in c++23"
5234 # if __cpp_lib_int_pow2 != 202002L
5235 # error "__cpp_lib_int_pow2 should have the value 202002L in c++23"
5238 # ifndef __cpp_lib_integer_comparison_functions
5239 # error "__cpp_lib_integer_comparison_functions should be defined in c++23"
5241 # if __cpp_lib_integer_comparison_functions != 202002L
5242 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++23"
5245 # ifndef __cpp_lib_integer_sequence
5246 # error "__cpp_lib_integer_sequence should be defined in c++23"
5248 # if __cpp_lib_integer_sequence != 201304L
5249 # error "__cpp_lib_integer_sequence should have the value 201304L in c++23"
5252 # ifndef __cpp_lib_integral_constant_callable
5253 # error "__cpp_lib_integral_constant_callable should be defined in c++23"
5255 # if __cpp_lib_integral_constant_callable != 201304L
5256 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++23"
5259 # ifndef __cpp_lib_interpolate
5260 # error "__cpp_lib_interpolate should be defined in c++23"
5262 # if __cpp_lib_interpolate != 201902L
5263 # error "__cpp_lib_interpolate should have the value 201902L in c++23"
5266 # ifndef __cpp_lib_invoke
5267 # error "__cpp_lib_invoke should be defined in c++23"
5269 # if __cpp_lib_invoke != 201411L
5270 # error "__cpp_lib_invoke should have the value 201411L in c++23"
5273 # ifndef __cpp_lib_invoke_r
5274 # error "__cpp_lib_invoke_r should be defined in c++23"
5276 # if __cpp_lib_invoke_r != 202106L
5277 # error "__cpp_lib_invoke_r should have the value 202106L in c++23"
5280 # ifndef __cpp_lib_ios_noreplace
5281 # error "__cpp_lib_ios_noreplace should be defined in c++23"
5283 # if __cpp_lib_ios_noreplace != 202207L
5284 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++23"
5287 # ifndef __cpp_lib_is_aggregate
5288 # error "__cpp_lib_is_aggregate should be defined in c++23"
5290 # if __cpp_lib_is_aggregate != 201703L
5291 # error "__cpp_lib_is_aggregate should have the value 201703L in c++23"
5294 # ifndef __cpp_lib_is_constant_evaluated
5295 # error "__cpp_lib_is_constant_evaluated should be defined in c++23"
5297 # if __cpp_lib_is_constant_evaluated != 201811L
5298 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++23"
5301 # ifndef __cpp_lib_is_final
5302 # error "__cpp_lib_is_final should be defined in c++23"
5304 # if __cpp_lib_is_final != 201402L
5305 # error "__cpp_lib_is_final should have the value 201402L in c++23"
5308 # ifndef __cpp_lib_is_invocable
5309 # error "__cpp_lib_is_invocable should be defined in c++23"
5311 # if __cpp_lib_is_invocable != 201703L
5312 # error "__cpp_lib_is_invocable should have the value 201703L in c++23"
5315 # if !defined(_LIBCPP_VERSION)
5316 # ifndef __cpp_lib_is_layout_compatible
5317 # error "__cpp_lib_is_layout_compatible should be defined in c++23"
5319 # if __cpp_lib_is_layout_compatible != 201907L
5320 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++23"
5322 # else // _LIBCPP_VERSION
5323 # ifdef __cpp_lib_is_layout_compatible
5324 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
5328 # ifndef __cpp_lib_is_nothrow_convertible
5329 # error "__cpp_lib_is_nothrow_convertible should be defined in c++23"
5331 # if __cpp_lib_is_nothrow_convertible != 201806L
5332 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++23"
5335 # ifndef __cpp_lib_is_null_pointer
5336 # error "__cpp_lib_is_null_pointer should be defined in c++23"
5338 # if __cpp_lib_is_null_pointer != 201309L
5339 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++23"
5342 # if !defined(_LIBCPP_VERSION)
5343 # ifndef __cpp_lib_is_pointer_interconvertible
5344 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++23"
5346 # if __cpp_lib_is_pointer_interconvertible != 201907L
5347 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++23"
5349 # else // _LIBCPP_VERSION
5350 # ifdef __cpp_lib_is_pointer_interconvertible
5351 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
5355 # ifndef __cpp_lib_is_scoped_enum
5356 # error "__cpp_lib_is_scoped_enum should be defined in c++23"
5358 # if __cpp_lib_is_scoped_enum != 202011L
5359 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++23"
5362 # ifndef __cpp_lib_is_swappable
5363 # error "__cpp_lib_is_swappable should be defined in c++23"
5365 # if __cpp_lib_is_swappable != 201603L
5366 # error "__cpp_lib_is_swappable should have the value 201603L in c++23"
5369 # ifdef __cpp_lib_is_virtual_base_of
5370 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
5373 # ifdef __cpp_lib_is_within_lifetime
5374 # error "__cpp_lib_is_within_lifetime should not be defined before c++26"
5377 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5378 # ifndef __cpp_lib_jthread
5379 # error "__cpp_lib_jthread should be defined in c++23"
5381 # if __cpp_lib_jthread != 201911L
5382 # error "__cpp_lib_jthread should have the value 201911L in c++23"
5385 # ifdef __cpp_lib_jthread
5386 # 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!"
5390 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5391 # ifndef __cpp_lib_latch
5392 # error "__cpp_lib_latch should be defined in c++23"
5394 # if __cpp_lib_latch != 201907L
5395 # error "__cpp_lib_latch should have the value 201907L in c++23"
5398 # ifdef __cpp_lib_latch
5399 # 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!"
5403 # ifndef __cpp_lib_launder
5404 # error "__cpp_lib_launder should be defined in c++23"
5406 # if __cpp_lib_launder != 201606L
5407 # error "__cpp_lib_launder should have the value 201606L in c++23"
5410 # ifdef __cpp_lib_linalg
5411 # error "__cpp_lib_linalg should not be defined before c++26"
5414 # ifndef __cpp_lib_list_remove_return_type
5415 # error "__cpp_lib_list_remove_return_type should be defined in c++23"
5417 # if __cpp_lib_list_remove_return_type != 201806L
5418 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++23"
5421 # ifndef __cpp_lib_logical_traits
5422 # error "__cpp_lib_logical_traits should be defined in c++23"
5424 # if __cpp_lib_logical_traits != 201510L
5425 # error "__cpp_lib_logical_traits should have the value 201510L in c++23"
5428 # ifndef __cpp_lib_make_from_tuple
5429 # error "__cpp_lib_make_from_tuple should be defined in c++23"
5431 # if __cpp_lib_make_from_tuple != 201606L
5432 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++23"
5435 # ifndef __cpp_lib_make_reverse_iterator
5436 # error "__cpp_lib_make_reverse_iterator should be defined in c++23"
5438 # if __cpp_lib_make_reverse_iterator != 201402L
5439 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++23"
5442 # ifndef __cpp_lib_make_unique
5443 # error "__cpp_lib_make_unique should be defined in c++23"
5445 # if __cpp_lib_make_unique != 201304L
5446 # error "__cpp_lib_make_unique should have the value 201304L in c++23"
5449 # ifndef __cpp_lib_map_try_emplace
5450 # error "__cpp_lib_map_try_emplace should be defined in c++23"
5452 # if __cpp_lib_map_try_emplace != 201411L
5453 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++23"
5456 # ifndef __cpp_lib_math_constants
5457 # error "__cpp_lib_math_constants should be defined in c++23"
5459 # if __cpp_lib_math_constants != 201907L
5460 # error "__cpp_lib_math_constants should have the value 201907L in c++23"
5463 # if !defined(_LIBCPP_VERSION)
5464 # ifndef __cpp_lib_math_special_functions
5465 # error "__cpp_lib_math_special_functions should be defined in c++23"
5467 # if __cpp_lib_math_special_functions != 201603L
5468 # error "__cpp_lib_math_special_functions should have the value 201603L in c++23"
5470 # else // _LIBCPP_VERSION
5471 # ifdef __cpp_lib_math_special_functions
5472 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
5476 # ifndef __cpp_lib_mdspan
5477 # error "__cpp_lib_mdspan should be defined in c++23"
5479 # if __cpp_lib_mdspan != 202207L
5480 # error "__cpp_lib_mdspan should have the value 202207L in c++23"
5483 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5484 # ifndef __cpp_lib_memory_resource
5485 # error "__cpp_lib_memory_resource should be defined in c++23"
5487 # if __cpp_lib_memory_resource != 201603L
5488 # error "__cpp_lib_memory_resource should have the value 201603L in c++23"
5491 # ifdef __cpp_lib_memory_resource
5492 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5496 # ifndef __cpp_lib_modules
5497 # error "__cpp_lib_modules should be defined in c++23"
5499 # if __cpp_lib_modules != 202207L
5500 # error "__cpp_lib_modules should have the value 202207L in c++23"
5503 # ifndef __cpp_lib_move_iterator_concept
5504 # error "__cpp_lib_move_iterator_concept should be defined in c++23"
5506 # if __cpp_lib_move_iterator_concept != 202207L
5507 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++23"
5510 # if !defined(_LIBCPP_VERSION)
5511 # ifndef __cpp_lib_move_only_function
5512 # error "__cpp_lib_move_only_function should be defined in c++23"
5514 # if __cpp_lib_move_only_function != 202110L
5515 # error "__cpp_lib_move_only_function should have the value 202110L in c++23"
5517 # else // _LIBCPP_VERSION
5518 # ifdef __cpp_lib_move_only_function
5519 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
5523 # ifndef __cpp_lib_node_extract
5524 # error "__cpp_lib_node_extract should be defined in c++23"
5526 # if __cpp_lib_node_extract != 201606L
5527 # error "__cpp_lib_node_extract should have the value 201606L in c++23"
5530 # ifndef __cpp_lib_nonmember_container_access
5531 # error "__cpp_lib_nonmember_container_access should be defined in c++23"
5533 # if __cpp_lib_nonmember_container_access != 201411L
5534 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++23"
5537 # ifndef __cpp_lib_not_fn
5538 # error "__cpp_lib_not_fn should be defined in c++23"
5540 # if __cpp_lib_not_fn != 201603L
5541 # error "__cpp_lib_not_fn should have the value 201603L in c++23"
5544 # ifndef __cpp_lib_null_iterators
5545 # error "__cpp_lib_null_iterators should be defined in c++23"
5547 # if __cpp_lib_null_iterators != 201304L
5548 # error "__cpp_lib_null_iterators should have the value 201304L in c++23"
5551 # ifndef __cpp_lib_optional
5552 # error "__cpp_lib_optional should be defined in c++23"
5554 # if __cpp_lib_optional != 202110L
5555 # error "__cpp_lib_optional should have the value 202110L in c++23"
5558 # ifdef __cpp_lib_optional_range_support
5559 # error "__cpp_lib_optional_range_support should not be defined before c++26"
5562 # ifndef __cpp_lib_out_ptr
5563 # error "__cpp_lib_out_ptr should be defined in c++23"
5565 # if __cpp_lib_out_ptr != 202106L
5566 # error "__cpp_lib_out_ptr should have the value 202106L in c++23"
5569 # if !defined(_LIBCPP_VERSION)
5570 # ifndef __cpp_lib_parallel_algorithm
5571 # error "__cpp_lib_parallel_algorithm should be defined in c++23"
5573 # if __cpp_lib_parallel_algorithm != 201603L
5574 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++23"
5576 # else // _LIBCPP_VERSION
5577 # ifdef __cpp_lib_parallel_algorithm
5578 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
5582 # ifdef __cpp_lib_philox_engine
5583 # error "__cpp_lib_philox_engine should not be defined before c++26"
5586 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5587 # ifndef __cpp_lib_polymorphic_allocator
5588 # error "__cpp_lib_polymorphic_allocator should be defined in c++23"
5590 # if __cpp_lib_polymorphic_allocator != 201902L
5591 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++23"
5594 # ifdef __cpp_lib_polymorphic_allocator
5595 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5599 # ifndef __cpp_lib_print
5600 # error "__cpp_lib_print should be defined in c++23"
5602 # if __cpp_lib_print != 202207L
5603 # error "__cpp_lib_print should have the value 202207L in c++23"
5606 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
5607 # ifndef __cpp_lib_quoted_string_io
5608 # error "__cpp_lib_quoted_string_io should be defined in c++23"
5610 # if __cpp_lib_quoted_string_io != 201304L
5611 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++23"
5614 # ifdef __cpp_lib_quoted_string_io
5615 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
5619 # ifndef __cpp_lib_ranges
5620 # error "__cpp_lib_ranges should be defined in c++23"
5622 # if __cpp_lib_ranges != 202207L
5623 # error "__cpp_lib_ranges should have the value 202207L in c++23"
5626 # if !defined(_LIBCPP_VERSION)
5627 # ifndef __cpp_lib_ranges_as_const
5628 # error "__cpp_lib_ranges_as_const should be defined in c++23"
5630 # if __cpp_lib_ranges_as_const != 202207L
5631 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++23"
5633 # else // _LIBCPP_VERSION
5634 # ifdef __cpp_lib_ranges_as_const
5635 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
5639 # ifndef __cpp_lib_ranges_as_rvalue
5640 # error "__cpp_lib_ranges_as_rvalue should be defined in c++23"
5642 # if __cpp_lib_ranges_as_rvalue != 202207L
5643 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++23"
5646 # if !defined(_LIBCPP_VERSION)
5647 # ifndef __cpp_lib_ranges_chunk
5648 # error "__cpp_lib_ranges_chunk should be defined in c++23"
5650 # if __cpp_lib_ranges_chunk != 202202L
5651 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++23"
5653 # else // _LIBCPP_VERSION
5654 # ifdef __cpp_lib_ranges_chunk
5655 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
5659 # ifndef __cpp_lib_ranges_chunk_by
5660 # error "__cpp_lib_ranges_chunk_by should be defined in c++23"
5662 # if __cpp_lib_ranges_chunk_by != 202202L
5663 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++23"
5666 # ifdef __cpp_lib_ranges_concat
5667 # error "__cpp_lib_ranges_concat should not be defined before c++26"
5670 # ifndef __cpp_lib_ranges_contains
5671 # error "__cpp_lib_ranges_contains should be defined in c++23"
5673 # if __cpp_lib_ranges_contains != 202207L
5674 # error "__cpp_lib_ranges_contains should have the value 202207L in c++23"
5677 # ifndef __cpp_lib_ranges_find_last
5678 # error "__cpp_lib_ranges_find_last should be defined in c++23"
5680 # if __cpp_lib_ranges_find_last != 202207L
5681 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++23"
5684 # if !defined(_LIBCPP_VERSION)
5685 # ifndef __cpp_lib_ranges_iota
5686 # error "__cpp_lib_ranges_iota should be defined in c++23"
5688 # if __cpp_lib_ranges_iota != 202202L
5689 # error "__cpp_lib_ranges_iota should have the value 202202L in c++23"
5691 # else // _LIBCPP_VERSION
5692 # ifdef __cpp_lib_ranges_iota
5693 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
5697 # if !defined(_LIBCPP_VERSION)
5698 # ifndef __cpp_lib_ranges_join_with
5699 # error "__cpp_lib_ranges_join_with should be defined in c++23"
5701 # if __cpp_lib_ranges_join_with != 202202L
5702 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++23"
5704 # else // _LIBCPP_VERSION
5705 # ifdef __cpp_lib_ranges_join_with
5706 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
5710 # ifndef __cpp_lib_ranges_repeat
5711 # error "__cpp_lib_ranges_repeat should be defined in c++23"
5713 # if __cpp_lib_ranges_repeat != 202207L
5714 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++23"
5717 # if !defined(_LIBCPP_VERSION)
5718 # ifndef __cpp_lib_ranges_slide
5719 # error "__cpp_lib_ranges_slide should be defined in c++23"
5721 # if __cpp_lib_ranges_slide != 202202L
5722 # error "__cpp_lib_ranges_slide should have the value 202202L in c++23"
5724 # else // _LIBCPP_VERSION
5725 # ifdef __cpp_lib_ranges_slide
5726 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
5730 # ifndef __cpp_lib_ranges_starts_ends_with
5731 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++23"
5733 # if __cpp_lib_ranges_starts_ends_with != 202106L
5734 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++23"
5737 # ifndef __cpp_lib_ranges_to_container
5738 # error "__cpp_lib_ranges_to_container should be defined in c++23"
5740 # if __cpp_lib_ranges_to_container != 202202L
5741 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++23"
5744 # if !defined(_LIBCPP_VERSION)
5745 # ifndef __cpp_lib_ranges_zip
5746 # error "__cpp_lib_ranges_zip should be defined in c++23"
5748 # if __cpp_lib_ranges_zip != 202110L
5749 # error "__cpp_lib_ranges_zip should have the value 202110L in c++23"
5751 # else // _LIBCPP_VERSION
5752 # ifdef __cpp_lib_ranges_zip
5753 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
5757 # ifdef __cpp_lib_ratio
5758 # error "__cpp_lib_ratio should not be defined before c++26"
5761 # ifndef __cpp_lib_raw_memory_algorithms
5762 # error "__cpp_lib_raw_memory_algorithms should be defined in c++23"
5764 # if __cpp_lib_raw_memory_algorithms != 201606L
5765 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23"
5768 # ifdef __cpp_lib_rcu
5769 # error "__cpp_lib_rcu should not be defined before c++26"
5772 # if !defined(_LIBCPP_VERSION)
5773 # ifndef __cpp_lib_reference_from_temporary
5774 # error "__cpp_lib_reference_from_temporary should be defined in c++23"
5776 # if __cpp_lib_reference_from_temporary != 202202L
5777 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++23"
5779 # else // _LIBCPP_VERSION
5780 # ifdef __cpp_lib_reference_from_temporary
5781 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
5785 # ifdef __cpp_lib_reference_wrapper
5786 # error "__cpp_lib_reference_wrapper should not be defined before c++26"
5789 # ifndef __cpp_lib_remove_cvref
5790 # error "__cpp_lib_remove_cvref should be defined in c++23"
5792 # if __cpp_lib_remove_cvref != 201711L
5793 # error "__cpp_lib_remove_cvref should have the value 201711L in c++23"
5796 # ifndef __cpp_lib_result_of_sfinae
5797 # error "__cpp_lib_result_of_sfinae should be defined in c++23"
5799 # if __cpp_lib_result_of_sfinae != 201210L
5800 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23"
5803 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
5804 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++23"
5806 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
5807 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++23"
5810 # ifndef __cpp_lib_sample
5811 # error "__cpp_lib_sample should be defined in c++23"
5813 # if __cpp_lib_sample != 201603L
5814 # error "__cpp_lib_sample should have the value 201603L in c++23"
5817 # ifdef __cpp_lib_saturation_arithmetic
5818 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
5821 # if !defined(_LIBCPP_HAS_NO_THREADS)
5822 # ifndef __cpp_lib_scoped_lock
5823 # error "__cpp_lib_scoped_lock should be defined in c++23"
5825 # if __cpp_lib_scoped_lock != 201703L
5826 # error "__cpp_lib_scoped_lock should have the value 201703L in c++23"
5829 # ifdef __cpp_lib_scoped_lock
5830 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5834 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5835 # ifndef __cpp_lib_semaphore
5836 # error "__cpp_lib_semaphore should be defined in c++23"
5838 # if __cpp_lib_semaphore != 201907L
5839 # error "__cpp_lib_semaphore should have the value 201907L in c++23"
5842 # ifdef __cpp_lib_semaphore
5843 # 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!"
5847 # ifdef __cpp_lib_senders
5848 # error "__cpp_lib_senders should not be defined before c++26"
5851 # if !defined(_LIBCPP_HAS_NO_THREADS)
5852 # ifndef __cpp_lib_shared_mutex
5853 # error "__cpp_lib_shared_mutex should be defined in c++23"
5855 # if __cpp_lib_shared_mutex != 201505L
5856 # error "__cpp_lib_shared_mutex should have the value 201505L in c++23"
5859 # ifdef __cpp_lib_shared_mutex
5860 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5864 # ifndef __cpp_lib_shared_ptr_arrays
5865 # error "__cpp_lib_shared_ptr_arrays should be defined in c++23"
5867 # if __cpp_lib_shared_ptr_arrays != 201707L
5868 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23"
5871 # ifndef __cpp_lib_shared_ptr_weak_type
5872 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++23"
5874 # if __cpp_lib_shared_ptr_weak_type != 201606L
5875 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23"
5878 # if !defined(_LIBCPP_HAS_NO_THREADS)
5879 # ifndef __cpp_lib_shared_timed_mutex
5880 # error "__cpp_lib_shared_timed_mutex should be defined in c++23"
5882 # if __cpp_lib_shared_timed_mutex != 201402L
5883 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++23"
5886 # ifdef __cpp_lib_shared_timed_mutex
5887 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5891 # ifndef __cpp_lib_shift
5892 # error "__cpp_lib_shift should be defined in c++23"
5894 # if __cpp_lib_shift != 201806L
5895 # error "__cpp_lib_shift should have the value 201806L in c++23"
5898 # if !defined(_LIBCPP_VERSION)
5899 # ifndef __cpp_lib_smart_ptr_for_overwrite
5900 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23"
5902 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
5903 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23"
5905 # else // _LIBCPP_VERSION
5906 # ifdef __cpp_lib_smart_ptr_for_overwrite
5907 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
5911 # ifdef __cpp_lib_smart_ptr_owner_equality
5912 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
5915 # ifndef __cpp_lib_source_location
5916 # error "__cpp_lib_source_location should be defined in c++23"
5918 # if __cpp_lib_source_location != 201907L
5919 # error "__cpp_lib_source_location should have the value 201907L in c++23"
5922 # ifndef __cpp_lib_span
5923 # error "__cpp_lib_span should be defined in c++23"
5925 # if __cpp_lib_span != 202002L
5926 # error "__cpp_lib_span should have the value 202002L in c++23"
5929 # ifdef __cpp_lib_span_at
5930 # error "__cpp_lib_span_at should not be defined before c++26"
5933 # ifdef __cpp_lib_span_initializer_list
5934 # error "__cpp_lib_span_initializer_list should not be defined before c++26"
5937 # if !defined(_LIBCPP_VERSION)
5938 # ifndef __cpp_lib_spanstream
5939 # error "__cpp_lib_spanstream should be defined in c++23"
5941 # if __cpp_lib_spanstream != 202106L
5942 # error "__cpp_lib_spanstream should have the value 202106L in c++23"
5944 # else // _LIBCPP_VERSION
5945 # ifdef __cpp_lib_spanstream
5946 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
5950 # ifndef __cpp_lib_ssize
5951 # error "__cpp_lib_ssize should be defined in c++23"
5953 # if __cpp_lib_ssize != 201902L
5954 # error "__cpp_lib_ssize should have the value 201902L in c++23"
5957 # ifdef __cpp_lib_sstream_from_string_view
5958 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
5961 # if !defined(_LIBCPP_VERSION)
5962 # ifndef __cpp_lib_stacktrace
5963 # error "__cpp_lib_stacktrace should be defined in c++23"
5965 # if __cpp_lib_stacktrace != 202011L
5966 # error "__cpp_lib_stacktrace should have the value 202011L in c++23"
5968 # else // _LIBCPP_VERSION
5969 # ifdef __cpp_lib_stacktrace
5970 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
5974 # ifndef __cpp_lib_starts_ends_with
5975 # error "__cpp_lib_starts_ends_with should be defined in c++23"
5977 # if __cpp_lib_starts_ends_with != 201711L
5978 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++23"
5981 # ifndef __cpp_lib_stdatomic_h
5982 # error "__cpp_lib_stdatomic_h should be defined in c++23"
5984 # if __cpp_lib_stdatomic_h != 202011L
5985 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++23"
5988 # ifndef __cpp_lib_string_contains
5989 # error "__cpp_lib_string_contains should be defined in c++23"
5991 # if __cpp_lib_string_contains != 202011L
5992 # error "__cpp_lib_string_contains should have the value 202011L in c++23"
5995 # ifndef __cpp_lib_string_resize_and_overwrite
5996 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++23"
5998 # if __cpp_lib_string_resize_and_overwrite != 202110L
5999 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++23"
6002 # ifndef __cpp_lib_string_udls
6003 # error "__cpp_lib_string_udls should be defined in c++23"
6005 # if __cpp_lib_string_udls != 201304L
6006 # error "__cpp_lib_string_udls should have the value 201304L in c++23"
6009 # ifndef __cpp_lib_string_view
6010 # error "__cpp_lib_string_view should be defined in c++23"
6012 # if __cpp_lib_string_view != 201803L
6013 # error "__cpp_lib_string_view should have the value 201803L in c++23"
6016 # ifdef __cpp_lib_submdspan
6017 # error "__cpp_lib_submdspan should not be defined before c++26"
6020 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
6021 # ifndef __cpp_lib_syncbuf
6022 # error "__cpp_lib_syncbuf should be defined in c++23"
6024 # if __cpp_lib_syncbuf != 201803L
6025 # error "__cpp_lib_syncbuf should have the value 201803L in c++23"
6028 # ifdef __cpp_lib_syncbuf
6029 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
6033 # ifdef __cpp_lib_text_encoding
6034 # error "__cpp_lib_text_encoding should not be defined before c++26"
6037 # ifndef __cpp_lib_three_way_comparison
6038 # error "__cpp_lib_three_way_comparison should be defined in c++23"
6040 # if __cpp_lib_three_way_comparison != 201907L
6041 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"
6044 # ifndef __cpp_lib_to_address
6045 # error "__cpp_lib_to_address should be defined in c++23"
6047 # if __cpp_lib_to_address != 201711L
6048 # error "__cpp_lib_to_address should have the value 201711L in c++23"
6051 # ifndef __cpp_lib_to_array
6052 # error "__cpp_lib_to_array should be defined in c++23"
6054 # if __cpp_lib_to_array != 201907L
6055 # error "__cpp_lib_to_array should have the value 201907L in c++23"
6058 # if !defined(_LIBCPP_VERSION)
6059 # ifndef __cpp_lib_to_chars
6060 # error "__cpp_lib_to_chars should be defined in c++23"
6062 # if __cpp_lib_to_chars != 201611L
6063 # error "__cpp_lib_to_chars should have the value 201611L in c++23"
6065 # else // _LIBCPP_VERSION
6066 # ifdef __cpp_lib_to_chars
6067 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
6071 # ifdef __cpp_lib_to_string
6072 # error "__cpp_lib_to_string should not be defined before c++26"
6075 # ifndef __cpp_lib_to_underlying
6076 # error "__cpp_lib_to_underlying should be defined in c++23"
6078 # if __cpp_lib_to_underlying != 202102L
6079 # error "__cpp_lib_to_underlying should have the value 202102L in c++23"
6082 # ifndef __cpp_lib_transformation_trait_aliases
6083 # error "__cpp_lib_transformation_trait_aliases should be defined in c++23"
6085 # if __cpp_lib_transformation_trait_aliases != 201304L
6086 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++23"
6089 # ifndef __cpp_lib_transparent_operators
6090 # error "__cpp_lib_transparent_operators should be defined in c++23"
6092 # if __cpp_lib_transparent_operators != 201510L
6093 # error "__cpp_lib_transparent_operators should have the value 201510L in c++23"
6096 # ifndef __cpp_lib_tuple_element_t
6097 # error "__cpp_lib_tuple_element_t should be defined in c++23"
6099 # if __cpp_lib_tuple_element_t != 201402L
6100 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++23"
6103 # if !defined(_LIBCPP_VERSION)
6104 # ifndef __cpp_lib_tuple_like
6105 # error "__cpp_lib_tuple_like should be defined in c++23"
6107 # if __cpp_lib_tuple_like != 202207L
6108 # error "__cpp_lib_tuple_like should have the value 202207L in c++23"
6110 # else // _LIBCPP_VERSION
6111 # ifdef __cpp_lib_tuple_like
6112 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
6116 # ifndef __cpp_lib_tuples_by_type
6117 # error "__cpp_lib_tuples_by_type should be defined in c++23"
6119 # if __cpp_lib_tuples_by_type != 201304L
6120 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++23"
6123 # ifndef __cpp_lib_type_identity
6124 # error "__cpp_lib_type_identity should be defined in c++23"
6126 # if __cpp_lib_type_identity != 201806L
6127 # error "__cpp_lib_type_identity should have the value 201806L in c++23"
6130 # ifndef __cpp_lib_type_trait_variable_templates
6131 # error "__cpp_lib_type_trait_variable_templates should be defined in c++23"
6133 # if __cpp_lib_type_trait_variable_templates != 201510L
6134 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++23"
6137 # ifndef __cpp_lib_uncaught_exceptions
6138 # error "__cpp_lib_uncaught_exceptions should be defined in c++23"
6140 # if __cpp_lib_uncaught_exceptions != 201411L
6141 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++23"
6144 # ifndef __cpp_lib_unordered_map_try_emplace
6145 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++23"
6147 # if __cpp_lib_unordered_map_try_emplace != 201411L
6148 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++23"
6151 # ifndef __cpp_lib_unreachable
6152 # error "__cpp_lib_unreachable should be defined in c++23"
6154 # if __cpp_lib_unreachable != 202202L
6155 # error "__cpp_lib_unreachable should have the value 202202L in c++23"
6158 # ifndef __cpp_lib_unwrap_ref
6159 # error "__cpp_lib_unwrap_ref should be defined in c++23"
6161 # if __cpp_lib_unwrap_ref != 201811L
6162 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++23"
6165 # ifndef __cpp_lib_variant
6166 # error "__cpp_lib_variant should be defined in c++23"
6168 # if __cpp_lib_variant != 202102L
6169 # error "__cpp_lib_variant should have the value 202102L in c++23"
6172 # ifndef __cpp_lib_void_t
6173 # error "__cpp_lib_void_t should be defined in c++23"
6175 # if __cpp_lib_void_t != 201411L
6176 # error "__cpp_lib_void_t should have the value 201411L in c++23"
6179 #elif TEST_STD_VER > 23
6181 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
6182 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++26"
6184 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
6185 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++26"
6188 # ifndef __cpp_lib_addressof_constexpr
6189 # error "__cpp_lib_addressof_constexpr should be defined in c++26"
6191 # if __cpp_lib_addressof_constexpr != 201603L
6192 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26"
6195 # ifndef __cpp_lib_allocate_at_least
6196 # error "__cpp_lib_allocate_at_least should be defined in c++26"
6198 # if __cpp_lib_allocate_at_least != 202302L
6199 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++26"
6202 # ifndef __cpp_lib_allocator_traits_is_always_equal
6203 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26"
6205 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
6206 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26"
6209 # ifndef __cpp_lib_any
6210 # error "__cpp_lib_any should be defined in c++26"
6212 # if __cpp_lib_any != 201606L
6213 # error "__cpp_lib_any should have the value 201606L in c++26"
6216 # ifndef __cpp_lib_apply
6217 # error "__cpp_lib_apply should be defined in c++26"
6219 # if __cpp_lib_apply != 201603L
6220 # error "__cpp_lib_apply should have the value 201603L in c++26"
6223 # ifndef __cpp_lib_array_constexpr
6224 # error "__cpp_lib_array_constexpr should be defined in c++26"
6226 # if __cpp_lib_array_constexpr != 201811L
6227 # error "__cpp_lib_array_constexpr should have the value 201811L in c++26"
6230 # ifndef __cpp_lib_as_const
6231 # error "__cpp_lib_as_const should be defined in c++26"
6233 # if __cpp_lib_as_const != 201510L
6234 # error "__cpp_lib_as_const should have the value 201510L in c++26"
6237 # if !defined(_LIBCPP_VERSION)
6238 # ifndef __cpp_lib_associative_heterogeneous_erasure
6239 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++26"
6241 # if __cpp_lib_associative_heterogeneous_erasure != 202110L
6242 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++26"
6244 # else // _LIBCPP_VERSION
6245 # ifdef __cpp_lib_associative_heterogeneous_erasure
6246 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
6250 # if !defined(_LIBCPP_VERSION)
6251 # ifndef __cpp_lib_associative_heterogeneous_insertion
6252 # error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
6254 # if __cpp_lib_associative_heterogeneous_insertion != 202306L
6255 # error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
6257 # else // _LIBCPP_VERSION
6258 # ifdef __cpp_lib_associative_heterogeneous_insertion
6259 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
6263 # ifndef __cpp_lib_assume_aligned
6264 # error "__cpp_lib_assume_aligned should be defined in c++26"
6266 # if __cpp_lib_assume_aligned != 201811L
6267 # error "__cpp_lib_assume_aligned should have the value 201811L in c++26"
6270 # ifndef __cpp_lib_atomic_flag_test
6271 # error "__cpp_lib_atomic_flag_test should be defined in c++26"
6273 # if __cpp_lib_atomic_flag_test != 201907L
6274 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++26"
6277 # if !defined(_LIBCPP_VERSION)
6278 # ifndef __cpp_lib_atomic_float
6279 # error "__cpp_lib_atomic_float should be defined in c++26"
6281 # if __cpp_lib_atomic_float != 201711L
6282 # error "__cpp_lib_atomic_float should have the value 201711L in c++26"
6284 # else // _LIBCPP_VERSION
6285 # ifdef __cpp_lib_atomic_float
6286 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
6290 # ifndef __cpp_lib_atomic_is_always_lock_free
6291 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++26"
6293 # if __cpp_lib_atomic_is_always_lock_free != 201603L
6294 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++26"
6297 # ifndef __cpp_lib_atomic_lock_free_type_aliases
6298 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++26"
6300 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
6301 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++26"
6304 # if !defined(_LIBCPP_VERSION)
6305 # ifndef __cpp_lib_atomic_min_max
6306 # error "__cpp_lib_atomic_min_max should be defined in c++26"
6308 # if __cpp_lib_atomic_min_max != 202403L
6309 # error "__cpp_lib_atomic_min_max should have the value 202403L in c++26"
6311 # else // _LIBCPP_VERSION
6312 # ifdef __cpp_lib_atomic_min_max
6313 # error "__cpp_lib_atomic_min_max should not be defined because it is unimplemented in libc++!"
6317 # ifndef __cpp_lib_atomic_ref
6318 # error "__cpp_lib_atomic_ref should be defined in c++26"
6320 # if __cpp_lib_atomic_ref != 201806L
6321 # error "__cpp_lib_atomic_ref should have the value 201806L in c++26"
6324 # if !defined(_LIBCPP_VERSION)
6325 # ifndef __cpp_lib_atomic_shared_ptr
6326 # error "__cpp_lib_atomic_shared_ptr should be defined in c++26"
6328 # if __cpp_lib_atomic_shared_ptr != 201711L
6329 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++26"
6331 # else // _LIBCPP_VERSION
6332 # ifdef __cpp_lib_atomic_shared_ptr
6333 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
6337 # ifndef __cpp_lib_atomic_value_initialization
6338 # error "__cpp_lib_atomic_value_initialization should be defined in c++26"
6340 # if __cpp_lib_atomic_value_initialization != 201911L
6341 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26"
6344 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
6345 # ifndef __cpp_lib_atomic_wait
6346 # error "__cpp_lib_atomic_wait should be defined in c++26"
6348 # if __cpp_lib_atomic_wait != 201907L
6349 # error "__cpp_lib_atomic_wait should have the value 201907L in c++26"
6352 # ifdef __cpp_lib_atomic_wait
6353 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
6357 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
6358 # ifndef __cpp_lib_barrier
6359 # error "__cpp_lib_barrier should be defined in c++26"
6361 # if __cpp_lib_barrier != 201907L
6362 # error "__cpp_lib_barrier should have the value 201907L in c++26"
6365 # ifdef __cpp_lib_barrier
6366 # 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!"
6370 # ifndef __cpp_lib_bind_back
6371 # error "__cpp_lib_bind_back should be defined in c++26"
6373 # if __cpp_lib_bind_back != 202202L
6374 # error "__cpp_lib_bind_back should have the value 202202L in c++26"
6377 # ifndef __cpp_lib_bind_front
6378 # error "__cpp_lib_bind_front should be defined in c++26"
6380 # if __cpp_lib_bind_front != 202306L
6381 # error "__cpp_lib_bind_front should have the value 202306L in c++26"
6384 # ifndef __cpp_lib_bit_cast
6385 # error "__cpp_lib_bit_cast should be defined in c++26"
6387 # if __cpp_lib_bit_cast != 201806L
6388 # error "__cpp_lib_bit_cast should have the value 201806L in c++26"
6391 # ifndef __cpp_lib_bitops
6392 # error "__cpp_lib_bitops should be defined in c++26"
6394 # if __cpp_lib_bitops != 201907L
6395 # error "__cpp_lib_bitops should have the value 201907L in c++26"
6398 # ifndef __cpp_lib_bitset
6399 # error "__cpp_lib_bitset should be defined in c++26"
6401 # if __cpp_lib_bitset != 202306L
6402 # error "__cpp_lib_bitset should have the value 202306L in c++26"
6405 # ifndef __cpp_lib_bool_constant
6406 # error "__cpp_lib_bool_constant should be defined in c++26"
6408 # if __cpp_lib_bool_constant != 201505L
6409 # error "__cpp_lib_bool_constant should have the value 201505L in c++26"
6412 # ifndef __cpp_lib_bounded_array_traits
6413 # error "__cpp_lib_bounded_array_traits should be defined in c++26"
6415 # if __cpp_lib_bounded_array_traits != 201902L
6416 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++26"
6419 # ifndef __cpp_lib_boyer_moore_searcher
6420 # error "__cpp_lib_boyer_moore_searcher should be defined in c++26"
6422 # if __cpp_lib_boyer_moore_searcher != 201603L
6423 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26"
6426 # ifndef __cpp_lib_byte
6427 # error "__cpp_lib_byte should be defined in c++26"
6429 # if __cpp_lib_byte != 201603L
6430 # error "__cpp_lib_byte should have the value 201603L in c++26"
6433 # ifndef __cpp_lib_byteswap
6434 # error "__cpp_lib_byteswap should be defined in c++26"
6436 # if __cpp_lib_byteswap != 202110L
6437 # error "__cpp_lib_byteswap should have the value 202110L in c++26"
6440 # if defined(__cpp_char8_t)
6441 # ifndef __cpp_lib_char8_t
6442 # error "__cpp_lib_char8_t should be defined in c++26"
6444 # if __cpp_lib_char8_t != 201907L
6445 # error "__cpp_lib_char8_t should have the value 201907L in c++26"
6448 # ifdef __cpp_lib_char8_t
6449 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
6453 # ifndef __cpp_lib_chrono
6454 # error "__cpp_lib_chrono should be defined in c++26"
6456 # if __cpp_lib_chrono != 201611L
6457 # error "__cpp_lib_chrono should have the value 201611L in c++26"
6460 # ifndef __cpp_lib_chrono_udls
6461 # error "__cpp_lib_chrono_udls should be defined in c++26"
6463 # if __cpp_lib_chrono_udls != 201304L
6464 # error "__cpp_lib_chrono_udls should have the value 201304L in c++26"
6467 # ifndef __cpp_lib_clamp
6468 # error "__cpp_lib_clamp should be defined in c++26"
6470 # if __cpp_lib_clamp != 201603L
6471 # error "__cpp_lib_clamp should have the value 201603L in c++26"
6474 # ifndef __cpp_lib_complex_udls
6475 # error "__cpp_lib_complex_udls should be defined in c++26"
6477 # if __cpp_lib_complex_udls != 201309L
6478 # error "__cpp_lib_complex_udls should have the value 201309L in c++26"
6481 # ifndef __cpp_lib_concepts
6482 # error "__cpp_lib_concepts should be defined in c++26"
6484 # if __cpp_lib_concepts != 202002L
6485 # error "__cpp_lib_concepts should have the value 202002L in c++26"
6488 # ifndef __cpp_lib_constexpr_algorithms
6489 # error "__cpp_lib_constexpr_algorithms should be defined in c++26"
6491 # if __cpp_lib_constexpr_algorithms != 201806L
6492 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++26"
6495 # ifndef __cpp_lib_constexpr_bitset
6496 # error "__cpp_lib_constexpr_bitset should be defined in c++26"
6498 # if __cpp_lib_constexpr_bitset != 202207L
6499 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26"
6502 # ifndef __cpp_lib_constexpr_charconv
6503 # error "__cpp_lib_constexpr_charconv should be defined in c++26"
6505 # if __cpp_lib_constexpr_charconv != 202207L
6506 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++26"
6509 # if !defined(_LIBCPP_VERSION)
6510 # ifndef __cpp_lib_constexpr_cmath
6511 # error "__cpp_lib_constexpr_cmath should be defined in c++26"
6513 # if __cpp_lib_constexpr_cmath != 202202L
6514 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++26"
6516 # else // _LIBCPP_VERSION
6517 # ifdef __cpp_lib_constexpr_cmath
6518 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
6522 # ifndef __cpp_lib_constexpr_complex
6523 # error "__cpp_lib_constexpr_complex should be defined in c++26"
6525 # if __cpp_lib_constexpr_complex != 201711L
6526 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++26"
6529 # ifndef __cpp_lib_constexpr_dynamic_alloc
6530 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26"
6532 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
6533 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26"
6536 # ifndef __cpp_lib_constexpr_functional
6537 # error "__cpp_lib_constexpr_functional should be defined in c++26"
6539 # if __cpp_lib_constexpr_functional != 201907L
6540 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++26"
6543 # ifndef __cpp_lib_constexpr_iterator
6544 # error "__cpp_lib_constexpr_iterator should be defined in c++26"
6546 # if __cpp_lib_constexpr_iterator != 201811L
6547 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++26"
6550 # ifndef __cpp_lib_constexpr_memory
6551 # error "__cpp_lib_constexpr_memory should be defined in c++26"
6553 # if __cpp_lib_constexpr_memory != 202202L
6554 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++26"
6557 # if !defined(_LIBCPP_VERSION)
6558 # ifndef __cpp_lib_constexpr_new
6559 # error "__cpp_lib_constexpr_new should be defined in c++26"
6561 # if __cpp_lib_constexpr_new != 202406L
6562 # error "__cpp_lib_constexpr_new should have the value 202406L in c++26"
6564 # else // _LIBCPP_VERSION
6565 # ifdef __cpp_lib_constexpr_new
6566 # error "__cpp_lib_constexpr_new should not be defined because it is unimplemented in libc++!"
6570 # ifndef __cpp_lib_constexpr_numeric
6571 # error "__cpp_lib_constexpr_numeric should be defined in c++26"
6573 # if __cpp_lib_constexpr_numeric != 201911L
6574 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++26"
6577 # ifndef __cpp_lib_constexpr_string
6578 # error "__cpp_lib_constexpr_string should be defined in c++26"
6580 # if __cpp_lib_constexpr_string != 201907L
6581 # error "__cpp_lib_constexpr_string should have the value 201907L in c++26"
6584 # ifndef __cpp_lib_constexpr_string_view
6585 # error "__cpp_lib_constexpr_string_view should be defined in c++26"
6587 # if __cpp_lib_constexpr_string_view != 201811L
6588 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++26"
6591 # ifndef __cpp_lib_constexpr_tuple
6592 # error "__cpp_lib_constexpr_tuple should be defined in c++26"
6594 # if __cpp_lib_constexpr_tuple != 201811L
6595 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++26"
6598 # ifndef __cpp_lib_constexpr_typeinfo
6599 # error "__cpp_lib_constexpr_typeinfo should be defined in c++26"
6601 # if __cpp_lib_constexpr_typeinfo != 202106L
6602 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++26"
6605 # ifndef __cpp_lib_constexpr_utility
6606 # error "__cpp_lib_constexpr_utility should be defined in c++26"
6608 # if __cpp_lib_constexpr_utility != 201811L
6609 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++26"
6612 # ifndef __cpp_lib_constexpr_vector
6613 # error "__cpp_lib_constexpr_vector should be defined in c++26"
6615 # if __cpp_lib_constexpr_vector != 201907L
6616 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++26"
6619 # if !defined(_LIBCPP_VERSION)
6620 # ifndef __cpp_lib_constrained_equality
6621 # error "__cpp_lib_constrained_equality should be defined in c++26"
6623 # if __cpp_lib_constrained_equality != 202403L
6624 # error "__cpp_lib_constrained_equality should have the value 202403L in c++26"
6626 # else // _LIBCPP_VERSION
6627 # ifdef __cpp_lib_constrained_equality
6628 # error "__cpp_lib_constrained_equality should not be defined because it is unimplemented in libc++!"
6632 # ifndef __cpp_lib_containers_ranges
6633 # error "__cpp_lib_containers_ranges should be defined in c++26"
6635 # if __cpp_lib_containers_ranges != 202202L
6636 # error "__cpp_lib_containers_ranges should have the value 202202L in c++26"
6639 # if !defined(_LIBCPP_VERSION)
6640 # ifndef __cpp_lib_copyable_function
6641 # error "__cpp_lib_copyable_function should be defined in c++26"
6643 # if __cpp_lib_copyable_function != 202306L
6644 # error "__cpp_lib_copyable_function should have the value 202306L in c++26"
6646 # else // _LIBCPP_VERSION
6647 # ifdef __cpp_lib_copyable_function
6648 # error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"
6652 # ifndef __cpp_lib_coroutine
6653 # error "__cpp_lib_coroutine should be defined in c++26"
6655 # if __cpp_lib_coroutine != 201902L
6656 # error "__cpp_lib_coroutine should have the value 201902L in c++26"
6659 # if !defined(_LIBCPP_VERSION)
6660 # ifndef __cpp_lib_debugging
6661 # error "__cpp_lib_debugging should be defined in c++26"
6663 # if __cpp_lib_debugging != 202311L
6664 # error "__cpp_lib_debugging should have the value 202311L in c++26"
6666 # else // _LIBCPP_VERSION
6667 # ifdef __cpp_lib_debugging
6668 # error "__cpp_lib_debugging should not be defined because it is unimplemented in libc++!"
6672 # if !defined(_LIBCPP_VERSION)
6673 # ifndef __cpp_lib_default_template_type_for_algorithm_values
6674 # error "__cpp_lib_default_template_type_for_algorithm_values should be defined in c++26"
6676 # if __cpp_lib_default_template_type_for_algorithm_values != 202403L
6677 # error "__cpp_lib_default_template_type_for_algorithm_values should have the value 202403L in c++26"
6679 # else // _LIBCPP_VERSION
6680 # ifdef __cpp_lib_default_template_type_for_algorithm_values
6681 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined because it is unimplemented in libc++!"
6685 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
6686 # ifndef __cpp_lib_destroying_delete
6687 # error "__cpp_lib_destroying_delete should be defined in c++26"
6689 # if __cpp_lib_destroying_delete != 201806L
6690 # error "__cpp_lib_destroying_delete should have the value 201806L in c++26"
6693 # ifdef __cpp_lib_destroying_delete
6694 # 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!"
6698 # ifndef __cpp_lib_enable_shared_from_this
6699 # error "__cpp_lib_enable_shared_from_this should be defined in c++26"
6701 # if __cpp_lib_enable_shared_from_this != 201603L
6702 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26"
6705 # ifndef __cpp_lib_endian
6706 # error "__cpp_lib_endian should be defined in c++26"
6708 # if __cpp_lib_endian != 201907L
6709 # error "__cpp_lib_endian should have the value 201907L in c++26"
6712 # ifndef __cpp_lib_erase_if
6713 # error "__cpp_lib_erase_if should be defined in c++26"
6715 # if __cpp_lib_erase_if != 202002L
6716 # error "__cpp_lib_erase_if should have the value 202002L in c++26"
6719 # ifndef __cpp_lib_exchange_function
6720 # error "__cpp_lib_exchange_function should be defined in c++26"
6722 # if __cpp_lib_exchange_function != 201304L
6723 # error "__cpp_lib_exchange_function should have the value 201304L in c++26"
6726 # if !defined(_LIBCPP_VERSION)
6727 # ifndef __cpp_lib_execution
6728 # error "__cpp_lib_execution should be defined in c++26"
6730 # if __cpp_lib_execution != 201902L
6731 # error "__cpp_lib_execution should have the value 201902L in c++26"
6733 # else // _LIBCPP_VERSION
6734 # ifdef __cpp_lib_execution
6735 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
6739 # ifndef __cpp_lib_expected
6740 # error "__cpp_lib_expected should be defined in c++26"
6742 # if __cpp_lib_expected != 202211L
6743 # error "__cpp_lib_expected should have the value 202211L in c++26"
6746 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
6747 # ifndef __cpp_lib_filesystem
6748 # error "__cpp_lib_filesystem should be defined in c++26"
6750 # if __cpp_lib_filesystem != 201703L
6751 # error "__cpp_lib_filesystem should have the value 201703L in c++26"
6754 # ifdef __cpp_lib_filesystem
6755 # 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!"
6759 # ifndef __cpp_lib_format
6760 # error "__cpp_lib_format should be defined in c++26"
6762 # if __cpp_lib_format != 202110L
6763 # error "__cpp_lib_format should have the value 202110L in c++26"
6766 # if !defined(_LIBCPP_VERSION)
6767 # ifndef __cpp_lib_format_path
6768 # error "__cpp_lib_format_path should be defined in c++26"
6770 # if __cpp_lib_format_path != 202403L
6771 # error "__cpp_lib_format_path should have the value 202403L in c++26"
6773 # else // _LIBCPP_VERSION
6774 # ifdef __cpp_lib_format_path
6775 # error "__cpp_lib_format_path should not be defined because it is unimplemented in libc++!"
6779 # ifndef __cpp_lib_format_ranges
6780 # error "__cpp_lib_format_ranges should be defined in c++26"
6782 # if __cpp_lib_format_ranges != 202207L
6783 # error "__cpp_lib_format_ranges should have the value 202207L in c++26"
6786 # ifndef __cpp_lib_format_uchar
6787 # error "__cpp_lib_format_uchar should be defined in c++26"
6789 # if __cpp_lib_format_uchar != 202311L
6790 # error "__cpp_lib_format_uchar should have the value 202311L in c++26"
6793 # if !defined(_LIBCPP_VERSION)
6794 # ifndef __cpp_lib_formatters
6795 # error "__cpp_lib_formatters should be defined in c++26"
6797 # if __cpp_lib_formatters != 202302L
6798 # error "__cpp_lib_formatters should have the value 202302L in c++26"
6800 # else // _LIBCPP_VERSION
6801 # ifdef __cpp_lib_formatters
6802 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
6806 # ifndef __cpp_lib_forward_like
6807 # error "__cpp_lib_forward_like should be defined in c++26"
6809 # if __cpp_lib_forward_like != 202207L
6810 # error "__cpp_lib_forward_like should have the value 202207L in c++26"
6813 # if !defined(_LIBCPP_VERSION)
6814 # ifndef __cpp_lib_freestanding_algorithm
6815 # error "__cpp_lib_freestanding_algorithm should be defined in c++26"
6817 # if __cpp_lib_freestanding_algorithm != 202311L
6818 # error "__cpp_lib_freestanding_algorithm should have the value 202311L in c++26"
6820 # else // _LIBCPP_VERSION
6821 # ifdef __cpp_lib_freestanding_algorithm
6822 # error "__cpp_lib_freestanding_algorithm should not be defined because it is unimplemented in libc++!"
6826 # if !defined(_LIBCPP_VERSION)
6827 # ifndef __cpp_lib_freestanding_array
6828 # error "__cpp_lib_freestanding_array should be defined in c++26"
6830 # if __cpp_lib_freestanding_array != 202311L
6831 # error "__cpp_lib_freestanding_array should have the value 202311L in c++26"
6833 # else // _LIBCPP_VERSION
6834 # ifdef __cpp_lib_freestanding_array
6835 # error "__cpp_lib_freestanding_array should not be defined because it is unimplemented in libc++!"
6839 # if !defined(_LIBCPP_VERSION)
6840 # ifndef __cpp_lib_freestanding_cstring
6841 # error "__cpp_lib_freestanding_cstring should be defined in c++26"
6843 # if __cpp_lib_freestanding_cstring != 202306L
6844 # error "__cpp_lib_freestanding_cstring should have the value 202306L in c++26"
6846 # else // _LIBCPP_VERSION
6847 # ifdef __cpp_lib_freestanding_cstring
6848 # error "__cpp_lib_freestanding_cstring should not be defined because it is unimplemented in libc++!"
6852 # if !defined(_LIBCPP_VERSION)
6853 # ifndef __cpp_lib_freestanding_expected
6854 # error "__cpp_lib_freestanding_expected should be defined in c++26"
6856 # if __cpp_lib_freestanding_expected != 202311L
6857 # error "__cpp_lib_freestanding_expected should have the value 202311L in c++26"
6859 # else // _LIBCPP_VERSION
6860 # ifdef __cpp_lib_freestanding_expected
6861 # error "__cpp_lib_freestanding_expected should not be defined because it is unimplemented in libc++!"
6865 # if !defined(_LIBCPP_VERSION)
6866 # ifndef __cpp_lib_freestanding_mdspan
6867 # error "__cpp_lib_freestanding_mdspan should be defined in c++26"
6869 # if __cpp_lib_freestanding_mdspan != 202311L
6870 # error "__cpp_lib_freestanding_mdspan should have the value 202311L in c++26"
6872 # else // _LIBCPP_VERSION
6873 # ifdef __cpp_lib_freestanding_mdspan
6874 # error "__cpp_lib_freestanding_mdspan should not be defined because it is unimplemented in libc++!"
6878 # if !defined(_LIBCPP_VERSION)
6879 # ifndef __cpp_lib_freestanding_optional
6880 # error "__cpp_lib_freestanding_optional should be defined in c++26"
6882 # if __cpp_lib_freestanding_optional != 202311L
6883 # error "__cpp_lib_freestanding_optional should have the value 202311L in c++26"
6885 # else // _LIBCPP_VERSION
6886 # ifdef __cpp_lib_freestanding_optional
6887 # error "__cpp_lib_freestanding_optional should not be defined because it is unimplemented in libc++!"
6891 # if !defined(_LIBCPP_VERSION)
6892 # ifndef __cpp_lib_freestanding_string_view
6893 # error "__cpp_lib_freestanding_string_view should be defined in c++26"
6895 # if __cpp_lib_freestanding_string_view != 202311L
6896 # error "__cpp_lib_freestanding_string_view should have the value 202311L in c++26"
6898 # else // _LIBCPP_VERSION
6899 # ifdef __cpp_lib_freestanding_string_view
6900 # error "__cpp_lib_freestanding_string_view should not be defined because it is unimplemented in libc++!"
6904 # if !defined(_LIBCPP_VERSION)
6905 # ifndef __cpp_lib_freestanding_variant
6906 # error "__cpp_lib_freestanding_variant should be defined in c++26"
6908 # if __cpp_lib_freestanding_variant != 202311L
6909 # error "__cpp_lib_freestanding_variant should have the value 202311L in c++26"
6911 # else // _LIBCPP_VERSION
6912 # ifdef __cpp_lib_freestanding_variant
6913 # error "__cpp_lib_freestanding_variant should not be defined because it is unimplemented in libc++!"
6917 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && !defined(_LIBCPP_HAS_NO_LOCALIZATION))
6918 # ifndef __cpp_lib_fstream_native_handle
6919 # error "__cpp_lib_fstream_native_handle should be defined in c++26"
6921 # if __cpp_lib_fstream_native_handle != 202306L
6922 # error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"
6925 # ifdef __cpp_lib_fstream_native_handle
6926 # 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!"
6930 # if !defined(_LIBCPP_VERSION)
6931 # ifndef __cpp_lib_function_ref
6932 # error "__cpp_lib_function_ref should be defined in c++26"
6934 # if __cpp_lib_function_ref != 202306L
6935 # error "__cpp_lib_function_ref should have the value 202306L in c++26"
6937 # else // _LIBCPP_VERSION
6938 # ifdef __cpp_lib_function_ref
6939 # error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"
6943 # ifndef __cpp_lib_gcd_lcm
6944 # error "__cpp_lib_gcd_lcm should be defined in c++26"
6946 # if __cpp_lib_gcd_lcm != 201606L
6947 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++26"
6950 # if !defined(_LIBCPP_VERSION)
6951 # ifndef __cpp_lib_generate_random
6952 # error "__cpp_lib_generate_random should be defined in c++26"
6954 # if __cpp_lib_generate_random != 202403L
6955 # error "__cpp_lib_generate_random should have the value 202403L in c++26"
6957 # else // _LIBCPP_VERSION
6958 # ifdef __cpp_lib_generate_random
6959 # error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!"
6963 # ifndef __cpp_lib_generic_associative_lookup
6964 # error "__cpp_lib_generic_associative_lookup should be defined in c++26"
6966 # if __cpp_lib_generic_associative_lookup != 201304L
6967 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++26"
6970 # ifndef __cpp_lib_generic_unordered_lookup
6971 # error "__cpp_lib_generic_unordered_lookup should be defined in c++26"
6973 # if __cpp_lib_generic_unordered_lookup != 201811L
6974 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++26"
6977 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
6978 # ifndef __cpp_lib_hardware_interference_size
6979 # error "__cpp_lib_hardware_interference_size should be defined in c++26"
6981 # if __cpp_lib_hardware_interference_size != 201703L
6982 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++26"
6985 # ifdef __cpp_lib_hardware_interference_size
6986 # 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!"
6990 # ifndef __cpp_lib_has_unique_object_representations
6991 # error "__cpp_lib_has_unique_object_representations should be defined in c++26"
6993 # if __cpp_lib_has_unique_object_representations != 201606L
6994 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26"
6997 # if !defined(_LIBCPP_VERSION)
6998 # ifndef __cpp_lib_hazard_pointer
6999 # error "__cpp_lib_hazard_pointer should be defined in c++26"
7001 # if __cpp_lib_hazard_pointer != 202306L
7002 # error "__cpp_lib_hazard_pointer should have the value 202306L in c++26"
7004 # else // _LIBCPP_VERSION
7005 # ifdef __cpp_lib_hazard_pointer
7006 # error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!"
7010 # ifndef __cpp_lib_hypot
7011 # error "__cpp_lib_hypot should be defined in c++26"
7013 # if __cpp_lib_hypot != 201603L
7014 # error "__cpp_lib_hypot should have the value 201603L in c++26"
7017 # ifndef __cpp_lib_incomplete_container_elements
7018 # error "__cpp_lib_incomplete_container_elements should be defined in c++26"
7020 # if __cpp_lib_incomplete_container_elements != 201505L
7021 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++26"
7024 # if !defined(_LIBCPP_VERSION)
7025 # ifndef __cpp_lib_inplace_vector
7026 # error "__cpp_lib_inplace_vector should be defined in c++26"
7028 # if __cpp_lib_inplace_vector != 202406L
7029 # error "__cpp_lib_inplace_vector should have the value 202406L in c++26"
7031 # else // _LIBCPP_VERSION
7032 # ifdef __cpp_lib_inplace_vector
7033 # error "__cpp_lib_inplace_vector should not be defined because it is unimplemented in libc++!"
7037 # ifndef __cpp_lib_int_pow2
7038 # error "__cpp_lib_int_pow2 should be defined in c++26"
7040 # if __cpp_lib_int_pow2 != 202002L
7041 # error "__cpp_lib_int_pow2 should have the value 202002L in c++26"
7044 # ifndef __cpp_lib_integer_comparison_functions
7045 # error "__cpp_lib_integer_comparison_functions should be defined in c++26"
7047 # if __cpp_lib_integer_comparison_functions != 202002L
7048 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++26"
7051 # ifndef __cpp_lib_integer_sequence
7052 # error "__cpp_lib_integer_sequence should be defined in c++26"
7054 # if __cpp_lib_integer_sequence != 201304L
7055 # error "__cpp_lib_integer_sequence should have the value 201304L in c++26"
7058 # ifndef __cpp_lib_integral_constant_callable
7059 # error "__cpp_lib_integral_constant_callable should be defined in c++26"
7061 # if __cpp_lib_integral_constant_callable != 201304L
7062 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++26"
7065 # ifndef __cpp_lib_interpolate
7066 # error "__cpp_lib_interpolate should be defined in c++26"
7068 # if __cpp_lib_interpolate != 201902L
7069 # error "__cpp_lib_interpolate should have the value 201902L in c++26"
7072 # ifndef __cpp_lib_invoke
7073 # error "__cpp_lib_invoke should be defined in c++26"
7075 # if __cpp_lib_invoke != 201411L
7076 # error "__cpp_lib_invoke should have the value 201411L in c++26"
7079 # ifndef __cpp_lib_invoke_r
7080 # error "__cpp_lib_invoke_r should be defined in c++26"
7082 # if __cpp_lib_invoke_r != 202106L
7083 # error "__cpp_lib_invoke_r should have the value 202106L in c++26"
7086 # ifndef __cpp_lib_ios_noreplace
7087 # error "__cpp_lib_ios_noreplace should be defined in c++26"
7089 # if __cpp_lib_ios_noreplace != 202207L
7090 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++26"
7093 # ifndef __cpp_lib_is_aggregate
7094 # error "__cpp_lib_is_aggregate should be defined in c++26"
7096 # if __cpp_lib_is_aggregate != 201703L
7097 # error "__cpp_lib_is_aggregate should have the value 201703L in c++26"
7100 # ifndef __cpp_lib_is_constant_evaluated
7101 # error "__cpp_lib_is_constant_evaluated should be defined in c++26"
7103 # if __cpp_lib_is_constant_evaluated != 201811L
7104 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++26"
7107 # ifndef __cpp_lib_is_final
7108 # error "__cpp_lib_is_final should be defined in c++26"
7110 # if __cpp_lib_is_final != 201402L
7111 # error "__cpp_lib_is_final should have the value 201402L in c++26"
7114 # ifndef __cpp_lib_is_invocable
7115 # error "__cpp_lib_is_invocable should be defined in c++26"
7117 # if __cpp_lib_is_invocable != 201703L
7118 # error "__cpp_lib_is_invocable should have the value 201703L in c++26"
7121 # if !defined(_LIBCPP_VERSION)
7122 # ifndef __cpp_lib_is_layout_compatible
7123 # error "__cpp_lib_is_layout_compatible should be defined in c++26"
7125 # if __cpp_lib_is_layout_compatible != 201907L
7126 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++26"
7128 # else // _LIBCPP_VERSION
7129 # ifdef __cpp_lib_is_layout_compatible
7130 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
7134 # ifndef __cpp_lib_is_nothrow_convertible
7135 # error "__cpp_lib_is_nothrow_convertible should be defined in c++26"
7137 # if __cpp_lib_is_nothrow_convertible != 201806L
7138 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++26"
7141 # ifndef __cpp_lib_is_null_pointer
7142 # error "__cpp_lib_is_null_pointer should be defined in c++26"
7144 # if __cpp_lib_is_null_pointer != 201309L
7145 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++26"
7148 # if !defined(_LIBCPP_VERSION)
7149 # ifndef __cpp_lib_is_pointer_interconvertible
7150 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++26"
7152 # if __cpp_lib_is_pointer_interconvertible != 201907L
7153 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++26"
7155 # else // _LIBCPP_VERSION
7156 # ifdef __cpp_lib_is_pointer_interconvertible
7157 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
7161 # ifndef __cpp_lib_is_scoped_enum
7162 # error "__cpp_lib_is_scoped_enum should be defined in c++26"
7164 # if __cpp_lib_is_scoped_enum != 202011L
7165 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++26"
7168 # ifndef __cpp_lib_is_swappable
7169 # error "__cpp_lib_is_swappable should be defined in c++26"
7171 # if __cpp_lib_is_swappable != 201603L
7172 # error "__cpp_lib_is_swappable should have the value 201603L in c++26"
7175 # if !defined(_LIBCPP_VERSION)
7176 # ifndef __cpp_lib_is_virtual_base_of
7177 # error "__cpp_lib_is_virtual_base_of should be defined in c++26"
7179 # if __cpp_lib_is_virtual_base_of != 202406L
7180 # error "__cpp_lib_is_virtual_base_of should have the value 202406L in c++26"
7182 # else // _LIBCPP_VERSION
7183 # ifdef __cpp_lib_is_virtual_base_of
7184 # error "__cpp_lib_is_virtual_base_of should not be defined because it is unimplemented in libc++!"
7188 # if !defined(_LIBCPP_VERSION)
7189 # ifndef __cpp_lib_is_within_lifetime
7190 # error "__cpp_lib_is_within_lifetime should be defined in c++26"
7192 # if __cpp_lib_is_within_lifetime != 202306L
7193 # error "__cpp_lib_is_within_lifetime should have the value 202306L in c++26"
7195 # else // _LIBCPP_VERSION
7196 # ifdef __cpp_lib_is_within_lifetime
7197 # error "__cpp_lib_is_within_lifetime should not be defined because it is unimplemented in libc++!"
7201 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7202 # ifndef __cpp_lib_jthread
7203 # error "__cpp_lib_jthread should be defined in c++26"
7205 # if __cpp_lib_jthread != 201911L
7206 # error "__cpp_lib_jthread should have the value 201911L in c++26"
7209 # ifdef __cpp_lib_jthread
7210 # 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!"
7214 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7215 # ifndef __cpp_lib_latch
7216 # error "__cpp_lib_latch should be defined in c++26"
7218 # if __cpp_lib_latch != 201907L
7219 # error "__cpp_lib_latch should have the value 201907L in c++26"
7222 # ifdef __cpp_lib_latch
7223 # 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!"
7227 # ifndef __cpp_lib_launder
7228 # error "__cpp_lib_launder should be defined in c++26"
7230 # if __cpp_lib_launder != 201606L
7231 # error "__cpp_lib_launder should have the value 201606L in c++26"
7234 # if !defined(_LIBCPP_VERSION)
7235 # ifndef __cpp_lib_linalg
7236 # error "__cpp_lib_linalg should be defined in c++26"
7238 # if __cpp_lib_linalg != 202311L
7239 # error "__cpp_lib_linalg should have the value 202311L in c++26"
7241 # else // _LIBCPP_VERSION
7242 # ifdef __cpp_lib_linalg
7243 # error "__cpp_lib_linalg should not be defined because it is unimplemented in libc++!"
7247 # ifndef __cpp_lib_list_remove_return_type
7248 # error "__cpp_lib_list_remove_return_type should be defined in c++26"
7250 # if __cpp_lib_list_remove_return_type != 201806L
7251 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++26"
7254 # ifndef __cpp_lib_logical_traits
7255 # error "__cpp_lib_logical_traits should be defined in c++26"
7257 # if __cpp_lib_logical_traits != 201510L
7258 # error "__cpp_lib_logical_traits should have the value 201510L in c++26"
7261 # ifndef __cpp_lib_make_from_tuple
7262 # error "__cpp_lib_make_from_tuple should be defined in c++26"
7264 # if __cpp_lib_make_from_tuple != 201606L
7265 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++26"
7268 # ifndef __cpp_lib_make_reverse_iterator
7269 # error "__cpp_lib_make_reverse_iterator should be defined in c++26"
7271 # if __cpp_lib_make_reverse_iterator != 201402L
7272 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++26"
7275 # ifndef __cpp_lib_make_unique
7276 # error "__cpp_lib_make_unique should be defined in c++26"
7278 # if __cpp_lib_make_unique != 201304L
7279 # error "__cpp_lib_make_unique should have the value 201304L in c++26"
7282 # ifndef __cpp_lib_map_try_emplace
7283 # error "__cpp_lib_map_try_emplace should be defined in c++26"
7285 # if __cpp_lib_map_try_emplace != 201411L
7286 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++26"
7289 # ifndef __cpp_lib_math_constants
7290 # error "__cpp_lib_math_constants should be defined in c++26"
7292 # if __cpp_lib_math_constants != 201907L
7293 # error "__cpp_lib_math_constants should have the value 201907L in c++26"
7296 # if !defined(_LIBCPP_VERSION)
7297 # ifndef __cpp_lib_math_special_functions
7298 # error "__cpp_lib_math_special_functions should be defined in c++26"
7300 # if __cpp_lib_math_special_functions != 201603L
7301 # error "__cpp_lib_math_special_functions should have the value 201603L in c++26"
7303 # else // _LIBCPP_VERSION
7304 # ifdef __cpp_lib_math_special_functions
7305 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
7309 # ifndef __cpp_lib_mdspan
7310 # error "__cpp_lib_mdspan should be defined in c++26"
7312 # if __cpp_lib_mdspan != 202406L
7313 # error "__cpp_lib_mdspan should have the value 202406L in c++26"
7316 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7317 # ifndef __cpp_lib_memory_resource
7318 # error "__cpp_lib_memory_resource should be defined in c++26"
7320 # if __cpp_lib_memory_resource != 201603L
7321 # error "__cpp_lib_memory_resource should have the value 201603L in c++26"
7324 # ifdef __cpp_lib_memory_resource
7325 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7329 # ifndef __cpp_lib_modules
7330 # error "__cpp_lib_modules should be defined in c++26"
7332 # if __cpp_lib_modules != 202207L
7333 # error "__cpp_lib_modules should have the value 202207L in c++26"
7336 # ifndef __cpp_lib_move_iterator_concept
7337 # error "__cpp_lib_move_iterator_concept should be defined in c++26"
7339 # if __cpp_lib_move_iterator_concept != 202207L
7340 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++26"
7343 # if !defined(_LIBCPP_VERSION)
7344 # ifndef __cpp_lib_move_only_function
7345 # error "__cpp_lib_move_only_function should be defined in c++26"
7347 # if __cpp_lib_move_only_function != 202110L
7348 # error "__cpp_lib_move_only_function should have the value 202110L in c++26"
7350 # else // _LIBCPP_VERSION
7351 # ifdef __cpp_lib_move_only_function
7352 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
7356 # ifndef __cpp_lib_node_extract
7357 # error "__cpp_lib_node_extract should be defined in c++26"
7359 # if __cpp_lib_node_extract != 201606L
7360 # error "__cpp_lib_node_extract should have the value 201606L in c++26"
7363 # ifndef __cpp_lib_nonmember_container_access
7364 # error "__cpp_lib_nonmember_container_access should be defined in c++26"
7366 # if __cpp_lib_nonmember_container_access != 201411L
7367 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++26"
7370 # ifndef __cpp_lib_not_fn
7371 # error "__cpp_lib_not_fn should be defined in c++26"
7373 # if __cpp_lib_not_fn != 201603L
7374 # error "__cpp_lib_not_fn should have the value 201603L in c++26"
7377 # ifndef __cpp_lib_null_iterators
7378 # error "__cpp_lib_null_iterators should be defined in c++26"
7380 # if __cpp_lib_null_iterators != 201304L
7381 # error "__cpp_lib_null_iterators should have the value 201304L in c++26"
7384 # ifndef __cpp_lib_optional
7385 # error "__cpp_lib_optional should be defined in c++26"
7387 # if __cpp_lib_optional != 202110L
7388 # error "__cpp_lib_optional should have the value 202110L in c++26"
7391 # if !defined(_LIBCPP_VERSION)
7392 # ifndef __cpp_lib_optional_range_support
7393 # error "__cpp_lib_optional_range_support should be defined in c++26"
7395 # if __cpp_lib_optional_range_support != 202406L
7396 # error "__cpp_lib_optional_range_support should have the value 202406L in c++26"
7398 # else // _LIBCPP_VERSION
7399 # ifdef __cpp_lib_optional_range_support
7400 # error "__cpp_lib_optional_range_support should not be defined because it is unimplemented in libc++!"
7404 # ifndef __cpp_lib_out_ptr
7405 # error "__cpp_lib_out_ptr should be defined in c++26"
7407 # if __cpp_lib_out_ptr != 202311L
7408 # error "__cpp_lib_out_ptr should have the value 202311L in c++26"
7411 # if !defined(_LIBCPP_VERSION)
7412 # ifndef __cpp_lib_parallel_algorithm
7413 # error "__cpp_lib_parallel_algorithm should be defined in c++26"
7415 # if __cpp_lib_parallel_algorithm != 201603L
7416 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++26"
7418 # else // _LIBCPP_VERSION
7419 # ifdef __cpp_lib_parallel_algorithm
7420 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
7424 # if !defined(_LIBCPP_VERSION)
7425 # ifndef __cpp_lib_philox_engine
7426 # error "__cpp_lib_philox_engine should be defined in c++26"
7428 # if __cpp_lib_philox_engine != 202406L
7429 # error "__cpp_lib_philox_engine should have the value 202406L in c++26"
7431 # else // _LIBCPP_VERSION
7432 # ifdef __cpp_lib_philox_engine
7433 # error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!"
7437 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7438 # ifndef __cpp_lib_polymorphic_allocator
7439 # error "__cpp_lib_polymorphic_allocator should be defined in c++26"
7441 # if __cpp_lib_polymorphic_allocator != 201902L
7442 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++26"
7445 # ifdef __cpp_lib_polymorphic_allocator
7446 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7450 # ifndef __cpp_lib_print
7451 # error "__cpp_lib_print should be defined in c++26"
7453 # if __cpp_lib_print != 202207L
7454 # error "__cpp_lib_print should have the value 202207L in c++26"
7457 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
7458 # ifndef __cpp_lib_quoted_string_io
7459 # error "__cpp_lib_quoted_string_io should be defined in c++26"
7461 # if __cpp_lib_quoted_string_io != 201304L
7462 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++26"
7465 # ifdef __cpp_lib_quoted_string_io
7466 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
7470 # ifndef __cpp_lib_ranges
7471 # error "__cpp_lib_ranges should be defined in c++26"
7473 # if __cpp_lib_ranges != 202207L
7474 # error "__cpp_lib_ranges should have the value 202207L in c++26"
7477 # if !defined(_LIBCPP_VERSION)
7478 # ifndef __cpp_lib_ranges_as_const
7479 # error "__cpp_lib_ranges_as_const should be defined in c++26"
7481 # if __cpp_lib_ranges_as_const != 202207L
7482 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++26"
7484 # else // _LIBCPP_VERSION
7485 # ifdef __cpp_lib_ranges_as_const
7486 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
7490 # ifndef __cpp_lib_ranges_as_rvalue
7491 # error "__cpp_lib_ranges_as_rvalue should be defined in c++26"
7493 # if __cpp_lib_ranges_as_rvalue != 202207L
7494 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++26"
7497 # if !defined(_LIBCPP_VERSION)
7498 # ifndef __cpp_lib_ranges_chunk
7499 # error "__cpp_lib_ranges_chunk should be defined in c++26"
7501 # if __cpp_lib_ranges_chunk != 202202L
7502 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++26"
7504 # else // _LIBCPP_VERSION
7505 # ifdef __cpp_lib_ranges_chunk
7506 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
7510 # ifndef __cpp_lib_ranges_chunk_by
7511 # error "__cpp_lib_ranges_chunk_by should be defined in c++26"
7513 # if __cpp_lib_ranges_chunk_by != 202202L
7514 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++26"
7517 # if !defined(_LIBCPP_VERSION)
7518 # ifndef __cpp_lib_ranges_concat
7519 # error "__cpp_lib_ranges_concat should be defined in c++26"
7521 # if __cpp_lib_ranges_concat != 202403L
7522 # error "__cpp_lib_ranges_concat should have the value 202403L in c++26"
7524 # else // _LIBCPP_VERSION
7525 # ifdef __cpp_lib_ranges_concat
7526 # error "__cpp_lib_ranges_concat should not be defined because it is unimplemented in libc++!"
7530 # ifndef __cpp_lib_ranges_contains
7531 # error "__cpp_lib_ranges_contains should be defined in c++26"
7533 # if __cpp_lib_ranges_contains != 202207L
7534 # error "__cpp_lib_ranges_contains should have the value 202207L in c++26"
7537 # ifndef __cpp_lib_ranges_find_last
7538 # error "__cpp_lib_ranges_find_last should be defined in c++26"
7540 # if __cpp_lib_ranges_find_last != 202207L
7541 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++26"
7544 # if !defined(_LIBCPP_VERSION)
7545 # ifndef __cpp_lib_ranges_iota
7546 # error "__cpp_lib_ranges_iota should be defined in c++26"
7548 # if __cpp_lib_ranges_iota != 202202L
7549 # error "__cpp_lib_ranges_iota should have the value 202202L in c++26"
7551 # else // _LIBCPP_VERSION
7552 # ifdef __cpp_lib_ranges_iota
7553 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
7557 # if !defined(_LIBCPP_VERSION)
7558 # ifndef __cpp_lib_ranges_join_with
7559 # error "__cpp_lib_ranges_join_with should be defined in c++26"
7561 # if __cpp_lib_ranges_join_with != 202202L
7562 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++26"
7564 # else // _LIBCPP_VERSION
7565 # ifdef __cpp_lib_ranges_join_with
7566 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
7570 # ifndef __cpp_lib_ranges_repeat
7571 # error "__cpp_lib_ranges_repeat should be defined in c++26"
7573 # if __cpp_lib_ranges_repeat != 202207L
7574 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++26"
7577 # if !defined(_LIBCPP_VERSION)
7578 # ifndef __cpp_lib_ranges_slide
7579 # error "__cpp_lib_ranges_slide should be defined in c++26"
7581 # if __cpp_lib_ranges_slide != 202202L
7582 # error "__cpp_lib_ranges_slide should have the value 202202L in c++26"
7584 # else // _LIBCPP_VERSION
7585 # ifdef __cpp_lib_ranges_slide
7586 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
7590 # ifndef __cpp_lib_ranges_starts_ends_with
7591 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++26"
7593 # if __cpp_lib_ranges_starts_ends_with != 202106L
7594 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++26"
7597 # ifndef __cpp_lib_ranges_to_container
7598 # error "__cpp_lib_ranges_to_container should be defined in c++26"
7600 # if __cpp_lib_ranges_to_container != 202202L
7601 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++26"
7604 # if !defined(_LIBCPP_VERSION)
7605 # ifndef __cpp_lib_ranges_zip
7606 # error "__cpp_lib_ranges_zip should be defined in c++26"
7608 # if __cpp_lib_ranges_zip != 202110L
7609 # error "__cpp_lib_ranges_zip should have the value 202110L in c++26"
7611 # else // _LIBCPP_VERSION
7612 # ifdef __cpp_lib_ranges_zip
7613 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
7617 # ifndef __cpp_lib_ratio
7618 # error "__cpp_lib_ratio should be defined in c++26"
7620 # if __cpp_lib_ratio != 202306L
7621 # error "__cpp_lib_ratio should have the value 202306L in c++26"
7624 # ifndef __cpp_lib_raw_memory_algorithms
7625 # error "__cpp_lib_raw_memory_algorithms should be defined in c++26"
7627 # if __cpp_lib_raw_memory_algorithms != 201606L
7628 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26"
7631 # if !defined(_LIBCPP_VERSION)
7632 # ifndef __cpp_lib_rcu
7633 # error "__cpp_lib_rcu should be defined in c++26"
7635 # if __cpp_lib_rcu != 202306L
7636 # error "__cpp_lib_rcu should have the value 202306L in c++26"
7638 # else // _LIBCPP_VERSION
7639 # ifdef __cpp_lib_rcu
7640 # error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!"
7644 # if !defined(_LIBCPP_VERSION)
7645 # ifndef __cpp_lib_reference_from_temporary
7646 # error "__cpp_lib_reference_from_temporary should be defined in c++26"
7648 # if __cpp_lib_reference_from_temporary != 202202L
7649 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++26"
7651 # else // _LIBCPP_VERSION
7652 # ifdef __cpp_lib_reference_from_temporary
7653 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
7657 # ifndef __cpp_lib_reference_wrapper
7658 # error "__cpp_lib_reference_wrapper should be defined in c++26"
7660 # if __cpp_lib_reference_wrapper != 202403L
7661 # error "__cpp_lib_reference_wrapper should have the value 202403L in c++26"
7664 # ifndef __cpp_lib_remove_cvref
7665 # error "__cpp_lib_remove_cvref should be defined in c++26"
7667 # if __cpp_lib_remove_cvref != 201711L
7668 # error "__cpp_lib_remove_cvref should have the value 201711L in c++26"
7671 # ifndef __cpp_lib_result_of_sfinae
7672 # error "__cpp_lib_result_of_sfinae should be defined in c++26"
7674 # if __cpp_lib_result_of_sfinae != 201210L
7675 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26"
7678 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
7679 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++26"
7681 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
7682 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++26"
7685 # ifndef __cpp_lib_sample
7686 # error "__cpp_lib_sample should be defined in c++26"
7688 # if __cpp_lib_sample != 201603L
7689 # error "__cpp_lib_sample should have the value 201603L in c++26"
7692 # ifndef __cpp_lib_saturation_arithmetic
7693 # error "__cpp_lib_saturation_arithmetic should be defined in c++26"
7695 # if __cpp_lib_saturation_arithmetic != 202311L
7696 # error "__cpp_lib_saturation_arithmetic should have the value 202311L in c++26"
7699 # if !defined(_LIBCPP_HAS_NO_THREADS)
7700 # ifndef __cpp_lib_scoped_lock
7701 # error "__cpp_lib_scoped_lock should be defined in c++26"
7703 # if __cpp_lib_scoped_lock != 201703L
7704 # error "__cpp_lib_scoped_lock should have the value 201703L in c++26"
7707 # ifdef __cpp_lib_scoped_lock
7708 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7712 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7713 # ifndef __cpp_lib_semaphore
7714 # error "__cpp_lib_semaphore should be defined in c++26"
7716 # if __cpp_lib_semaphore != 201907L
7717 # error "__cpp_lib_semaphore should have the value 201907L in c++26"
7720 # ifdef __cpp_lib_semaphore
7721 # 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!"
7725 # if !defined(_LIBCPP_VERSION)
7726 # ifndef __cpp_lib_senders
7727 # error "__cpp_lib_senders should be defined in c++26"
7729 # if __cpp_lib_senders != 202406L
7730 # error "__cpp_lib_senders should have the value 202406L in c++26"
7732 # else // _LIBCPP_VERSION
7733 # ifdef __cpp_lib_senders
7734 # error "__cpp_lib_senders should not be defined because it is unimplemented in libc++!"
7738 # if !defined(_LIBCPP_HAS_NO_THREADS)
7739 # ifndef __cpp_lib_shared_mutex
7740 # error "__cpp_lib_shared_mutex should be defined in c++26"
7742 # if __cpp_lib_shared_mutex != 201505L
7743 # error "__cpp_lib_shared_mutex should have the value 201505L in c++26"
7746 # ifdef __cpp_lib_shared_mutex
7747 # error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7751 # ifndef __cpp_lib_shared_ptr_arrays
7752 # error "__cpp_lib_shared_ptr_arrays should be defined in c++26"
7754 # if __cpp_lib_shared_ptr_arrays != 201707L
7755 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26"
7758 # ifndef __cpp_lib_shared_ptr_weak_type
7759 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++26"
7761 # if __cpp_lib_shared_ptr_weak_type != 201606L
7762 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26"
7765 # if !defined(_LIBCPP_HAS_NO_THREADS)
7766 # ifndef __cpp_lib_shared_timed_mutex
7767 # error "__cpp_lib_shared_timed_mutex should be defined in c++26"
7769 # if __cpp_lib_shared_timed_mutex != 201402L
7770 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++26"
7773 # ifdef __cpp_lib_shared_timed_mutex
7774 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7778 # ifndef __cpp_lib_shift
7779 # error "__cpp_lib_shift should be defined in c++26"
7781 # if __cpp_lib_shift != 201806L
7782 # error "__cpp_lib_shift should have the value 201806L in c++26"
7785 # if !defined(_LIBCPP_VERSION)
7786 # ifndef __cpp_lib_smart_ptr_for_overwrite
7787 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26"
7789 # if __cpp_lib_smart_ptr_for_overwrite != 202002L
7790 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26"
7792 # else // _LIBCPP_VERSION
7793 # ifdef __cpp_lib_smart_ptr_for_overwrite
7794 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
7798 # if !defined(_LIBCPP_VERSION)
7799 # ifndef __cpp_lib_smart_ptr_owner_equality
7800 # error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"
7802 # if __cpp_lib_smart_ptr_owner_equality != 202306L
7803 # error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"
7805 # else // _LIBCPP_VERSION
7806 # ifdef __cpp_lib_smart_ptr_owner_equality
7807 # error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"
7811 # ifndef __cpp_lib_source_location
7812 # error "__cpp_lib_source_location should be defined in c++26"
7814 # if __cpp_lib_source_location != 201907L
7815 # error "__cpp_lib_source_location should have the value 201907L in c++26"
7818 # ifndef __cpp_lib_span
7819 # error "__cpp_lib_span should be defined in c++26"
7821 # if __cpp_lib_span != 202002L
7822 # error "__cpp_lib_span should have the value 202002L in c++26"
7825 # ifndef __cpp_lib_span_at
7826 # error "__cpp_lib_span_at should be defined in c++26"
7828 # if __cpp_lib_span_at != 202311L
7829 # error "__cpp_lib_span_at should have the value 202311L in c++26"
7832 # ifndef __cpp_lib_span_initializer_list
7833 # error "__cpp_lib_span_initializer_list should be defined in c++26"
7835 # if __cpp_lib_span_initializer_list != 202311L
7836 # error "__cpp_lib_span_initializer_list should have the value 202311L in c++26"
7839 # if !defined(_LIBCPP_VERSION)
7840 # ifndef __cpp_lib_spanstream
7841 # error "__cpp_lib_spanstream should be defined in c++26"
7843 # if __cpp_lib_spanstream != 202106L
7844 # error "__cpp_lib_spanstream should have the value 202106L in c++26"
7846 # else // _LIBCPP_VERSION
7847 # ifdef __cpp_lib_spanstream
7848 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
7852 # ifndef __cpp_lib_ssize
7853 # error "__cpp_lib_ssize should be defined in c++26"
7855 # if __cpp_lib_ssize != 201902L
7856 # error "__cpp_lib_ssize should have the value 201902L in c++26"
7859 # ifndef __cpp_lib_sstream_from_string_view
7860 # error "__cpp_lib_sstream_from_string_view should be defined in c++26"
7862 # if __cpp_lib_sstream_from_string_view != 202306L
7863 # error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"
7866 # if !defined(_LIBCPP_VERSION)
7867 # ifndef __cpp_lib_stacktrace
7868 # error "__cpp_lib_stacktrace should be defined in c++26"
7870 # if __cpp_lib_stacktrace != 202011L
7871 # error "__cpp_lib_stacktrace should have the value 202011L in c++26"
7873 # else // _LIBCPP_VERSION
7874 # ifdef __cpp_lib_stacktrace
7875 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
7879 # ifndef __cpp_lib_starts_ends_with
7880 # error "__cpp_lib_starts_ends_with should be defined in c++26"
7882 # if __cpp_lib_starts_ends_with != 201711L
7883 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++26"
7886 # ifndef __cpp_lib_stdatomic_h
7887 # error "__cpp_lib_stdatomic_h should be defined in c++26"
7889 # if __cpp_lib_stdatomic_h != 202011L
7890 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++26"
7893 # ifndef __cpp_lib_string_contains
7894 # error "__cpp_lib_string_contains should be defined in c++26"
7896 # if __cpp_lib_string_contains != 202011L
7897 # error "__cpp_lib_string_contains should have the value 202011L in c++26"
7900 # ifndef __cpp_lib_string_resize_and_overwrite
7901 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++26"
7903 # if __cpp_lib_string_resize_and_overwrite != 202110L
7904 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++26"
7907 # ifndef __cpp_lib_string_udls
7908 # error "__cpp_lib_string_udls should be defined in c++26"
7910 # if __cpp_lib_string_udls != 201304L
7911 # error "__cpp_lib_string_udls should have the value 201304L in c++26"
7914 # ifndef __cpp_lib_string_view
7915 # error "__cpp_lib_string_view should be defined in c++26"
7917 # if __cpp_lib_string_view != 202403L
7918 # error "__cpp_lib_string_view should have the value 202403L in c++26"
7921 # if !defined(_LIBCPP_VERSION)
7922 # ifndef __cpp_lib_submdspan
7923 # error "__cpp_lib_submdspan should be defined in c++26"
7925 # if __cpp_lib_submdspan != 202306L
7926 # error "__cpp_lib_submdspan should have the value 202306L in c++26"
7928 # else // _LIBCPP_VERSION
7929 # ifdef __cpp_lib_submdspan
7930 # error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"
7934 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
7935 # ifndef __cpp_lib_syncbuf
7936 # error "__cpp_lib_syncbuf should be defined in c++26"
7938 # if __cpp_lib_syncbuf != 201803L
7939 # error "__cpp_lib_syncbuf should have the value 201803L in c++26"
7942 # ifdef __cpp_lib_syncbuf
7943 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
7947 # if !defined(_LIBCPP_VERSION)
7948 # ifndef __cpp_lib_text_encoding
7949 # error "__cpp_lib_text_encoding should be defined in c++26"
7951 # if __cpp_lib_text_encoding != 202306L
7952 # error "__cpp_lib_text_encoding should have the value 202306L in c++26"
7954 # else // _LIBCPP_VERSION
7955 # ifdef __cpp_lib_text_encoding
7956 # error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!"
7960 # ifndef __cpp_lib_three_way_comparison
7961 # error "__cpp_lib_three_way_comparison should be defined in c++26"
7963 # if __cpp_lib_three_way_comparison != 201907L
7964 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"
7967 # ifndef __cpp_lib_to_address
7968 # error "__cpp_lib_to_address should be defined in c++26"
7970 # if __cpp_lib_to_address != 201711L
7971 # error "__cpp_lib_to_address should have the value 201711L in c++26"
7974 # ifndef __cpp_lib_to_array
7975 # error "__cpp_lib_to_array should be defined in c++26"
7977 # if __cpp_lib_to_array != 201907L
7978 # error "__cpp_lib_to_array should have the value 201907L in c++26"
7981 # if !defined(_LIBCPP_VERSION)
7982 # ifndef __cpp_lib_to_chars
7983 # error "__cpp_lib_to_chars should be defined in c++26"
7985 # if __cpp_lib_to_chars != 202306L
7986 # error "__cpp_lib_to_chars should have the value 202306L in c++26"
7988 # else // _LIBCPP_VERSION
7989 # ifdef __cpp_lib_to_chars
7990 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
7994 # if !defined(_LIBCPP_VERSION)
7995 # ifndef __cpp_lib_to_string
7996 # error "__cpp_lib_to_string should be defined in c++26"
7998 # if __cpp_lib_to_string != 202306L
7999 # error "__cpp_lib_to_string should have the value 202306L in c++26"
8001 # else // _LIBCPP_VERSION
8002 # ifdef __cpp_lib_to_string
8003 # error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
8007 # ifndef __cpp_lib_to_underlying
8008 # error "__cpp_lib_to_underlying should be defined in c++26"
8010 # if __cpp_lib_to_underlying != 202102L
8011 # error "__cpp_lib_to_underlying should have the value 202102L in c++26"
8014 # ifndef __cpp_lib_transformation_trait_aliases
8015 # error "__cpp_lib_transformation_trait_aliases should be defined in c++26"
8017 # if __cpp_lib_transformation_trait_aliases != 201304L
8018 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++26"
8021 # ifndef __cpp_lib_transparent_operators
8022 # error "__cpp_lib_transparent_operators should be defined in c++26"
8024 # if __cpp_lib_transparent_operators != 201510L
8025 # error "__cpp_lib_transparent_operators should have the value 201510L in c++26"
8028 # ifndef __cpp_lib_tuple_element_t
8029 # error "__cpp_lib_tuple_element_t should be defined in c++26"
8031 # if __cpp_lib_tuple_element_t != 201402L
8032 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++26"
8035 # if !defined(_LIBCPP_VERSION)
8036 # ifndef __cpp_lib_tuple_like
8037 # error "__cpp_lib_tuple_like should be defined in c++26"
8039 # if __cpp_lib_tuple_like != 202311L
8040 # error "__cpp_lib_tuple_like should have the value 202311L in c++26"
8042 # else // _LIBCPP_VERSION
8043 # ifdef __cpp_lib_tuple_like
8044 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
8048 # ifndef __cpp_lib_tuples_by_type
8049 # error "__cpp_lib_tuples_by_type should be defined in c++26"
8051 # if __cpp_lib_tuples_by_type != 201304L
8052 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++26"
8055 # ifndef __cpp_lib_type_identity
8056 # error "__cpp_lib_type_identity should be defined in c++26"
8058 # if __cpp_lib_type_identity != 201806L
8059 # error "__cpp_lib_type_identity should have the value 201806L in c++26"
8062 # ifndef __cpp_lib_type_trait_variable_templates
8063 # error "__cpp_lib_type_trait_variable_templates should be defined in c++26"
8065 # if __cpp_lib_type_trait_variable_templates != 201510L
8066 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++26"
8069 # ifndef __cpp_lib_uncaught_exceptions
8070 # error "__cpp_lib_uncaught_exceptions should be defined in c++26"
8072 # if __cpp_lib_uncaught_exceptions != 201411L
8073 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++26"
8076 # ifndef __cpp_lib_unordered_map_try_emplace
8077 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++26"
8079 # if __cpp_lib_unordered_map_try_emplace != 201411L
8080 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++26"
8083 # ifndef __cpp_lib_unreachable
8084 # error "__cpp_lib_unreachable should be defined in c++26"
8086 # if __cpp_lib_unreachable != 202202L
8087 # error "__cpp_lib_unreachable should have the value 202202L in c++26"
8090 # ifndef __cpp_lib_unwrap_ref
8091 # error "__cpp_lib_unwrap_ref should be defined in c++26"
8093 # if __cpp_lib_unwrap_ref != 201811L
8094 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++26"
8097 # ifndef __cpp_lib_variant
8098 # error "__cpp_lib_variant should be defined in c++26"
8100 # if __cpp_lib_variant != 202102L
8101 # error "__cpp_lib_variant should have the value 202102L in c++26"
8104 # ifndef __cpp_lib_void_t
8105 # error "__cpp_lib_void_t should be defined in c++26"
8107 # if __cpp_lib_void_t != 201411L
8108 # error "__cpp_lib_void_t should have the value 201411L in c++26"
8111 #endif // TEST_STD_VER > 23