5545298c23670b38fbdf6fba399992a4747e90ee
[platform/upstream/llvm.git] /
1 //===----------------------------------------------------------------------===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // WARNING: This test was generated by generate_feature_test_macro_components.py
10 // and should not be edited manually.
11 //
12 // clang-format off
13
14 // <version>
15
16 // Test the feature test macros defined by <version>
17
18 /*  Constant                                                Value
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]
26                                                             201811L [C++20]
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]
43                                                             202306L [C++26]
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]
67                                                             202202L [C++23]
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]
88                                                             201902L [C++20]
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]
150                                                             202406L [C++26]
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]
160                                                             202110L [C++23]
161     __cpp_lib_optional_range_support                        202406L [C++26]
162     __cpp_lib_out_ptr                                       202106L [C++23]
163                                                             202311L [C++26]
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                                                             202211L [C++23]
171     __cpp_lib_ranges_as_const                               202207L [C++23]
172     __cpp_lib_ranges_as_rvalue                              202207L [C++23]
173     __cpp_lib_ranges_chunk                                  202202L [C++23]
174     __cpp_lib_ranges_chunk_by                               202202L [C++23]
175     __cpp_lib_ranges_concat                                 202403L [C++26]
176     __cpp_lib_ranges_contains                               202207L [C++23]
177     __cpp_lib_ranges_find_last                              202207L [C++23]
178     __cpp_lib_ranges_iota                                   202202L [C++23]
179     __cpp_lib_ranges_join_with                              202202L [C++23]
180     __cpp_lib_ranges_repeat                                 202207L [C++23]
181     __cpp_lib_ranges_slide                                  202202L [C++23]
182     __cpp_lib_ranges_starts_ends_with                       202106L [C++23]
183     __cpp_lib_ranges_to_container                           202202L [C++23]
184     __cpp_lib_ranges_zip                                    202110L [C++23]
185     __cpp_lib_ratio                                         202306L [C++26]
186     __cpp_lib_raw_memory_algorithms                         201606L [C++17]
187     __cpp_lib_rcu                                           202306L [C++26]
188     __cpp_lib_reference_from_temporary                      202202L [C++23]
189     __cpp_lib_reference_wrapper                             202403L [C++26]
190     __cpp_lib_remove_cvref                                  201711L [C++20]
191     __cpp_lib_result_of_sfinae                              201210L [C++14]
192     __cpp_lib_robust_nonmodifying_seq_ops                   201304L [C++14]
193     __cpp_lib_sample                                        201603L [C++17]
194     __cpp_lib_saturation_arithmetic                         202311L [C++26]
195     __cpp_lib_scoped_lock                                   201703L [C++17]
196     __cpp_lib_semaphore                                     201907L [C++20]
197     __cpp_lib_senders                                       202406L [C++26]
198     __cpp_lib_shared_mutex                                  201505L [C++17]
199     __cpp_lib_shared_ptr_arrays                             201611L [C++17]
200                                                             201707L [C++20]
201     __cpp_lib_shared_ptr_weak_type                          201606L [C++17]
202     __cpp_lib_shared_timed_mutex                            201402L [C++14]
203     __cpp_lib_shift                                         201806L [C++20]
204     __cpp_lib_smart_ptr_for_overwrite                       202002L [C++20]
205     __cpp_lib_smart_ptr_owner_equality                      202306L [C++26]
206     __cpp_lib_source_location                               201907L [C++20]
207     __cpp_lib_span                                          202002L [C++20]
208     __cpp_lib_span_at                                       202311L [C++26]
209     __cpp_lib_span_initializer_list                         202311L [C++26]
210     __cpp_lib_spanstream                                    202106L [C++23]
211     __cpp_lib_ssize                                         201902L [C++20]
212     __cpp_lib_sstream_from_string_view                      202306L [C++26]
213     __cpp_lib_stacktrace                                    202011L [C++23]
214     __cpp_lib_starts_ends_with                              201711L [C++20]
215     __cpp_lib_stdatomic_h                                   202011L [C++23]
216     __cpp_lib_string_contains                               202011L [C++23]
217     __cpp_lib_string_resize_and_overwrite                   202110L [C++23]
218     __cpp_lib_string_udls                                   201304L [C++14]
219     __cpp_lib_string_view                                   201606L [C++17]
220                                                             201803L [C++20]
221                                                             202403L [C++26]
222     __cpp_lib_submdspan                                     202306L [C++26]
223     __cpp_lib_syncbuf                                       201803L [C++20]
224     __cpp_lib_text_encoding                                 202306L [C++26]
225     __cpp_lib_three_way_comparison                          201907L [C++20]
226     __cpp_lib_to_address                                    201711L [C++20]
227     __cpp_lib_to_array                                      201907L [C++20]
228     __cpp_lib_to_chars                                      201611L [C++17]
229                                                             202306L [C++26]
230     __cpp_lib_to_string                                     202306L [C++26]
231     __cpp_lib_to_underlying                                 202102L [C++23]
232     __cpp_lib_transformation_trait_aliases                  201304L [C++14]
233     __cpp_lib_transparent_operators                         201210L [C++14]
234                                                             201510L [C++17]
235     __cpp_lib_tuple_element_t                               201402L [C++14]
236     __cpp_lib_tuple_like                                    202207L [C++23]
237                                                             202311L [C++26]
238     __cpp_lib_tuples_by_type                                201304L [C++14]
239     __cpp_lib_type_identity                                 201806L [C++20]
240     __cpp_lib_type_trait_variable_templates                 201510L [C++17]
241     __cpp_lib_uncaught_exceptions                           201411L [C++17]
242     __cpp_lib_unordered_map_try_emplace                     201411L [C++17]
243     __cpp_lib_unreachable                                   202202L [C++23]
244     __cpp_lib_unwrap_ref                                    201811L [C++20]
245     __cpp_lib_variant                                       202102L [C++17]
246     __cpp_lib_void_t                                        201411L [C++17]
247 */
248
249 #include <version>
250 #include "test_macros.h"
251
252 #if TEST_STD_VER < 14
253
254 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
255 #   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
256 # endif
257
258 # ifdef __cpp_lib_addressof_constexpr
259 #   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
260 # endif
261
262 # ifdef __cpp_lib_allocate_at_least
263 #   error "__cpp_lib_allocate_at_least should not be defined before c++23"
264 # endif
265
266 # ifdef __cpp_lib_allocator_traits_is_always_equal
267 #   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
268 # endif
269
270 # ifdef __cpp_lib_any
271 #   error "__cpp_lib_any should not be defined before c++17"
272 # endif
273
274 # ifdef __cpp_lib_apply
275 #   error "__cpp_lib_apply should not be defined before c++17"
276 # endif
277
278 # ifdef __cpp_lib_array_constexpr
279 #   error "__cpp_lib_array_constexpr should not be defined before c++17"
280 # endif
281
282 # ifdef __cpp_lib_as_const
283 #   error "__cpp_lib_as_const should not be defined before c++17"
284 # endif
285
286 # ifdef __cpp_lib_associative_heterogeneous_erasure
287 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
288 # endif
289
290 # ifdef __cpp_lib_associative_heterogeneous_insertion
291 #   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
292 # endif
293
294 # ifdef __cpp_lib_assume_aligned
295 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
296 # endif
297
298 # ifdef __cpp_lib_atomic_flag_test
299 #   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
300 # endif
301
302 # ifdef __cpp_lib_atomic_float
303 #   error "__cpp_lib_atomic_float should not be defined before c++20"
304 # endif
305
306 # ifdef __cpp_lib_atomic_is_always_lock_free
307 #   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
308 # endif
309
310 # ifdef __cpp_lib_atomic_lock_free_type_aliases
311 #   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
312 # endif
313
314 # ifdef __cpp_lib_atomic_min_max
315 #   error "__cpp_lib_atomic_min_max should not be defined before c++26"
316 # endif
317
318 # ifdef __cpp_lib_atomic_ref
319 #   error "__cpp_lib_atomic_ref should not be defined before c++20"
320 # endif
321
322 # ifdef __cpp_lib_atomic_shared_ptr
323 #   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
324 # endif
325
326 # ifdef __cpp_lib_atomic_value_initialization
327 #   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
328 # endif
329
330 # ifdef __cpp_lib_atomic_wait
331 #   error "__cpp_lib_atomic_wait should not be defined before c++20"
332 # endif
333
334 # ifdef __cpp_lib_barrier
335 #   error "__cpp_lib_barrier should not be defined before c++20"
336 # endif
337
338 # ifdef __cpp_lib_bind_back
339 #   error "__cpp_lib_bind_back should not be defined before c++23"
340 # endif
341
342 # ifdef __cpp_lib_bind_front
343 #   error "__cpp_lib_bind_front should not be defined before c++20"
344 # endif
345
346 # ifdef __cpp_lib_bit_cast
347 #   error "__cpp_lib_bit_cast should not be defined before c++20"
348 # endif
349
350 # ifdef __cpp_lib_bitops
351 #   error "__cpp_lib_bitops should not be defined before c++20"
352 # endif
353
354 # ifdef __cpp_lib_bitset
355 #   error "__cpp_lib_bitset should not be defined before c++26"
356 # endif
357
358 # ifdef __cpp_lib_bool_constant
359 #   error "__cpp_lib_bool_constant should not be defined before c++17"
360 # endif
361
362 # ifdef __cpp_lib_bounded_array_traits
363 #   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
364 # endif
365
366 # ifdef __cpp_lib_boyer_moore_searcher
367 #   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
368 # endif
369
370 # ifdef __cpp_lib_byte
371 #   error "__cpp_lib_byte should not be defined before c++17"
372 # endif
373
374 # ifdef __cpp_lib_byteswap
375 #   error "__cpp_lib_byteswap should not be defined before c++23"
376 # endif
377
378 # ifdef __cpp_lib_char8_t
379 #   error "__cpp_lib_char8_t should not be defined before c++20"
380 # endif
381
382 # ifdef __cpp_lib_chrono
383 #   error "__cpp_lib_chrono should not be defined before c++17"
384 # endif
385
386 # ifdef __cpp_lib_chrono_udls
387 #   error "__cpp_lib_chrono_udls should not be defined before c++14"
388 # endif
389
390 # ifdef __cpp_lib_clamp
391 #   error "__cpp_lib_clamp should not be defined before c++17"
392 # endif
393
394 # ifdef __cpp_lib_complex_udls
395 #   error "__cpp_lib_complex_udls should not be defined before c++14"
396 # endif
397
398 # ifdef __cpp_lib_concepts
399 #   error "__cpp_lib_concepts should not be defined before c++20"
400 # endif
401
402 # ifdef __cpp_lib_constexpr_algorithms
403 #   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
404 # endif
405
406 # ifdef __cpp_lib_constexpr_bitset
407 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
408 # endif
409
410 # ifdef __cpp_lib_constexpr_charconv
411 #   error "__cpp_lib_constexpr_charconv should not be defined before c++23"
412 # endif
413
414 # ifdef __cpp_lib_constexpr_cmath
415 #   error "__cpp_lib_constexpr_cmath should not be defined before c++23"
416 # endif
417
418 # ifdef __cpp_lib_constexpr_complex
419 #   error "__cpp_lib_constexpr_complex should not be defined before c++20"
420 # endif
421
422 # ifdef __cpp_lib_constexpr_dynamic_alloc
423 #   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
424 # endif
425
426 # ifdef __cpp_lib_constexpr_functional
427 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
428 # endif
429
430 # ifdef __cpp_lib_constexpr_iterator
431 #   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
432 # endif
433
434 # ifdef __cpp_lib_constexpr_memory
435 #   error "__cpp_lib_constexpr_memory should not be defined before c++20"
436 # endif
437
438 # ifdef __cpp_lib_constexpr_new
439 #   error "__cpp_lib_constexpr_new should not be defined before c++26"
440 # endif
441
442 # ifdef __cpp_lib_constexpr_numeric
443 #   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
444 # endif
445
446 # ifdef __cpp_lib_constexpr_string
447 #   error "__cpp_lib_constexpr_string should not be defined before c++20"
448 # endif
449
450 # ifdef __cpp_lib_constexpr_string_view
451 #   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
452 # endif
453
454 # ifdef __cpp_lib_constexpr_tuple
455 #   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
456 # endif
457
458 # ifdef __cpp_lib_constexpr_typeinfo
459 #   error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
460 # endif
461
462 # ifdef __cpp_lib_constexpr_utility
463 #   error "__cpp_lib_constexpr_utility should not be defined before c++20"
464 # endif
465
466 # ifdef __cpp_lib_constexpr_vector
467 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
468 # endif
469
470 # ifdef __cpp_lib_constrained_equality
471 #   error "__cpp_lib_constrained_equality should not be defined before c++26"
472 # endif
473
474 # ifdef __cpp_lib_containers_ranges
475 #   error "__cpp_lib_containers_ranges should not be defined before c++23"
476 # endif
477
478 # ifdef __cpp_lib_copyable_function
479 #   error "__cpp_lib_copyable_function should not be defined before c++26"
480 # endif
481
482 # ifdef __cpp_lib_coroutine
483 #   error "__cpp_lib_coroutine should not be defined before c++20"
484 # endif
485
486 # ifdef __cpp_lib_debugging
487 #   error "__cpp_lib_debugging should not be defined before c++26"
488 # endif
489
490 # ifdef __cpp_lib_default_template_type_for_algorithm_values
491 #   error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
492 # endif
493
494 # ifdef __cpp_lib_destroying_delete
495 #   error "__cpp_lib_destroying_delete should not be defined before c++20"
496 # endif
497
498 # ifdef __cpp_lib_enable_shared_from_this
499 #   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
500 # endif
501
502 # ifdef __cpp_lib_endian
503 #   error "__cpp_lib_endian should not be defined before c++20"
504 # endif
505
506 # ifdef __cpp_lib_erase_if
507 #   error "__cpp_lib_erase_if should not be defined before c++20"
508 # endif
509
510 # ifdef __cpp_lib_exchange_function
511 #   error "__cpp_lib_exchange_function should not be defined before c++14"
512 # endif
513
514 # ifdef __cpp_lib_execution
515 #   error "__cpp_lib_execution should not be defined before c++17"
516 # endif
517
518 # ifdef __cpp_lib_expected
519 #   error "__cpp_lib_expected should not be defined before c++23"
520 # endif
521
522 # ifdef __cpp_lib_filesystem
523 #   error "__cpp_lib_filesystem should not be defined before c++17"
524 # endif
525
526 # ifdef __cpp_lib_format
527 #   error "__cpp_lib_format should not be defined before c++20"
528 # endif
529
530 # ifdef __cpp_lib_format_path
531 #   error "__cpp_lib_format_path should not be defined before c++26"
532 # endif
533
534 # ifdef __cpp_lib_format_ranges
535 #   error "__cpp_lib_format_ranges should not be defined before c++23"
536 # endif
537
538 # ifdef __cpp_lib_format_uchar
539 #   error "__cpp_lib_format_uchar should not be defined before c++20"
540 # endif
541
542 # ifdef __cpp_lib_formatters
543 #   error "__cpp_lib_formatters should not be defined before c++23"
544 # endif
545
546 # ifdef __cpp_lib_forward_like
547 #   error "__cpp_lib_forward_like should not be defined before c++23"
548 # endif
549
550 # ifdef __cpp_lib_freestanding_algorithm
551 #   error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
552 # endif
553
554 # ifdef __cpp_lib_freestanding_array
555 #   error "__cpp_lib_freestanding_array should not be defined before c++26"
556 # endif
557
558 # ifdef __cpp_lib_freestanding_cstring
559 #   error "__cpp_lib_freestanding_cstring should not be defined before c++26"
560 # endif
561
562 # ifdef __cpp_lib_freestanding_expected
563 #   error "__cpp_lib_freestanding_expected should not be defined before c++26"
564 # endif
565
566 # ifdef __cpp_lib_freestanding_mdspan
567 #   error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
568 # endif
569
570 # ifdef __cpp_lib_freestanding_optional
571 #   error "__cpp_lib_freestanding_optional should not be defined before c++26"
572 # endif
573
574 # ifdef __cpp_lib_freestanding_string_view
575 #   error "__cpp_lib_freestanding_string_view should not be defined before c++26"
576 # endif
577
578 # ifdef __cpp_lib_freestanding_variant
579 #   error "__cpp_lib_freestanding_variant should not be defined before c++26"
580 # endif
581
582 # ifdef __cpp_lib_fstream_native_handle
583 #   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
584 # endif
585
586 # ifdef __cpp_lib_function_ref
587 #   error "__cpp_lib_function_ref should not be defined before c++26"
588 # endif
589
590 # ifdef __cpp_lib_gcd_lcm
591 #   error "__cpp_lib_gcd_lcm should not be defined before c++17"
592 # endif
593
594 # ifdef __cpp_lib_generate_random
595 #   error "__cpp_lib_generate_random should not be defined before c++26"
596 # endif
597
598 # ifdef __cpp_lib_generic_associative_lookup
599 #   error "__cpp_lib_generic_associative_lookup should not be defined before c++14"
600 # endif
601
602 # ifdef __cpp_lib_generic_unordered_lookup
603 #   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
604 # endif
605
606 # ifdef __cpp_lib_hardware_interference_size
607 #   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
608 # endif
609
610 # ifdef __cpp_lib_has_unique_object_representations
611 #   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
612 # endif
613
614 # ifdef __cpp_lib_hazard_pointer
615 #   error "__cpp_lib_hazard_pointer should not be defined before c++26"
616 # endif
617
618 # ifdef __cpp_lib_hypot
619 #   error "__cpp_lib_hypot should not be defined before c++17"
620 # endif
621
622 # ifdef __cpp_lib_incomplete_container_elements
623 #   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
624 # endif
625
626 # ifdef __cpp_lib_inplace_vector
627 #   error "__cpp_lib_inplace_vector should not be defined before c++26"
628 # endif
629
630 # ifdef __cpp_lib_int_pow2
631 #   error "__cpp_lib_int_pow2 should not be defined before c++20"
632 # endif
633
634 # ifdef __cpp_lib_integer_comparison_functions
635 #   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
636 # endif
637
638 # ifdef __cpp_lib_integer_sequence
639 #   error "__cpp_lib_integer_sequence should not be defined before c++14"
640 # endif
641
642 # ifdef __cpp_lib_integral_constant_callable
643 #   error "__cpp_lib_integral_constant_callable should not be defined before c++14"
644 # endif
645
646 # ifdef __cpp_lib_interpolate
647 #   error "__cpp_lib_interpolate should not be defined before c++20"
648 # endif
649
650 # ifdef __cpp_lib_invoke
651 #   error "__cpp_lib_invoke should not be defined before c++17"
652 # endif
653
654 # ifdef __cpp_lib_invoke_r
655 #   error "__cpp_lib_invoke_r should not be defined before c++23"
656 # endif
657
658 # ifdef __cpp_lib_ios_noreplace
659 #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
660 # endif
661
662 # ifdef __cpp_lib_is_aggregate
663 #   error "__cpp_lib_is_aggregate should not be defined before c++17"
664 # endif
665
666 # ifdef __cpp_lib_is_constant_evaluated
667 #   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
668 # endif
669
670 # ifdef __cpp_lib_is_final
671 #   error "__cpp_lib_is_final should not be defined before c++14"
672 # endif
673
674 # ifdef __cpp_lib_is_invocable
675 #   error "__cpp_lib_is_invocable should not be defined before c++17"
676 # endif
677
678 # ifdef __cpp_lib_is_layout_compatible
679 #   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
680 # endif
681
682 # ifdef __cpp_lib_is_nothrow_convertible
683 #   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
684 # endif
685
686 # ifdef __cpp_lib_is_null_pointer
687 #   error "__cpp_lib_is_null_pointer should not be defined before c++14"
688 # endif
689
690 # ifdef __cpp_lib_is_pointer_interconvertible
691 #   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
692 # endif
693
694 # ifdef __cpp_lib_is_scoped_enum
695 #   error "__cpp_lib_is_scoped_enum should not be defined before c++23"
696 # endif
697
698 # ifdef __cpp_lib_is_swappable
699 #   error "__cpp_lib_is_swappable should not be defined before c++17"
700 # endif
701
702 # ifdef __cpp_lib_is_virtual_base_of
703 #   error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
704 # endif
705
706 # ifdef __cpp_lib_is_within_lifetime
707 #   error "__cpp_lib_is_within_lifetime should not be defined before c++26"
708 # endif
709
710 # ifdef __cpp_lib_jthread
711 #   error "__cpp_lib_jthread should not be defined before c++20"
712 # endif
713
714 # ifdef __cpp_lib_latch
715 #   error "__cpp_lib_latch should not be defined before c++20"
716 # endif
717
718 # ifdef __cpp_lib_launder
719 #   error "__cpp_lib_launder should not be defined before c++17"
720 # endif
721
722 # ifdef __cpp_lib_linalg
723 #   error "__cpp_lib_linalg should not be defined before c++26"
724 # endif
725
726 # ifdef __cpp_lib_list_remove_return_type
727 #   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
728 # endif
729
730 # ifdef __cpp_lib_logical_traits
731 #   error "__cpp_lib_logical_traits should not be defined before c++17"
732 # endif
733
734 # ifdef __cpp_lib_make_from_tuple
735 #   error "__cpp_lib_make_from_tuple should not be defined before c++17"
736 # endif
737
738 # ifdef __cpp_lib_make_reverse_iterator
739 #   error "__cpp_lib_make_reverse_iterator should not be defined before c++14"
740 # endif
741
742 # ifdef __cpp_lib_make_unique
743 #   error "__cpp_lib_make_unique should not be defined before c++14"
744 # endif
745
746 # ifdef __cpp_lib_map_try_emplace
747 #   error "__cpp_lib_map_try_emplace should not be defined before c++17"
748 # endif
749
750 # ifdef __cpp_lib_math_constants
751 #   error "__cpp_lib_math_constants should not be defined before c++20"
752 # endif
753
754 # ifdef __cpp_lib_math_special_functions
755 #   error "__cpp_lib_math_special_functions should not be defined before c++17"
756 # endif
757
758 # ifdef __cpp_lib_mdspan
759 #   error "__cpp_lib_mdspan should not be defined before c++23"
760 # endif
761
762 # ifdef __cpp_lib_memory_resource
763 #   error "__cpp_lib_memory_resource should not be defined before c++17"
764 # endif
765
766 # ifdef __cpp_lib_modules
767 #   error "__cpp_lib_modules should not be defined before c++23"
768 # endif
769
770 # ifdef __cpp_lib_move_iterator_concept
771 #   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
772 # endif
773
774 # ifdef __cpp_lib_move_only_function
775 #   error "__cpp_lib_move_only_function should not be defined before c++23"
776 # endif
777
778 # ifdef __cpp_lib_node_extract
779 #   error "__cpp_lib_node_extract should not be defined before c++17"
780 # endif
781
782 # ifdef __cpp_lib_nonmember_container_access
783 #   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
784 # endif
785
786 # ifdef __cpp_lib_not_fn
787 #   error "__cpp_lib_not_fn should not be defined before c++17"
788 # endif
789
790 # ifdef __cpp_lib_null_iterators
791 #   error "__cpp_lib_null_iterators should not be defined before c++14"
792 # endif
793
794 # ifdef __cpp_lib_optional
795 #   error "__cpp_lib_optional should not be defined before c++17"
796 # endif
797
798 # ifdef __cpp_lib_optional_range_support
799 #   error "__cpp_lib_optional_range_support should not be defined before c++26"
800 # endif
801
802 # ifdef __cpp_lib_out_ptr
803 #   error "__cpp_lib_out_ptr should not be defined before c++23"
804 # endif
805
806 # ifdef __cpp_lib_parallel_algorithm
807 #   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
808 # endif
809
810 # ifdef __cpp_lib_philox_engine
811 #   error "__cpp_lib_philox_engine should not be defined before c++26"
812 # endif
813
814 # ifdef __cpp_lib_polymorphic_allocator
815 #   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
816 # endif
817
818 # ifdef __cpp_lib_print
819 #   error "__cpp_lib_print should not be defined before c++23"
820 # endif
821
822 # ifdef __cpp_lib_quoted_string_io
823 #   error "__cpp_lib_quoted_string_io should not be defined before c++14"
824 # endif
825
826 # ifdef __cpp_lib_ranges
827 #   error "__cpp_lib_ranges should not be defined before c++20"
828 # endif
829
830 # ifdef __cpp_lib_ranges_as_const
831 #   error "__cpp_lib_ranges_as_const should not be defined before c++23"
832 # endif
833
834 # ifdef __cpp_lib_ranges_as_rvalue
835 #   error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
836 # endif
837
838 # ifdef __cpp_lib_ranges_chunk
839 #   error "__cpp_lib_ranges_chunk should not be defined before c++23"
840 # endif
841
842 # ifdef __cpp_lib_ranges_chunk_by
843 #   error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
844 # endif
845
846 # ifdef __cpp_lib_ranges_concat
847 #   error "__cpp_lib_ranges_concat should not be defined before c++26"
848 # endif
849
850 # ifdef __cpp_lib_ranges_contains
851 #   error "__cpp_lib_ranges_contains should not be defined before c++23"
852 # endif
853
854 # ifdef __cpp_lib_ranges_find_last
855 #   error "__cpp_lib_ranges_find_last should not be defined before c++23"
856 # endif
857
858 # ifdef __cpp_lib_ranges_iota
859 #   error "__cpp_lib_ranges_iota should not be defined before c++23"
860 # endif
861
862 # ifdef __cpp_lib_ranges_join_with
863 #   error "__cpp_lib_ranges_join_with should not be defined before c++23"
864 # endif
865
866 # ifdef __cpp_lib_ranges_repeat
867 #   error "__cpp_lib_ranges_repeat should not be defined before c++23"
868 # endif
869
870 # ifdef __cpp_lib_ranges_slide
871 #   error "__cpp_lib_ranges_slide should not be defined before c++23"
872 # endif
873
874 # ifdef __cpp_lib_ranges_starts_ends_with
875 #   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
876 # endif
877
878 # ifdef __cpp_lib_ranges_to_container
879 #   error "__cpp_lib_ranges_to_container should not be defined before c++23"
880 # endif
881
882 # ifdef __cpp_lib_ranges_zip
883 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
884 # endif
885
886 # ifdef __cpp_lib_ratio
887 #   error "__cpp_lib_ratio should not be defined before c++26"
888 # endif
889
890 # ifdef __cpp_lib_raw_memory_algorithms
891 #   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
892 # endif
893
894 # ifdef __cpp_lib_rcu
895 #   error "__cpp_lib_rcu should not be defined before c++26"
896 # endif
897
898 # ifdef __cpp_lib_reference_from_temporary
899 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
900 # endif
901
902 # ifdef __cpp_lib_reference_wrapper
903 #   error "__cpp_lib_reference_wrapper should not be defined before c++26"
904 # endif
905
906 # ifdef __cpp_lib_remove_cvref
907 #   error "__cpp_lib_remove_cvref should not be defined before c++20"
908 # endif
909
910 # ifdef __cpp_lib_result_of_sfinae
911 #   error "__cpp_lib_result_of_sfinae should not be defined before c++14"
912 # endif
913
914 # ifdef __cpp_lib_robust_nonmodifying_seq_ops
915 #   error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"
916 # endif
917
918 # ifdef __cpp_lib_sample
919 #   error "__cpp_lib_sample should not be defined before c++17"
920 # endif
921
922 # ifdef __cpp_lib_saturation_arithmetic
923 #   error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
924 # endif
925
926 # ifdef __cpp_lib_scoped_lock
927 #   error "__cpp_lib_scoped_lock should not be defined before c++17"
928 # endif
929
930 # ifdef __cpp_lib_semaphore
931 #   error "__cpp_lib_semaphore should not be defined before c++20"
932 # endif
933
934 # ifdef __cpp_lib_senders
935 #   error "__cpp_lib_senders should not be defined before c++26"
936 # endif
937
938 # ifdef __cpp_lib_shared_mutex
939 #   error "__cpp_lib_shared_mutex should not be defined before c++17"
940 # endif
941
942 # ifdef __cpp_lib_shared_ptr_arrays
943 #   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
944 # endif
945
946 # ifdef __cpp_lib_shared_ptr_weak_type
947 #   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
948 # endif
949
950 # ifdef __cpp_lib_shared_timed_mutex
951 #   error "__cpp_lib_shared_timed_mutex should not be defined before c++14"
952 # endif
953
954 # ifdef __cpp_lib_shift
955 #   error "__cpp_lib_shift should not be defined before c++20"
956 # endif
957
958 # ifdef __cpp_lib_smart_ptr_for_overwrite
959 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
960 # endif
961
962 # ifdef __cpp_lib_smart_ptr_owner_equality
963 #   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
964 # endif
965
966 # ifdef __cpp_lib_source_location
967 #   error "__cpp_lib_source_location should not be defined before c++20"
968 # endif
969
970 # ifdef __cpp_lib_span
971 #   error "__cpp_lib_span should not be defined before c++20"
972 # endif
973
974 # ifdef __cpp_lib_span_at
975 #   error "__cpp_lib_span_at should not be defined before c++26"
976 # endif
977
978 # ifdef __cpp_lib_span_initializer_list
979 #   error "__cpp_lib_span_initializer_list should not be defined before c++26"
980 # endif
981
982 # ifdef __cpp_lib_spanstream
983 #   error "__cpp_lib_spanstream should not be defined before c++23"
984 # endif
985
986 # ifdef __cpp_lib_ssize
987 #   error "__cpp_lib_ssize should not be defined before c++20"
988 # endif
989
990 # ifdef __cpp_lib_sstream_from_string_view
991 #   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
992 # endif
993
994 # ifdef __cpp_lib_stacktrace
995 #   error "__cpp_lib_stacktrace should not be defined before c++23"
996 # endif
997
998 # ifdef __cpp_lib_starts_ends_with
999 #   error "__cpp_lib_starts_ends_with should not be defined before c++20"
1000 # endif
1001
1002 # ifdef __cpp_lib_stdatomic_h
1003 #   error "__cpp_lib_stdatomic_h should not be defined before c++23"
1004 # endif
1005
1006 # ifdef __cpp_lib_string_contains
1007 #   error "__cpp_lib_string_contains should not be defined before c++23"
1008 # endif
1009
1010 # ifdef __cpp_lib_string_resize_and_overwrite
1011 #   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1012 # endif
1013
1014 # ifdef __cpp_lib_string_udls
1015 #   error "__cpp_lib_string_udls should not be defined before c++14"
1016 # endif
1017
1018 # ifdef __cpp_lib_string_view
1019 #   error "__cpp_lib_string_view should not be defined before c++17"
1020 # endif
1021
1022 # ifdef __cpp_lib_submdspan
1023 #   error "__cpp_lib_submdspan should not be defined before c++26"
1024 # endif
1025
1026 # ifdef __cpp_lib_syncbuf
1027 #   error "__cpp_lib_syncbuf should not be defined before c++20"
1028 # endif
1029
1030 # ifdef __cpp_lib_text_encoding
1031 #   error "__cpp_lib_text_encoding should not be defined before c++26"
1032 # endif
1033
1034 # ifdef __cpp_lib_three_way_comparison
1035 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
1036 # endif
1037
1038 # ifdef __cpp_lib_to_address
1039 #   error "__cpp_lib_to_address should not be defined before c++20"
1040 # endif
1041
1042 # ifdef __cpp_lib_to_array
1043 #   error "__cpp_lib_to_array should not be defined before c++20"
1044 # endif
1045
1046 # ifdef __cpp_lib_to_chars
1047 #   error "__cpp_lib_to_chars should not be defined before c++17"
1048 # endif
1049
1050 # ifdef __cpp_lib_to_string
1051 #   error "__cpp_lib_to_string should not be defined before c++26"
1052 # endif
1053
1054 # ifdef __cpp_lib_to_underlying
1055 #   error "__cpp_lib_to_underlying should not be defined before c++23"
1056 # endif
1057
1058 # ifdef __cpp_lib_transformation_trait_aliases
1059 #   error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"
1060 # endif
1061
1062 # ifdef __cpp_lib_transparent_operators
1063 #   error "__cpp_lib_transparent_operators should not be defined before c++14"
1064 # endif
1065
1066 # ifdef __cpp_lib_tuple_element_t
1067 #   error "__cpp_lib_tuple_element_t should not be defined before c++14"
1068 # endif
1069
1070 # ifdef __cpp_lib_tuple_like
1071 #   error "__cpp_lib_tuple_like should not be defined before c++23"
1072 # endif
1073
1074 # ifdef __cpp_lib_tuples_by_type
1075 #   error "__cpp_lib_tuples_by_type should not be defined before c++14"
1076 # endif
1077
1078 # ifdef __cpp_lib_type_identity
1079 #   error "__cpp_lib_type_identity should not be defined before c++20"
1080 # endif
1081
1082 # ifdef __cpp_lib_type_trait_variable_templates
1083 #   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
1084 # endif
1085
1086 # ifdef __cpp_lib_uncaught_exceptions
1087 #   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
1088 # endif
1089
1090 # ifdef __cpp_lib_unordered_map_try_emplace
1091 #   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
1092 # endif
1093
1094 # ifdef __cpp_lib_unreachable
1095 #   error "__cpp_lib_unreachable should not be defined before c++23"
1096 # endif
1097
1098 # ifdef __cpp_lib_unwrap_ref
1099 #   error "__cpp_lib_unwrap_ref should not be defined before c++20"
1100 # endif
1101
1102 # ifdef __cpp_lib_variant
1103 #   error "__cpp_lib_variant should not be defined before c++17"
1104 # endif
1105
1106 # ifdef __cpp_lib_void_t
1107 #   error "__cpp_lib_void_t should not be defined before c++17"
1108 # endif
1109
1110 #elif TEST_STD_VER == 14
1111
1112 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
1113 #   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
1114 # endif
1115
1116 # ifdef __cpp_lib_addressof_constexpr
1117 #   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
1118 # endif
1119
1120 # ifdef __cpp_lib_allocate_at_least
1121 #   error "__cpp_lib_allocate_at_least should not be defined before c++23"
1122 # endif
1123
1124 # ifdef __cpp_lib_allocator_traits_is_always_equal
1125 #   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
1126 # endif
1127
1128 # ifdef __cpp_lib_any
1129 #   error "__cpp_lib_any should not be defined before c++17"
1130 # endif
1131
1132 # ifdef __cpp_lib_apply
1133 #   error "__cpp_lib_apply should not be defined before c++17"
1134 # endif
1135
1136 # ifdef __cpp_lib_array_constexpr
1137 #   error "__cpp_lib_array_constexpr should not be defined before c++17"
1138 # endif
1139
1140 # ifdef __cpp_lib_as_const
1141 #   error "__cpp_lib_as_const should not be defined before c++17"
1142 # endif
1143
1144 # ifdef __cpp_lib_associative_heterogeneous_erasure
1145 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
1146 # endif
1147
1148 # ifdef __cpp_lib_associative_heterogeneous_insertion
1149 #   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
1150 # endif
1151
1152 # ifdef __cpp_lib_assume_aligned
1153 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
1154 # endif
1155
1156 # ifdef __cpp_lib_atomic_flag_test
1157 #   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
1158 # endif
1159
1160 # ifdef __cpp_lib_atomic_float
1161 #   error "__cpp_lib_atomic_float should not be defined before c++20"
1162 # endif
1163
1164 # ifdef __cpp_lib_atomic_is_always_lock_free
1165 #   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
1166 # endif
1167
1168 # ifdef __cpp_lib_atomic_lock_free_type_aliases
1169 #   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
1170 # endif
1171
1172 # ifdef __cpp_lib_atomic_min_max
1173 #   error "__cpp_lib_atomic_min_max should not be defined before c++26"
1174 # endif
1175
1176 # ifdef __cpp_lib_atomic_ref
1177 #   error "__cpp_lib_atomic_ref should not be defined before c++20"
1178 # endif
1179
1180 # ifdef __cpp_lib_atomic_shared_ptr
1181 #   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
1182 # endif
1183
1184 # ifdef __cpp_lib_atomic_value_initialization
1185 #   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
1186 # endif
1187
1188 # ifdef __cpp_lib_atomic_wait
1189 #   error "__cpp_lib_atomic_wait should not be defined before c++20"
1190 # endif
1191
1192 # ifdef __cpp_lib_barrier
1193 #   error "__cpp_lib_barrier should not be defined before c++20"
1194 # endif
1195
1196 # ifdef __cpp_lib_bind_back
1197 #   error "__cpp_lib_bind_back should not be defined before c++23"
1198 # endif
1199
1200 # ifdef __cpp_lib_bind_front
1201 #   error "__cpp_lib_bind_front should not be defined before c++20"
1202 # endif
1203
1204 # ifdef __cpp_lib_bit_cast
1205 #   error "__cpp_lib_bit_cast should not be defined before c++20"
1206 # endif
1207
1208 # ifdef __cpp_lib_bitops
1209 #   error "__cpp_lib_bitops should not be defined before c++20"
1210 # endif
1211
1212 # ifdef __cpp_lib_bitset
1213 #   error "__cpp_lib_bitset should not be defined before c++26"
1214 # endif
1215
1216 # ifdef __cpp_lib_bool_constant
1217 #   error "__cpp_lib_bool_constant should not be defined before c++17"
1218 # endif
1219
1220 # ifdef __cpp_lib_bounded_array_traits
1221 #   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
1222 # endif
1223
1224 # ifdef __cpp_lib_boyer_moore_searcher
1225 #   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
1226 # endif
1227
1228 # ifdef __cpp_lib_byte
1229 #   error "__cpp_lib_byte should not be defined before c++17"
1230 # endif
1231
1232 # ifdef __cpp_lib_byteswap
1233 #   error "__cpp_lib_byteswap should not be defined before c++23"
1234 # endif
1235
1236 # ifdef __cpp_lib_char8_t
1237 #   error "__cpp_lib_char8_t should not be defined before c++20"
1238 # endif
1239
1240 # ifdef __cpp_lib_chrono
1241 #   error "__cpp_lib_chrono should not be defined before c++17"
1242 # endif
1243
1244 # ifndef __cpp_lib_chrono_udls
1245 #   error "__cpp_lib_chrono_udls should be defined in c++14"
1246 # endif
1247 # if __cpp_lib_chrono_udls != 201304L
1248 #   error "__cpp_lib_chrono_udls should have the value 201304L in c++14"
1249 # endif
1250
1251 # ifdef __cpp_lib_clamp
1252 #   error "__cpp_lib_clamp should not be defined before c++17"
1253 # endif
1254
1255 # ifndef __cpp_lib_complex_udls
1256 #   error "__cpp_lib_complex_udls should be defined in c++14"
1257 # endif
1258 # if __cpp_lib_complex_udls != 201309L
1259 #   error "__cpp_lib_complex_udls should have the value 201309L in c++14"
1260 # endif
1261
1262 # ifdef __cpp_lib_concepts
1263 #   error "__cpp_lib_concepts should not be defined before c++20"
1264 # endif
1265
1266 # ifdef __cpp_lib_constexpr_algorithms
1267 #   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
1268 # endif
1269
1270 # ifdef __cpp_lib_constexpr_bitset
1271 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
1272 # endif
1273
1274 # ifdef __cpp_lib_constexpr_charconv
1275 #   error "__cpp_lib_constexpr_charconv should not be defined before c++23"
1276 # endif
1277
1278 # ifdef __cpp_lib_constexpr_cmath
1279 #   error "__cpp_lib_constexpr_cmath should not be defined before c++23"
1280 # endif
1281
1282 # ifdef __cpp_lib_constexpr_complex
1283 #   error "__cpp_lib_constexpr_complex should not be defined before c++20"
1284 # endif
1285
1286 # ifdef __cpp_lib_constexpr_dynamic_alloc
1287 #   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
1288 # endif
1289
1290 # ifdef __cpp_lib_constexpr_functional
1291 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
1292 # endif
1293
1294 # ifdef __cpp_lib_constexpr_iterator
1295 #   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
1296 # endif
1297
1298 # ifdef __cpp_lib_constexpr_memory
1299 #   error "__cpp_lib_constexpr_memory should not be defined before c++20"
1300 # endif
1301
1302 # ifdef __cpp_lib_constexpr_new
1303 #   error "__cpp_lib_constexpr_new should not be defined before c++26"
1304 # endif
1305
1306 # ifdef __cpp_lib_constexpr_numeric
1307 #   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
1308 # endif
1309
1310 # ifdef __cpp_lib_constexpr_string
1311 #   error "__cpp_lib_constexpr_string should not be defined before c++20"
1312 # endif
1313
1314 # ifdef __cpp_lib_constexpr_string_view
1315 #   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
1316 # endif
1317
1318 # ifdef __cpp_lib_constexpr_tuple
1319 #   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
1320 # endif
1321
1322 # ifdef __cpp_lib_constexpr_typeinfo
1323 #   error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
1324 # endif
1325
1326 # ifdef __cpp_lib_constexpr_utility
1327 #   error "__cpp_lib_constexpr_utility should not be defined before c++20"
1328 # endif
1329
1330 # ifdef __cpp_lib_constexpr_vector
1331 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
1332 # endif
1333
1334 # ifdef __cpp_lib_constrained_equality
1335 #   error "__cpp_lib_constrained_equality should not be defined before c++26"
1336 # endif
1337
1338 # ifdef __cpp_lib_containers_ranges
1339 #   error "__cpp_lib_containers_ranges should not be defined before c++23"
1340 # endif
1341
1342 # ifdef __cpp_lib_copyable_function
1343 #   error "__cpp_lib_copyable_function should not be defined before c++26"
1344 # endif
1345
1346 # ifdef __cpp_lib_coroutine
1347 #   error "__cpp_lib_coroutine should not be defined before c++20"
1348 # endif
1349
1350 # ifdef __cpp_lib_debugging
1351 #   error "__cpp_lib_debugging should not be defined before c++26"
1352 # endif
1353
1354 # ifdef __cpp_lib_default_template_type_for_algorithm_values
1355 #   error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
1356 # endif
1357
1358 # ifdef __cpp_lib_destroying_delete
1359 #   error "__cpp_lib_destroying_delete should not be defined before c++20"
1360 # endif
1361
1362 # ifdef __cpp_lib_enable_shared_from_this
1363 #   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
1364 # endif
1365
1366 # ifdef __cpp_lib_endian
1367 #   error "__cpp_lib_endian should not be defined before c++20"
1368 # endif
1369
1370 # ifdef __cpp_lib_erase_if
1371 #   error "__cpp_lib_erase_if should not be defined before c++20"
1372 # endif
1373
1374 # ifndef __cpp_lib_exchange_function
1375 #   error "__cpp_lib_exchange_function should be defined in c++14"
1376 # endif
1377 # if __cpp_lib_exchange_function != 201304L
1378 #   error "__cpp_lib_exchange_function should have the value 201304L in c++14"
1379 # endif
1380
1381 # ifdef __cpp_lib_execution
1382 #   error "__cpp_lib_execution should not be defined before c++17"
1383 # endif
1384
1385 # ifdef __cpp_lib_expected
1386 #   error "__cpp_lib_expected should not be defined before c++23"
1387 # endif
1388
1389 # ifdef __cpp_lib_filesystem
1390 #   error "__cpp_lib_filesystem should not be defined before c++17"
1391 # endif
1392
1393 # ifdef __cpp_lib_format
1394 #   error "__cpp_lib_format should not be defined before c++20"
1395 # endif
1396
1397 # ifdef __cpp_lib_format_path
1398 #   error "__cpp_lib_format_path should not be defined before c++26"
1399 # endif
1400
1401 # ifdef __cpp_lib_format_ranges
1402 #   error "__cpp_lib_format_ranges should not be defined before c++23"
1403 # endif
1404
1405 # ifdef __cpp_lib_format_uchar
1406 #   error "__cpp_lib_format_uchar should not be defined before c++20"
1407 # endif
1408
1409 # ifdef __cpp_lib_formatters
1410 #   error "__cpp_lib_formatters should not be defined before c++23"
1411 # endif
1412
1413 # ifdef __cpp_lib_forward_like
1414 #   error "__cpp_lib_forward_like should not be defined before c++23"
1415 # endif
1416
1417 # ifdef __cpp_lib_freestanding_algorithm
1418 #   error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
1419 # endif
1420
1421 # ifdef __cpp_lib_freestanding_array
1422 #   error "__cpp_lib_freestanding_array should not be defined before c++26"
1423 # endif
1424
1425 # ifdef __cpp_lib_freestanding_cstring
1426 #   error "__cpp_lib_freestanding_cstring should not be defined before c++26"
1427 # endif
1428
1429 # ifdef __cpp_lib_freestanding_expected
1430 #   error "__cpp_lib_freestanding_expected should not be defined before c++26"
1431 # endif
1432
1433 # ifdef __cpp_lib_freestanding_mdspan
1434 #   error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
1435 # endif
1436
1437 # ifdef __cpp_lib_freestanding_optional
1438 #   error "__cpp_lib_freestanding_optional should not be defined before c++26"
1439 # endif
1440
1441 # ifdef __cpp_lib_freestanding_string_view
1442 #   error "__cpp_lib_freestanding_string_view should not be defined before c++26"
1443 # endif
1444
1445 # ifdef __cpp_lib_freestanding_variant
1446 #   error "__cpp_lib_freestanding_variant should not be defined before c++26"
1447 # endif
1448
1449 # ifdef __cpp_lib_fstream_native_handle
1450 #   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
1451 # endif
1452
1453 # ifdef __cpp_lib_function_ref
1454 #   error "__cpp_lib_function_ref should not be defined before c++26"
1455 # endif
1456
1457 # ifdef __cpp_lib_gcd_lcm
1458 #   error "__cpp_lib_gcd_lcm should not be defined before c++17"
1459 # endif
1460
1461 # ifdef __cpp_lib_generate_random
1462 #   error "__cpp_lib_generate_random should not be defined before c++26"
1463 # endif
1464
1465 # ifndef __cpp_lib_generic_associative_lookup
1466 #   error "__cpp_lib_generic_associative_lookup should be defined in c++14"
1467 # endif
1468 # if __cpp_lib_generic_associative_lookup != 201304L
1469 #   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"
1470 # endif
1471
1472 # ifdef __cpp_lib_generic_unordered_lookup
1473 #   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
1474 # endif
1475
1476 # ifdef __cpp_lib_hardware_interference_size
1477 #   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
1478 # endif
1479
1480 # ifdef __cpp_lib_has_unique_object_representations
1481 #   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
1482 # endif
1483
1484 # ifdef __cpp_lib_hazard_pointer
1485 #   error "__cpp_lib_hazard_pointer should not be defined before c++26"
1486 # endif
1487
1488 # ifdef __cpp_lib_hypot
1489 #   error "__cpp_lib_hypot should not be defined before c++17"
1490 # endif
1491
1492 # ifdef __cpp_lib_incomplete_container_elements
1493 #   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
1494 # endif
1495
1496 # ifdef __cpp_lib_inplace_vector
1497 #   error "__cpp_lib_inplace_vector should not be defined before c++26"
1498 # endif
1499
1500 # ifdef __cpp_lib_int_pow2
1501 #   error "__cpp_lib_int_pow2 should not be defined before c++20"
1502 # endif
1503
1504 # ifdef __cpp_lib_integer_comparison_functions
1505 #   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
1506 # endif
1507
1508 # ifndef __cpp_lib_integer_sequence
1509 #   error "__cpp_lib_integer_sequence should be defined in c++14"
1510 # endif
1511 # if __cpp_lib_integer_sequence != 201304L
1512 #   error "__cpp_lib_integer_sequence should have the value 201304L in c++14"
1513 # endif
1514
1515 # ifndef __cpp_lib_integral_constant_callable
1516 #   error "__cpp_lib_integral_constant_callable should be defined in c++14"
1517 # endif
1518 # if __cpp_lib_integral_constant_callable != 201304L
1519 #   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"
1520 # endif
1521
1522 # ifdef __cpp_lib_interpolate
1523 #   error "__cpp_lib_interpolate should not be defined before c++20"
1524 # endif
1525
1526 # ifdef __cpp_lib_invoke
1527 #   error "__cpp_lib_invoke should not be defined before c++17"
1528 # endif
1529
1530 # ifdef __cpp_lib_invoke_r
1531 #   error "__cpp_lib_invoke_r should not be defined before c++23"
1532 # endif
1533
1534 # ifdef __cpp_lib_ios_noreplace
1535 #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
1536 # endif
1537
1538 # ifdef __cpp_lib_is_aggregate
1539 #   error "__cpp_lib_is_aggregate should not be defined before c++17"
1540 # endif
1541
1542 # ifdef __cpp_lib_is_constant_evaluated
1543 #   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
1544 # endif
1545
1546 # ifndef __cpp_lib_is_final
1547 #   error "__cpp_lib_is_final should be defined in c++14"
1548 # endif
1549 # if __cpp_lib_is_final != 201402L
1550 #   error "__cpp_lib_is_final should have the value 201402L in c++14"
1551 # endif
1552
1553 # ifdef __cpp_lib_is_invocable
1554 #   error "__cpp_lib_is_invocable should not be defined before c++17"
1555 # endif
1556
1557 # ifdef __cpp_lib_is_layout_compatible
1558 #   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
1559 # endif
1560
1561 # ifdef __cpp_lib_is_nothrow_convertible
1562 #   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
1563 # endif
1564
1565 # ifndef __cpp_lib_is_null_pointer
1566 #   error "__cpp_lib_is_null_pointer should be defined in c++14"
1567 # endif
1568 # if __cpp_lib_is_null_pointer != 201309L
1569 #   error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"
1570 # endif
1571
1572 # ifdef __cpp_lib_is_pointer_interconvertible
1573 #   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
1574 # endif
1575
1576 # ifdef __cpp_lib_is_scoped_enum
1577 #   error "__cpp_lib_is_scoped_enum should not be defined before c++23"
1578 # endif
1579
1580 # ifdef __cpp_lib_is_swappable
1581 #   error "__cpp_lib_is_swappable should not be defined before c++17"
1582 # endif
1583
1584 # ifdef __cpp_lib_is_virtual_base_of
1585 #   error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
1586 # endif
1587
1588 # ifdef __cpp_lib_is_within_lifetime
1589 #   error "__cpp_lib_is_within_lifetime should not be defined before c++26"
1590 # endif
1591
1592 # ifdef __cpp_lib_jthread
1593 #   error "__cpp_lib_jthread should not be defined before c++20"
1594 # endif
1595
1596 # ifdef __cpp_lib_latch
1597 #   error "__cpp_lib_latch should not be defined before c++20"
1598 # endif
1599
1600 # ifdef __cpp_lib_launder
1601 #   error "__cpp_lib_launder should not be defined before c++17"
1602 # endif
1603
1604 # ifdef __cpp_lib_linalg
1605 #   error "__cpp_lib_linalg should not be defined before c++26"
1606 # endif
1607
1608 # ifdef __cpp_lib_list_remove_return_type
1609 #   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
1610 # endif
1611
1612 # ifdef __cpp_lib_logical_traits
1613 #   error "__cpp_lib_logical_traits should not be defined before c++17"
1614 # endif
1615
1616 # ifdef __cpp_lib_make_from_tuple
1617 #   error "__cpp_lib_make_from_tuple should not be defined before c++17"
1618 # endif
1619
1620 # ifndef __cpp_lib_make_reverse_iterator
1621 #   error "__cpp_lib_make_reverse_iterator should be defined in c++14"
1622 # endif
1623 # if __cpp_lib_make_reverse_iterator != 201402L
1624 #   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"
1625 # endif
1626
1627 # ifndef __cpp_lib_make_unique
1628 #   error "__cpp_lib_make_unique should be defined in c++14"
1629 # endif
1630 # if __cpp_lib_make_unique != 201304L
1631 #   error "__cpp_lib_make_unique should have the value 201304L in c++14"
1632 # endif
1633
1634 # ifdef __cpp_lib_map_try_emplace
1635 #   error "__cpp_lib_map_try_emplace should not be defined before c++17"
1636 # endif
1637
1638 # ifdef __cpp_lib_math_constants
1639 #   error "__cpp_lib_math_constants should not be defined before c++20"
1640 # endif
1641
1642 # ifdef __cpp_lib_math_special_functions
1643 #   error "__cpp_lib_math_special_functions should not be defined before c++17"
1644 # endif
1645
1646 # ifdef __cpp_lib_mdspan
1647 #   error "__cpp_lib_mdspan should not be defined before c++23"
1648 # endif
1649
1650 # ifdef __cpp_lib_memory_resource
1651 #   error "__cpp_lib_memory_resource should not be defined before c++17"
1652 # endif
1653
1654 # ifdef __cpp_lib_modules
1655 #   error "__cpp_lib_modules should not be defined before c++23"
1656 # endif
1657
1658 # ifdef __cpp_lib_move_iterator_concept
1659 #   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
1660 # endif
1661
1662 # ifdef __cpp_lib_move_only_function
1663 #   error "__cpp_lib_move_only_function should not be defined before c++23"
1664 # endif
1665
1666 # ifdef __cpp_lib_node_extract
1667 #   error "__cpp_lib_node_extract should not be defined before c++17"
1668 # endif
1669
1670 # ifdef __cpp_lib_nonmember_container_access
1671 #   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
1672 # endif
1673
1674 # ifdef __cpp_lib_not_fn
1675 #   error "__cpp_lib_not_fn should not be defined before c++17"
1676 # endif
1677
1678 # ifndef __cpp_lib_null_iterators
1679 #   error "__cpp_lib_null_iterators should be defined in c++14"
1680 # endif
1681 # if __cpp_lib_null_iterators != 201304L
1682 #   error "__cpp_lib_null_iterators should have the value 201304L in c++14"
1683 # endif
1684
1685 # ifdef __cpp_lib_optional
1686 #   error "__cpp_lib_optional should not be defined before c++17"
1687 # endif
1688
1689 # ifdef __cpp_lib_optional_range_support
1690 #   error "__cpp_lib_optional_range_support should not be defined before c++26"
1691 # endif
1692
1693 # ifdef __cpp_lib_out_ptr
1694 #   error "__cpp_lib_out_ptr should not be defined before c++23"
1695 # endif
1696
1697 # ifdef __cpp_lib_parallel_algorithm
1698 #   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
1699 # endif
1700
1701 # ifdef __cpp_lib_philox_engine
1702 #   error "__cpp_lib_philox_engine should not be defined before c++26"
1703 # endif
1704
1705 # ifdef __cpp_lib_polymorphic_allocator
1706 #   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
1707 # endif
1708
1709 # ifdef __cpp_lib_print
1710 #   error "__cpp_lib_print should not be defined before c++23"
1711 # endif
1712
1713 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
1714 #   ifndef __cpp_lib_quoted_string_io
1715 #     error "__cpp_lib_quoted_string_io should be defined in c++14"
1716 #   endif
1717 #   if __cpp_lib_quoted_string_io != 201304L
1718 #     error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"
1719 #   endif
1720 # else
1721 #   ifdef __cpp_lib_quoted_string_io
1722 #     error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
1723 #   endif
1724 # endif
1725
1726 # ifdef __cpp_lib_ranges
1727 #   error "__cpp_lib_ranges should not be defined before c++20"
1728 # endif
1729
1730 # ifdef __cpp_lib_ranges_as_const
1731 #   error "__cpp_lib_ranges_as_const should not be defined before c++23"
1732 # endif
1733
1734 # ifdef __cpp_lib_ranges_as_rvalue
1735 #   error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
1736 # endif
1737
1738 # ifdef __cpp_lib_ranges_chunk
1739 #   error "__cpp_lib_ranges_chunk should not be defined before c++23"
1740 # endif
1741
1742 # ifdef __cpp_lib_ranges_chunk_by
1743 #   error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
1744 # endif
1745
1746 # ifdef __cpp_lib_ranges_concat
1747 #   error "__cpp_lib_ranges_concat should not be defined before c++26"
1748 # endif
1749
1750 # ifdef __cpp_lib_ranges_contains
1751 #   error "__cpp_lib_ranges_contains should not be defined before c++23"
1752 # endif
1753
1754 # ifdef __cpp_lib_ranges_find_last
1755 #   error "__cpp_lib_ranges_find_last should not be defined before c++23"
1756 # endif
1757
1758 # ifdef __cpp_lib_ranges_iota
1759 #   error "__cpp_lib_ranges_iota should not be defined before c++23"
1760 # endif
1761
1762 # ifdef __cpp_lib_ranges_join_with
1763 #   error "__cpp_lib_ranges_join_with should not be defined before c++23"
1764 # endif
1765
1766 # ifdef __cpp_lib_ranges_repeat
1767 #   error "__cpp_lib_ranges_repeat should not be defined before c++23"
1768 # endif
1769
1770 # ifdef __cpp_lib_ranges_slide
1771 #   error "__cpp_lib_ranges_slide should not be defined before c++23"
1772 # endif
1773
1774 # ifdef __cpp_lib_ranges_starts_ends_with
1775 #   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
1776 # endif
1777
1778 # ifdef __cpp_lib_ranges_to_container
1779 #   error "__cpp_lib_ranges_to_container should not be defined before c++23"
1780 # endif
1781
1782 # ifdef __cpp_lib_ranges_zip
1783 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
1784 # endif
1785
1786 # ifdef __cpp_lib_ratio
1787 #   error "__cpp_lib_ratio should not be defined before c++26"
1788 # endif
1789
1790 # ifdef __cpp_lib_raw_memory_algorithms
1791 #   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
1792 # endif
1793
1794 # ifdef __cpp_lib_rcu
1795 #   error "__cpp_lib_rcu should not be defined before c++26"
1796 # endif
1797
1798 # ifdef __cpp_lib_reference_from_temporary
1799 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
1800 # endif
1801
1802 # ifdef __cpp_lib_reference_wrapper
1803 #   error "__cpp_lib_reference_wrapper should not be defined before c++26"
1804 # endif
1805
1806 # ifdef __cpp_lib_remove_cvref
1807 #   error "__cpp_lib_remove_cvref should not be defined before c++20"
1808 # endif
1809
1810 # ifndef __cpp_lib_result_of_sfinae
1811 #   error "__cpp_lib_result_of_sfinae should be defined in c++14"
1812 # endif
1813 # if __cpp_lib_result_of_sfinae != 201210L
1814 #   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"
1815 # endif
1816
1817 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
1818 #   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"
1819 # endif
1820 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
1821 #   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"
1822 # endif
1823
1824 # ifdef __cpp_lib_sample
1825 #   error "__cpp_lib_sample should not be defined before c++17"
1826 # endif
1827
1828 # ifdef __cpp_lib_saturation_arithmetic
1829 #   error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
1830 # endif
1831
1832 # ifdef __cpp_lib_scoped_lock
1833 #   error "__cpp_lib_scoped_lock should not be defined before c++17"
1834 # endif
1835
1836 # ifdef __cpp_lib_semaphore
1837 #   error "__cpp_lib_semaphore should not be defined before c++20"
1838 # endif
1839
1840 # ifdef __cpp_lib_senders
1841 #   error "__cpp_lib_senders should not be defined before c++26"
1842 # endif
1843
1844 # ifdef __cpp_lib_shared_mutex
1845 #   error "__cpp_lib_shared_mutex should not be defined before c++17"
1846 # endif
1847
1848 # ifdef __cpp_lib_shared_ptr_arrays
1849 #   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
1850 # endif
1851
1852 # ifdef __cpp_lib_shared_ptr_weak_type
1853 #   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
1854 # endif
1855
1856 # if !defined(_LIBCPP_HAS_NO_THREADS)
1857 #   ifndef __cpp_lib_shared_timed_mutex
1858 #     error "__cpp_lib_shared_timed_mutex should be defined in c++14"
1859 #   endif
1860 #   if __cpp_lib_shared_timed_mutex != 201402L
1861 #     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"
1862 #   endif
1863 # else
1864 #   ifdef __cpp_lib_shared_timed_mutex
1865 #     error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
1866 #   endif
1867 # endif
1868
1869 # ifdef __cpp_lib_shift
1870 #   error "__cpp_lib_shift should not be defined before c++20"
1871 # endif
1872
1873 # ifdef __cpp_lib_smart_ptr_for_overwrite
1874 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
1875 # endif
1876
1877 # ifdef __cpp_lib_smart_ptr_owner_equality
1878 #   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
1879 # endif
1880
1881 # ifdef __cpp_lib_source_location
1882 #   error "__cpp_lib_source_location should not be defined before c++20"
1883 # endif
1884
1885 # ifdef __cpp_lib_span
1886 #   error "__cpp_lib_span should not be defined before c++20"
1887 # endif
1888
1889 # ifdef __cpp_lib_span_at
1890 #   error "__cpp_lib_span_at should not be defined before c++26"
1891 # endif
1892
1893 # ifdef __cpp_lib_span_initializer_list
1894 #   error "__cpp_lib_span_initializer_list should not be defined before c++26"
1895 # endif
1896
1897 # ifdef __cpp_lib_spanstream
1898 #   error "__cpp_lib_spanstream should not be defined before c++23"
1899 # endif
1900
1901 # ifdef __cpp_lib_ssize
1902 #   error "__cpp_lib_ssize should not be defined before c++20"
1903 # endif
1904
1905 # ifdef __cpp_lib_sstream_from_string_view
1906 #   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
1907 # endif
1908
1909 # ifdef __cpp_lib_stacktrace
1910 #   error "__cpp_lib_stacktrace should not be defined before c++23"
1911 # endif
1912
1913 # ifdef __cpp_lib_starts_ends_with
1914 #   error "__cpp_lib_starts_ends_with should not be defined before c++20"
1915 # endif
1916
1917 # ifdef __cpp_lib_stdatomic_h
1918 #   error "__cpp_lib_stdatomic_h should not be defined before c++23"
1919 # endif
1920
1921 # ifdef __cpp_lib_string_contains
1922 #   error "__cpp_lib_string_contains should not be defined before c++23"
1923 # endif
1924
1925 # ifdef __cpp_lib_string_resize_and_overwrite
1926 #   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
1927 # endif
1928
1929 # ifndef __cpp_lib_string_udls
1930 #   error "__cpp_lib_string_udls should be defined in c++14"
1931 # endif
1932 # if __cpp_lib_string_udls != 201304L
1933 #   error "__cpp_lib_string_udls should have the value 201304L in c++14"
1934 # endif
1935
1936 # ifdef __cpp_lib_string_view
1937 #   error "__cpp_lib_string_view should not be defined before c++17"
1938 # endif
1939
1940 # ifdef __cpp_lib_submdspan
1941 #   error "__cpp_lib_submdspan should not be defined before c++26"
1942 # endif
1943
1944 # ifdef __cpp_lib_syncbuf
1945 #   error "__cpp_lib_syncbuf should not be defined before c++20"
1946 # endif
1947
1948 # ifdef __cpp_lib_text_encoding
1949 #   error "__cpp_lib_text_encoding should not be defined before c++26"
1950 # endif
1951
1952 # ifdef __cpp_lib_three_way_comparison
1953 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
1954 # endif
1955
1956 # ifdef __cpp_lib_to_address
1957 #   error "__cpp_lib_to_address should not be defined before c++20"
1958 # endif
1959
1960 # ifdef __cpp_lib_to_array
1961 #   error "__cpp_lib_to_array should not be defined before c++20"
1962 # endif
1963
1964 # ifdef __cpp_lib_to_chars
1965 #   error "__cpp_lib_to_chars should not be defined before c++17"
1966 # endif
1967
1968 # ifdef __cpp_lib_to_string
1969 #   error "__cpp_lib_to_string should not be defined before c++26"
1970 # endif
1971
1972 # ifdef __cpp_lib_to_underlying
1973 #   error "__cpp_lib_to_underlying should not be defined before c++23"
1974 # endif
1975
1976 # ifndef __cpp_lib_transformation_trait_aliases
1977 #   error "__cpp_lib_transformation_trait_aliases should be defined in c++14"
1978 # endif
1979 # if __cpp_lib_transformation_trait_aliases != 201304L
1980 #   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"
1981 # endif
1982
1983 # ifndef __cpp_lib_transparent_operators
1984 #   error "__cpp_lib_transparent_operators should be defined in c++14"
1985 # endif
1986 # if __cpp_lib_transparent_operators != 201210L
1987 #   error "__cpp_lib_transparent_operators should have the value 201210L in c++14"
1988 # endif
1989
1990 # ifndef __cpp_lib_tuple_element_t
1991 #   error "__cpp_lib_tuple_element_t should be defined in c++14"
1992 # endif
1993 # if __cpp_lib_tuple_element_t != 201402L
1994 #   error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"
1995 # endif
1996
1997 # ifdef __cpp_lib_tuple_like
1998 #   error "__cpp_lib_tuple_like should not be defined before c++23"
1999 # endif
2000
2001 # ifndef __cpp_lib_tuples_by_type
2002 #   error "__cpp_lib_tuples_by_type should be defined in c++14"
2003 # endif
2004 # if __cpp_lib_tuples_by_type != 201304L
2005 #   error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"
2006 # endif
2007
2008 # ifdef __cpp_lib_type_identity
2009 #   error "__cpp_lib_type_identity should not be defined before c++20"
2010 # endif
2011
2012 # ifdef __cpp_lib_type_trait_variable_templates
2013 #   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
2014 # endif
2015
2016 # ifdef __cpp_lib_uncaught_exceptions
2017 #   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
2018 # endif
2019
2020 # ifdef __cpp_lib_unordered_map_try_emplace
2021 #   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
2022 # endif
2023
2024 # ifdef __cpp_lib_unreachable
2025 #   error "__cpp_lib_unreachable should not be defined before c++23"
2026 # endif
2027
2028 # ifdef __cpp_lib_unwrap_ref
2029 #   error "__cpp_lib_unwrap_ref should not be defined before c++20"
2030 # endif
2031
2032 # ifdef __cpp_lib_variant
2033 #   error "__cpp_lib_variant should not be defined before c++17"
2034 # endif
2035
2036 # ifdef __cpp_lib_void_t
2037 #   error "__cpp_lib_void_t should not be defined before c++17"
2038 # endif
2039
2040 #elif TEST_STD_VER == 17
2041
2042 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
2043 #   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
2044 # endif
2045
2046 # ifndef __cpp_lib_addressof_constexpr
2047 #   error "__cpp_lib_addressof_constexpr should be defined in c++17"
2048 # endif
2049 # if __cpp_lib_addressof_constexpr != 201603L
2050 #   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"
2051 # endif
2052
2053 # ifdef __cpp_lib_allocate_at_least
2054 #   error "__cpp_lib_allocate_at_least should not be defined before c++23"
2055 # endif
2056
2057 # ifndef __cpp_lib_allocator_traits_is_always_equal
2058 #   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"
2059 # endif
2060 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
2061 #   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"
2062 # endif
2063
2064 # ifndef __cpp_lib_any
2065 #   error "__cpp_lib_any should be defined in c++17"
2066 # endif
2067 # if __cpp_lib_any != 201606L
2068 #   error "__cpp_lib_any should have the value 201606L in c++17"
2069 # endif
2070
2071 # ifndef __cpp_lib_apply
2072 #   error "__cpp_lib_apply should be defined in c++17"
2073 # endif
2074 # if __cpp_lib_apply != 201603L
2075 #   error "__cpp_lib_apply should have the value 201603L in c++17"
2076 # endif
2077
2078 # ifndef __cpp_lib_array_constexpr
2079 #   error "__cpp_lib_array_constexpr should be defined in c++17"
2080 # endif
2081 # if __cpp_lib_array_constexpr != 201603L
2082 #   error "__cpp_lib_array_constexpr should have the value 201603L in c++17"
2083 # endif
2084
2085 # ifndef __cpp_lib_as_const
2086 #   error "__cpp_lib_as_const should be defined in c++17"
2087 # endif
2088 # if __cpp_lib_as_const != 201510L
2089 #   error "__cpp_lib_as_const should have the value 201510L in c++17"
2090 # endif
2091
2092 # ifdef __cpp_lib_associative_heterogeneous_erasure
2093 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
2094 # endif
2095
2096 # ifdef __cpp_lib_associative_heterogeneous_insertion
2097 #   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
2098 # endif
2099
2100 # ifdef __cpp_lib_assume_aligned
2101 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
2102 # endif
2103
2104 # ifdef __cpp_lib_atomic_flag_test
2105 #   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
2106 # endif
2107
2108 # ifdef __cpp_lib_atomic_float
2109 #   error "__cpp_lib_atomic_float should not be defined before c++20"
2110 # endif
2111
2112 # ifndef __cpp_lib_atomic_is_always_lock_free
2113 #   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"
2114 # endif
2115 # if __cpp_lib_atomic_is_always_lock_free != 201603L
2116 #   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"
2117 # endif
2118
2119 # ifdef __cpp_lib_atomic_lock_free_type_aliases
2120 #   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
2121 # endif
2122
2123 # ifdef __cpp_lib_atomic_min_max
2124 #   error "__cpp_lib_atomic_min_max should not be defined before c++26"
2125 # endif
2126
2127 # ifdef __cpp_lib_atomic_ref
2128 #   error "__cpp_lib_atomic_ref should not be defined before c++20"
2129 # endif
2130
2131 # ifdef __cpp_lib_atomic_shared_ptr
2132 #   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
2133 # endif
2134
2135 # ifdef __cpp_lib_atomic_value_initialization
2136 #   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
2137 # endif
2138
2139 # ifdef __cpp_lib_atomic_wait
2140 #   error "__cpp_lib_atomic_wait should not be defined before c++20"
2141 # endif
2142
2143 # ifdef __cpp_lib_barrier
2144 #   error "__cpp_lib_barrier should not be defined before c++20"
2145 # endif
2146
2147 # ifdef __cpp_lib_bind_back
2148 #   error "__cpp_lib_bind_back should not be defined before c++23"
2149 # endif
2150
2151 # ifdef __cpp_lib_bind_front
2152 #   error "__cpp_lib_bind_front should not be defined before c++20"
2153 # endif
2154
2155 # ifdef __cpp_lib_bit_cast
2156 #   error "__cpp_lib_bit_cast should not be defined before c++20"
2157 # endif
2158
2159 # ifdef __cpp_lib_bitops
2160 #   error "__cpp_lib_bitops should not be defined before c++20"
2161 # endif
2162
2163 # ifdef __cpp_lib_bitset
2164 #   error "__cpp_lib_bitset should not be defined before c++26"
2165 # endif
2166
2167 # ifndef __cpp_lib_bool_constant
2168 #   error "__cpp_lib_bool_constant should be defined in c++17"
2169 # endif
2170 # if __cpp_lib_bool_constant != 201505L
2171 #   error "__cpp_lib_bool_constant should have the value 201505L in c++17"
2172 # endif
2173
2174 # ifdef __cpp_lib_bounded_array_traits
2175 #   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
2176 # endif
2177
2178 # ifndef __cpp_lib_boyer_moore_searcher
2179 #   error "__cpp_lib_boyer_moore_searcher should be defined in c++17"
2180 # endif
2181 # if __cpp_lib_boyer_moore_searcher != 201603L
2182 #   error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"
2183 # endif
2184
2185 # ifndef __cpp_lib_byte
2186 #   error "__cpp_lib_byte should be defined in c++17"
2187 # endif
2188 # if __cpp_lib_byte != 201603L
2189 #   error "__cpp_lib_byte should have the value 201603L in c++17"
2190 # endif
2191
2192 # ifdef __cpp_lib_byteswap
2193 #   error "__cpp_lib_byteswap should not be defined before c++23"
2194 # endif
2195
2196 # ifdef __cpp_lib_char8_t
2197 #   error "__cpp_lib_char8_t should not be defined before c++20"
2198 # endif
2199
2200 # ifndef __cpp_lib_chrono
2201 #   error "__cpp_lib_chrono should be defined in c++17"
2202 # endif
2203 # if __cpp_lib_chrono != 201611L
2204 #   error "__cpp_lib_chrono should have the value 201611L in c++17"
2205 # endif
2206
2207 # ifndef __cpp_lib_chrono_udls
2208 #   error "__cpp_lib_chrono_udls should be defined in c++17"
2209 # endif
2210 # if __cpp_lib_chrono_udls != 201304L
2211 #   error "__cpp_lib_chrono_udls should have the value 201304L in c++17"
2212 # endif
2213
2214 # ifndef __cpp_lib_clamp
2215 #   error "__cpp_lib_clamp should be defined in c++17"
2216 # endif
2217 # if __cpp_lib_clamp != 201603L
2218 #   error "__cpp_lib_clamp should have the value 201603L in c++17"
2219 # endif
2220
2221 # ifndef __cpp_lib_complex_udls
2222 #   error "__cpp_lib_complex_udls should be defined in c++17"
2223 # endif
2224 # if __cpp_lib_complex_udls != 201309L
2225 #   error "__cpp_lib_complex_udls should have the value 201309L in c++17"
2226 # endif
2227
2228 # ifdef __cpp_lib_concepts
2229 #   error "__cpp_lib_concepts should not be defined before c++20"
2230 # endif
2231
2232 # ifdef __cpp_lib_constexpr_algorithms
2233 #   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
2234 # endif
2235
2236 # ifdef __cpp_lib_constexpr_bitset
2237 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
2238 # endif
2239
2240 # ifdef __cpp_lib_constexpr_charconv
2241 #   error "__cpp_lib_constexpr_charconv should not be defined before c++23"
2242 # endif
2243
2244 # ifdef __cpp_lib_constexpr_cmath
2245 #   error "__cpp_lib_constexpr_cmath should not be defined before c++23"
2246 # endif
2247
2248 # ifdef __cpp_lib_constexpr_complex
2249 #   error "__cpp_lib_constexpr_complex should not be defined before c++20"
2250 # endif
2251
2252 # ifdef __cpp_lib_constexpr_dynamic_alloc
2253 #   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
2254 # endif
2255
2256 # ifdef __cpp_lib_constexpr_functional
2257 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
2258 # endif
2259
2260 # ifdef __cpp_lib_constexpr_iterator
2261 #   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
2262 # endif
2263
2264 # ifdef __cpp_lib_constexpr_memory
2265 #   error "__cpp_lib_constexpr_memory should not be defined before c++20"
2266 # endif
2267
2268 # ifdef __cpp_lib_constexpr_new
2269 #   error "__cpp_lib_constexpr_new should not be defined before c++26"
2270 # endif
2271
2272 # ifdef __cpp_lib_constexpr_numeric
2273 #   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
2274 # endif
2275
2276 # ifdef __cpp_lib_constexpr_string
2277 #   error "__cpp_lib_constexpr_string should not be defined before c++20"
2278 # endif
2279
2280 # ifdef __cpp_lib_constexpr_string_view
2281 #   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
2282 # endif
2283
2284 # ifdef __cpp_lib_constexpr_tuple
2285 #   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
2286 # endif
2287
2288 # ifdef __cpp_lib_constexpr_typeinfo
2289 #   error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
2290 # endif
2291
2292 # ifdef __cpp_lib_constexpr_utility
2293 #   error "__cpp_lib_constexpr_utility should not be defined before c++20"
2294 # endif
2295
2296 # ifdef __cpp_lib_constexpr_vector
2297 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
2298 # endif
2299
2300 # ifdef __cpp_lib_constrained_equality
2301 #   error "__cpp_lib_constrained_equality should not be defined before c++26"
2302 # endif
2303
2304 # ifdef __cpp_lib_containers_ranges
2305 #   error "__cpp_lib_containers_ranges should not be defined before c++23"
2306 # endif
2307
2308 # ifdef __cpp_lib_copyable_function
2309 #   error "__cpp_lib_copyable_function should not be defined before c++26"
2310 # endif
2311
2312 # ifdef __cpp_lib_coroutine
2313 #   error "__cpp_lib_coroutine should not be defined before c++20"
2314 # endif
2315
2316 # ifdef __cpp_lib_debugging
2317 #   error "__cpp_lib_debugging should not be defined before c++26"
2318 # endif
2319
2320 # ifdef __cpp_lib_default_template_type_for_algorithm_values
2321 #   error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
2322 # endif
2323
2324 # ifdef __cpp_lib_destroying_delete
2325 #   error "__cpp_lib_destroying_delete should not be defined before c++20"
2326 # endif
2327
2328 # ifndef __cpp_lib_enable_shared_from_this
2329 #   error "__cpp_lib_enable_shared_from_this should be defined in c++17"
2330 # endif
2331 # if __cpp_lib_enable_shared_from_this != 201603L
2332 #   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"
2333 # endif
2334
2335 # ifdef __cpp_lib_endian
2336 #   error "__cpp_lib_endian should not be defined before c++20"
2337 # endif
2338
2339 # ifdef __cpp_lib_erase_if
2340 #   error "__cpp_lib_erase_if should not be defined before c++20"
2341 # endif
2342
2343 # ifndef __cpp_lib_exchange_function
2344 #   error "__cpp_lib_exchange_function should be defined in c++17"
2345 # endif
2346 # if __cpp_lib_exchange_function != 201304L
2347 #   error "__cpp_lib_exchange_function should have the value 201304L in c++17"
2348 # endif
2349
2350 # if !defined(_LIBCPP_VERSION)
2351 #   ifndef __cpp_lib_execution
2352 #     error "__cpp_lib_execution should be defined in c++17"
2353 #   endif
2354 #   if __cpp_lib_execution != 201603L
2355 #     error "__cpp_lib_execution should have the value 201603L in c++17"
2356 #   endif
2357 # else // _LIBCPP_VERSION
2358 #   ifdef __cpp_lib_execution
2359 #     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
2360 #   endif
2361 # endif
2362
2363 # ifdef __cpp_lib_expected
2364 #   error "__cpp_lib_expected should not be defined before c++23"
2365 # endif
2366
2367 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
2368 #   ifndef __cpp_lib_filesystem
2369 #     error "__cpp_lib_filesystem should be defined in c++17"
2370 #   endif
2371 #   if __cpp_lib_filesystem != 201703L
2372 #     error "__cpp_lib_filesystem should have the value 201703L in c++17"
2373 #   endif
2374 # else
2375 #   ifdef __cpp_lib_filesystem
2376 #     error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
2377 #   endif
2378 # endif
2379
2380 # ifdef __cpp_lib_format
2381 #   error "__cpp_lib_format should not be defined before c++20"
2382 # endif
2383
2384 # ifdef __cpp_lib_format_path
2385 #   error "__cpp_lib_format_path should not be defined before c++26"
2386 # endif
2387
2388 # ifdef __cpp_lib_format_ranges
2389 #   error "__cpp_lib_format_ranges should not be defined before c++23"
2390 # endif
2391
2392 # ifdef __cpp_lib_format_uchar
2393 #   error "__cpp_lib_format_uchar should not be defined before c++20"
2394 # endif
2395
2396 # ifdef __cpp_lib_formatters
2397 #   error "__cpp_lib_formatters should not be defined before c++23"
2398 # endif
2399
2400 # ifdef __cpp_lib_forward_like
2401 #   error "__cpp_lib_forward_like should not be defined before c++23"
2402 # endif
2403
2404 # ifdef __cpp_lib_freestanding_algorithm
2405 #   error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
2406 # endif
2407
2408 # ifdef __cpp_lib_freestanding_array
2409 #   error "__cpp_lib_freestanding_array should not be defined before c++26"
2410 # endif
2411
2412 # ifdef __cpp_lib_freestanding_cstring
2413 #   error "__cpp_lib_freestanding_cstring should not be defined before c++26"
2414 # endif
2415
2416 # ifdef __cpp_lib_freestanding_expected
2417 #   error "__cpp_lib_freestanding_expected should not be defined before c++26"
2418 # endif
2419
2420 # ifdef __cpp_lib_freestanding_mdspan
2421 #   error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
2422 # endif
2423
2424 # ifdef __cpp_lib_freestanding_optional
2425 #   error "__cpp_lib_freestanding_optional should not be defined before c++26"
2426 # endif
2427
2428 # ifdef __cpp_lib_freestanding_string_view
2429 #   error "__cpp_lib_freestanding_string_view should not be defined before c++26"
2430 # endif
2431
2432 # ifdef __cpp_lib_freestanding_variant
2433 #   error "__cpp_lib_freestanding_variant should not be defined before c++26"
2434 # endif
2435
2436 # ifdef __cpp_lib_fstream_native_handle
2437 #   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
2438 # endif
2439
2440 # ifdef __cpp_lib_function_ref
2441 #   error "__cpp_lib_function_ref should not be defined before c++26"
2442 # endif
2443
2444 # ifndef __cpp_lib_gcd_lcm
2445 #   error "__cpp_lib_gcd_lcm should be defined in c++17"
2446 # endif
2447 # if __cpp_lib_gcd_lcm != 201606L
2448 #   error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"
2449 # endif
2450
2451 # ifdef __cpp_lib_generate_random
2452 #   error "__cpp_lib_generate_random should not be defined before c++26"
2453 # endif
2454
2455 # ifndef __cpp_lib_generic_associative_lookup
2456 #   error "__cpp_lib_generic_associative_lookup should be defined in c++17"
2457 # endif
2458 # if __cpp_lib_generic_associative_lookup != 201304L
2459 #   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"
2460 # endif
2461
2462 # ifdef __cpp_lib_generic_unordered_lookup
2463 #   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
2464 # endif
2465
2466 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
2467 #   ifndef __cpp_lib_hardware_interference_size
2468 #     error "__cpp_lib_hardware_interference_size should be defined in c++17"
2469 #   endif
2470 #   if __cpp_lib_hardware_interference_size != 201703L
2471 #     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"
2472 #   endif
2473 # else
2474 #   ifdef __cpp_lib_hardware_interference_size
2475 #     error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
2476 #   endif
2477 # endif
2478
2479 # ifndef __cpp_lib_has_unique_object_representations
2480 #   error "__cpp_lib_has_unique_object_representations should be defined in c++17"
2481 # endif
2482 # if __cpp_lib_has_unique_object_representations != 201606L
2483 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
2484 # endif
2485
2486 # ifdef __cpp_lib_hazard_pointer
2487 #   error "__cpp_lib_hazard_pointer should not be defined before c++26"
2488 # endif
2489
2490 # ifndef __cpp_lib_hypot
2491 #   error "__cpp_lib_hypot should be defined in c++17"
2492 # endif
2493 # if __cpp_lib_hypot != 201603L
2494 #   error "__cpp_lib_hypot should have the value 201603L in c++17"
2495 # endif
2496
2497 # ifndef __cpp_lib_incomplete_container_elements
2498 #   error "__cpp_lib_incomplete_container_elements should be defined in c++17"
2499 # endif
2500 # if __cpp_lib_incomplete_container_elements != 201505L
2501 #   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"
2502 # endif
2503
2504 # ifdef __cpp_lib_inplace_vector
2505 #   error "__cpp_lib_inplace_vector should not be defined before c++26"
2506 # endif
2507
2508 # ifdef __cpp_lib_int_pow2
2509 #   error "__cpp_lib_int_pow2 should not be defined before c++20"
2510 # endif
2511
2512 # ifdef __cpp_lib_integer_comparison_functions
2513 #   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
2514 # endif
2515
2516 # ifndef __cpp_lib_integer_sequence
2517 #   error "__cpp_lib_integer_sequence should be defined in c++17"
2518 # endif
2519 # if __cpp_lib_integer_sequence != 201304L
2520 #   error "__cpp_lib_integer_sequence should have the value 201304L in c++17"
2521 # endif
2522
2523 # ifndef __cpp_lib_integral_constant_callable
2524 #   error "__cpp_lib_integral_constant_callable should be defined in c++17"
2525 # endif
2526 # if __cpp_lib_integral_constant_callable != 201304L
2527 #   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"
2528 # endif
2529
2530 # ifdef __cpp_lib_interpolate
2531 #   error "__cpp_lib_interpolate should not be defined before c++20"
2532 # endif
2533
2534 # ifndef __cpp_lib_invoke
2535 #   error "__cpp_lib_invoke should be defined in c++17"
2536 # endif
2537 # if __cpp_lib_invoke != 201411L
2538 #   error "__cpp_lib_invoke should have the value 201411L in c++17"
2539 # endif
2540
2541 # ifdef __cpp_lib_invoke_r
2542 #   error "__cpp_lib_invoke_r should not be defined before c++23"
2543 # endif
2544
2545 # ifdef __cpp_lib_ios_noreplace
2546 #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
2547 # endif
2548
2549 # ifndef __cpp_lib_is_aggregate
2550 #   error "__cpp_lib_is_aggregate should be defined in c++17"
2551 # endif
2552 # if __cpp_lib_is_aggregate != 201703L
2553 #   error "__cpp_lib_is_aggregate should have the value 201703L in c++17"
2554 # endif
2555
2556 # ifdef __cpp_lib_is_constant_evaluated
2557 #   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
2558 # endif
2559
2560 # ifndef __cpp_lib_is_final
2561 #   error "__cpp_lib_is_final should be defined in c++17"
2562 # endif
2563 # if __cpp_lib_is_final != 201402L
2564 #   error "__cpp_lib_is_final should have the value 201402L in c++17"
2565 # endif
2566
2567 # ifndef __cpp_lib_is_invocable
2568 #   error "__cpp_lib_is_invocable should be defined in c++17"
2569 # endif
2570 # if __cpp_lib_is_invocable != 201703L
2571 #   error "__cpp_lib_is_invocable should have the value 201703L in c++17"
2572 # endif
2573
2574 # ifdef __cpp_lib_is_layout_compatible
2575 #   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
2576 # endif
2577
2578 # ifdef __cpp_lib_is_nothrow_convertible
2579 #   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
2580 # endif
2581
2582 # ifndef __cpp_lib_is_null_pointer
2583 #   error "__cpp_lib_is_null_pointer should be defined in c++17"
2584 # endif
2585 # if __cpp_lib_is_null_pointer != 201309L
2586 #   error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"
2587 # endif
2588
2589 # ifdef __cpp_lib_is_pointer_interconvertible
2590 #   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
2591 # endif
2592
2593 # ifdef __cpp_lib_is_scoped_enum
2594 #   error "__cpp_lib_is_scoped_enum should not be defined before c++23"
2595 # endif
2596
2597 # ifndef __cpp_lib_is_swappable
2598 #   error "__cpp_lib_is_swappable should be defined in c++17"
2599 # endif
2600 # if __cpp_lib_is_swappable != 201603L
2601 #   error "__cpp_lib_is_swappable should have the value 201603L in c++17"
2602 # endif
2603
2604 # ifdef __cpp_lib_is_virtual_base_of
2605 #   error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
2606 # endif
2607
2608 # ifdef __cpp_lib_is_within_lifetime
2609 #   error "__cpp_lib_is_within_lifetime should not be defined before c++26"
2610 # endif
2611
2612 # ifdef __cpp_lib_jthread
2613 #   error "__cpp_lib_jthread should not be defined before c++20"
2614 # endif
2615
2616 # ifdef __cpp_lib_latch
2617 #   error "__cpp_lib_latch should not be defined before c++20"
2618 # endif
2619
2620 # ifndef __cpp_lib_launder
2621 #   error "__cpp_lib_launder should be defined in c++17"
2622 # endif
2623 # if __cpp_lib_launder != 201606L
2624 #   error "__cpp_lib_launder should have the value 201606L in c++17"
2625 # endif
2626
2627 # ifdef __cpp_lib_linalg
2628 #   error "__cpp_lib_linalg should not be defined before c++26"
2629 # endif
2630
2631 # ifdef __cpp_lib_list_remove_return_type
2632 #   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
2633 # endif
2634
2635 # ifndef __cpp_lib_logical_traits
2636 #   error "__cpp_lib_logical_traits should be defined in c++17"
2637 # endif
2638 # if __cpp_lib_logical_traits != 201510L
2639 #   error "__cpp_lib_logical_traits should have the value 201510L in c++17"
2640 # endif
2641
2642 # ifndef __cpp_lib_make_from_tuple
2643 #   error "__cpp_lib_make_from_tuple should be defined in c++17"
2644 # endif
2645 # if __cpp_lib_make_from_tuple != 201606L
2646 #   error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"
2647 # endif
2648
2649 # ifndef __cpp_lib_make_reverse_iterator
2650 #   error "__cpp_lib_make_reverse_iterator should be defined in c++17"
2651 # endif
2652 # if __cpp_lib_make_reverse_iterator != 201402L
2653 #   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"
2654 # endif
2655
2656 # ifndef __cpp_lib_make_unique
2657 #   error "__cpp_lib_make_unique should be defined in c++17"
2658 # endif
2659 # if __cpp_lib_make_unique != 201304L
2660 #   error "__cpp_lib_make_unique should have the value 201304L in c++17"
2661 # endif
2662
2663 # ifndef __cpp_lib_map_try_emplace
2664 #   error "__cpp_lib_map_try_emplace should be defined in c++17"
2665 # endif
2666 # if __cpp_lib_map_try_emplace != 201411L
2667 #   error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"
2668 # endif
2669
2670 # ifdef __cpp_lib_math_constants
2671 #   error "__cpp_lib_math_constants should not be defined before c++20"
2672 # endif
2673
2674 # if !defined(_LIBCPP_VERSION)
2675 #   ifndef __cpp_lib_math_special_functions
2676 #     error "__cpp_lib_math_special_functions should be defined in c++17"
2677 #   endif
2678 #   if __cpp_lib_math_special_functions != 201603L
2679 #     error "__cpp_lib_math_special_functions should have the value 201603L in c++17"
2680 #   endif
2681 # else // _LIBCPP_VERSION
2682 #   ifdef __cpp_lib_math_special_functions
2683 #     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
2684 #   endif
2685 # endif
2686
2687 # ifdef __cpp_lib_mdspan
2688 #   error "__cpp_lib_mdspan should not be defined before c++23"
2689 # endif
2690
2691 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
2692 #   ifndef __cpp_lib_memory_resource
2693 #     error "__cpp_lib_memory_resource should be defined in c++17"
2694 #   endif
2695 #   if __cpp_lib_memory_resource != 201603L
2696 #     error "__cpp_lib_memory_resource should have the value 201603L in c++17"
2697 #   endif
2698 # else
2699 #   ifdef __cpp_lib_memory_resource
2700 #     error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
2701 #   endif
2702 # endif
2703
2704 # ifdef __cpp_lib_modules
2705 #   error "__cpp_lib_modules should not be defined before c++23"
2706 # endif
2707
2708 # ifdef __cpp_lib_move_iterator_concept
2709 #   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
2710 # endif
2711
2712 # ifdef __cpp_lib_move_only_function
2713 #   error "__cpp_lib_move_only_function should not be defined before c++23"
2714 # endif
2715
2716 # ifndef __cpp_lib_node_extract
2717 #   error "__cpp_lib_node_extract should be defined in c++17"
2718 # endif
2719 # if __cpp_lib_node_extract != 201606L
2720 #   error "__cpp_lib_node_extract should have the value 201606L in c++17"
2721 # endif
2722
2723 # ifndef __cpp_lib_nonmember_container_access
2724 #   error "__cpp_lib_nonmember_container_access should be defined in c++17"
2725 # endif
2726 # if __cpp_lib_nonmember_container_access != 201411L
2727 #   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"
2728 # endif
2729
2730 # ifndef __cpp_lib_not_fn
2731 #   error "__cpp_lib_not_fn should be defined in c++17"
2732 # endif
2733 # if __cpp_lib_not_fn != 201603L
2734 #   error "__cpp_lib_not_fn should have the value 201603L in c++17"
2735 # endif
2736
2737 # ifndef __cpp_lib_null_iterators
2738 #   error "__cpp_lib_null_iterators should be defined in c++17"
2739 # endif
2740 # if __cpp_lib_null_iterators != 201304L
2741 #   error "__cpp_lib_null_iterators should have the value 201304L in c++17"
2742 # endif
2743
2744 # ifndef __cpp_lib_optional
2745 #   error "__cpp_lib_optional should be defined in c++17"
2746 # endif
2747 # if __cpp_lib_optional != 201606L
2748 #   error "__cpp_lib_optional should have the value 201606L in c++17"
2749 # endif
2750
2751 # ifdef __cpp_lib_optional_range_support
2752 #   error "__cpp_lib_optional_range_support should not be defined before c++26"
2753 # endif
2754
2755 # ifdef __cpp_lib_out_ptr
2756 #   error "__cpp_lib_out_ptr should not be defined before c++23"
2757 # endif
2758
2759 # if !defined(_LIBCPP_VERSION)
2760 #   ifndef __cpp_lib_parallel_algorithm
2761 #     error "__cpp_lib_parallel_algorithm should be defined in c++17"
2762 #   endif
2763 #   if __cpp_lib_parallel_algorithm != 201603L
2764 #     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"
2765 #   endif
2766 # else // _LIBCPP_VERSION
2767 #   ifdef __cpp_lib_parallel_algorithm
2768 #     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
2769 #   endif
2770 # endif
2771
2772 # ifdef __cpp_lib_philox_engine
2773 #   error "__cpp_lib_philox_engine should not be defined before c++26"
2774 # endif
2775
2776 # ifdef __cpp_lib_polymorphic_allocator
2777 #   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
2778 # endif
2779
2780 # ifdef __cpp_lib_print
2781 #   error "__cpp_lib_print should not be defined before c++23"
2782 # endif
2783
2784 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
2785 #   ifndef __cpp_lib_quoted_string_io
2786 #     error "__cpp_lib_quoted_string_io should be defined in c++17"
2787 #   endif
2788 #   if __cpp_lib_quoted_string_io != 201304L
2789 #     error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"
2790 #   endif
2791 # else
2792 #   ifdef __cpp_lib_quoted_string_io
2793 #     error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
2794 #   endif
2795 # endif
2796
2797 # ifdef __cpp_lib_ranges
2798 #   error "__cpp_lib_ranges should not be defined before c++20"
2799 # endif
2800
2801 # ifdef __cpp_lib_ranges_as_const
2802 #   error "__cpp_lib_ranges_as_const should not be defined before c++23"
2803 # endif
2804
2805 # ifdef __cpp_lib_ranges_as_rvalue
2806 #   error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
2807 # endif
2808
2809 # ifdef __cpp_lib_ranges_chunk
2810 #   error "__cpp_lib_ranges_chunk should not be defined before c++23"
2811 # endif
2812
2813 # ifdef __cpp_lib_ranges_chunk_by
2814 #   error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
2815 # endif
2816
2817 # ifdef __cpp_lib_ranges_concat
2818 #   error "__cpp_lib_ranges_concat should not be defined before c++26"
2819 # endif
2820
2821 # ifdef __cpp_lib_ranges_contains
2822 #   error "__cpp_lib_ranges_contains should not be defined before c++23"
2823 # endif
2824
2825 # ifdef __cpp_lib_ranges_find_last
2826 #   error "__cpp_lib_ranges_find_last should not be defined before c++23"
2827 # endif
2828
2829 # ifdef __cpp_lib_ranges_iota
2830 #   error "__cpp_lib_ranges_iota should not be defined before c++23"
2831 # endif
2832
2833 # ifdef __cpp_lib_ranges_join_with
2834 #   error "__cpp_lib_ranges_join_with should not be defined before c++23"
2835 # endif
2836
2837 # ifdef __cpp_lib_ranges_repeat
2838 #   error "__cpp_lib_ranges_repeat should not be defined before c++23"
2839 # endif
2840
2841 # ifdef __cpp_lib_ranges_slide
2842 #   error "__cpp_lib_ranges_slide should not be defined before c++23"
2843 # endif
2844
2845 # ifdef __cpp_lib_ranges_starts_ends_with
2846 #   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
2847 # endif
2848
2849 # ifdef __cpp_lib_ranges_to_container
2850 #   error "__cpp_lib_ranges_to_container should not be defined before c++23"
2851 # endif
2852
2853 # ifdef __cpp_lib_ranges_zip
2854 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
2855 # endif
2856
2857 # ifdef __cpp_lib_ratio
2858 #   error "__cpp_lib_ratio should not be defined before c++26"
2859 # endif
2860
2861 # ifndef __cpp_lib_raw_memory_algorithms
2862 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
2863 # endif
2864 # if __cpp_lib_raw_memory_algorithms != 201606L
2865 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
2866 # endif
2867
2868 # ifdef __cpp_lib_rcu
2869 #   error "__cpp_lib_rcu should not be defined before c++26"
2870 # endif
2871
2872 # ifdef __cpp_lib_reference_from_temporary
2873 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
2874 # endif
2875
2876 # ifdef __cpp_lib_reference_wrapper
2877 #   error "__cpp_lib_reference_wrapper should not be defined before c++26"
2878 # endif
2879
2880 # ifdef __cpp_lib_remove_cvref
2881 #   error "__cpp_lib_remove_cvref should not be defined before c++20"
2882 # endif
2883
2884 # ifndef __cpp_lib_result_of_sfinae
2885 #   error "__cpp_lib_result_of_sfinae should be defined in c++17"
2886 # endif
2887 # if __cpp_lib_result_of_sfinae != 201210L
2888 #   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"
2889 # endif
2890
2891 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
2892 #   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"
2893 # endif
2894 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
2895 #   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"
2896 # endif
2897
2898 # ifndef __cpp_lib_sample
2899 #   error "__cpp_lib_sample should be defined in c++17"
2900 # endif
2901 # if __cpp_lib_sample != 201603L
2902 #   error "__cpp_lib_sample should have the value 201603L in c++17"
2903 # endif
2904
2905 # ifdef __cpp_lib_saturation_arithmetic
2906 #   error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
2907 # endif
2908
2909 # if !defined(_LIBCPP_HAS_NO_THREADS)
2910 #   ifndef __cpp_lib_scoped_lock
2911 #     error "__cpp_lib_scoped_lock should be defined in c++17"
2912 #   endif
2913 #   if __cpp_lib_scoped_lock != 201703L
2914 #     error "__cpp_lib_scoped_lock should have the value 201703L in c++17"
2915 #   endif
2916 # else
2917 #   ifdef __cpp_lib_scoped_lock
2918 #     error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2919 #   endif
2920 # endif
2921
2922 # ifdef __cpp_lib_semaphore
2923 #   error "__cpp_lib_semaphore should not be defined before c++20"
2924 # endif
2925
2926 # ifdef __cpp_lib_senders
2927 #   error "__cpp_lib_senders should not be defined before c++26"
2928 # endif
2929
2930 # if !defined(_LIBCPP_HAS_NO_THREADS)
2931 #   ifndef __cpp_lib_shared_mutex
2932 #     error "__cpp_lib_shared_mutex should be defined in c++17"
2933 #   endif
2934 #   if __cpp_lib_shared_mutex != 201505L
2935 #     error "__cpp_lib_shared_mutex should have the value 201505L in c++17"
2936 #   endif
2937 # else
2938 #   ifdef __cpp_lib_shared_mutex
2939 #     error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2940 #   endif
2941 # endif
2942
2943 # ifndef __cpp_lib_shared_ptr_arrays
2944 #   error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
2945 # endif
2946 # if __cpp_lib_shared_ptr_arrays != 201611L
2947 #   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
2948 # endif
2949
2950 # ifndef __cpp_lib_shared_ptr_weak_type
2951 #   error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"
2952 # endif
2953 # if __cpp_lib_shared_ptr_weak_type != 201606L
2954 #   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"
2955 # endif
2956
2957 # if !defined(_LIBCPP_HAS_NO_THREADS)
2958 #   ifndef __cpp_lib_shared_timed_mutex
2959 #     error "__cpp_lib_shared_timed_mutex should be defined in c++17"
2960 #   endif
2961 #   if __cpp_lib_shared_timed_mutex != 201402L
2962 #     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"
2963 #   endif
2964 # else
2965 #   ifdef __cpp_lib_shared_timed_mutex
2966 #     error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
2967 #   endif
2968 # endif
2969
2970 # ifdef __cpp_lib_shift
2971 #   error "__cpp_lib_shift should not be defined before c++20"
2972 # endif
2973
2974 # ifdef __cpp_lib_smart_ptr_for_overwrite
2975 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
2976 # endif
2977
2978 # ifdef __cpp_lib_smart_ptr_owner_equality
2979 #   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
2980 # endif
2981
2982 # ifdef __cpp_lib_source_location
2983 #   error "__cpp_lib_source_location should not be defined before c++20"
2984 # endif
2985
2986 # ifdef __cpp_lib_span
2987 #   error "__cpp_lib_span should not be defined before c++20"
2988 # endif
2989
2990 # ifdef __cpp_lib_span_at
2991 #   error "__cpp_lib_span_at should not be defined before c++26"
2992 # endif
2993
2994 # ifdef __cpp_lib_span_initializer_list
2995 #   error "__cpp_lib_span_initializer_list should not be defined before c++26"
2996 # endif
2997
2998 # ifdef __cpp_lib_spanstream
2999 #   error "__cpp_lib_spanstream should not be defined before c++23"
3000 # endif
3001
3002 # ifdef __cpp_lib_ssize
3003 #   error "__cpp_lib_ssize should not be defined before c++20"
3004 # endif
3005
3006 # ifdef __cpp_lib_sstream_from_string_view
3007 #   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
3008 # endif
3009
3010 # ifdef __cpp_lib_stacktrace
3011 #   error "__cpp_lib_stacktrace should not be defined before c++23"
3012 # endif
3013
3014 # ifdef __cpp_lib_starts_ends_with
3015 #   error "__cpp_lib_starts_ends_with should not be defined before c++20"
3016 # endif
3017
3018 # ifdef __cpp_lib_stdatomic_h
3019 #   error "__cpp_lib_stdatomic_h should not be defined before c++23"
3020 # endif
3021
3022 # ifdef __cpp_lib_string_contains
3023 #   error "__cpp_lib_string_contains should not be defined before c++23"
3024 # endif
3025
3026 # ifdef __cpp_lib_string_resize_and_overwrite
3027 #   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
3028 # endif
3029
3030 # ifndef __cpp_lib_string_udls
3031 #   error "__cpp_lib_string_udls should be defined in c++17"
3032 # endif
3033 # if __cpp_lib_string_udls != 201304L
3034 #   error "__cpp_lib_string_udls should have the value 201304L in c++17"
3035 # endif
3036
3037 # ifndef __cpp_lib_string_view
3038 #   error "__cpp_lib_string_view should be defined in c++17"
3039 # endif
3040 # if __cpp_lib_string_view != 201606L
3041 #   error "__cpp_lib_string_view should have the value 201606L in c++17"
3042 # endif
3043
3044 # ifdef __cpp_lib_submdspan
3045 #   error "__cpp_lib_submdspan should not be defined before c++26"
3046 # endif
3047
3048 # ifdef __cpp_lib_syncbuf
3049 #   error "__cpp_lib_syncbuf should not be defined before c++20"
3050 # endif
3051
3052 # ifdef __cpp_lib_text_encoding
3053 #   error "__cpp_lib_text_encoding should not be defined before c++26"
3054 # endif
3055
3056 # ifdef __cpp_lib_three_way_comparison
3057 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
3058 # endif
3059
3060 # ifdef __cpp_lib_to_address
3061 #   error "__cpp_lib_to_address should not be defined before c++20"
3062 # endif
3063
3064 # ifdef __cpp_lib_to_array
3065 #   error "__cpp_lib_to_array should not be defined before c++20"
3066 # endif
3067
3068 # if !defined(_LIBCPP_VERSION)
3069 #   ifndef __cpp_lib_to_chars
3070 #     error "__cpp_lib_to_chars should be defined in c++17"
3071 #   endif
3072 #   if __cpp_lib_to_chars != 201611L
3073 #     error "__cpp_lib_to_chars should have the value 201611L in c++17"
3074 #   endif
3075 # else // _LIBCPP_VERSION
3076 #   ifdef __cpp_lib_to_chars
3077 #     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
3078 #   endif
3079 # endif
3080
3081 # ifdef __cpp_lib_to_string
3082 #   error "__cpp_lib_to_string should not be defined before c++26"
3083 # endif
3084
3085 # ifdef __cpp_lib_to_underlying
3086 #   error "__cpp_lib_to_underlying should not be defined before c++23"
3087 # endif
3088
3089 # ifndef __cpp_lib_transformation_trait_aliases
3090 #   error "__cpp_lib_transformation_trait_aliases should be defined in c++17"
3091 # endif
3092 # if __cpp_lib_transformation_trait_aliases != 201304L
3093 #   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"
3094 # endif
3095
3096 # ifndef __cpp_lib_transparent_operators
3097 #   error "__cpp_lib_transparent_operators should be defined in c++17"
3098 # endif
3099 # if __cpp_lib_transparent_operators != 201510L
3100 #   error "__cpp_lib_transparent_operators should have the value 201510L in c++17"
3101 # endif
3102
3103 # ifndef __cpp_lib_tuple_element_t
3104 #   error "__cpp_lib_tuple_element_t should be defined in c++17"
3105 # endif
3106 # if __cpp_lib_tuple_element_t != 201402L
3107 #   error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"
3108 # endif
3109
3110 # ifdef __cpp_lib_tuple_like
3111 #   error "__cpp_lib_tuple_like should not be defined before c++23"
3112 # endif
3113
3114 # ifndef __cpp_lib_tuples_by_type
3115 #   error "__cpp_lib_tuples_by_type should be defined in c++17"
3116 # endif
3117 # if __cpp_lib_tuples_by_type != 201304L
3118 #   error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"
3119 # endif
3120
3121 # ifdef __cpp_lib_type_identity
3122 #   error "__cpp_lib_type_identity should not be defined before c++20"
3123 # endif
3124
3125 # ifndef __cpp_lib_type_trait_variable_templates
3126 #   error "__cpp_lib_type_trait_variable_templates should be defined in c++17"
3127 # endif
3128 # if __cpp_lib_type_trait_variable_templates != 201510L
3129 #   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"
3130 # endif
3131
3132 # ifndef __cpp_lib_uncaught_exceptions
3133 #   error "__cpp_lib_uncaught_exceptions should be defined in c++17"
3134 # endif
3135 # if __cpp_lib_uncaught_exceptions != 201411L
3136 #   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"
3137 # endif
3138
3139 # ifndef __cpp_lib_unordered_map_try_emplace
3140 #   error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"
3141 # endif
3142 # if __cpp_lib_unordered_map_try_emplace != 201411L
3143 #   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"
3144 # endif
3145
3146 # ifdef __cpp_lib_unreachable
3147 #   error "__cpp_lib_unreachable should not be defined before c++23"
3148 # endif
3149
3150 # ifdef __cpp_lib_unwrap_ref
3151 #   error "__cpp_lib_unwrap_ref should not be defined before c++20"
3152 # endif
3153
3154 # ifndef __cpp_lib_variant
3155 #   error "__cpp_lib_variant should be defined in c++17"
3156 # endif
3157 # if __cpp_lib_variant != 202102L
3158 #   error "__cpp_lib_variant should have the value 202102L in c++17"
3159 # endif
3160
3161 # ifndef __cpp_lib_void_t
3162 #   error "__cpp_lib_void_t should be defined in c++17"
3163 # endif
3164 # if __cpp_lib_void_t != 201411L
3165 #   error "__cpp_lib_void_t should have the value 201411L in c++17"
3166 # endif
3167
3168 #elif TEST_STD_VER == 20
3169
3170 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
3171 #   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"
3172 # endif
3173
3174 # ifndef __cpp_lib_addressof_constexpr
3175 #   error "__cpp_lib_addressof_constexpr should be defined in c++20"
3176 # endif
3177 # if __cpp_lib_addressof_constexpr != 201603L
3178 #   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"
3179 # endif
3180
3181 # ifdef __cpp_lib_allocate_at_least
3182 #   error "__cpp_lib_allocate_at_least should not be defined before c++23"
3183 # endif
3184
3185 # ifndef __cpp_lib_allocator_traits_is_always_equal
3186 #   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"
3187 # endif
3188 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
3189 #   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"
3190 # endif
3191
3192 # ifndef __cpp_lib_any
3193 #   error "__cpp_lib_any should be defined in c++20"
3194 # endif
3195 # if __cpp_lib_any != 201606L
3196 #   error "__cpp_lib_any should have the value 201606L in c++20"
3197 # endif
3198
3199 # ifndef __cpp_lib_apply
3200 #   error "__cpp_lib_apply should be defined in c++20"
3201 # endif
3202 # if __cpp_lib_apply != 201603L
3203 #   error "__cpp_lib_apply should have the value 201603L in c++20"
3204 # endif
3205
3206 # ifndef __cpp_lib_array_constexpr
3207 #   error "__cpp_lib_array_constexpr should be defined in c++20"
3208 # endif
3209 # if __cpp_lib_array_constexpr != 201811L
3210 #   error "__cpp_lib_array_constexpr should have the value 201811L in c++20"
3211 # endif
3212
3213 # ifndef __cpp_lib_as_const
3214 #   error "__cpp_lib_as_const should be defined in c++20"
3215 # endif
3216 # if __cpp_lib_as_const != 201510L
3217 #   error "__cpp_lib_as_const should have the value 201510L in c++20"
3218 # endif
3219
3220 # ifdef __cpp_lib_associative_heterogeneous_erasure
3221 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
3222 # endif
3223
3224 # ifdef __cpp_lib_associative_heterogeneous_insertion
3225 #   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
3226 # endif
3227
3228 # ifndef __cpp_lib_assume_aligned
3229 #   error "__cpp_lib_assume_aligned should be defined in c++20"
3230 # endif
3231 # if __cpp_lib_assume_aligned != 201811L
3232 #   error "__cpp_lib_assume_aligned should have the value 201811L in c++20"
3233 # endif
3234
3235 # ifndef __cpp_lib_atomic_flag_test
3236 #   error "__cpp_lib_atomic_flag_test should be defined in c++20"
3237 # endif
3238 # if __cpp_lib_atomic_flag_test != 201907L
3239 #   error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"
3240 # endif
3241
3242 # if !defined(_LIBCPP_VERSION)
3243 #   ifndef __cpp_lib_atomic_float
3244 #     error "__cpp_lib_atomic_float should be defined in c++20"
3245 #   endif
3246 #   if __cpp_lib_atomic_float != 201711L
3247 #     error "__cpp_lib_atomic_float should have the value 201711L in c++20"
3248 #   endif
3249 # else // _LIBCPP_VERSION
3250 #   ifdef __cpp_lib_atomic_float
3251 #     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
3252 #   endif
3253 # endif
3254
3255 # ifndef __cpp_lib_atomic_is_always_lock_free
3256 #   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"
3257 # endif
3258 # if __cpp_lib_atomic_is_always_lock_free != 201603L
3259 #   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"
3260 # endif
3261
3262 # ifndef __cpp_lib_atomic_lock_free_type_aliases
3263 #   error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"
3264 # endif
3265 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
3266 #   error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"
3267 # endif
3268
3269 # ifdef __cpp_lib_atomic_min_max
3270 #   error "__cpp_lib_atomic_min_max should not be defined before c++26"
3271 # endif
3272
3273 # ifndef __cpp_lib_atomic_ref
3274 #   error "__cpp_lib_atomic_ref should be defined in c++20"
3275 # endif
3276 # if __cpp_lib_atomic_ref != 201806L
3277 #   error "__cpp_lib_atomic_ref should have the value 201806L in c++20"
3278 # endif
3279
3280 # if !defined(_LIBCPP_VERSION)
3281 #   ifndef __cpp_lib_atomic_shared_ptr
3282 #     error "__cpp_lib_atomic_shared_ptr should be defined in c++20"
3283 #   endif
3284 #   if __cpp_lib_atomic_shared_ptr != 201711L
3285 #     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"
3286 #   endif
3287 # else // _LIBCPP_VERSION
3288 #   ifdef __cpp_lib_atomic_shared_ptr
3289 #     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
3290 #   endif
3291 # endif
3292
3293 # ifndef __cpp_lib_atomic_value_initialization
3294 #   error "__cpp_lib_atomic_value_initialization should be defined in c++20"
3295 # endif
3296 # if __cpp_lib_atomic_value_initialization != 201911L
3297 #   error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"
3298 # endif
3299
3300 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
3301 #   ifndef __cpp_lib_atomic_wait
3302 #     error "__cpp_lib_atomic_wait should be defined in c++20"
3303 #   endif
3304 #   if __cpp_lib_atomic_wait != 201907L
3305 #     error "__cpp_lib_atomic_wait should have the value 201907L in c++20"
3306 #   endif
3307 # else
3308 #   ifdef __cpp_lib_atomic_wait
3309 #     error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
3310 #   endif
3311 # endif
3312
3313 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3314 #   ifndef __cpp_lib_barrier
3315 #     error "__cpp_lib_barrier should be defined in c++20"
3316 #   endif
3317 #   if __cpp_lib_barrier != 201907L
3318 #     error "__cpp_lib_barrier should have the value 201907L in c++20"
3319 #   endif
3320 # else
3321 #   ifdef __cpp_lib_barrier
3322 #     error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3323 #   endif
3324 # endif
3325
3326 # ifdef __cpp_lib_bind_back
3327 #   error "__cpp_lib_bind_back should not be defined before c++23"
3328 # endif
3329
3330 # ifndef __cpp_lib_bind_front
3331 #   error "__cpp_lib_bind_front should be defined in c++20"
3332 # endif
3333 # if __cpp_lib_bind_front != 201907L
3334 #   error "__cpp_lib_bind_front should have the value 201907L in c++20"
3335 # endif
3336
3337 # ifndef __cpp_lib_bit_cast
3338 #   error "__cpp_lib_bit_cast should be defined in c++20"
3339 # endif
3340 # if __cpp_lib_bit_cast != 201806L
3341 #   error "__cpp_lib_bit_cast should have the value 201806L in c++20"
3342 # endif
3343
3344 # ifndef __cpp_lib_bitops
3345 #   error "__cpp_lib_bitops should be defined in c++20"
3346 # endif
3347 # if __cpp_lib_bitops != 201907L
3348 #   error "__cpp_lib_bitops should have the value 201907L in c++20"
3349 # endif
3350
3351 # ifdef __cpp_lib_bitset
3352 #   error "__cpp_lib_bitset should not be defined before c++26"
3353 # endif
3354
3355 # ifndef __cpp_lib_bool_constant
3356 #   error "__cpp_lib_bool_constant should be defined in c++20"
3357 # endif
3358 # if __cpp_lib_bool_constant != 201505L
3359 #   error "__cpp_lib_bool_constant should have the value 201505L in c++20"
3360 # endif
3361
3362 # ifndef __cpp_lib_bounded_array_traits
3363 #   error "__cpp_lib_bounded_array_traits should be defined in c++20"
3364 # endif
3365 # if __cpp_lib_bounded_array_traits != 201902L
3366 #   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"
3367 # endif
3368
3369 # ifndef __cpp_lib_boyer_moore_searcher
3370 #   error "__cpp_lib_boyer_moore_searcher should be defined in c++20"
3371 # endif
3372 # if __cpp_lib_boyer_moore_searcher != 201603L
3373 #   error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"
3374 # endif
3375
3376 # ifndef __cpp_lib_byte
3377 #   error "__cpp_lib_byte should be defined in c++20"
3378 # endif
3379 # if __cpp_lib_byte != 201603L
3380 #   error "__cpp_lib_byte should have the value 201603L in c++20"
3381 # endif
3382
3383 # ifdef __cpp_lib_byteswap
3384 #   error "__cpp_lib_byteswap should not be defined before c++23"
3385 # endif
3386
3387 # if defined(__cpp_char8_t)
3388 #   ifndef __cpp_lib_char8_t
3389 #     error "__cpp_lib_char8_t should be defined in c++20"
3390 #   endif
3391 #   if __cpp_lib_char8_t != 201907L
3392 #     error "__cpp_lib_char8_t should have the value 201907L in c++20"
3393 #   endif
3394 # else
3395 #   ifdef __cpp_lib_char8_t
3396 #     error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
3397 #   endif
3398 # endif
3399
3400 # ifndef __cpp_lib_chrono
3401 #   error "__cpp_lib_chrono should be defined in c++20"
3402 # endif
3403 # if __cpp_lib_chrono != 201611L
3404 #   error "__cpp_lib_chrono should have the value 201611L in c++20"
3405 # endif
3406
3407 # ifndef __cpp_lib_chrono_udls
3408 #   error "__cpp_lib_chrono_udls should be defined in c++20"
3409 # endif
3410 # if __cpp_lib_chrono_udls != 201304L
3411 #   error "__cpp_lib_chrono_udls should have the value 201304L in c++20"
3412 # endif
3413
3414 # ifndef __cpp_lib_clamp
3415 #   error "__cpp_lib_clamp should be defined in c++20"
3416 # endif
3417 # if __cpp_lib_clamp != 201603L
3418 #   error "__cpp_lib_clamp should have the value 201603L in c++20"
3419 # endif
3420
3421 # ifndef __cpp_lib_complex_udls
3422 #   error "__cpp_lib_complex_udls should be defined in c++20"
3423 # endif
3424 # if __cpp_lib_complex_udls != 201309L
3425 #   error "__cpp_lib_complex_udls should have the value 201309L in c++20"
3426 # endif
3427
3428 # ifndef __cpp_lib_concepts
3429 #   error "__cpp_lib_concepts should be defined in c++20"
3430 # endif
3431 # if __cpp_lib_concepts != 202002L
3432 #   error "__cpp_lib_concepts should have the value 202002L in c++20"
3433 # endif
3434
3435 # ifndef __cpp_lib_constexpr_algorithms
3436 #   error "__cpp_lib_constexpr_algorithms should be defined in c++20"
3437 # endif
3438 # if __cpp_lib_constexpr_algorithms != 201806L
3439 #   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"
3440 # endif
3441
3442 # ifdef __cpp_lib_constexpr_bitset
3443 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
3444 # endif
3445
3446 # ifdef __cpp_lib_constexpr_charconv
3447 #   error "__cpp_lib_constexpr_charconv should not be defined before c++23"
3448 # endif
3449
3450 # ifdef __cpp_lib_constexpr_cmath
3451 #   error "__cpp_lib_constexpr_cmath should not be defined before c++23"
3452 # endif
3453
3454 # ifndef __cpp_lib_constexpr_complex
3455 #   error "__cpp_lib_constexpr_complex should be defined in c++20"
3456 # endif
3457 # if __cpp_lib_constexpr_complex != 201711L
3458 #   error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"
3459 # endif
3460
3461 # ifndef __cpp_lib_constexpr_dynamic_alloc
3462 #   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"
3463 # endif
3464 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
3465 #   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
3466 # endif
3467
3468 # ifndef __cpp_lib_constexpr_functional
3469 #   error "__cpp_lib_constexpr_functional should be defined in c++20"
3470 # endif
3471 # if __cpp_lib_constexpr_functional != 201907L
3472 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
3473 # endif
3474
3475 # ifndef __cpp_lib_constexpr_iterator
3476 #   error "__cpp_lib_constexpr_iterator should be defined in c++20"
3477 # endif
3478 # if __cpp_lib_constexpr_iterator != 201811L
3479 #   error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"
3480 # endif
3481
3482 # ifndef __cpp_lib_constexpr_memory
3483 #   error "__cpp_lib_constexpr_memory should be defined in c++20"
3484 # endif
3485 # if __cpp_lib_constexpr_memory != 201811L
3486 #   error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
3487 # endif
3488
3489 # ifdef __cpp_lib_constexpr_new
3490 #   error "__cpp_lib_constexpr_new should not be defined before c++26"
3491 # endif
3492
3493 # ifndef __cpp_lib_constexpr_numeric
3494 #   error "__cpp_lib_constexpr_numeric should be defined in c++20"
3495 # endif
3496 # if __cpp_lib_constexpr_numeric != 201911L
3497 #   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"
3498 # endif
3499
3500 # ifndef __cpp_lib_constexpr_string
3501 #   error "__cpp_lib_constexpr_string should be defined in c++20"
3502 # endif
3503 # if __cpp_lib_constexpr_string != 201907L
3504 #   error "__cpp_lib_constexpr_string should have the value 201907L in c++20"
3505 # endif
3506
3507 # ifndef __cpp_lib_constexpr_string_view
3508 #   error "__cpp_lib_constexpr_string_view should be defined in c++20"
3509 # endif
3510 # if __cpp_lib_constexpr_string_view != 201811L
3511 #   error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"
3512 # endif
3513
3514 # ifndef __cpp_lib_constexpr_tuple
3515 #   error "__cpp_lib_constexpr_tuple should be defined in c++20"
3516 # endif
3517 # if __cpp_lib_constexpr_tuple != 201811L
3518 #   error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"
3519 # endif
3520
3521 # ifdef __cpp_lib_constexpr_typeinfo
3522 #   error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"
3523 # endif
3524
3525 # ifndef __cpp_lib_constexpr_utility
3526 #   error "__cpp_lib_constexpr_utility should be defined in c++20"
3527 # endif
3528 # if __cpp_lib_constexpr_utility != 201811L
3529 #   error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"
3530 # endif
3531
3532 # ifndef __cpp_lib_constexpr_vector
3533 #   error "__cpp_lib_constexpr_vector should be defined in c++20"
3534 # endif
3535 # if __cpp_lib_constexpr_vector != 201907L
3536 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
3537 # endif
3538
3539 # ifdef __cpp_lib_constrained_equality
3540 #   error "__cpp_lib_constrained_equality should not be defined before c++26"
3541 # endif
3542
3543 # ifdef __cpp_lib_containers_ranges
3544 #   error "__cpp_lib_containers_ranges should not be defined before c++23"
3545 # endif
3546
3547 # ifdef __cpp_lib_copyable_function
3548 #   error "__cpp_lib_copyable_function should not be defined before c++26"
3549 # endif
3550
3551 # ifndef __cpp_lib_coroutine
3552 #   error "__cpp_lib_coroutine should be defined in c++20"
3553 # endif
3554 # if __cpp_lib_coroutine != 201902L
3555 #   error "__cpp_lib_coroutine should have the value 201902L in c++20"
3556 # endif
3557
3558 # ifdef __cpp_lib_debugging
3559 #   error "__cpp_lib_debugging should not be defined before c++26"
3560 # endif
3561
3562 # ifdef __cpp_lib_default_template_type_for_algorithm_values
3563 #   error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
3564 # endif
3565
3566 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
3567 #   ifndef __cpp_lib_destroying_delete
3568 #     error "__cpp_lib_destroying_delete should be defined in c++20"
3569 #   endif
3570 #   if __cpp_lib_destroying_delete != 201806L
3571 #     error "__cpp_lib_destroying_delete should have the value 201806L in c++20"
3572 #   endif
3573 # else
3574 #   ifdef __cpp_lib_destroying_delete
3575 #     error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
3576 #   endif
3577 # endif
3578
3579 # ifndef __cpp_lib_enable_shared_from_this
3580 #   error "__cpp_lib_enable_shared_from_this should be defined in c++20"
3581 # endif
3582 # if __cpp_lib_enable_shared_from_this != 201603L
3583 #   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"
3584 # endif
3585
3586 # ifndef __cpp_lib_endian
3587 #   error "__cpp_lib_endian should be defined in c++20"
3588 # endif
3589 # if __cpp_lib_endian != 201907L
3590 #   error "__cpp_lib_endian should have the value 201907L in c++20"
3591 # endif
3592
3593 # ifndef __cpp_lib_erase_if
3594 #   error "__cpp_lib_erase_if should be defined in c++20"
3595 # endif
3596 # if __cpp_lib_erase_if != 202002L
3597 #   error "__cpp_lib_erase_if should have the value 202002L in c++20"
3598 # endif
3599
3600 # ifndef __cpp_lib_exchange_function
3601 #   error "__cpp_lib_exchange_function should be defined in c++20"
3602 # endif
3603 # if __cpp_lib_exchange_function != 201304L
3604 #   error "__cpp_lib_exchange_function should have the value 201304L in c++20"
3605 # endif
3606
3607 # if !defined(_LIBCPP_VERSION)
3608 #   ifndef __cpp_lib_execution
3609 #     error "__cpp_lib_execution should be defined in c++20"
3610 #   endif
3611 #   if __cpp_lib_execution != 201902L
3612 #     error "__cpp_lib_execution should have the value 201902L in c++20"
3613 #   endif
3614 # else // _LIBCPP_VERSION
3615 #   ifdef __cpp_lib_execution
3616 #     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
3617 #   endif
3618 # endif
3619
3620 # ifdef __cpp_lib_expected
3621 #   error "__cpp_lib_expected should not be defined before c++23"
3622 # endif
3623
3624 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
3625 #   ifndef __cpp_lib_filesystem
3626 #     error "__cpp_lib_filesystem should be defined in c++20"
3627 #   endif
3628 #   if __cpp_lib_filesystem != 201703L
3629 #     error "__cpp_lib_filesystem should have the value 201703L in c++20"
3630 #   endif
3631 # else
3632 #   ifdef __cpp_lib_filesystem
3633 #     error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
3634 #   endif
3635 # endif
3636
3637 # ifndef __cpp_lib_format
3638 #   error "__cpp_lib_format should be defined in c++20"
3639 # endif
3640 # if __cpp_lib_format != 202110L
3641 #   error "__cpp_lib_format should have the value 202110L in c++20"
3642 # endif
3643
3644 # ifdef __cpp_lib_format_path
3645 #   error "__cpp_lib_format_path should not be defined before c++26"
3646 # endif
3647
3648 # ifdef __cpp_lib_format_ranges
3649 #   error "__cpp_lib_format_ranges should not be defined before c++23"
3650 # endif
3651
3652 # ifndef __cpp_lib_format_uchar
3653 #   error "__cpp_lib_format_uchar should be defined in c++20"
3654 # endif
3655 # if __cpp_lib_format_uchar != 202311L
3656 #   error "__cpp_lib_format_uchar should have the value 202311L in c++20"
3657 # endif
3658
3659 # ifdef __cpp_lib_formatters
3660 #   error "__cpp_lib_formatters should not be defined before c++23"
3661 # endif
3662
3663 # ifdef __cpp_lib_forward_like
3664 #   error "__cpp_lib_forward_like should not be defined before c++23"
3665 # endif
3666
3667 # ifdef __cpp_lib_freestanding_algorithm
3668 #   error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
3669 # endif
3670
3671 # ifdef __cpp_lib_freestanding_array
3672 #   error "__cpp_lib_freestanding_array should not be defined before c++26"
3673 # endif
3674
3675 # ifdef __cpp_lib_freestanding_cstring
3676 #   error "__cpp_lib_freestanding_cstring should not be defined before c++26"
3677 # endif
3678
3679 # ifdef __cpp_lib_freestanding_expected
3680 #   error "__cpp_lib_freestanding_expected should not be defined before c++26"
3681 # endif
3682
3683 # ifdef __cpp_lib_freestanding_mdspan
3684 #   error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
3685 # endif
3686
3687 # ifdef __cpp_lib_freestanding_optional
3688 #   error "__cpp_lib_freestanding_optional should not be defined before c++26"
3689 # endif
3690
3691 # ifdef __cpp_lib_freestanding_string_view
3692 #   error "__cpp_lib_freestanding_string_view should not be defined before c++26"
3693 # endif
3694
3695 # ifdef __cpp_lib_freestanding_variant
3696 #   error "__cpp_lib_freestanding_variant should not be defined before c++26"
3697 # endif
3698
3699 # ifdef __cpp_lib_fstream_native_handle
3700 #   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
3701 # endif
3702
3703 # ifdef __cpp_lib_function_ref
3704 #   error "__cpp_lib_function_ref should not be defined before c++26"
3705 # endif
3706
3707 # ifndef __cpp_lib_gcd_lcm
3708 #   error "__cpp_lib_gcd_lcm should be defined in c++20"
3709 # endif
3710 # if __cpp_lib_gcd_lcm != 201606L
3711 #   error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"
3712 # endif
3713
3714 # ifdef __cpp_lib_generate_random
3715 #   error "__cpp_lib_generate_random should not be defined before c++26"
3716 # endif
3717
3718 # ifndef __cpp_lib_generic_associative_lookup
3719 #   error "__cpp_lib_generic_associative_lookup should be defined in c++20"
3720 # endif
3721 # if __cpp_lib_generic_associative_lookup != 201304L
3722 #   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"
3723 # endif
3724
3725 # ifndef __cpp_lib_generic_unordered_lookup
3726 #   error "__cpp_lib_generic_unordered_lookup should be defined in c++20"
3727 # endif
3728 # if __cpp_lib_generic_unordered_lookup != 201811L
3729 #   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"
3730 # endif
3731
3732 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
3733 #   ifndef __cpp_lib_hardware_interference_size
3734 #     error "__cpp_lib_hardware_interference_size should be defined in c++20"
3735 #   endif
3736 #   if __cpp_lib_hardware_interference_size != 201703L
3737 #     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"
3738 #   endif
3739 # else
3740 #   ifdef __cpp_lib_hardware_interference_size
3741 #     error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
3742 #   endif
3743 # endif
3744
3745 # ifndef __cpp_lib_has_unique_object_representations
3746 #   error "__cpp_lib_has_unique_object_representations should be defined in c++20"
3747 # endif
3748 # if __cpp_lib_has_unique_object_representations != 201606L
3749 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
3750 # endif
3751
3752 # ifdef __cpp_lib_hazard_pointer
3753 #   error "__cpp_lib_hazard_pointer should not be defined before c++26"
3754 # endif
3755
3756 # ifndef __cpp_lib_hypot
3757 #   error "__cpp_lib_hypot should be defined in c++20"
3758 # endif
3759 # if __cpp_lib_hypot != 201603L
3760 #   error "__cpp_lib_hypot should have the value 201603L in c++20"
3761 # endif
3762
3763 # ifndef __cpp_lib_incomplete_container_elements
3764 #   error "__cpp_lib_incomplete_container_elements should be defined in c++20"
3765 # endif
3766 # if __cpp_lib_incomplete_container_elements != 201505L
3767 #   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"
3768 # endif
3769
3770 # ifdef __cpp_lib_inplace_vector
3771 #   error "__cpp_lib_inplace_vector should not be defined before c++26"
3772 # endif
3773
3774 # ifndef __cpp_lib_int_pow2
3775 #   error "__cpp_lib_int_pow2 should be defined in c++20"
3776 # endif
3777 # if __cpp_lib_int_pow2 != 202002L
3778 #   error "__cpp_lib_int_pow2 should have the value 202002L in c++20"
3779 # endif
3780
3781 # ifndef __cpp_lib_integer_comparison_functions
3782 #   error "__cpp_lib_integer_comparison_functions should be defined in c++20"
3783 # endif
3784 # if __cpp_lib_integer_comparison_functions != 202002L
3785 #   error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"
3786 # endif
3787
3788 # ifndef __cpp_lib_integer_sequence
3789 #   error "__cpp_lib_integer_sequence should be defined in c++20"
3790 # endif
3791 # if __cpp_lib_integer_sequence != 201304L
3792 #   error "__cpp_lib_integer_sequence should have the value 201304L in c++20"
3793 # endif
3794
3795 # ifndef __cpp_lib_integral_constant_callable
3796 #   error "__cpp_lib_integral_constant_callable should be defined in c++20"
3797 # endif
3798 # if __cpp_lib_integral_constant_callable != 201304L
3799 #   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"
3800 # endif
3801
3802 # ifndef __cpp_lib_interpolate
3803 #   error "__cpp_lib_interpolate should be defined in c++20"
3804 # endif
3805 # if __cpp_lib_interpolate != 201902L
3806 #   error "__cpp_lib_interpolate should have the value 201902L in c++20"
3807 # endif
3808
3809 # ifndef __cpp_lib_invoke
3810 #   error "__cpp_lib_invoke should be defined in c++20"
3811 # endif
3812 # if __cpp_lib_invoke != 201411L
3813 #   error "__cpp_lib_invoke should have the value 201411L in c++20"
3814 # endif
3815
3816 # ifdef __cpp_lib_invoke_r
3817 #   error "__cpp_lib_invoke_r should not be defined before c++23"
3818 # endif
3819
3820 # ifdef __cpp_lib_ios_noreplace
3821 #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
3822 # endif
3823
3824 # ifndef __cpp_lib_is_aggregate
3825 #   error "__cpp_lib_is_aggregate should be defined in c++20"
3826 # endif
3827 # if __cpp_lib_is_aggregate != 201703L
3828 #   error "__cpp_lib_is_aggregate should have the value 201703L in c++20"
3829 # endif
3830
3831 # ifndef __cpp_lib_is_constant_evaluated
3832 #   error "__cpp_lib_is_constant_evaluated should be defined in c++20"
3833 # endif
3834 # if __cpp_lib_is_constant_evaluated != 201811L
3835 #   error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"
3836 # endif
3837
3838 # ifndef __cpp_lib_is_final
3839 #   error "__cpp_lib_is_final should be defined in c++20"
3840 # endif
3841 # if __cpp_lib_is_final != 201402L
3842 #   error "__cpp_lib_is_final should have the value 201402L in c++20"
3843 # endif
3844
3845 # ifndef __cpp_lib_is_invocable
3846 #   error "__cpp_lib_is_invocable should be defined in c++20"
3847 # endif
3848 # if __cpp_lib_is_invocable != 201703L
3849 #   error "__cpp_lib_is_invocable should have the value 201703L in c++20"
3850 # endif
3851
3852 # if !defined(_LIBCPP_VERSION)
3853 #   ifndef __cpp_lib_is_layout_compatible
3854 #     error "__cpp_lib_is_layout_compatible should be defined in c++20"
3855 #   endif
3856 #   if __cpp_lib_is_layout_compatible != 201907L
3857 #     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"
3858 #   endif
3859 # else // _LIBCPP_VERSION
3860 #   ifdef __cpp_lib_is_layout_compatible
3861 #     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
3862 #   endif
3863 # endif
3864
3865 # ifndef __cpp_lib_is_nothrow_convertible
3866 #   error "__cpp_lib_is_nothrow_convertible should be defined in c++20"
3867 # endif
3868 # if __cpp_lib_is_nothrow_convertible != 201806L
3869 #   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"
3870 # endif
3871
3872 # ifndef __cpp_lib_is_null_pointer
3873 #   error "__cpp_lib_is_null_pointer should be defined in c++20"
3874 # endif
3875 # if __cpp_lib_is_null_pointer != 201309L
3876 #   error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"
3877 # endif
3878
3879 # if !defined(_LIBCPP_VERSION)
3880 #   ifndef __cpp_lib_is_pointer_interconvertible
3881 #     error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"
3882 #   endif
3883 #   if __cpp_lib_is_pointer_interconvertible != 201907L
3884 #     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"
3885 #   endif
3886 # else // _LIBCPP_VERSION
3887 #   ifdef __cpp_lib_is_pointer_interconvertible
3888 #     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
3889 #   endif
3890 # endif
3891
3892 # ifdef __cpp_lib_is_scoped_enum
3893 #   error "__cpp_lib_is_scoped_enum should not be defined before c++23"
3894 # endif
3895
3896 # ifndef __cpp_lib_is_swappable
3897 #   error "__cpp_lib_is_swappable should be defined in c++20"
3898 # endif
3899 # if __cpp_lib_is_swappable != 201603L
3900 #   error "__cpp_lib_is_swappable should have the value 201603L in c++20"
3901 # endif
3902
3903 # ifdef __cpp_lib_is_virtual_base_of
3904 #   error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
3905 # endif
3906
3907 # ifdef __cpp_lib_is_within_lifetime
3908 #   error "__cpp_lib_is_within_lifetime should not be defined before c++26"
3909 # endif
3910
3911 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3912 #   ifndef __cpp_lib_jthread
3913 #     error "__cpp_lib_jthread should be defined in c++20"
3914 #   endif
3915 #   if __cpp_lib_jthread != 201911L
3916 #     error "__cpp_lib_jthread should have the value 201911L in c++20"
3917 #   endif
3918 # else
3919 #   ifdef __cpp_lib_jthread
3920 #     error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3921 #   endif
3922 # endif
3923
3924 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
3925 #   ifndef __cpp_lib_latch
3926 #     error "__cpp_lib_latch should be defined in c++20"
3927 #   endif
3928 #   if __cpp_lib_latch != 201907L
3929 #     error "__cpp_lib_latch should have the value 201907L in c++20"
3930 #   endif
3931 # else
3932 #   ifdef __cpp_lib_latch
3933 #     error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
3934 #   endif
3935 # endif
3936
3937 # ifndef __cpp_lib_launder
3938 #   error "__cpp_lib_launder should be defined in c++20"
3939 # endif
3940 # if __cpp_lib_launder != 201606L
3941 #   error "__cpp_lib_launder should have the value 201606L in c++20"
3942 # endif
3943
3944 # ifdef __cpp_lib_linalg
3945 #   error "__cpp_lib_linalg should not be defined before c++26"
3946 # endif
3947
3948 # ifndef __cpp_lib_list_remove_return_type
3949 #   error "__cpp_lib_list_remove_return_type should be defined in c++20"
3950 # endif
3951 # if __cpp_lib_list_remove_return_type != 201806L
3952 #   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"
3953 # endif
3954
3955 # ifndef __cpp_lib_logical_traits
3956 #   error "__cpp_lib_logical_traits should be defined in c++20"
3957 # endif
3958 # if __cpp_lib_logical_traits != 201510L
3959 #   error "__cpp_lib_logical_traits should have the value 201510L in c++20"
3960 # endif
3961
3962 # ifndef __cpp_lib_make_from_tuple
3963 #   error "__cpp_lib_make_from_tuple should be defined in c++20"
3964 # endif
3965 # if __cpp_lib_make_from_tuple != 201606L
3966 #   error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"
3967 # endif
3968
3969 # ifndef __cpp_lib_make_reverse_iterator
3970 #   error "__cpp_lib_make_reverse_iterator should be defined in c++20"
3971 # endif
3972 # if __cpp_lib_make_reverse_iterator != 201402L
3973 #   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"
3974 # endif
3975
3976 # ifndef __cpp_lib_make_unique
3977 #   error "__cpp_lib_make_unique should be defined in c++20"
3978 # endif
3979 # if __cpp_lib_make_unique != 201304L
3980 #   error "__cpp_lib_make_unique should have the value 201304L in c++20"
3981 # endif
3982
3983 # ifndef __cpp_lib_map_try_emplace
3984 #   error "__cpp_lib_map_try_emplace should be defined in c++20"
3985 # endif
3986 # if __cpp_lib_map_try_emplace != 201411L
3987 #   error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"
3988 # endif
3989
3990 # ifndef __cpp_lib_math_constants
3991 #   error "__cpp_lib_math_constants should be defined in c++20"
3992 # endif
3993 # if __cpp_lib_math_constants != 201907L
3994 #   error "__cpp_lib_math_constants should have the value 201907L in c++20"
3995 # endif
3996
3997 # if !defined(_LIBCPP_VERSION)
3998 #   ifndef __cpp_lib_math_special_functions
3999 #     error "__cpp_lib_math_special_functions should be defined in c++20"
4000 #   endif
4001 #   if __cpp_lib_math_special_functions != 201603L
4002 #     error "__cpp_lib_math_special_functions should have the value 201603L in c++20"
4003 #   endif
4004 # else // _LIBCPP_VERSION
4005 #   ifdef __cpp_lib_math_special_functions
4006 #     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
4007 #   endif
4008 # endif
4009
4010 # ifdef __cpp_lib_mdspan
4011 #   error "__cpp_lib_mdspan should not be defined before c++23"
4012 # endif
4013
4014 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4015 #   ifndef __cpp_lib_memory_resource
4016 #     error "__cpp_lib_memory_resource should be defined in c++20"
4017 #   endif
4018 #   if __cpp_lib_memory_resource != 201603L
4019 #     error "__cpp_lib_memory_resource should have the value 201603L in c++20"
4020 #   endif
4021 # else
4022 #   ifdef __cpp_lib_memory_resource
4023 #     error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4024 #   endif
4025 # endif
4026
4027 # ifdef __cpp_lib_modules
4028 #   error "__cpp_lib_modules should not be defined before c++23"
4029 # endif
4030
4031 # ifndef __cpp_lib_move_iterator_concept
4032 #   error "__cpp_lib_move_iterator_concept should be defined in c++20"
4033 # endif
4034 # if __cpp_lib_move_iterator_concept != 202207L
4035 #   error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20"
4036 # endif
4037
4038 # ifdef __cpp_lib_move_only_function
4039 #   error "__cpp_lib_move_only_function should not be defined before c++23"
4040 # endif
4041
4042 # ifndef __cpp_lib_node_extract
4043 #   error "__cpp_lib_node_extract should be defined in c++20"
4044 # endif
4045 # if __cpp_lib_node_extract != 201606L
4046 #   error "__cpp_lib_node_extract should have the value 201606L in c++20"
4047 # endif
4048
4049 # ifndef __cpp_lib_nonmember_container_access
4050 #   error "__cpp_lib_nonmember_container_access should be defined in c++20"
4051 # endif
4052 # if __cpp_lib_nonmember_container_access != 201411L
4053 #   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"
4054 # endif
4055
4056 # ifndef __cpp_lib_not_fn
4057 #   error "__cpp_lib_not_fn should be defined in c++20"
4058 # endif
4059 # if __cpp_lib_not_fn != 201603L
4060 #   error "__cpp_lib_not_fn should have the value 201603L in c++20"
4061 # endif
4062
4063 # ifndef __cpp_lib_null_iterators
4064 #   error "__cpp_lib_null_iterators should be defined in c++20"
4065 # endif
4066 # if __cpp_lib_null_iterators != 201304L
4067 #   error "__cpp_lib_null_iterators should have the value 201304L in c++20"
4068 # endif
4069
4070 # ifndef __cpp_lib_optional
4071 #   error "__cpp_lib_optional should be defined in c++20"
4072 # endif
4073 # if __cpp_lib_optional != 201606L
4074 #   error "__cpp_lib_optional should have the value 201606L in c++20"
4075 # endif
4076
4077 # ifdef __cpp_lib_optional_range_support
4078 #   error "__cpp_lib_optional_range_support should not be defined before c++26"
4079 # endif
4080
4081 # ifdef __cpp_lib_out_ptr
4082 #   error "__cpp_lib_out_ptr should not be defined before c++23"
4083 # endif
4084
4085 # if !defined(_LIBCPP_VERSION)
4086 #   ifndef __cpp_lib_parallel_algorithm
4087 #     error "__cpp_lib_parallel_algorithm should be defined in c++20"
4088 #   endif
4089 #   if __cpp_lib_parallel_algorithm != 201603L
4090 #     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"
4091 #   endif
4092 # else // _LIBCPP_VERSION
4093 #   ifdef __cpp_lib_parallel_algorithm
4094 #     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
4095 #   endif
4096 # endif
4097
4098 # ifdef __cpp_lib_philox_engine
4099 #   error "__cpp_lib_philox_engine should not be defined before c++26"
4100 # endif
4101
4102 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
4103 #   ifndef __cpp_lib_polymorphic_allocator
4104 #     error "__cpp_lib_polymorphic_allocator should be defined in c++20"
4105 #   endif
4106 #   if __cpp_lib_polymorphic_allocator != 201902L
4107 #     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"
4108 #   endif
4109 # else
4110 #   ifdef __cpp_lib_polymorphic_allocator
4111 #     error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
4112 #   endif
4113 # endif
4114
4115 # ifdef __cpp_lib_print
4116 #   error "__cpp_lib_print should not be defined before c++23"
4117 # endif
4118
4119 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
4120 #   ifndef __cpp_lib_quoted_string_io
4121 #     error "__cpp_lib_quoted_string_io should be defined in c++20"
4122 #   endif
4123 #   if __cpp_lib_quoted_string_io != 201304L
4124 #     error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"
4125 #   endif
4126 # else
4127 #   ifdef __cpp_lib_quoted_string_io
4128 #     error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
4129 #   endif
4130 # endif
4131
4132 # ifndef __cpp_lib_ranges
4133 #   error "__cpp_lib_ranges should be defined in c++20"
4134 # endif
4135 # if __cpp_lib_ranges != 202207L
4136 #   error "__cpp_lib_ranges should have the value 202207L in c++20"
4137 # endif
4138
4139 # ifdef __cpp_lib_ranges_as_const
4140 #   error "__cpp_lib_ranges_as_const should not be defined before c++23"
4141 # endif
4142
4143 # ifdef __cpp_lib_ranges_as_rvalue
4144 #   error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"
4145 # endif
4146
4147 # ifdef __cpp_lib_ranges_chunk
4148 #   error "__cpp_lib_ranges_chunk should not be defined before c++23"
4149 # endif
4150
4151 # ifdef __cpp_lib_ranges_chunk_by
4152 #   error "__cpp_lib_ranges_chunk_by should not be defined before c++23"
4153 # endif
4154
4155 # ifdef __cpp_lib_ranges_concat
4156 #   error "__cpp_lib_ranges_concat should not be defined before c++26"
4157 # endif
4158
4159 # ifdef __cpp_lib_ranges_contains
4160 #   error "__cpp_lib_ranges_contains should not be defined before c++23"
4161 # endif
4162
4163 # ifdef __cpp_lib_ranges_find_last
4164 #   error "__cpp_lib_ranges_find_last should not be defined before c++23"
4165 # endif
4166
4167 # ifdef __cpp_lib_ranges_iota
4168 #   error "__cpp_lib_ranges_iota should not be defined before c++23"
4169 # endif
4170
4171 # ifdef __cpp_lib_ranges_join_with
4172 #   error "__cpp_lib_ranges_join_with should not be defined before c++23"
4173 # endif
4174
4175 # ifdef __cpp_lib_ranges_repeat
4176 #   error "__cpp_lib_ranges_repeat should not be defined before c++23"
4177 # endif
4178
4179 # ifdef __cpp_lib_ranges_slide
4180 #   error "__cpp_lib_ranges_slide should not be defined before c++23"
4181 # endif
4182
4183 # ifdef __cpp_lib_ranges_starts_ends_with
4184 #   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"
4185 # endif
4186
4187 # ifdef __cpp_lib_ranges_to_container
4188 #   error "__cpp_lib_ranges_to_container should not be defined before c++23"
4189 # endif
4190
4191 # ifdef __cpp_lib_ranges_zip
4192 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
4193 # endif
4194
4195 # ifdef __cpp_lib_ratio
4196 #   error "__cpp_lib_ratio should not be defined before c++26"
4197 # endif
4198
4199 # ifndef __cpp_lib_raw_memory_algorithms
4200 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
4201 # endif
4202 # if __cpp_lib_raw_memory_algorithms != 201606L
4203 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
4204 # endif
4205
4206 # ifdef __cpp_lib_rcu
4207 #   error "__cpp_lib_rcu should not be defined before c++26"
4208 # endif
4209
4210 # ifdef __cpp_lib_reference_from_temporary
4211 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
4212 # endif
4213
4214 # ifdef __cpp_lib_reference_wrapper
4215 #   error "__cpp_lib_reference_wrapper should not be defined before c++26"
4216 # endif
4217
4218 # ifndef __cpp_lib_remove_cvref
4219 #   error "__cpp_lib_remove_cvref should be defined in c++20"
4220 # endif
4221 # if __cpp_lib_remove_cvref != 201711L
4222 #   error "__cpp_lib_remove_cvref should have the value 201711L in c++20"
4223 # endif
4224
4225 # ifndef __cpp_lib_result_of_sfinae
4226 #   error "__cpp_lib_result_of_sfinae should be defined in c++20"
4227 # endif
4228 # if __cpp_lib_result_of_sfinae != 201210L
4229 #   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"
4230 # endif
4231
4232 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
4233 #   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"
4234 # endif
4235 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
4236 #   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"
4237 # endif
4238
4239 # ifndef __cpp_lib_sample
4240 #   error "__cpp_lib_sample should be defined in c++20"
4241 # endif
4242 # if __cpp_lib_sample != 201603L
4243 #   error "__cpp_lib_sample should have the value 201603L in c++20"
4244 # endif
4245
4246 # ifdef __cpp_lib_saturation_arithmetic
4247 #   error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
4248 # endif
4249
4250 # if !defined(_LIBCPP_HAS_NO_THREADS)
4251 #   ifndef __cpp_lib_scoped_lock
4252 #     error "__cpp_lib_scoped_lock should be defined in c++20"
4253 #   endif
4254 #   if __cpp_lib_scoped_lock != 201703L
4255 #     error "__cpp_lib_scoped_lock should have the value 201703L in c++20"
4256 #   endif
4257 # else
4258 #   ifdef __cpp_lib_scoped_lock
4259 #     error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4260 #   endif
4261 # endif
4262
4263 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4264 #   ifndef __cpp_lib_semaphore
4265 #     error "__cpp_lib_semaphore should be defined in c++20"
4266 #   endif
4267 #   if __cpp_lib_semaphore != 201907L
4268 #     error "__cpp_lib_semaphore should have the value 201907L in c++20"
4269 #   endif
4270 # else
4271 #   ifdef __cpp_lib_semaphore
4272 #     error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
4273 #   endif
4274 # endif
4275
4276 # ifdef __cpp_lib_senders
4277 #   error "__cpp_lib_senders should not be defined before c++26"
4278 # endif
4279
4280 # if !defined(_LIBCPP_HAS_NO_THREADS)
4281 #   ifndef __cpp_lib_shared_mutex
4282 #     error "__cpp_lib_shared_mutex should be defined in c++20"
4283 #   endif
4284 #   if __cpp_lib_shared_mutex != 201505L
4285 #     error "__cpp_lib_shared_mutex should have the value 201505L in c++20"
4286 #   endif
4287 # else
4288 #   ifdef __cpp_lib_shared_mutex
4289 #     error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4290 #   endif
4291 # endif
4292
4293 # ifndef __cpp_lib_shared_ptr_arrays
4294 #   error "__cpp_lib_shared_ptr_arrays should be defined in c++20"
4295 # endif
4296 # if __cpp_lib_shared_ptr_arrays != 201707L
4297 #   error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20"
4298 # endif
4299
4300 # ifndef __cpp_lib_shared_ptr_weak_type
4301 #   error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"
4302 # endif
4303 # if __cpp_lib_shared_ptr_weak_type != 201606L
4304 #   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"
4305 # endif
4306
4307 # if !defined(_LIBCPP_HAS_NO_THREADS)
4308 #   ifndef __cpp_lib_shared_timed_mutex
4309 #     error "__cpp_lib_shared_timed_mutex should be defined in c++20"
4310 #   endif
4311 #   if __cpp_lib_shared_timed_mutex != 201402L
4312 #     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"
4313 #   endif
4314 # else
4315 #   ifdef __cpp_lib_shared_timed_mutex
4316 #     error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
4317 #   endif
4318 # endif
4319
4320 # ifndef __cpp_lib_shift
4321 #   error "__cpp_lib_shift should be defined in c++20"
4322 # endif
4323 # if __cpp_lib_shift != 201806L
4324 #   error "__cpp_lib_shift should have the value 201806L in c++20"
4325 # endif
4326
4327 # if !defined(_LIBCPP_VERSION)
4328 #   ifndef __cpp_lib_smart_ptr_for_overwrite
4329 #     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"
4330 #   endif
4331 #   if __cpp_lib_smart_ptr_for_overwrite != 202002L
4332 #     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"
4333 #   endif
4334 # else // _LIBCPP_VERSION
4335 #   ifdef __cpp_lib_smart_ptr_for_overwrite
4336 #     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
4337 #   endif
4338 # endif
4339
4340 # ifdef __cpp_lib_smart_ptr_owner_equality
4341 #   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
4342 # endif
4343
4344 # ifndef __cpp_lib_source_location
4345 #   error "__cpp_lib_source_location should be defined in c++20"
4346 # endif
4347 # if __cpp_lib_source_location != 201907L
4348 #   error "__cpp_lib_source_location should have the value 201907L in c++20"
4349 # endif
4350
4351 # ifndef __cpp_lib_span
4352 #   error "__cpp_lib_span should be defined in c++20"
4353 # endif
4354 # if __cpp_lib_span != 202002L
4355 #   error "__cpp_lib_span should have the value 202002L in c++20"
4356 # endif
4357
4358 # ifdef __cpp_lib_span_at
4359 #   error "__cpp_lib_span_at should not be defined before c++26"
4360 # endif
4361
4362 # ifdef __cpp_lib_span_initializer_list
4363 #   error "__cpp_lib_span_initializer_list should not be defined before c++26"
4364 # endif
4365
4366 # ifdef __cpp_lib_spanstream
4367 #   error "__cpp_lib_spanstream should not be defined before c++23"
4368 # endif
4369
4370 # ifndef __cpp_lib_ssize
4371 #   error "__cpp_lib_ssize should be defined in c++20"
4372 # endif
4373 # if __cpp_lib_ssize != 201902L
4374 #   error "__cpp_lib_ssize should have the value 201902L in c++20"
4375 # endif
4376
4377 # ifdef __cpp_lib_sstream_from_string_view
4378 #   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
4379 # endif
4380
4381 # ifdef __cpp_lib_stacktrace
4382 #   error "__cpp_lib_stacktrace should not be defined before c++23"
4383 # endif
4384
4385 # ifndef __cpp_lib_starts_ends_with
4386 #   error "__cpp_lib_starts_ends_with should be defined in c++20"
4387 # endif
4388 # if __cpp_lib_starts_ends_with != 201711L
4389 #   error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"
4390 # endif
4391
4392 # ifdef __cpp_lib_stdatomic_h
4393 #   error "__cpp_lib_stdatomic_h should not be defined before c++23"
4394 # endif
4395
4396 # ifdef __cpp_lib_string_contains
4397 #   error "__cpp_lib_string_contains should not be defined before c++23"
4398 # endif
4399
4400 # ifdef __cpp_lib_string_resize_and_overwrite
4401 #   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"
4402 # endif
4403
4404 # ifndef __cpp_lib_string_udls
4405 #   error "__cpp_lib_string_udls should be defined in c++20"
4406 # endif
4407 # if __cpp_lib_string_udls != 201304L
4408 #   error "__cpp_lib_string_udls should have the value 201304L in c++20"
4409 # endif
4410
4411 # ifndef __cpp_lib_string_view
4412 #   error "__cpp_lib_string_view should be defined in c++20"
4413 # endif
4414 # if __cpp_lib_string_view != 201803L
4415 #   error "__cpp_lib_string_view should have the value 201803L in c++20"
4416 # endif
4417
4418 # ifdef __cpp_lib_submdspan
4419 #   error "__cpp_lib_submdspan should not be defined before c++26"
4420 # endif
4421
4422 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
4423 #   ifndef __cpp_lib_syncbuf
4424 #     error "__cpp_lib_syncbuf should be defined in c++20"
4425 #   endif
4426 #   if __cpp_lib_syncbuf != 201803L
4427 #     error "__cpp_lib_syncbuf should have the value 201803L in c++20"
4428 #   endif
4429 # else
4430 #   ifdef __cpp_lib_syncbuf
4431 #     error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
4432 #   endif
4433 # endif
4434
4435 # ifdef __cpp_lib_text_encoding
4436 #   error "__cpp_lib_text_encoding should not be defined before c++26"
4437 # endif
4438
4439 # ifndef __cpp_lib_three_way_comparison
4440 #   error "__cpp_lib_three_way_comparison should be defined in c++20"
4441 # endif
4442 # if __cpp_lib_three_way_comparison != 201907L
4443 #   error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
4444 # endif
4445
4446 # ifndef __cpp_lib_to_address
4447 #   error "__cpp_lib_to_address should be defined in c++20"
4448 # endif
4449 # if __cpp_lib_to_address != 201711L
4450 #   error "__cpp_lib_to_address should have the value 201711L in c++20"
4451 # endif
4452
4453 # ifndef __cpp_lib_to_array
4454 #   error "__cpp_lib_to_array should be defined in c++20"
4455 # endif
4456 # if __cpp_lib_to_array != 201907L
4457 #   error "__cpp_lib_to_array should have the value 201907L in c++20"
4458 # endif
4459
4460 # if !defined(_LIBCPP_VERSION)
4461 #   ifndef __cpp_lib_to_chars
4462 #     error "__cpp_lib_to_chars should be defined in c++20"
4463 #   endif
4464 #   if __cpp_lib_to_chars != 201611L
4465 #     error "__cpp_lib_to_chars should have the value 201611L in c++20"
4466 #   endif
4467 # else // _LIBCPP_VERSION
4468 #   ifdef __cpp_lib_to_chars
4469 #     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
4470 #   endif
4471 # endif
4472
4473 # ifdef __cpp_lib_to_string
4474 #   error "__cpp_lib_to_string should not be defined before c++26"
4475 # endif
4476
4477 # ifdef __cpp_lib_to_underlying
4478 #   error "__cpp_lib_to_underlying should not be defined before c++23"
4479 # endif
4480
4481 # ifndef __cpp_lib_transformation_trait_aliases
4482 #   error "__cpp_lib_transformation_trait_aliases should be defined in c++20"
4483 # endif
4484 # if __cpp_lib_transformation_trait_aliases != 201304L
4485 #   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"
4486 # endif
4487
4488 # ifndef __cpp_lib_transparent_operators
4489 #   error "__cpp_lib_transparent_operators should be defined in c++20"
4490 # endif
4491 # if __cpp_lib_transparent_operators != 201510L
4492 #   error "__cpp_lib_transparent_operators should have the value 201510L in c++20"
4493 # endif
4494
4495 # ifndef __cpp_lib_tuple_element_t
4496 #   error "__cpp_lib_tuple_element_t should be defined in c++20"
4497 # endif
4498 # if __cpp_lib_tuple_element_t != 201402L
4499 #   error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"
4500 # endif
4501
4502 # ifdef __cpp_lib_tuple_like
4503 #   error "__cpp_lib_tuple_like should not be defined before c++23"
4504 # endif
4505
4506 # ifndef __cpp_lib_tuples_by_type
4507 #   error "__cpp_lib_tuples_by_type should be defined in c++20"
4508 # endif
4509 # if __cpp_lib_tuples_by_type != 201304L
4510 #   error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"
4511 # endif
4512
4513 # ifndef __cpp_lib_type_identity
4514 #   error "__cpp_lib_type_identity should be defined in c++20"
4515 # endif
4516 # if __cpp_lib_type_identity != 201806L
4517 #   error "__cpp_lib_type_identity should have the value 201806L in c++20"
4518 # endif
4519
4520 # ifndef __cpp_lib_type_trait_variable_templates
4521 #   error "__cpp_lib_type_trait_variable_templates should be defined in c++20"
4522 # endif
4523 # if __cpp_lib_type_trait_variable_templates != 201510L
4524 #   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"
4525 # endif
4526
4527 # ifndef __cpp_lib_uncaught_exceptions
4528 #   error "__cpp_lib_uncaught_exceptions should be defined in c++20"
4529 # endif
4530 # if __cpp_lib_uncaught_exceptions != 201411L
4531 #   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"
4532 # endif
4533
4534 # ifndef __cpp_lib_unordered_map_try_emplace
4535 #   error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"
4536 # endif
4537 # if __cpp_lib_unordered_map_try_emplace != 201411L
4538 #   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"
4539 # endif
4540
4541 # ifdef __cpp_lib_unreachable
4542 #   error "__cpp_lib_unreachable should not be defined before c++23"
4543 # endif
4544
4545 # ifndef __cpp_lib_unwrap_ref
4546 #   error "__cpp_lib_unwrap_ref should be defined in c++20"
4547 # endif
4548 # if __cpp_lib_unwrap_ref != 201811L
4549 #   error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"
4550 # endif
4551
4552 # ifndef __cpp_lib_variant
4553 #   error "__cpp_lib_variant should be defined in c++20"
4554 # endif
4555 # if __cpp_lib_variant != 202102L
4556 #   error "__cpp_lib_variant should have the value 202102L in c++20"
4557 # endif
4558
4559 # ifndef __cpp_lib_void_t
4560 #   error "__cpp_lib_void_t should be defined in c++20"
4561 # endif
4562 # if __cpp_lib_void_t != 201411L
4563 #   error "__cpp_lib_void_t should have the value 201411L in c++20"
4564 # endif
4565
4566 #elif TEST_STD_VER == 23
4567
4568 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
4569 #   error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++23"
4570 # endif
4571 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
4572 #   error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++23"
4573 # endif
4574
4575 # ifndef __cpp_lib_addressof_constexpr
4576 #   error "__cpp_lib_addressof_constexpr should be defined in c++23"
4577 # endif
4578 # if __cpp_lib_addressof_constexpr != 201603L
4579 #   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23"
4580 # endif
4581
4582 # ifndef __cpp_lib_allocate_at_least
4583 #   error "__cpp_lib_allocate_at_least should be defined in c++23"
4584 # endif
4585 # if __cpp_lib_allocate_at_least != 202302L
4586 #   error "__cpp_lib_allocate_at_least should have the value 202302L in c++23"
4587 # endif
4588
4589 # ifndef __cpp_lib_allocator_traits_is_always_equal
4590 #   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23"
4591 # endif
4592 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
4593 #   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23"
4594 # endif
4595
4596 # ifndef __cpp_lib_any
4597 #   error "__cpp_lib_any should be defined in c++23"
4598 # endif
4599 # if __cpp_lib_any != 201606L
4600 #   error "__cpp_lib_any should have the value 201606L in c++23"
4601 # endif
4602
4603 # ifndef __cpp_lib_apply
4604 #   error "__cpp_lib_apply should be defined in c++23"
4605 # endif
4606 # if __cpp_lib_apply != 201603L
4607 #   error "__cpp_lib_apply should have the value 201603L in c++23"
4608 # endif
4609
4610 # ifndef __cpp_lib_array_constexpr
4611 #   error "__cpp_lib_array_constexpr should be defined in c++23"
4612 # endif
4613 # if __cpp_lib_array_constexpr != 201811L
4614 #   error "__cpp_lib_array_constexpr should have the value 201811L in c++23"
4615 # endif
4616
4617 # ifndef __cpp_lib_as_const
4618 #   error "__cpp_lib_as_const should be defined in c++23"
4619 # endif
4620 # if __cpp_lib_as_const != 201510L
4621 #   error "__cpp_lib_as_const should have the value 201510L in c++23"
4622 # endif
4623
4624 # if !defined(_LIBCPP_VERSION)
4625 #   ifndef __cpp_lib_associative_heterogeneous_erasure
4626 #     error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++23"
4627 #   endif
4628 #   if __cpp_lib_associative_heterogeneous_erasure != 202110L
4629 #     error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++23"
4630 #   endif
4631 # else // _LIBCPP_VERSION
4632 #   ifdef __cpp_lib_associative_heterogeneous_erasure
4633 #     error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
4634 #   endif
4635 # endif
4636
4637 # ifdef __cpp_lib_associative_heterogeneous_insertion
4638 #   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
4639 # endif
4640
4641 # ifndef __cpp_lib_assume_aligned
4642 #   error "__cpp_lib_assume_aligned should be defined in c++23"
4643 # endif
4644 # if __cpp_lib_assume_aligned != 201811L
4645 #   error "__cpp_lib_assume_aligned should have the value 201811L in c++23"
4646 # endif
4647
4648 # ifndef __cpp_lib_atomic_flag_test
4649 #   error "__cpp_lib_atomic_flag_test should be defined in c++23"
4650 # endif
4651 # if __cpp_lib_atomic_flag_test != 201907L
4652 #   error "__cpp_lib_atomic_flag_test should have the value 201907L in c++23"
4653 # endif
4654
4655 # if !defined(_LIBCPP_VERSION)
4656 #   ifndef __cpp_lib_atomic_float
4657 #     error "__cpp_lib_atomic_float should be defined in c++23"
4658 #   endif
4659 #   if __cpp_lib_atomic_float != 201711L
4660 #     error "__cpp_lib_atomic_float should have the value 201711L in c++23"
4661 #   endif
4662 # else // _LIBCPP_VERSION
4663 #   ifdef __cpp_lib_atomic_float
4664 #     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
4665 #   endif
4666 # endif
4667
4668 # ifndef __cpp_lib_atomic_is_always_lock_free
4669 #   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++23"
4670 # endif
4671 # if __cpp_lib_atomic_is_always_lock_free != 201603L
4672 #   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++23"
4673 # endif
4674
4675 # ifndef __cpp_lib_atomic_lock_free_type_aliases
4676 #   error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++23"
4677 # endif
4678 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
4679 #   error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++23"
4680 # endif
4681
4682 # ifdef __cpp_lib_atomic_min_max
4683 #   error "__cpp_lib_atomic_min_max should not be defined before c++26"
4684 # endif
4685
4686 # ifndef __cpp_lib_atomic_ref
4687 #   error "__cpp_lib_atomic_ref should be defined in c++23"
4688 # endif
4689 # if __cpp_lib_atomic_ref != 201806L
4690 #   error "__cpp_lib_atomic_ref should have the value 201806L in c++23"
4691 # endif
4692
4693 # if !defined(_LIBCPP_VERSION)
4694 #   ifndef __cpp_lib_atomic_shared_ptr
4695 #     error "__cpp_lib_atomic_shared_ptr should be defined in c++23"
4696 #   endif
4697 #   if __cpp_lib_atomic_shared_ptr != 201711L
4698 #     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++23"
4699 #   endif
4700 # else // _LIBCPP_VERSION
4701 #   ifdef __cpp_lib_atomic_shared_ptr
4702 #     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
4703 #   endif
4704 # endif
4705
4706 # ifndef __cpp_lib_atomic_value_initialization
4707 #   error "__cpp_lib_atomic_value_initialization should be defined in c++23"
4708 # endif
4709 # if __cpp_lib_atomic_value_initialization != 201911L
4710 #   error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23"
4711 # endif
4712
4713 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
4714 #   ifndef __cpp_lib_atomic_wait
4715 #     error "__cpp_lib_atomic_wait should be defined in c++23"
4716 #   endif
4717 #   if __cpp_lib_atomic_wait != 201907L
4718 #     error "__cpp_lib_atomic_wait should have the value 201907L in c++23"
4719 #   endif
4720 # else
4721 #   ifdef __cpp_lib_atomic_wait
4722 #     error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
4723 #   endif
4724 # endif
4725
4726 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
4727 #   ifndef __cpp_lib_barrier
4728 #     error "__cpp_lib_barrier should be defined in c++23"
4729 #   endif
4730 #   if __cpp_lib_barrier != 201907L
4731 #     error "__cpp_lib_barrier should have the value 201907L in c++23"
4732 #   endif
4733 # else
4734 #   ifdef __cpp_lib_barrier
4735 #     error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
4736 #   endif
4737 # endif
4738
4739 # ifndef __cpp_lib_bind_back
4740 #   error "__cpp_lib_bind_back should be defined in c++23"
4741 # endif
4742 # if __cpp_lib_bind_back != 202202L
4743 #   error "__cpp_lib_bind_back should have the value 202202L in c++23"
4744 # endif
4745
4746 # ifndef __cpp_lib_bind_front
4747 #   error "__cpp_lib_bind_front should be defined in c++23"
4748 # endif
4749 # if __cpp_lib_bind_front != 201907L
4750 #   error "__cpp_lib_bind_front should have the value 201907L in c++23"
4751 # endif
4752
4753 # ifndef __cpp_lib_bit_cast
4754 #   error "__cpp_lib_bit_cast should be defined in c++23"
4755 # endif
4756 # if __cpp_lib_bit_cast != 201806L
4757 #   error "__cpp_lib_bit_cast should have the value 201806L in c++23"
4758 # endif
4759
4760 # ifndef __cpp_lib_bitops
4761 #   error "__cpp_lib_bitops should be defined in c++23"
4762 # endif
4763 # if __cpp_lib_bitops != 201907L
4764 #   error "__cpp_lib_bitops should have the value 201907L in c++23"
4765 # endif
4766
4767 # ifdef __cpp_lib_bitset
4768 #   error "__cpp_lib_bitset should not be defined before c++26"
4769 # endif
4770
4771 # ifndef __cpp_lib_bool_constant
4772 #   error "__cpp_lib_bool_constant should be defined in c++23"
4773 # endif
4774 # if __cpp_lib_bool_constant != 201505L
4775 #   error "__cpp_lib_bool_constant should have the value 201505L in c++23"
4776 # endif
4777
4778 # ifndef __cpp_lib_bounded_array_traits
4779 #   error "__cpp_lib_bounded_array_traits should be defined in c++23"
4780 # endif
4781 # if __cpp_lib_bounded_array_traits != 201902L
4782 #   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++23"
4783 # endif
4784
4785 # ifndef __cpp_lib_boyer_moore_searcher
4786 #   error "__cpp_lib_boyer_moore_searcher should be defined in c++23"
4787 # endif
4788 # if __cpp_lib_boyer_moore_searcher != 201603L
4789 #   error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23"
4790 # endif
4791
4792 # ifndef __cpp_lib_byte
4793 #   error "__cpp_lib_byte should be defined in c++23"
4794 # endif
4795 # if __cpp_lib_byte != 201603L
4796 #   error "__cpp_lib_byte should have the value 201603L in c++23"
4797 # endif
4798
4799 # ifndef __cpp_lib_byteswap
4800 #   error "__cpp_lib_byteswap should be defined in c++23"
4801 # endif
4802 # if __cpp_lib_byteswap != 202110L
4803 #   error "__cpp_lib_byteswap should have the value 202110L in c++23"
4804 # endif
4805
4806 # if defined(__cpp_char8_t)
4807 #   ifndef __cpp_lib_char8_t
4808 #     error "__cpp_lib_char8_t should be defined in c++23"
4809 #   endif
4810 #   if __cpp_lib_char8_t != 201907L
4811 #     error "__cpp_lib_char8_t should have the value 201907L in c++23"
4812 #   endif
4813 # else
4814 #   ifdef __cpp_lib_char8_t
4815 #     error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
4816 #   endif
4817 # endif
4818
4819 # ifndef __cpp_lib_chrono
4820 #   error "__cpp_lib_chrono should be defined in c++23"
4821 # endif
4822 # if __cpp_lib_chrono != 201611L
4823 #   error "__cpp_lib_chrono should have the value 201611L in c++23"
4824 # endif
4825
4826 # ifndef __cpp_lib_chrono_udls
4827 #   error "__cpp_lib_chrono_udls should be defined in c++23"
4828 # endif
4829 # if __cpp_lib_chrono_udls != 201304L
4830 #   error "__cpp_lib_chrono_udls should have the value 201304L in c++23"
4831 # endif
4832
4833 # ifndef __cpp_lib_clamp
4834 #   error "__cpp_lib_clamp should be defined in c++23"
4835 # endif
4836 # if __cpp_lib_clamp != 201603L
4837 #   error "__cpp_lib_clamp should have the value 201603L in c++23"
4838 # endif
4839
4840 # ifndef __cpp_lib_complex_udls
4841 #   error "__cpp_lib_complex_udls should be defined in c++23"
4842 # endif
4843 # if __cpp_lib_complex_udls != 201309L
4844 #   error "__cpp_lib_complex_udls should have the value 201309L in c++23"
4845 # endif
4846
4847 # ifndef __cpp_lib_concepts
4848 #   error "__cpp_lib_concepts should be defined in c++23"
4849 # endif
4850 # if __cpp_lib_concepts != 202002L
4851 #   error "__cpp_lib_concepts should have the value 202002L in c++23"
4852 # endif
4853
4854 # ifndef __cpp_lib_constexpr_algorithms
4855 #   error "__cpp_lib_constexpr_algorithms should be defined in c++23"
4856 # endif
4857 # if __cpp_lib_constexpr_algorithms != 201806L
4858 #   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23"
4859 # endif
4860
4861 # ifndef __cpp_lib_constexpr_bitset
4862 #   error "__cpp_lib_constexpr_bitset should be defined in c++23"
4863 # endif
4864 # if __cpp_lib_constexpr_bitset != 202207L
4865 #   error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23"
4866 # endif
4867
4868 # ifndef __cpp_lib_constexpr_charconv
4869 #   error "__cpp_lib_constexpr_charconv should be defined in c++23"
4870 # endif
4871 # if __cpp_lib_constexpr_charconv != 202207L
4872 #   error "__cpp_lib_constexpr_charconv should have the value 202207L in c++23"
4873 # endif
4874
4875 # if !defined(_LIBCPP_VERSION)
4876 #   ifndef __cpp_lib_constexpr_cmath
4877 #     error "__cpp_lib_constexpr_cmath should be defined in c++23"
4878 #   endif
4879 #   if __cpp_lib_constexpr_cmath != 202202L
4880 #     error "__cpp_lib_constexpr_cmath should have the value 202202L in c++23"
4881 #   endif
4882 # else // _LIBCPP_VERSION
4883 #   ifdef __cpp_lib_constexpr_cmath
4884 #     error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
4885 #   endif
4886 # endif
4887
4888 # ifndef __cpp_lib_constexpr_complex
4889 #   error "__cpp_lib_constexpr_complex should be defined in c++23"
4890 # endif
4891 # if __cpp_lib_constexpr_complex != 201711L
4892 #   error "__cpp_lib_constexpr_complex should have the value 201711L in c++23"
4893 # endif
4894
4895 # ifndef __cpp_lib_constexpr_dynamic_alloc
4896 #   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23"
4897 # endif
4898 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
4899 #   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23"
4900 # endif
4901
4902 # ifndef __cpp_lib_constexpr_functional
4903 #   error "__cpp_lib_constexpr_functional should be defined in c++23"
4904 # endif
4905 # if __cpp_lib_constexpr_functional != 201907L
4906 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++23"
4907 # endif
4908
4909 # ifndef __cpp_lib_constexpr_iterator
4910 #   error "__cpp_lib_constexpr_iterator should be defined in c++23"
4911 # endif
4912 # if __cpp_lib_constexpr_iterator != 201811L
4913 #   error "__cpp_lib_constexpr_iterator should have the value 201811L in c++23"
4914 # endif
4915
4916 # ifndef __cpp_lib_constexpr_memory
4917 #   error "__cpp_lib_constexpr_memory should be defined in c++23"
4918 # endif
4919 # if __cpp_lib_constexpr_memory != 202202L
4920 #   error "__cpp_lib_constexpr_memory should have the value 202202L in c++23"
4921 # endif
4922
4923 # ifdef __cpp_lib_constexpr_new
4924 #   error "__cpp_lib_constexpr_new should not be defined before c++26"
4925 # endif
4926
4927 # ifndef __cpp_lib_constexpr_numeric
4928 #   error "__cpp_lib_constexpr_numeric should be defined in c++23"
4929 # endif
4930 # if __cpp_lib_constexpr_numeric != 201911L
4931 #   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++23"
4932 # endif
4933
4934 # ifndef __cpp_lib_constexpr_string
4935 #   error "__cpp_lib_constexpr_string should be defined in c++23"
4936 # endif
4937 # if __cpp_lib_constexpr_string != 201907L
4938 #   error "__cpp_lib_constexpr_string should have the value 201907L in c++23"
4939 # endif
4940
4941 # ifndef __cpp_lib_constexpr_string_view
4942 #   error "__cpp_lib_constexpr_string_view should be defined in c++23"
4943 # endif
4944 # if __cpp_lib_constexpr_string_view != 201811L
4945 #   error "__cpp_lib_constexpr_string_view should have the value 201811L in c++23"
4946 # endif
4947
4948 # ifndef __cpp_lib_constexpr_tuple
4949 #   error "__cpp_lib_constexpr_tuple should be defined in c++23"
4950 # endif
4951 # if __cpp_lib_constexpr_tuple != 201811L
4952 #   error "__cpp_lib_constexpr_tuple should have the value 201811L in c++23"
4953 # endif
4954
4955 # ifndef __cpp_lib_constexpr_typeinfo
4956 #   error "__cpp_lib_constexpr_typeinfo should be defined in c++23"
4957 # endif
4958 # if __cpp_lib_constexpr_typeinfo != 202106L
4959 #   error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++23"
4960 # endif
4961
4962 # ifndef __cpp_lib_constexpr_utility
4963 #   error "__cpp_lib_constexpr_utility should be defined in c++23"
4964 # endif
4965 # if __cpp_lib_constexpr_utility != 201811L
4966 #   error "__cpp_lib_constexpr_utility should have the value 201811L in c++23"
4967 # endif
4968
4969 # ifndef __cpp_lib_constexpr_vector
4970 #   error "__cpp_lib_constexpr_vector should be defined in c++23"
4971 # endif
4972 # if __cpp_lib_constexpr_vector != 201907L
4973 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++23"
4974 # endif
4975
4976 # ifdef __cpp_lib_constrained_equality
4977 #   error "__cpp_lib_constrained_equality should not be defined before c++26"
4978 # endif
4979
4980 # ifndef __cpp_lib_containers_ranges
4981 #   error "__cpp_lib_containers_ranges should be defined in c++23"
4982 # endif
4983 # if __cpp_lib_containers_ranges != 202202L
4984 #   error "__cpp_lib_containers_ranges should have the value 202202L in c++23"
4985 # endif
4986
4987 # ifdef __cpp_lib_copyable_function
4988 #   error "__cpp_lib_copyable_function should not be defined before c++26"
4989 # endif
4990
4991 # ifndef __cpp_lib_coroutine
4992 #   error "__cpp_lib_coroutine should be defined in c++23"
4993 # endif
4994 # if __cpp_lib_coroutine != 201902L
4995 #   error "__cpp_lib_coroutine should have the value 201902L in c++23"
4996 # endif
4997
4998 # ifdef __cpp_lib_debugging
4999 #   error "__cpp_lib_debugging should not be defined before c++26"
5000 # endif
5001
5002 # ifdef __cpp_lib_default_template_type_for_algorithm_values
5003 #   error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"
5004 # endif
5005
5006 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
5007 #   ifndef __cpp_lib_destroying_delete
5008 #     error "__cpp_lib_destroying_delete should be defined in c++23"
5009 #   endif
5010 #   if __cpp_lib_destroying_delete != 201806L
5011 #     error "__cpp_lib_destroying_delete should have the value 201806L in c++23"
5012 #   endif
5013 # else
5014 #   ifdef __cpp_lib_destroying_delete
5015 #     error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
5016 #   endif
5017 # endif
5018
5019 # ifndef __cpp_lib_enable_shared_from_this
5020 #   error "__cpp_lib_enable_shared_from_this should be defined in c++23"
5021 # endif
5022 # if __cpp_lib_enable_shared_from_this != 201603L
5023 #   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23"
5024 # endif
5025
5026 # ifndef __cpp_lib_endian
5027 #   error "__cpp_lib_endian should be defined in c++23"
5028 # endif
5029 # if __cpp_lib_endian != 201907L
5030 #   error "__cpp_lib_endian should have the value 201907L in c++23"
5031 # endif
5032
5033 # ifndef __cpp_lib_erase_if
5034 #   error "__cpp_lib_erase_if should be defined in c++23"
5035 # endif
5036 # if __cpp_lib_erase_if != 202002L
5037 #   error "__cpp_lib_erase_if should have the value 202002L in c++23"
5038 # endif
5039
5040 # ifndef __cpp_lib_exchange_function
5041 #   error "__cpp_lib_exchange_function should be defined in c++23"
5042 # endif
5043 # if __cpp_lib_exchange_function != 201304L
5044 #   error "__cpp_lib_exchange_function should have the value 201304L in c++23"
5045 # endif
5046
5047 # if !defined(_LIBCPP_VERSION)
5048 #   ifndef __cpp_lib_execution
5049 #     error "__cpp_lib_execution should be defined in c++23"
5050 #   endif
5051 #   if __cpp_lib_execution != 201902L
5052 #     error "__cpp_lib_execution should have the value 201902L in c++23"
5053 #   endif
5054 # else // _LIBCPP_VERSION
5055 #   ifdef __cpp_lib_execution
5056 #     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
5057 #   endif
5058 # endif
5059
5060 # ifndef __cpp_lib_expected
5061 #   error "__cpp_lib_expected should be defined in c++23"
5062 # endif
5063 # if __cpp_lib_expected != 202211L
5064 #   error "__cpp_lib_expected should have the value 202211L in c++23"
5065 # endif
5066
5067 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
5068 #   ifndef __cpp_lib_filesystem
5069 #     error "__cpp_lib_filesystem should be defined in c++23"
5070 #   endif
5071 #   if __cpp_lib_filesystem != 201703L
5072 #     error "__cpp_lib_filesystem should have the value 201703L in c++23"
5073 #   endif
5074 # else
5075 #   ifdef __cpp_lib_filesystem
5076 #     error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
5077 #   endif
5078 # endif
5079
5080 # ifndef __cpp_lib_format
5081 #   error "__cpp_lib_format should be defined in c++23"
5082 # endif
5083 # if __cpp_lib_format != 202110L
5084 #   error "__cpp_lib_format should have the value 202110L in c++23"
5085 # endif
5086
5087 # ifdef __cpp_lib_format_path
5088 #   error "__cpp_lib_format_path should not be defined before c++26"
5089 # endif
5090
5091 # ifndef __cpp_lib_format_ranges
5092 #   error "__cpp_lib_format_ranges should be defined in c++23"
5093 # endif
5094 # if __cpp_lib_format_ranges != 202207L
5095 #   error "__cpp_lib_format_ranges should have the value 202207L in c++23"
5096 # endif
5097
5098 # ifndef __cpp_lib_format_uchar
5099 #   error "__cpp_lib_format_uchar should be defined in c++23"
5100 # endif
5101 # if __cpp_lib_format_uchar != 202311L
5102 #   error "__cpp_lib_format_uchar should have the value 202311L in c++23"
5103 # endif
5104
5105 # if !defined(_LIBCPP_VERSION)
5106 #   ifndef __cpp_lib_formatters
5107 #     error "__cpp_lib_formatters should be defined in c++23"
5108 #   endif
5109 #   if __cpp_lib_formatters != 202302L
5110 #     error "__cpp_lib_formatters should have the value 202302L in c++23"
5111 #   endif
5112 # else // _LIBCPP_VERSION
5113 #   ifdef __cpp_lib_formatters
5114 #     error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
5115 #   endif
5116 # endif
5117
5118 # ifndef __cpp_lib_forward_like
5119 #   error "__cpp_lib_forward_like should be defined in c++23"
5120 # endif
5121 # if __cpp_lib_forward_like != 202207L
5122 #   error "__cpp_lib_forward_like should have the value 202207L in c++23"
5123 # endif
5124
5125 # ifdef __cpp_lib_freestanding_algorithm
5126 #   error "__cpp_lib_freestanding_algorithm should not be defined before c++26"
5127 # endif
5128
5129 # ifdef __cpp_lib_freestanding_array
5130 #   error "__cpp_lib_freestanding_array should not be defined before c++26"
5131 # endif
5132
5133 # ifdef __cpp_lib_freestanding_cstring
5134 #   error "__cpp_lib_freestanding_cstring should not be defined before c++26"
5135 # endif
5136
5137 # ifdef __cpp_lib_freestanding_expected
5138 #   error "__cpp_lib_freestanding_expected should not be defined before c++26"
5139 # endif
5140
5141 # ifdef __cpp_lib_freestanding_mdspan
5142 #   error "__cpp_lib_freestanding_mdspan should not be defined before c++26"
5143 # endif
5144
5145 # ifdef __cpp_lib_freestanding_optional
5146 #   error "__cpp_lib_freestanding_optional should not be defined before c++26"
5147 # endif
5148
5149 # ifdef __cpp_lib_freestanding_string_view
5150 #   error "__cpp_lib_freestanding_string_view should not be defined before c++26"
5151 # endif
5152
5153 # ifdef __cpp_lib_freestanding_variant
5154 #   error "__cpp_lib_freestanding_variant should not be defined before c++26"
5155 # endif
5156
5157 # ifdef __cpp_lib_fstream_native_handle
5158 #   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
5159 # endif
5160
5161 # ifdef __cpp_lib_function_ref
5162 #   error "__cpp_lib_function_ref should not be defined before c++26"
5163 # endif
5164
5165 # ifndef __cpp_lib_gcd_lcm
5166 #   error "__cpp_lib_gcd_lcm should be defined in c++23"
5167 # endif
5168 # if __cpp_lib_gcd_lcm != 201606L
5169 #   error "__cpp_lib_gcd_lcm should have the value 201606L in c++23"
5170 # endif
5171
5172 # ifdef __cpp_lib_generate_random
5173 #   error "__cpp_lib_generate_random should not be defined before c++26"
5174 # endif
5175
5176 # ifndef __cpp_lib_generic_associative_lookup
5177 #   error "__cpp_lib_generic_associative_lookup should be defined in c++23"
5178 # endif
5179 # if __cpp_lib_generic_associative_lookup != 201304L
5180 #   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++23"
5181 # endif
5182
5183 # ifndef __cpp_lib_generic_unordered_lookup
5184 #   error "__cpp_lib_generic_unordered_lookup should be defined in c++23"
5185 # endif
5186 # if __cpp_lib_generic_unordered_lookup != 201811L
5187 #   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++23"
5188 # endif
5189
5190 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
5191 #   ifndef __cpp_lib_hardware_interference_size
5192 #     error "__cpp_lib_hardware_interference_size should be defined in c++23"
5193 #   endif
5194 #   if __cpp_lib_hardware_interference_size != 201703L
5195 #     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++23"
5196 #   endif
5197 # else
5198 #   ifdef __cpp_lib_hardware_interference_size
5199 #     error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
5200 #   endif
5201 # endif
5202
5203 # ifndef __cpp_lib_has_unique_object_representations
5204 #   error "__cpp_lib_has_unique_object_representations should be defined in c++23"
5205 # endif
5206 # if __cpp_lib_has_unique_object_representations != 201606L
5207 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23"
5208 # endif
5209
5210 # ifdef __cpp_lib_hazard_pointer
5211 #   error "__cpp_lib_hazard_pointer should not be defined before c++26"
5212 # endif
5213
5214 # ifndef __cpp_lib_hypot
5215 #   error "__cpp_lib_hypot should be defined in c++23"
5216 # endif
5217 # if __cpp_lib_hypot != 201603L
5218 #   error "__cpp_lib_hypot should have the value 201603L in c++23"
5219 # endif
5220
5221 # ifndef __cpp_lib_incomplete_container_elements
5222 #   error "__cpp_lib_incomplete_container_elements should be defined in c++23"
5223 # endif
5224 # if __cpp_lib_incomplete_container_elements != 201505L
5225 #   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++23"
5226 # endif
5227
5228 # ifdef __cpp_lib_inplace_vector
5229 #   error "__cpp_lib_inplace_vector should not be defined before c++26"
5230 # endif
5231
5232 # ifndef __cpp_lib_int_pow2
5233 #   error "__cpp_lib_int_pow2 should be defined in c++23"
5234 # endif
5235 # if __cpp_lib_int_pow2 != 202002L
5236 #   error "__cpp_lib_int_pow2 should have the value 202002L in c++23"
5237 # endif
5238
5239 # ifndef __cpp_lib_integer_comparison_functions
5240 #   error "__cpp_lib_integer_comparison_functions should be defined in c++23"
5241 # endif
5242 # if __cpp_lib_integer_comparison_functions != 202002L
5243 #   error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++23"
5244 # endif
5245
5246 # ifndef __cpp_lib_integer_sequence
5247 #   error "__cpp_lib_integer_sequence should be defined in c++23"
5248 # endif
5249 # if __cpp_lib_integer_sequence != 201304L
5250 #   error "__cpp_lib_integer_sequence should have the value 201304L in c++23"
5251 # endif
5252
5253 # ifndef __cpp_lib_integral_constant_callable
5254 #   error "__cpp_lib_integral_constant_callable should be defined in c++23"
5255 # endif
5256 # if __cpp_lib_integral_constant_callable != 201304L
5257 #   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++23"
5258 # endif
5259
5260 # ifndef __cpp_lib_interpolate
5261 #   error "__cpp_lib_interpolate should be defined in c++23"
5262 # endif
5263 # if __cpp_lib_interpolate != 201902L
5264 #   error "__cpp_lib_interpolate should have the value 201902L in c++23"
5265 # endif
5266
5267 # ifndef __cpp_lib_invoke
5268 #   error "__cpp_lib_invoke should be defined in c++23"
5269 # endif
5270 # if __cpp_lib_invoke != 201411L
5271 #   error "__cpp_lib_invoke should have the value 201411L in c++23"
5272 # endif
5273
5274 # ifndef __cpp_lib_invoke_r
5275 #   error "__cpp_lib_invoke_r should be defined in c++23"
5276 # endif
5277 # if __cpp_lib_invoke_r != 202106L
5278 #   error "__cpp_lib_invoke_r should have the value 202106L in c++23"
5279 # endif
5280
5281 # ifndef __cpp_lib_ios_noreplace
5282 #   error "__cpp_lib_ios_noreplace should be defined in c++23"
5283 # endif
5284 # if __cpp_lib_ios_noreplace != 202207L
5285 #   error "__cpp_lib_ios_noreplace should have the value 202207L in c++23"
5286 # endif
5287
5288 # ifndef __cpp_lib_is_aggregate
5289 #   error "__cpp_lib_is_aggregate should be defined in c++23"
5290 # endif
5291 # if __cpp_lib_is_aggregate != 201703L
5292 #   error "__cpp_lib_is_aggregate should have the value 201703L in c++23"
5293 # endif
5294
5295 # ifndef __cpp_lib_is_constant_evaluated
5296 #   error "__cpp_lib_is_constant_evaluated should be defined in c++23"
5297 # endif
5298 # if __cpp_lib_is_constant_evaluated != 201811L
5299 #   error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++23"
5300 # endif
5301
5302 # ifndef __cpp_lib_is_final
5303 #   error "__cpp_lib_is_final should be defined in c++23"
5304 # endif
5305 # if __cpp_lib_is_final != 201402L
5306 #   error "__cpp_lib_is_final should have the value 201402L in c++23"
5307 # endif
5308
5309 # ifndef __cpp_lib_is_invocable
5310 #   error "__cpp_lib_is_invocable should be defined in c++23"
5311 # endif
5312 # if __cpp_lib_is_invocable != 201703L
5313 #   error "__cpp_lib_is_invocable should have the value 201703L in c++23"
5314 # endif
5315
5316 # if !defined(_LIBCPP_VERSION)
5317 #   ifndef __cpp_lib_is_layout_compatible
5318 #     error "__cpp_lib_is_layout_compatible should be defined in c++23"
5319 #   endif
5320 #   if __cpp_lib_is_layout_compatible != 201907L
5321 #     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++23"
5322 #   endif
5323 # else // _LIBCPP_VERSION
5324 #   ifdef __cpp_lib_is_layout_compatible
5325 #     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
5326 #   endif
5327 # endif
5328
5329 # ifndef __cpp_lib_is_nothrow_convertible
5330 #   error "__cpp_lib_is_nothrow_convertible should be defined in c++23"
5331 # endif
5332 # if __cpp_lib_is_nothrow_convertible != 201806L
5333 #   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++23"
5334 # endif
5335
5336 # ifndef __cpp_lib_is_null_pointer
5337 #   error "__cpp_lib_is_null_pointer should be defined in c++23"
5338 # endif
5339 # if __cpp_lib_is_null_pointer != 201309L
5340 #   error "__cpp_lib_is_null_pointer should have the value 201309L in c++23"
5341 # endif
5342
5343 # if !defined(_LIBCPP_VERSION)
5344 #   ifndef __cpp_lib_is_pointer_interconvertible
5345 #     error "__cpp_lib_is_pointer_interconvertible should be defined in c++23"
5346 #   endif
5347 #   if __cpp_lib_is_pointer_interconvertible != 201907L
5348 #     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++23"
5349 #   endif
5350 # else // _LIBCPP_VERSION
5351 #   ifdef __cpp_lib_is_pointer_interconvertible
5352 #     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
5353 #   endif
5354 # endif
5355
5356 # ifndef __cpp_lib_is_scoped_enum
5357 #   error "__cpp_lib_is_scoped_enum should be defined in c++23"
5358 # endif
5359 # if __cpp_lib_is_scoped_enum != 202011L
5360 #   error "__cpp_lib_is_scoped_enum should have the value 202011L in c++23"
5361 # endif
5362
5363 # ifndef __cpp_lib_is_swappable
5364 #   error "__cpp_lib_is_swappable should be defined in c++23"
5365 # endif
5366 # if __cpp_lib_is_swappable != 201603L
5367 #   error "__cpp_lib_is_swappable should have the value 201603L in c++23"
5368 # endif
5369
5370 # ifdef __cpp_lib_is_virtual_base_of
5371 #   error "__cpp_lib_is_virtual_base_of should not be defined before c++26"
5372 # endif
5373
5374 # ifdef __cpp_lib_is_within_lifetime
5375 #   error "__cpp_lib_is_within_lifetime should not be defined before c++26"
5376 # endif
5377
5378 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5379 #   ifndef __cpp_lib_jthread
5380 #     error "__cpp_lib_jthread should be defined in c++23"
5381 #   endif
5382 #   if __cpp_lib_jthread != 201911L
5383 #     error "__cpp_lib_jthread should have the value 201911L in c++23"
5384 #   endif
5385 # else
5386 #   ifdef __cpp_lib_jthread
5387 #     error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5388 #   endif
5389 # endif
5390
5391 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5392 #   ifndef __cpp_lib_latch
5393 #     error "__cpp_lib_latch should be defined in c++23"
5394 #   endif
5395 #   if __cpp_lib_latch != 201907L
5396 #     error "__cpp_lib_latch should have the value 201907L in c++23"
5397 #   endif
5398 # else
5399 #   ifdef __cpp_lib_latch
5400 #     error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5401 #   endif
5402 # endif
5403
5404 # ifndef __cpp_lib_launder
5405 #   error "__cpp_lib_launder should be defined in c++23"
5406 # endif
5407 # if __cpp_lib_launder != 201606L
5408 #   error "__cpp_lib_launder should have the value 201606L in c++23"
5409 # endif
5410
5411 # ifdef __cpp_lib_linalg
5412 #   error "__cpp_lib_linalg should not be defined before c++26"
5413 # endif
5414
5415 # ifndef __cpp_lib_list_remove_return_type
5416 #   error "__cpp_lib_list_remove_return_type should be defined in c++23"
5417 # endif
5418 # if __cpp_lib_list_remove_return_type != 201806L
5419 #   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++23"
5420 # endif
5421
5422 # ifndef __cpp_lib_logical_traits
5423 #   error "__cpp_lib_logical_traits should be defined in c++23"
5424 # endif
5425 # if __cpp_lib_logical_traits != 201510L
5426 #   error "__cpp_lib_logical_traits should have the value 201510L in c++23"
5427 # endif
5428
5429 # ifndef __cpp_lib_make_from_tuple
5430 #   error "__cpp_lib_make_from_tuple should be defined in c++23"
5431 # endif
5432 # if __cpp_lib_make_from_tuple != 201606L
5433 #   error "__cpp_lib_make_from_tuple should have the value 201606L in c++23"
5434 # endif
5435
5436 # ifndef __cpp_lib_make_reverse_iterator
5437 #   error "__cpp_lib_make_reverse_iterator should be defined in c++23"
5438 # endif
5439 # if __cpp_lib_make_reverse_iterator != 201402L
5440 #   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++23"
5441 # endif
5442
5443 # ifndef __cpp_lib_make_unique
5444 #   error "__cpp_lib_make_unique should be defined in c++23"
5445 # endif
5446 # if __cpp_lib_make_unique != 201304L
5447 #   error "__cpp_lib_make_unique should have the value 201304L in c++23"
5448 # endif
5449
5450 # ifndef __cpp_lib_map_try_emplace
5451 #   error "__cpp_lib_map_try_emplace should be defined in c++23"
5452 # endif
5453 # if __cpp_lib_map_try_emplace != 201411L
5454 #   error "__cpp_lib_map_try_emplace should have the value 201411L in c++23"
5455 # endif
5456
5457 # ifndef __cpp_lib_math_constants
5458 #   error "__cpp_lib_math_constants should be defined in c++23"
5459 # endif
5460 # if __cpp_lib_math_constants != 201907L
5461 #   error "__cpp_lib_math_constants should have the value 201907L in c++23"
5462 # endif
5463
5464 # if !defined(_LIBCPP_VERSION)
5465 #   ifndef __cpp_lib_math_special_functions
5466 #     error "__cpp_lib_math_special_functions should be defined in c++23"
5467 #   endif
5468 #   if __cpp_lib_math_special_functions != 201603L
5469 #     error "__cpp_lib_math_special_functions should have the value 201603L in c++23"
5470 #   endif
5471 # else // _LIBCPP_VERSION
5472 #   ifdef __cpp_lib_math_special_functions
5473 #     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
5474 #   endif
5475 # endif
5476
5477 # ifndef __cpp_lib_mdspan
5478 #   error "__cpp_lib_mdspan should be defined in c++23"
5479 # endif
5480 # if __cpp_lib_mdspan != 202207L
5481 #   error "__cpp_lib_mdspan should have the value 202207L in c++23"
5482 # endif
5483
5484 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5485 #   ifndef __cpp_lib_memory_resource
5486 #     error "__cpp_lib_memory_resource should be defined in c++23"
5487 #   endif
5488 #   if __cpp_lib_memory_resource != 201603L
5489 #     error "__cpp_lib_memory_resource should have the value 201603L in c++23"
5490 #   endif
5491 # else
5492 #   ifdef __cpp_lib_memory_resource
5493 #     error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5494 #   endif
5495 # endif
5496
5497 # ifndef __cpp_lib_modules
5498 #   error "__cpp_lib_modules should be defined in c++23"
5499 # endif
5500 # if __cpp_lib_modules != 202207L
5501 #   error "__cpp_lib_modules should have the value 202207L in c++23"
5502 # endif
5503
5504 # ifndef __cpp_lib_move_iterator_concept
5505 #   error "__cpp_lib_move_iterator_concept should be defined in c++23"
5506 # endif
5507 # if __cpp_lib_move_iterator_concept != 202207L
5508 #   error "__cpp_lib_move_iterator_concept should have the value 202207L in c++23"
5509 # endif
5510
5511 # if !defined(_LIBCPP_VERSION)
5512 #   ifndef __cpp_lib_move_only_function
5513 #     error "__cpp_lib_move_only_function should be defined in c++23"
5514 #   endif
5515 #   if __cpp_lib_move_only_function != 202110L
5516 #     error "__cpp_lib_move_only_function should have the value 202110L in c++23"
5517 #   endif
5518 # else // _LIBCPP_VERSION
5519 #   ifdef __cpp_lib_move_only_function
5520 #     error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
5521 #   endif
5522 # endif
5523
5524 # ifndef __cpp_lib_node_extract
5525 #   error "__cpp_lib_node_extract should be defined in c++23"
5526 # endif
5527 # if __cpp_lib_node_extract != 201606L
5528 #   error "__cpp_lib_node_extract should have the value 201606L in c++23"
5529 # endif
5530
5531 # ifndef __cpp_lib_nonmember_container_access
5532 #   error "__cpp_lib_nonmember_container_access should be defined in c++23"
5533 # endif
5534 # if __cpp_lib_nonmember_container_access != 201411L
5535 #   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++23"
5536 # endif
5537
5538 # ifndef __cpp_lib_not_fn
5539 #   error "__cpp_lib_not_fn should be defined in c++23"
5540 # endif
5541 # if __cpp_lib_not_fn != 201603L
5542 #   error "__cpp_lib_not_fn should have the value 201603L in c++23"
5543 # endif
5544
5545 # ifndef __cpp_lib_null_iterators
5546 #   error "__cpp_lib_null_iterators should be defined in c++23"
5547 # endif
5548 # if __cpp_lib_null_iterators != 201304L
5549 #   error "__cpp_lib_null_iterators should have the value 201304L in c++23"
5550 # endif
5551
5552 # ifndef __cpp_lib_optional
5553 #   error "__cpp_lib_optional should be defined in c++23"
5554 # endif
5555 # if __cpp_lib_optional != 202110L
5556 #   error "__cpp_lib_optional should have the value 202110L in c++23"
5557 # endif
5558
5559 # ifdef __cpp_lib_optional_range_support
5560 #   error "__cpp_lib_optional_range_support should not be defined before c++26"
5561 # endif
5562
5563 # ifndef __cpp_lib_out_ptr
5564 #   error "__cpp_lib_out_ptr should be defined in c++23"
5565 # endif
5566 # if __cpp_lib_out_ptr != 202106L
5567 #   error "__cpp_lib_out_ptr should have the value 202106L in c++23"
5568 # endif
5569
5570 # if !defined(_LIBCPP_VERSION)
5571 #   ifndef __cpp_lib_parallel_algorithm
5572 #     error "__cpp_lib_parallel_algorithm should be defined in c++23"
5573 #   endif
5574 #   if __cpp_lib_parallel_algorithm != 201603L
5575 #     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++23"
5576 #   endif
5577 # else // _LIBCPP_VERSION
5578 #   ifdef __cpp_lib_parallel_algorithm
5579 #     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
5580 #   endif
5581 # endif
5582
5583 # ifdef __cpp_lib_philox_engine
5584 #   error "__cpp_lib_philox_engine should not be defined before c++26"
5585 # endif
5586
5587 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
5588 #   ifndef __cpp_lib_polymorphic_allocator
5589 #     error "__cpp_lib_polymorphic_allocator should be defined in c++23"
5590 #   endif
5591 #   if __cpp_lib_polymorphic_allocator != 201902L
5592 #     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++23"
5593 #   endif
5594 # else
5595 #   ifdef __cpp_lib_polymorphic_allocator
5596 #     error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
5597 #   endif
5598 # endif
5599
5600 # ifndef __cpp_lib_print
5601 #   error "__cpp_lib_print should be defined in c++23"
5602 # endif
5603 # if __cpp_lib_print != 202207L
5604 #   error "__cpp_lib_print should have the value 202207L in c++23"
5605 # endif
5606
5607 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
5608 #   ifndef __cpp_lib_quoted_string_io
5609 #     error "__cpp_lib_quoted_string_io should be defined in c++23"
5610 #   endif
5611 #   if __cpp_lib_quoted_string_io != 201304L
5612 #     error "__cpp_lib_quoted_string_io should have the value 201304L in c++23"
5613 #   endif
5614 # else
5615 #   ifdef __cpp_lib_quoted_string_io
5616 #     error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
5617 #   endif
5618 # endif
5619
5620 # ifndef __cpp_lib_ranges
5621 #   error "__cpp_lib_ranges should be defined in c++23"
5622 # endif
5623 # if __cpp_lib_ranges != 202211L
5624 #   error "__cpp_lib_ranges should have the value 202211L in c++23"
5625 # endif
5626
5627 # if !defined(_LIBCPP_VERSION)
5628 #   ifndef __cpp_lib_ranges_as_const
5629 #     error "__cpp_lib_ranges_as_const should be defined in c++23"
5630 #   endif
5631 #   if __cpp_lib_ranges_as_const != 202207L
5632 #     error "__cpp_lib_ranges_as_const should have the value 202207L in c++23"
5633 #   endif
5634 # else // _LIBCPP_VERSION
5635 #   ifdef __cpp_lib_ranges_as_const
5636 #     error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
5637 #   endif
5638 # endif
5639
5640 # ifndef __cpp_lib_ranges_as_rvalue
5641 #   error "__cpp_lib_ranges_as_rvalue should be defined in c++23"
5642 # endif
5643 # if __cpp_lib_ranges_as_rvalue != 202207L
5644 #   error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++23"
5645 # endif
5646
5647 # if !defined(_LIBCPP_VERSION)
5648 #   ifndef __cpp_lib_ranges_chunk
5649 #     error "__cpp_lib_ranges_chunk should be defined in c++23"
5650 #   endif
5651 #   if __cpp_lib_ranges_chunk != 202202L
5652 #     error "__cpp_lib_ranges_chunk should have the value 202202L in c++23"
5653 #   endif
5654 # else // _LIBCPP_VERSION
5655 #   ifdef __cpp_lib_ranges_chunk
5656 #     error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
5657 #   endif
5658 # endif
5659
5660 # ifndef __cpp_lib_ranges_chunk_by
5661 #   error "__cpp_lib_ranges_chunk_by should be defined in c++23"
5662 # endif
5663 # if __cpp_lib_ranges_chunk_by != 202202L
5664 #   error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++23"
5665 # endif
5666
5667 # ifdef __cpp_lib_ranges_concat
5668 #   error "__cpp_lib_ranges_concat should not be defined before c++26"
5669 # endif
5670
5671 # ifndef __cpp_lib_ranges_contains
5672 #   error "__cpp_lib_ranges_contains should be defined in c++23"
5673 # endif
5674 # if __cpp_lib_ranges_contains != 202207L
5675 #   error "__cpp_lib_ranges_contains should have the value 202207L in c++23"
5676 # endif
5677
5678 # ifndef __cpp_lib_ranges_find_last
5679 #   error "__cpp_lib_ranges_find_last should be defined in c++23"
5680 # endif
5681 # if __cpp_lib_ranges_find_last != 202207L
5682 #   error "__cpp_lib_ranges_find_last should have the value 202207L in c++23"
5683 # endif
5684
5685 # if !defined(_LIBCPP_VERSION)
5686 #   ifndef __cpp_lib_ranges_iota
5687 #     error "__cpp_lib_ranges_iota should be defined in c++23"
5688 #   endif
5689 #   if __cpp_lib_ranges_iota != 202202L
5690 #     error "__cpp_lib_ranges_iota should have the value 202202L in c++23"
5691 #   endif
5692 # else // _LIBCPP_VERSION
5693 #   ifdef __cpp_lib_ranges_iota
5694 #     error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
5695 #   endif
5696 # endif
5697
5698 # if !defined(_LIBCPP_VERSION)
5699 #   ifndef __cpp_lib_ranges_join_with
5700 #     error "__cpp_lib_ranges_join_with should be defined in c++23"
5701 #   endif
5702 #   if __cpp_lib_ranges_join_with != 202202L
5703 #     error "__cpp_lib_ranges_join_with should have the value 202202L in c++23"
5704 #   endif
5705 # else // _LIBCPP_VERSION
5706 #   ifdef __cpp_lib_ranges_join_with
5707 #     error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
5708 #   endif
5709 # endif
5710
5711 # ifndef __cpp_lib_ranges_repeat
5712 #   error "__cpp_lib_ranges_repeat should be defined in c++23"
5713 # endif
5714 # if __cpp_lib_ranges_repeat != 202207L
5715 #   error "__cpp_lib_ranges_repeat should have the value 202207L in c++23"
5716 # endif
5717
5718 # if !defined(_LIBCPP_VERSION)
5719 #   ifndef __cpp_lib_ranges_slide
5720 #     error "__cpp_lib_ranges_slide should be defined in c++23"
5721 #   endif
5722 #   if __cpp_lib_ranges_slide != 202202L
5723 #     error "__cpp_lib_ranges_slide should have the value 202202L in c++23"
5724 #   endif
5725 # else // _LIBCPP_VERSION
5726 #   ifdef __cpp_lib_ranges_slide
5727 #     error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
5728 #   endif
5729 # endif
5730
5731 # ifndef __cpp_lib_ranges_starts_ends_with
5732 #   error "__cpp_lib_ranges_starts_ends_with should be defined in c++23"
5733 # endif
5734 # if __cpp_lib_ranges_starts_ends_with != 202106L
5735 #   error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++23"
5736 # endif
5737
5738 # ifndef __cpp_lib_ranges_to_container
5739 #   error "__cpp_lib_ranges_to_container should be defined in c++23"
5740 # endif
5741 # if __cpp_lib_ranges_to_container != 202202L
5742 #   error "__cpp_lib_ranges_to_container should have the value 202202L in c++23"
5743 # endif
5744
5745 # if !defined(_LIBCPP_VERSION)
5746 #   ifndef __cpp_lib_ranges_zip
5747 #     error "__cpp_lib_ranges_zip should be defined in c++23"
5748 #   endif
5749 #   if __cpp_lib_ranges_zip != 202110L
5750 #     error "__cpp_lib_ranges_zip should have the value 202110L in c++23"
5751 #   endif
5752 # else // _LIBCPP_VERSION
5753 #   ifdef __cpp_lib_ranges_zip
5754 #     error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
5755 #   endif
5756 # endif
5757
5758 # ifdef __cpp_lib_ratio
5759 #   error "__cpp_lib_ratio should not be defined before c++26"
5760 # endif
5761
5762 # ifndef __cpp_lib_raw_memory_algorithms
5763 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++23"
5764 # endif
5765 # if __cpp_lib_raw_memory_algorithms != 201606L
5766 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23"
5767 # endif
5768
5769 # ifdef __cpp_lib_rcu
5770 #   error "__cpp_lib_rcu should not be defined before c++26"
5771 # endif
5772
5773 # if !defined(_LIBCPP_VERSION)
5774 #   ifndef __cpp_lib_reference_from_temporary
5775 #     error "__cpp_lib_reference_from_temporary should be defined in c++23"
5776 #   endif
5777 #   if __cpp_lib_reference_from_temporary != 202202L
5778 #     error "__cpp_lib_reference_from_temporary should have the value 202202L in c++23"
5779 #   endif
5780 # else // _LIBCPP_VERSION
5781 #   ifdef __cpp_lib_reference_from_temporary
5782 #     error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
5783 #   endif
5784 # endif
5785
5786 # ifdef __cpp_lib_reference_wrapper
5787 #   error "__cpp_lib_reference_wrapper should not be defined before c++26"
5788 # endif
5789
5790 # ifndef __cpp_lib_remove_cvref
5791 #   error "__cpp_lib_remove_cvref should be defined in c++23"
5792 # endif
5793 # if __cpp_lib_remove_cvref != 201711L
5794 #   error "__cpp_lib_remove_cvref should have the value 201711L in c++23"
5795 # endif
5796
5797 # ifndef __cpp_lib_result_of_sfinae
5798 #   error "__cpp_lib_result_of_sfinae should be defined in c++23"
5799 # endif
5800 # if __cpp_lib_result_of_sfinae != 201210L
5801 #   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23"
5802 # endif
5803
5804 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
5805 #   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++23"
5806 # endif
5807 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
5808 #   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++23"
5809 # endif
5810
5811 # ifndef __cpp_lib_sample
5812 #   error "__cpp_lib_sample should be defined in c++23"
5813 # endif
5814 # if __cpp_lib_sample != 201603L
5815 #   error "__cpp_lib_sample should have the value 201603L in c++23"
5816 # endif
5817
5818 # ifdef __cpp_lib_saturation_arithmetic
5819 #   error "__cpp_lib_saturation_arithmetic should not be defined before c++26"
5820 # endif
5821
5822 # if !defined(_LIBCPP_HAS_NO_THREADS)
5823 #   ifndef __cpp_lib_scoped_lock
5824 #     error "__cpp_lib_scoped_lock should be defined in c++23"
5825 #   endif
5826 #   if __cpp_lib_scoped_lock != 201703L
5827 #     error "__cpp_lib_scoped_lock should have the value 201703L in c++23"
5828 #   endif
5829 # else
5830 #   ifdef __cpp_lib_scoped_lock
5831 #     error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5832 #   endif
5833 # endif
5834
5835 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
5836 #   ifndef __cpp_lib_semaphore
5837 #     error "__cpp_lib_semaphore should be defined in c++23"
5838 #   endif
5839 #   if __cpp_lib_semaphore != 201907L
5840 #     error "__cpp_lib_semaphore should have the value 201907L in c++23"
5841 #   endif
5842 # else
5843 #   ifdef __cpp_lib_semaphore
5844 #     error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
5845 #   endif
5846 # endif
5847
5848 # ifdef __cpp_lib_senders
5849 #   error "__cpp_lib_senders should not be defined before c++26"
5850 # endif
5851
5852 # if !defined(_LIBCPP_HAS_NO_THREADS)
5853 #   ifndef __cpp_lib_shared_mutex
5854 #     error "__cpp_lib_shared_mutex should be defined in c++23"
5855 #   endif
5856 #   if __cpp_lib_shared_mutex != 201505L
5857 #     error "__cpp_lib_shared_mutex should have the value 201505L in c++23"
5858 #   endif
5859 # else
5860 #   ifdef __cpp_lib_shared_mutex
5861 #     error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5862 #   endif
5863 # endif
5864
5865 # ifndef __cpp_lib_shared_ptr_arrays
5866 #   error "__cpp_lib_shared_ptr_arrays should be defined in c++23"
5867 # endif
5868 # if __cpp_lib_shared_ptr_arrays != 201707L
5869 #   error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23"
5870 # endif
5871
5872 # ifndef __cpp_lib_shared_ptr_weak_type
5873 #   error "__cpp_lib_shared_ptr_weak_type should be defined in c++23"
5874 # endif
5875 # if __cpp_lib_shared_ptr_weak_type != 201606L
5876 #   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23"
5877 # endif
5878
5879 # if !defined(_LIBCPP_HAS_NO_THREADS)
5880 #   ifndef __cpp_lib_shared_timed_mutex
5881 #     error "__cpp_lib_shared_timed_mutex should be defined in c++23"
5882 #   endif
5883 #   if __cpp_lib_shared_timed_mutex != 201402L
5884 #     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++23"
5885 #   endif
5886 # else
5887 #   ifdef __cpp_lib_shared_timed_mutex
5888 #     error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
5889 #   endif
5890 # endif
5891
5892 # ifndef __cpp_lib_shift
5893 #   error "__cpp_lib_shift should be defined in c++23"
5894 # endif
5895 # if __cpp_lib_shift != 201806L
5896 #   error "__cpp_lib_shift should have the value 201806L in c++23"
5897 # endif
5898
5899 # if !defined(_LIBCPP_VERSION)
5900 #   ifndef __cpp_lib_smart_ptr_for_overwrite
5901 #     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23"
5902 #   endif
5903 #   if __cpp_lib_smart_ptr_for_overwrite != 202002L
5904 #     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23"
5905 #   endif
5906 # else // _LIBCPP_VERSION
5907 #   ifdef __cpp_lib_smart_ptr_for_overwrite
5908 #     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
5909 #   endif
5910 # endif
5911
5912 # ifdef __cpp_lib_smart_ptr_owner_equality
5913 #   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
5914 # endif
5915
5916 # ifndef __cpp_lib_source_location
5917 #   error "__cpp_lib_source_location should be defined in c++23"
5918 # endif
5919 # if __cpp_lib_source_location != 201907L
5920 #   error "__cpp_lib_source_location should have the value 201907L in c++23"
5921 # endif
5922
5923 # ifndef __cpp_lib_span
5924 #   error "__cpp_lib_span should be defined in c++23"
5925 # endif
5926 # if __cpp_lib_span != 202002L
5927 #   error "__cpp_lib_span should have the value 202002L in c++23"
5928 # endif
5929
5930 # ifdef __cpp_lib_span_at
5931 #   error "__cpp_lib_span_at should not be defined before c++26"
5932 # endif
5933
5934 # ifdef __cpp_lib_span_initializer_list
5935 #   error "__cpp_lib_span_initializer_list should not be defined before c++26"
5936 # endif
5937
5938 # if !defined(_LIBCPP_VERSION)
5939 #   ifndef __cpp_lib_spanstream
5940 #     error "__cpp_lib_spanstream should be defined in c++23"
5941 #   endif
5942 #   if __cpp_lib_spanstream != 202106L
5943 #     error "__cpp_lib_spanstream should have the value 202106L in c++23"
5944 #   endif
5945 # else // _LIBCPP_VERSION
5946 #   ifdef __cpp_lib_spanstream
5947 #     error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
5948 #   endif
5949 # endif
5950
5951 # ifndef __cpp_lib_ssize
5952 #   error "__cpp_lib_ssize should be defined in c++23"
5953 # endif
5954 # if __cpp_lib_ssize != 201902L
5955 #   error "__cpp_lib_ssize should have the value 201902L in c++23"
5956 # endif
5957
5958 # ifdef __cpp_lib_sstream_from_string_view
5959 #   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
5960 # endif
5961
5962 # if !defined(_LIBCPP_VERSION)
5963 #   ifndef __cpp_lib_stacktrace
5964 #     error "__cpp_lib_stacktrace should be defined in c++23"
5965 #   endif
5966 #   if __cpp_lib_stacktrace != 202011L
5967 #     error "__cpp_lib_stacktrace should have the value 202011L in c++23"
5968 #   endif
5969 # else // _LIBCPP_VERSION
5970 #   ifdef __cpp_lib_stacktrace
5971 #     error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
5972 #   endif
5973 # endif
5974
5975 # ifndef __cpp_lib_starts_ends_with
5976 #   error "__cpp_lib_starts_ends_with should be defined in c++23"
5977 # endif
5978 # if __cpp_lib_starts_ends_with != 201711L
5979 #   error "__cpp_lib_starts_ends_with should have the value 201711L in c++23"
5980 # endif
5981
5982 # ifndef __cpp_lib_stdatomic_h
5983 #   error "__cpp_lib_stdatomic_h should be defined in c++23"
5984 # endif
5985 # if __cpp_lib_stdatomic_h != 202011L
5986 #   error "__cpp_lib_stdatomic_h should have the value 202011L in c++23"
5987 # endif
5988
5989 # ifndef __cpp_lib_string_contains
5990 #   error "__cpp_lib_string_contains should be defined in c++23"
5991 # endif
5992 # if __cpp_lib_string_contains != 202011L
5993 #   error "__cpp_lib_string_contains should have the value 202011L in c++23"
5994 # endif
5995
5996 # ifndef __cpp_lib_string_resize_and_overwrite
5997 #   error "__cpp_lib_string_resize_and_overwrite should be defined in c++23"
5998 # endif
5999 # if __cpp_lib_string_resize_and_overwrite != 202110L
6000 #   error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++23"
6001 # endif
6002
6003 # ifndef __cpp_lib_string_udls
6004 #   error "__cpp_lib_string_udls should be defined in c++23"
6005 # endif
6006 # if __cpp_lib_string_udls != 201304L
6007 #   error "__cpp_lib_string_udls should have the value 201304L in c++23"
6008 # endif
6009
6010 # ifndef __cpp_lib_string_view
6011 #   error "__cpp_lib_string_view should be defined in c++23"
6012 # endif
6013 # if __cpp_lib_string_view != 201803L
6014 #   error "__cpp_lib_string_view should have the value 201803L in c++23"
6015 # endif
6016
6017 # ifdef __cpp_lib_submdspan
6018 #   error "__cpp_lib_submdspan should not be defined before c++26"
6019 # endif
6020
6021 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
6022 #   ifndef __cpp_lib_syncbuf
6023 #     error "__cpp_lib_syncbuf should be defined in c++23"
6024 #   endif
6025 #   if __cpp_lib_syncbuf != 201803L
6026 #     error "__cpp_lib_syncbuf should have the value 201803L in c++23"
6027 #   endif
6028 # else
6029 #   ifdef __cpp_lib_syncbuf
6030 #     error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
6031 #   endif
6032 # endif
6033
6034 # ifdef __cpp_lib_text_encoding
6035 #   error "__cpp_lib_text_encoding should not be defined before c++26"
6036 # endif
6037
6038 # ifndef __cpp_lib_three_way_comparison
6039 #   error "__cpp_lib_three_way_comparison should be defined in c++23"
6040 # endif
6041 # if __cpp_lib_three_way_comparison != 201907L
6042 #   error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"
6043 # endif
6044
6045 # ifndef __cpp_lib_to_address
6046 #   error "__cpp_lib_to_address should be defined in c++23"
6047 # endif
6048 # if __cpp_lib_to_address != 201711L
6049 #   error "__cpp_lib_to_address should have the value 201711L in c++23"
6050 # endif
6051
6052 # ifndef __cpp_lib_to_array
6053 #   error "__cpp_lib_to_array should be defined in c++23"
6054 # endif
6055 # if __cpp_lib_to_array != 201907L
6056 #   error "__cpp_lib_to_array should have the value 201907L in c++23"
6057 # endif
6058
6059 # if !defined(_LIBCPP_VERSION)
6060 #   ifndef __cpp_lib_to_chars
6061 #     error "__cpp_lib_to_chars should be defined in c++23"
6062 #   endif
6063 #   if __cpp_lib_to_chars != 201611L
6064 #     error "__cpp_lib_to_chars should have the value 201611L in c++23"
6065 #   endif
6066 # else // _LIBCPP_VERSION
6067 #   ifdef __cpp_lib_to_chars
6068 #     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
6069 #   endif
6070 # endif
6071
6072 # ifdef __cpp_lib_to_string
6073 #   error "__cpp_lib_to_string should not be defined before c++26"
6074 # endif
6075
6076 # ifndef __cpp_lib_to_underlying
6077 #   error "__cpp_lib_to_underlying should be defined in c++23"
6078 # endif
6079 # if __cpp_lib_to_underlying != 202102L
6080 #   error "__cpp_lib_to_underlying should have the value 202102L in c++23"
6081 # endif
6082
6083 # ifndef __cpp_lib_transformation_trait_aliases
6084 #   error "__cpp_lib_transformation_trait_aliases should be defined in c++23"
6085 # endif
6086 # if __cpp_lib_transformation_trait_aliases != 201304L
6087 #   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++23"
6088 # endif
6089
6090 # ifndef __cpp_lib_transparent_operators
6091 #   error "__cpp_lib_transparent_operators should be defined in c++23"
6092 # endif
6093 # if __cpp_lib_transparent_operators != 201510L
6094 #   error "__cpp_lib_transparent_operators should have the value 201510L in c++23"
6095 # endif
6096
6097 # ifndef __cpp_lib_tuple_element_t
6098 #   error "__cpp_lib_tuple_element_t should be defined in c++23"
6099 # endif
6100 # if __cpp_lib_tuple_element_t != 201402L
6101 #   error "__cpp_lib_tuple_element_t should have the value 201402L in c++23"
6102 # endif
6103
6104 # if !defined(_LIBCPP_VERSION)
6105 #   ifndef __cpp_lib_tuple_like
6106 #     error "__cpp_lib_tuple_like should be defined in c++23"
6107 #   endif
6108 #   if __cpp_lib_tuple_like != 202207L
6109 #     error "__cpp_lib_tuple_like should have the value 202207L in c++23"
6110 #   endif
6111 # else // _LIBCPP_VERSION
6112 #   ifdef __cpp_lib_tuple_like
6113 #     error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
6114 #   endif
6115 # endif
6116
6117 # ifndef __cpp_lib_tuples_by_type
6118 #   error "__cpp_lib_tuples_by_type should be defined in c++23"
6119 # endif
6120 # if __cpp_lib_tuples_by_type != 201304L
6121 #   error "__cpp_lib_tuples_by_type should have the value 201304L in c++23"
6122 # endif
6123
6124 # ifndef __cpp_lib_type_identity
6125 #   error "__cpp_lib_type_identity should be defined in c++23"
6126 # endif
6127 # if __cpp_lib_type_identity != 201806L
6128 #   error "__cpp_lib_type_identity should have the value 201806L in c++23"
6129 # endif
6130
6131 # ifndef __cpp_lib_type_trait_variable_templates
6132 #   error "__cpp_lib_type_trait_variable_templates should be defined in c++23"
6133 # endif
6134 # if __cpp_lib_type_trait_variable_templates != 201510L
6135 #   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++23"
6136 # endif
6137
6138 # ifndef __cpp_lib_uncaught_exceptions
6139 #   error "__cpp_lib_uncaught_exceptions should be defined in c++23"
6140 # endif
6141 # if __cpp_lib_uncaught_exceptions != 201411L
6142 #   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++23"
6143 # endif
6144
6145 # ifndef __cpp_lib_unordered_map_try_emplace
6146 #   error "__cpp_lib_unordered_map_try_emplace should be defined in c++23"
6147 # endif
6148 # if __cpp_lib_unordered_map_try_emplace != 201411L
6149 #   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++23"
6150 # endif
6151
6152 # ifndef __cpp_lib_unreachable
6153 #   error "__cpp_lib_unreachable should be defined in c++23"
6154 # endif
6155 # if __cpp_lib_unreachable != 202202L
6156 #   error "__cpp_lib_unreachable should have the value 202202L in c++23"
6157 # endif
6158
6159 # ifndef __cpp_lib_unwrap_ref
6160 #   error "__cpp_lib_unwrap_ref should be defined in c++23"
6161 # endif
6162 # if __cpp_lib_unwrap_ref != 201811L
6163 #   error "__cpp_lib_unwrap_ref should have the value 201811L in c++23"
6164 # endif
6165
6166 # ifndef __cpp_lib_variant
6167 #   error "__cpp_lib_variant should be defined in c++23"
6168 # endif
6169 # if __cpp_lib_variant != 202102L
6170 #   error "__cpp_lib_variant should have the value 202102L in c++23"
6171 # endif
6172
6173 # ifndef __cpp_lib_void_t
6174 #   error "__cpp_lib_void_t should be defined in c++23"
6175 # endif
6176 # if __cpp_lib_void_t != 201411L
6177 #   error "__cpp_lib_void_t should have the value 201411L in c++23"
6178 # endif
6179
6180 #elif TEST_STD_VER > 23
6181
6182 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
6183 #   error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++26"
6184 # endif
6185 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
6186 #   error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++26"
6187 # endif
6188
6189 # ifndef __cpp_lib_addressof_constexpr
6190 #   error "__cpp_lib_addressof_constexpr should be defined in c++26"
6191 # endif
6192 # if __cpp_lib_addressof_constexpr != 201603L
6193 #   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26"
6194 # endif
6195
6196 # ifndef __cpp_lib_allocate_at_least
6197 #   error "__cpp_lib_allocate_at_least should be defined in c++26"
6198 # endif
6199 # if __cpp_lib_allocate_at_least != 202302L
6200 #   error "__cpp_lib_allocate_at_least should have the value 202302L in c++26"
6201 # endif
6202
6203 # ifndef __cpp_lib_allocator_traits_is_always_equal
6204 #   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26"
6205 # endif
6206 # if __cpp_lib_allocator_traits_is_always_equal != 201411L
6207 #   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26"
6208 # endif
6209
6210 # ifndef __cpp_lib_any
6211 #   error "__cpp_lib_any should be defined in c++26"
6212 # endif
6213 # if __cpp_lib_any != 201606L
6214 #   error "__cpp_lib_any should have the value 201606L in c++26"
6215 # endif
6216
6217 # ifndef __cpp_lib_apply
6218 #   error "__cpp_lib_apply should be defined in c++26"
6219 # endif
6220 # if __cpp_lib_apply != 201603L
6221 #   error "__cpp_lib_apply should have the value 201603L in c++26"
6222 # endif
6223
6224 # ifndef __cpp_lib_array_constexpr
6225 #   error "__cpp_lib_array_constexpr should be defined in c++26"
6226 # endif
6227 # if __cpp_lib_array_constexpr != 201811L
6228 #   error "__cpp_lib_array_constexpr should have the value 201811L in c++26"
6229 # endif
6230
6231 # ifndef __cpp_lib_as_const
6232 #   error "__cpp_lib_as_const should be defined in c++26"
6233 # endif
6234 # if __cpp_lib_as_const != 201510L
6235 #   error "__cpp_lib_as_const should have the value 201510L in c++26"
6236 # endif
6237
6238 # if !defined(_LIBCPP_VERSION)
6239 #   ifndef __cpp_lib_associative_heterogeneous_erasure
6240 #     error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++26"
6241 #   endif
6242 #   if __cpp_lib_associative_heterogeneous_erasure != 202110L
6243 #     error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++26"
6244 #   endif
6245 # else // _LIBCPP_VERSION
6246 #   ifdef __cpp_lib_associative_heterogeneous_erasure
6247 #     error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
6248 #   endif
6249 # endif
6250
6251 # if !defined(_LIBCPP_VERSION)
6252 #   ifndef __cpp_lib_associative_heterogeneous_insertion
6253 #     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
6254 #   endif
6255 #   if __cpp_lib_associative_heterogeneous_insertion != 202306L
6256 #     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
6257 #   endif
6258 # else // _LIBCPP_VERSION
6259 #   ifdef __cpp_lib_associative_heterogeneous_insertion
6260 #     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
6261 #   endif
6262 # endif
6263
6264 # ifndef __cpp_lib_assume_aligned
6265 #   error "__cpp_lib_assume_aligned should be defined in c++26"
6266 # endif
6267 # if __cpp_lib_assume_aligned != 201811L
6268 #   error "__cpp_lib_assume_aligned should have the value 201811L in c++26"
6269 # endif
6270
6271 # ifndef __cpp_lib_atomic_flag_test
6272 #   error "__cpp_lib_atomic_flag_test should be defined in c++26"
6273 # endif
6274 # if __cpp_lib_atomic_flag_test != 201907L
6275 #   error "__cpp_lib_atomic_flag_test should have the value 201907L in c++26"
6276 # endif
6277
6278 # if !defined(_LIBCPP_VERSION)
6279 #   ifndef __cpp_lib_atomic_float
6280 #     error "__cpp_lib_atomic_float should be defined in c++26"
6281 #   endif
6282 #   if __cpp_lib_atomic_float != 201711L
6283 #     error "__cpp_lib_atomic_float should have the value 201711L in c++26"
6284 #   endif
6285 # else // _LIBCPP_VERSION
6286 #   ifdef __cpp_lib_atomic_float
6287 #     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
6288 #   endif
6289 # endif
6290
6291 # ifndef __cpp_lib_atomic_is_always_lock_free
6292 #   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++26"
6293 # endif
6294 # if __cpp_lib_atomic_is_always_lock_free != 201603L
6295 #   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++26"
6296 # endif
6297
6298 # ifndef __cpp_lib_atomic_lock_free_type_aliases
6299 #   error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++26"
6300 # endif
6301 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L
6302 #   error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++26"
6303 # endif
6304
6305 # if !defined(_LIBCPP_VERSION)
6306 #   ifndef __cpp_lib_atomic_min_max
6307 #     error "__cpp_lib_atomic_min_max should be defined in c++26"
6308 #   endif
6309 #   if __cpp_lib_atomic_min_max != 202403L
6310 #     error "__cpp_lib_atomic_min_max should have the value 202403L in c++26"
6311 #   endif
6312 # else // _LIBCPP_VERSION
6313 #   ifdef __cpp_lib_atomic_min_max
6314 #     error "__cpp_lib_atomic_min_max should not be defined because it is unimplemented in libc++!"
6315 #   endif
6316 # endif
6317
6318 # ifndef __cpp_lib_atomic_ref
6319 #   error "__cpp_lib_atomic_ref should be defined in c++26"
6320 # endif
6321 # if __cpp_lib_atomic_ref != 201806L
6322 #   error "__cpp_lib_atomic_ref should have the value 201806L in c++26"
6323 # endif
6324
6325 # if !defined(_LIBCPP_VERSION)
6326 #   ifndef __cpp_lib_atomic_shared_ptr
6327 #     error "__cpp_lib_atomic_shared_ptr should be defined in c++26"
6328 #   endif
6329 #   if __cpp_lib_atomic_shared_ptr != 201711L
6330 #     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++26"
6331 #   endif
6332 # else // _LIBCPP_VERSION
6333 #   ifdef __cpp_lib_atomic_shared_ptr
6334 #     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
6335 #   endif
6336 # endif
6337
6338 # ifndef __cpp_lib_atomic_value_initialization
6339 #   error "__cpp_lib_atomic_value_initialization should be defined in c++26"
6340 # endif
6341 # if __cpp_lib_atomic_value_initialization != 201911L
6342 #   error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26"
6343 # endif
6344
6345 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC
6346 #   ifndef __cpp_lib_atomic_wait
6347 #     error "__cpp_lib_atomic_wait should be defined in c++26"
6348 #   endif
6349 #   if __cpp_lib_atomic_wait != 201907L
6350 #     error "__cpp_lib_atomic_wait should have the value 201907L in c++26"
6351 #   endif
6352 # else
6353 #   ifdef __cpp_lib_atomic_wait
6354 #     error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!"
6355 #   endif
6356 # endif
6357
6358 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
6359 #   ifndef __cpp_lib_barrier
6360 #     error "__cpp_lib_barrier should be defined in c++26"
6361 #   endif
6362 #   if __cpp_lib_barrier != 201907L
6363 #     error "__cpp_lib_barrier should have the value 201907L in c++26"
6364 #   endif
6365 # else
6366 #   ifdef __cpp_lib_barrier
6367 #     error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
6368 #   endif
6369 # endif
6370
6371 # ifndef __cpp_lib_bind_back
6372 #   error "__cpp_lib_bind_back should be defined in c++26"
6373 # endif
6374 # if __cpp_lib_bind_back != 202202L
6375 #   error "__cpp_lib_bind_back should have the value 202202L in c++26"
6376 # endif
6377
6378 # ifndef __cpp_lib_bind_front
6379 #   error "__cpp_lib_bind_front should be defined in c++26"
6380 # endif
6381 # if __cpp_lib_bind_front != 202306L
6382 #   error "__cpp_lib_bind_front should have the value 202306L in c++26"
6383 # endif
6384
6385 # ifndef __cpp_lib_bit_cast
6386 #   error "__cpp_lib_bit_cast should be defined in c++26"
6387 # endif
6388 # if __cpp_lib_bit_cast != 201806L
6389 #   error "__cpp_lib_bit_cast should have the value 201806L in c++26"
6390 # endif
6391
6392 # ifndef __cpp_lib_bitops
6393 #   error "__cpp_lib_bitops should be defined in c++26"
6394 # endif
6395 # if __cpp_lib_bitops != 201907L
6396 #   error "__cpp_lib_bitops should have the value 201907L in c++26"
6397 # endif
6398
6399 # ifndef __cpp_lib_bitset
6400 #   error "__cpp_lib_bitset should be defined in c++26"
6401 # endif
6402 # if __cpp_lib_bitset != 202306L
6403 #   error "__cpp_lib_bitset should have the value 202306L in c++26"
6404 # endif
6405
6406 # ifndef __cpp_lib_bool_constant
6407 #   error "__cpp_lib_bool_constant should be defined in c++26"
6408 # endif
6409 # if __cpp_lib_bool_constant != 201505L
6410 #   error "__cpp_lib_bool_constant should have the value 201505L in c++26"
6411 # endif
6412
6413 # ifndef __cpp_lib_bounded_array_traits
6414 #   error "__cpp_lib_bounded_array_traits should be defined in c++26"
6415 # endif
6416 # if __cpp_lib_bounded_array_traits != 201902L
6417 #   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++26"
6418 # endif
6419
6420 # ifndef __cpp_lib_boyer_moore_searcher
6421 #   error "__cpp_lib_boyer_moore_searcher should be defined in c++26"
6422 # endif
6423 # if __cpp_lib_boyer_moore_searcher != 201603L
6424 #   error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26"
6425 # endif
6426
6427 # ifndef __cpp_lib_byte
6428 #   error "__cpp_lib_byte should be defined in c++26"
6429 # endif
6430 # if __cpp_lib_byte != 201603L
6431 #   error "__cpp_lib_byte should have the value 201603L in c++26"
6432 # endif
6433
6434 # ifndef __cpp_lib_byteswap
6435 #   error "__cpp_lib_byteswap should be defined in c++26"
6436 # endif
6437 # if __cpp_lib_byteswap != 202110L
6438 #   error "__cpp_lib_byteswap should have the value 202110L in c++26"
6439 # endif
6440
6441 # if defined(__cpp_char8_t)
6442 #   ifndef __cpp_lib_char8_t
6443 #     error "__cpp_lib_char8_t should be defined in c++26"
6444 #   endif
6445 #   if __cpp_lib_char8_t != 201907L
6446 #     error "__cpp_lib_char8_t should have the value 201907L in c++26"
6447 #   endif
6448 # else
6449 #   ifdef __cpp_lib_char8_t
6450 #     error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
6451 #   endif
6452 # endif
6453
6454 # ifndef __cpp_lib_chrono
6455 #   error "__cpp_lib_chrono should be defined in c++26"
6456 # endif
6457 # if __cpp_lib_chrono != 201611L
6458 #   error "__cpp_lib_chrono should have the value 201611L in c++26"
6459 # endif
6460
6461 # ifndef __cpp_lib_chrono_udls
6462 #   error "__cpp_lib_chrono_udls should be defined in c++26"
6463 # endif
6464 # if __cpp_lib_chrono_udls != 201304L
6465 #   error "__cpp_lib_chrono_udls should have the value 201304L in c++26"
6466 # endif
6467
6468 # ifndef __cpp_lib_clamp
6469 #   error "__cpp_lib_clamp should be defined in c++26"
6470 # endif
6471 # if __cpp_lib_clamp != 201603L
6472 #   error "__cpp_lib_clamp should have the value 201603L in c++26"
6473 # endif
6474
6475 # ifndef __cpp_lib_complex_udls
6476 #   error "__cpp_lib_complex_udls should be defined in c++26"
6477 # endif
6478 # if __cpp_lib_complex_udls != 201309L
6479 #   error "__cpp_lib_complex_udls should have the value 201309L in c++26"
6480 # endif
6481
6482 # ifndef __cpp_lib_concepts
6483 #   error "__cpp_lib_concepts should be defined in c++26"
6484 # endif
6485 # if __cpp_lib_concepts != 202002L
6486 #   error "__cpp_lib_concepts should have the value 202002L in c++26"
6487 # endif
6488
6489 # ifndef __cpp_lib_constexpr_algorithms
6490 #   error "__cpp_lib_constexpr_algorithms should be defined in c++26"
6491 # endif
6492 # if __cpp_lib_constexpr_algorithms != 201806L
6493 #   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++26"
6494 # endif
6495
6496 # ifndef __cpp_lib_constexpr_bitset
6497 #   error "__cpp_lib_constexpr_bitset should be defined in c++26"
6498 # endif
6499 # if __cpp_lib_constexpr_bitset != 202207L
6500 #   error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26"
6501 # endif
6502
6503 # ifndef __cpp_lib_constexpr_charconv
6504 #   error "__cpp_lib_constexpr_charconv should be defined in c++26"
6505 # endif
6506 # if __cpp_lib_constexpr_charconv != 202207L
6507 #   error "__cpp_lib_constexpr_charconv should have the value 202207L in c++26"
6508 # endif
6509
6510 # if !defined(_LIBCPP_VERSION)
6511 #   ifndef __cpp_lib_constexpr_cmath
6512 #     error "__cpp_lib_constexpr_cmath should be defined in c++26"
6513 #   endif
6514 #   if __cpp_lib_constexpr_cmath != 202202L
6515 #     error "__cpp_lib_constexpr_cmath should have the value 202202L in c++26"
6516 #   endif
6517 # else // _LIBCPP_VERSION
6518 #   ifdef __cpp_lib_constexpr_cmath
6519 #     error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
6520 #   endif
6521 # endif
6522
6523 # ifndef __cpp_lib_constexpr_complex
6524 #   error "__cpp_lib_constexpr_complex should be defined in c++26"
6525 # endif
6526 # if __cpp_lib_constexpr_complex != 201711L
6527 #   error "__cpp_lib_constexpr_complex should have the value 201711L in c++26"
6528 # endif
6529
6530 # ifndef __cpp_lib_constexpr_dynamic_alloc
6531 #   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26"
6532 # endif
6533 # if __cpp_lib_constexpr_dynamic_alloc != 201907L
6534 #   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26"
6535 # endif
6536
6537 # ifndef __cpp_lib_constexpr_functional
6538 #   error "__cpp_lib_constexpr_functional should be defined in c++26"
6539 # endif
6540 # if __cpp_lib_constexpr_functional != 201907L
6541 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++26"
6542 # endif
6543
6544 # ifndef __cpp_lib_constexpr_iterator
6545 #   error "__cpp_lib_constexpr_iterator should be defined in c++26"
6546 # endif
6547 # if __cpp_lib_constexpr_iterator != 201811L
6548 #   error "__cpp_lib_constexpr_iterator should have the value 201811L in c++26"
6549 # endif
6550
6551 # ifndef __cpp_lib_constexpr_memory
6552 #   error "__cpp_lib_constexpr_memory should be defined in c++26"
6553 # endif
6554 # if __cpp_lib_constexpr_memory != 202202L
6555 #   error "__cpp_lib_constexpr_memory should have the value 202202L in c++26"
6556 # endif
6557
6558 # if !defined(_LIBCPP_VERSION)
6559 #   ifndef __cpp_lib_constexpr_new
6560 #     error "__cpp_lib_constexpr_new should be defined in c++26"
6561 #   endif
6562 #   if __cpp_lib_constexpr_new != 202406L
6563 #     error "__cpp_lib_constexpr_new should have the value 202406L in c++26"
6564 #   endif
6565 # else // _LIBCPP_VERSION
6566 #   ifdef __cpp_lib_constexpr_new
6567 #     error "__cpp_lib_constexpr_new should not be defined because it is unimplemented in libc++!"
6568 #   endif
6569 # endif
6570
6571 # ifndef __cpp_lib_constexpr_numeric
6572 #   error "__cpp_lib_constexpr_numeric should be defined in c++26"
6573 # endif
6574 # if __cpp_lib_constexpr_numeric != 201911L
6575 #   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++26"
6576 # endif
6577
6578 # ifndef __cpp_lib_constexpr_string
6579 #   error "__cpp_lib_constexpr_string should be defined in c++26"
6580 # endif
6581 # if __cpp_lib_constexpr_string != 201907L
6582 #   error "__cpp_lib_constexpr_string should have the value 201907L in c++26"
6583 # endif
6584
6585 # ifndef __cpp_lib_constexpr_string_view
6586 #   error "__cpp_lib_constexpr_string_view should be defined in c++26"
6587 # endif
6588 # if __cpp_lib_constexpr_string_view != 201811L
6589 #   error "__cpp_lib_constexpr_string_view should have the value 201811L in c++26"
6590 # endif
6591
6592 # ifndef __cpp_lib_constexpr_tuple
6593 #   error "__cpp_lib_constexpr_tuple should be defined in c++26"
6594 # endif
6595 # if __cpp_lib_constexpr_tuple != 201811L
6596 #   error "__cpp_lib_constexpr_tuple should have the value 201811L in c++26"
6597 # endif
6598
6599 # ifndef __cpp_lib_constexpr_typeinfo
6600 #   error "__cpp_lib_constexpr_typeinfo should be defined in c++26"
6601 # endif
6602 # if __cpp_lib_constexpr_typeinfo != 202106L
6603 #   error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++26"
6604 # endif
6605
6606 # ifndef __cpp_lib_constexpr_utility
6607 #   error "__cpp_lib_constexpr_utility should be defined in c++26"
6608 # endif
6609 # if __cpp_lib_constexpr_utility != 201811L
6610 #   error "__cpp_lib_constexpr_utility should have the value 201811L in c++26"
6611 # endif
6612
6613 # ifndef __cpp_lib_constexpr_vector
6614 #   error "__cpp_lib_constexpr_vector should be defined in c++26"
6615 # endif
6616 # if __cpp_lib_constexpr_vector != 201907L
6617 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++26"
6618 # endif
6619
6620 # if !defined(_LIBCPP_VERSION)
6621 #   ifndef __cpp_lib_constrained_equality
6622 #     error "__cpp_lib_constrained_equality should be defined in c++26"
6623 #   endif
6624 #   if __cpp_lib_constrained_equality != 202403L
6625 #     error "__cpp_lib_constrained_equality should have the value 202403L in c++26"
6626 #   endif
6627 # else // _LIBCPP_VERSION
6628 #   ifdef __cpp_lib_constrained_equality
6629 #     error "__cpp_lib_constrained_equality should not be defined because it is unimplemented in libc++!"
6630 #   endif
6631 # endif
6632
6633 # ifndef __cpp_lib_containers_ranges
6634 #   error "__cpp_lib_containers_ranges should be defined in c++26"
6635 # endif
6636 # if __cpp_lib_containers_ranges != 202202L
6637 #   error "__cpp_lib_containers_ranges should have the value 202202L in c++26"
6638 # endif
6639
6640 # if !defined(_LIBCPP_VERSION)
6641 #   ifndef __cpp_lib_copyable_function
6642 #     error "__cpp_lib_copyable_function should be defined in c++26"
6643 #   endif
6644 #   if __cpp_lib_copyable_function != 202306L
6645 #     error "__cpp_lib_copyable_function should have the value 202306L in c++26"
6646 #   endif
6647 # else // _LIBCPP_VERSION
6648 #   ifdef __cpp_lib_copyable_function
6649 #     error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"
6650 #   endif
6651 # endif
6652
6653 # ifndef __cpp_lib_coroutine
6654 #   error "__cpp_lib_coroutine should be defined in c++26"
6655 # endif
6656 # if __cpp_lib_coroutine != 201902L
6657 #   error "__cpp_lib_coroutine should have the value 201902L in c++26"
6658 # endif
6659
6660 # if !defined(_LIBCPP_VERSION)
6661 #   ifndef __cpp_lib_debugging
6662 #     error "__cpp_lib_debugging should be defined in c++26"
6663 #   endif
6664 #   if __cpp_lib_debugging != 202311L
6665 #     error "__cpp_lib_debugging should have the value 202311L in c++26"
6666 #   endif
6667 # else // _LIBCPP_VERSION
6668 #   ifdef __cpp_lib_debugging
6669 #     error "__cpp_lib_debugging should not be defined because it is unimplemented in libc++!"
6670 #   endif
6671 # endif
6672
6673 # if !defined(_LIBCPP_VERSION)
6674 #   ifndef __cpp_lib_default_template_type_for_algorithm_values
6675 #     error "__cpp_lib_default_template_type_for_algorithm_values should be defined in c++26"
6676 #   endif
6677 #   if __cpp_lib_default_template_type_for_algorithm_values != 202403L
6678 #     error "__cpp_lib_default_template_type_for_algorithm_values should have the value 202403L in c++26"
6679 #   endif
6680 # else // _LIBCPP_VERSION
6681 #   ifdef __cpp_lib_default_template_type_for_algorithm_values
6682 #     error "__cpp_lib_default_template_type_for_algorithm_values should not be defined because it is unimplemented in libc++!"
6683 #   endif
6684 # endif
6685
6686 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
6687 #   ifndef __cpp_lib_destroying_delete
6688 #     error "__cpp_lib_destroying_delete should be defined in c++26"
6689 #   endif
6690 #   if __cpp_lib_destroying_delete != 201806L
6691 #     error "__cpp_lib_destroying_delete should have the value 201806L in c++26"
6692 #   endif
6693 # else
6694 #   ifdef __cpp_lib_destroying_delete
6695 #     error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
6696 #   endif
6697 # endif
6698
6699 # ifndef __cpp_lib_enable_shared_from_this
6700 #   error "__cpp_lib_enable_shared_from_this should be defined in c++26"
6701 # endif
6702 # if __cpp_lib_enable_shared_from_this != 201603L
6703 #   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26"
6704 # endif
6705
6706 # ifndef __cpp_lib_endian
6707 #   error "__cpp_lib_endian should be defined in c++26"
6708 # endif
6709 # if __cpp_lib_endian != 201907L
6710 #   error "__cpp_lib_endian should have the value 201907L in c++26"
6711 # endif
6712
6713 # ifndef __cpp_lib_erase_if
6714 #   error "__cpp_lib_erase_if should be defined in c++26"
6715 # endif
6716 # if __cpp_lib_erase_if != 202002L
6717 #   error "__cpp_lib_erase_if should have the value 202002L in c++26"
6718 # endif
6719
6720 # ifndef __cpp_lib_exchange_function
6721 #   error "__cpp_lib_exchange_function should be defined in c++26"
6722 # endif
6723 # if __cpp_lib_exchange_function != 201304L
6724 #   error "__cpp_lib_exchange_function should have the value 201304L in c++26"
6725 # endif
6726
6727 # if !defined(_LIBCPP_VERSION)
6728 #   ifndef __cpp_lib_execution
6729 #     error "__cpp_lib_execution should be defined in c++26"
6730 #   endif
6731 #   if __cpp_lib_execution != 201902L
6732 #     error "__cpp_lib_execution should have the value 201902L in c++26"
6733 #   endif
6734 # else // _LIBCPP_VERSION
6735 #   ifdef __cpp_lib_execution
6736 #     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
6737 #   endif
6738 # endif
6739
6740 # ifndef __cpp_lib_expected
6741 #   error "__cpp_lib_expected should be defined in c++26"
6742 # endif
6743 # if __cpp_lib_expected != 202211L
6744 #   error "__cpp_lib_expected should have the value 202211L in c++26"
6745 # endif
6746
6747 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)
6748 #   ifndef __cpp_lib_filesystem
6749 #     error "__cpp_lib_filesystem should be defined in c++26"
6750 #   endif
6751 #   if __cpp_lib_filesystem != 201703L
6752 #     error "__cpp_lib_filesystem should have the value 201703L in c++26"
6753 #   endif
6754 # else
6755 #   ifdef __cpp_lib_filesystem
6756 #     error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!"
6757 #   endif
6758 # endif
6759
6760 # ifndef __cpp_lib_format
6761 #   error "__cpp_lib_format should be defined in c++26"
6762 # endif
6763 # if __cpp_lib_format != 202110L
6764 #   error "__cpp_lib_format should have the value 202110L in c++26"
6765 # endif
6766
6767 # if !defined(_LIBCPP_VERSION)
6768 #   ifndef __cpp_lib_format_path
6769 #     error "__cpp_lib_format_path should be defined in c++26"
6770 #   endif
6771 #   if __cpp_lib_format_path != 202403L
6772 #     error "__cpp_lib_format_path should have the value 202403L in c++26"
6773 #   endif
6774 # else // _LIBCPP_VERSION
6775 #   ifdef __cpp_lib_format_path
6776 #     error "__cpp_lib_format_path should not be defined because it is unimplemented in libc++!"
6777 #   endif
6778 # endif
6779
6780 # ifndef __cpp_lib_format_ranges
6781 #   error "__cpp_lib_format_ranges should be defined in c++26"
6782 # endif
6783 # if __cpp_lib_format_ranges != 202207L
6784 #   error "__cpp_lib_format_ranges should have the value 202207L in c++26"
6785 # endif
6786
6787 # ifndef __cpp_lib_format_uchar
6788 #   error "__cpp_lib_format_uchar should be defined in c++26"
6789 # endif
6790 # if __cpp_lib_format_uchar != 202311L
6791 #   error "__cpp_lib_format_uchar should have the value 202311L in c++26"
6792 # endif
6793
6794 # if !defined(_LIBCPP_VERSION)
6795 #   ifndef __cpp_lib_formatters
6796 #     error "__cpp_lib_formatters should be defined in c++26"
6797 #   endif
6798 #   if __cpp_lib_formatters != 202302L
6799 #     error "__cpp_lib_formatters should have the value 202302L in c++26"
6800 #   endif
6801 # else // _LIBCPP_VERSION
6802 #   ifdef __cpp_lib_formatters
6803 #     error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"
6804 #   endif
6805 # endif
6806
6807 # ifndef __cpp_lib_forward_like
6808 #   error "__cpp_lib_forward_like should be defined in c++26"
6809 # endif
6810 # if __cpp_lib_forward_like != 202207L
6811 #   error "__cpp_lib_forward_like should have the value 202207L in c++26"
6812 # endif
6813
6814 # if !defined(_LIBCPP_VERSION)
6815 #   ifndef __cpp_lib_freestanding_algorithm
6816 #     error "__cpp_lib_freestanding_algorithm should be defined in c++26"
6817 #   endif
6818 #   if __cpp_lib_freestanding_algorithm != 202311L
6819 #     error "__cpp_lib_freestanding_algorithm should have the value 202311L in c++26"
6820 #   endif
6821 # else // _LIBCPP_VERSION
6822 #   ifdef __cpp_lib_freestanding_algorithm
6823 #     error "__cpp_lib_freestanding_algorithm should not be defined because it is unimplemented in libc++!"
6824 #   endif
6825 # endif
6826
6827 # if !defined(_LIBCPP_VERSION)
6828 #   ifndef __cpp_lib_freestanding_array
6829 #     error "__cpp_lib_freestanding_array should be defined in c++26"
6830 #   endif
6831 #   if __cpp_lib_freestanding_array != 202311L
6832 #     error "__cpp_lib_freestanding_array should have the value 202311L in c++26"
6833 #   endif
6834 # else // _LIBCPP_VERSION
6835 #   ifdef __cpp_lib_freestanding_array
6836 #     error "__cpp_lib_freestanding_array should not be defined because it is unimplemented in libc++!"
6837 #   endif
6838 # endif
6839
6840 # if !defined(_LIBCPP_VERSION)
6841 #   ifndef __cpp_lib_freestanding_cstring
6842 #     error "__cpp_lib_freestanding_cstring should be defined in c++26"
6843 #   endif
6844 #   if __cpp_lib_freestanding_cstring != 202306L
6845 #     error "__cpp_lib_freestanding_cstring should have the value 202306L in c++26"
6846 #   endif
6847 # else // _LIBCPP_VERSION
6848 #   ifdef __cpp_lib_freestanding_cstring
6849 #     error "__cpp_lib_freestanding_cstring should not be defined because it is unimplemented in libc++!"
6850 #   endif
6851 # endif
6852
6853 # if !defined(_LIBCPP_VERSION)
6854 #   ifndef __cpp_lib_freestanding_expected
6855 #     error "__cpp_lib_freestanding_expected should be defined in c++26"
6856 #   endif
6857 #   if __cpp_lib_freestanding_expected != 202311L
6858 #     error "__cpp_lib_freestanding_expected should have the value 202311L in c++26"
6859 #   endif
6860 # else // _LIBCPP_VERSION
6861 #   ifdef __cpp_lib_freestanding_expected
6862 #     error "__cpp_lib_freestanding_expected should not be defined because it is unimplemented in libc++!"
6863 #   endif
6864 # endif
6865
6866 # if !defined(_LIBCPP_VERSION)
6867 #   ifndef __cpp_lib_freestanding_mdspan
6868 #     error "__cpp_lib_freestanding_mdspan should be defined in c++26"
6869 #   endif
6870 #   if __cpp_lib_freestanding_mdspan != 202311L
6871 #     error "__cpp_lib_freestanding_mdspan should have the value 202311L in c++26"
6872 #   endif
6873 # else // _LIBCPP_VERSION
6874 #   ifdef __cpp_lib_freestanding_mdspan
6875 #     error "__cpp_lib_freestanding_mdspan should not be defined because it is unimplemented in libc++!"
6876 #   endif
6877 # endif
6878
6879 # if !defined(_LIBCPP_VERSION)
6880 #   ifndef __cpp_lib_freestanding_optional
6881 #     error "__cpp_lib_freestanding_optional should be defined in c++26"
6882 #   endif
6883 #   if __cpp_lib_freestanding_optional != 202311L
6884 #     error "__cpp_lib_freestanding_optional should have the value 202311L in c++26"
6885 #   endif
6886 # else // _LIBCPP_VERSION
6887 #   ifdef __cpp_lib_freestanding_optional
6888 #     error "__cpp_lib_freestanding_optional should not be defined because it is unimplemented in libc++!"
6889 #   endif
6890 # endif
6891
6892 # if !defined(_LIBCPP_VERSION)
6893 #   ifndef __cpp_lib_freestanding_string_view
6894 #     error "__cpp_lib_freestanding_string_view should be defined in c++26"
6895 #   endif
6896 #   if __cpp_lib_freestanding_string_view != 202311L
6897 #     error "__cpp_lib_freestanding_string_view should have the value 202311L in c++26"
6898 #   endif
6899 # else // _LIBCPP_VERSION
6900 #   ifdef __cpp_lib_freestanding_string_view
6901 #     error "__cpp_lib_freestanding_string_view should not be defined because it is unimplemented in libc++!"
6902 #   endif
6903 # endif
6904
6905 # if !defined(_LIBCPP_VERSION)
6906 #   ifndef __cpp_lib_freestanding_variant
6907 #     error "__cpp_lib_freestanding_variant should be defined in c++26"
6908 #   endif
6909 #   if __cpp_lib_freestanding_variant != 202311L
6910 #     error "__cpp_lib_freestanding_variant should have the value 202311L in c++26"
6911 #   endif
6912 # else // _LIBCPP_VERSION
6913 #   ifdef __cpp_lib_freestanding_variant
6914 #     error "__cpp_lib_freestanding_variant should not be defined because it is unimplemented in libc++!"
6915 #   endif
6916 # endif
6917
6918 # if !defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && !defined(_LIBCPP_HAS_NO_LOCALIZATION))
6919 #   ifndef __cpp_lib_fstream_native_handle
6920 #     error "__cpp_lib_fstream_native_handle should be defined in c++26"
6921 #   endif
6922 #   if __cpp_lib_fstream_native_handle != 202306L
6923 #     error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"
6924 #   endif
6925 # else
6926 #   ifdef __cpp_lib_fstream_native_handle
6927 #     error "__cpp_lib_fstream_native_handle should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (!defined(_LIBCPP_HAS_NO_FILESYSTEM) && !defined(_LIBCPP_HAS_NO_LOCALIZATION))' is not met!"
6928 #   endif
6929 # endif
6930
6931 # if !defined(_LIBCPP_VERSION)
6932 #   ifndef __cpp_lib_function_ref
6933 #     error "__cpp_lib_function_ref should be defined in c++26"
6934 #   endif
6935 #   if __cpp_lib_function_ref != 202306L
6936 #     error "__cpp_lib_function_ref should have the value 202306L in c++26"
6937 #   endif
6938 # else // _LIBCPP_VERSION
6939 #   ifdef __cpp_lib_function_ref
6940 #     error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"
6941 #   endif
6942 # endif
6943
6944 # ifndef __cpp_lib_gcd_lcm
6945 #   error "__cpp_lib_gcd_lcm should be defined in c++26"
6946 # endif
6947 # if __cpp_lib_gcd_lcm != 201606L
6948 #   error "__cpp_lib_gcd_lcm should have the value 201606L in c++26"
6949 # endif
6950
6951 # if !defined(_LIBCPP_VERSION)
6952 #   ifndef __cpp_lib_generate_random
6953 #     error "__cpp_lib_generate_random should be defined in c++26"
6954 #   endif
6955 #   if __cpp_lib_generate_random != 202403L
6956 #     error "__cpp_lib_generate_random should have the value 202403L in c++26"
6957 #   endif
6958 # else // _LIBCPP_VERSION
6959 #   ifdef __cpp_lib_generate_random
6960 #     error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!"
6961 #   endif
6962 # endif
6963
6964 # ifndef __cpp_lib_generic_associative_lookup
6965 #   error "__cpp_lib_generic_associative_lookup should be defined in c++26"
6966 # endif
6967 # if __cpp_lib_generic_associative_lookup != 201304L
6968 #   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++26"
6969 # endif
6970
6971 # ifndef __cpp_lib_generic_unordered_lookup
6972 #   error "__cpp_lib_generic_unordered_lookup should be defined in c++26"
6973 # endif
6974 # if __cpp_lib_generic_unordered_lookup != 201811L
6975 #   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++26"
6976 # endif
6977
6978 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))
6979 #   ifndef __cpp_lib_hardware_interference_size
6980 #     error "__cpp_lib_hardware_interference_size should be defined in c++26"
6981 #   endif
6982 #   if __cpp_lib_hardware_interference_size != 201703L
6983 #     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++26"
6984 #   endif
6985 # else
6986 #   ifdef __cpp_lib_hardware_interference_size
6987 #     error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"
6988 #   endif
6989 # endif
6990
6991 # ifndef __cpp_lib_has_unique_object_representations
6992 #   error "__cpp_lib_has_unique_object_representations should be defined in c++26"
6993 # endif
6994 # if __cpp_lib_has_unique_object_representations != 201606L
6995 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26"
6996 # endif
6997
6998 # if !defined(_LIBCPP_VERSION)
6999 #   ifndef __cpp_lib_hazard_pointer
7000 #     error "__cpp_lib_hazard_pointer should be defined in c++26"
7001 #   endif
7002 #   if __cpp_lib_hazard_pointer != 202306L
7003 #     error "__cpp_lib_hazard_pointer should have the value 202306L in c++26"
7004 #   endif
7005 # else // _LIBCPP_VERSION
7006 #   ifdef __cpp_lib_hazard_pointer
7007 #     error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!"
7008 #   endif
7009 # endif
7010
7011 # ifndef __cpp_lib_hypot
7012 #   error "__cpp_lib_hypot should be defined in c++26"
7013 # endif
7014 # if __cpp_lib_hypot != 201603L
7015 #   error "__cpp_lib_hypot should have the value 201603L in c++26"
7016 # endif
7017
7018 # ifndef __cpp_lib_incomplete_container_elements
7019 #   error "__cpp_lib_incomplete_container_elements should be defined in c++26"
7020 # endif
7021 # if __cpp_lib_incomplete_container_elements != 201505L
7022 #   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++26"
7023 # endif
7024
7025 # if !defined(_LIBCPP_VERSION)
7026 #   ifndef __cpp_lib_inplace_vector
7027 #     error "__cpp_lib_inplace_vector should be defined in c++26"
7028 #   endif
7029 #   if __cpp_lib_inplace_vector != 202406L
7030 #     error "__cpp_lib_inplace_vector should have the value 202406L in c++26"
7031 #   endif
7032 # else // _LIBCPP_VERSION
7033 #   ifdef __cpp_lib_inplace_vector
7034 #     error "__cpp_lib_inplace_vector should not be defined because it is unimplemented in libc++!"
7035 #   endif
7036 # endif
7037
7038 # ifndef __cpp_lib_int_pow2
7039 #   error "__cpp_lib_int_pow2 should be defined in c++26"
7040 # endif
7041 # if __cpp_lib_int_pow2 != 202002L
7042 #   error "__cpp_lib_int_pow2 should have the value 202002L in c++26"
7043 # endif
7044
7045 # ifndef __cpp_lib_integer_comparison_functions
7046 #   error "__cpp_lib_integer_comparison_functions should be defined in c++26"
7047 # endif
7048 # if __cpp_lib_integer_comparison_functions != 202002L
7049 #   error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++26"
7050 # endif
7051
7052 # ifndef __cpp_lib_integer_sequence
7053 #   error "__cpp_lib_integer_sequence should be defined in c++26"
7054 # endif
7055 # if __cpp_lib_integer_sequence != 201304L
7056 #   error "__cpp_lib_integer_sequence should have the value 201304L in c++26"
7057 # endif
7058
7059 # ifndef __cpp_lib_integral_constant_callable
7060 #   error "__cpp_lib_integral_constant_callable should be defined in c++26"
7061 # endif
7062 # if __cpp_lib_integral_constant_callable != 201304L
7063 #   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++26"
7064 # endif
7065
7066 # ifndef __cpp_lib_interpolate
7067 #   error "__cpp_lib_interpolate should be defined in c++26"
7068 # endif
7069 # if __cpp_lib_interpolate != 201902L
7070 #   error "__cpp_lib_interpolate should have the value 201902L in c++26"
7071 # endif
7072
7073 # ifndef __cpp_lib_invoke
7074 #   error "__cpp_lib_invoke should be defined in c++26"
7075 # endif
7076 # if __cpp_lib_invoke != 201411L
7077 #   error "__cpp_lib_invoke should have the value 201411L in c++26"
7078 # endif
7079
7080 # ifndef __cpp_lib_invoke_r
7081 #   error "__cpp_lib_invoke_r should be defined in c++26"
7082 # endif
7083 # if __cpp_lib_invoke_r != 202106L
7084 #   error "__cpp_lib_invoke_r should have the value 202106L in c++26"
7085 # endif
7086
7087 # ifndef __cpp_lib_ios_noreplace
7088 #   error "__cpp_lib_ios_noreplace should be defined in c++26"
7089 # endif
7090 # if __cpp_lib_ios_noreplace != 202207L
7091 #   error "__cpp_lib_ios_noreplace should have the value 202207L in c++26"
7092 # endif
7093
7094 # ifndef __cpp_lib_is_aggregate
7095 #   error "__cpp_lib_is_aggregate should be defined in c++26"
7096 # endif
7097 # if __cpp_lib_is_aggregate != 201703L
7098 #   error "__cpp_lib_is_aggregate should have the value 201703L in c++26"
7099 # endif
7100
7101 # ifndef __cpp_lib_is_constant_evaluated
7102 #   error "__cpp_lib_is_constant_evaluated should be defined in c++26"
7103 # endif
7104 # if __cpp_lib_is_constant_evaluated != 201811L
7105 #   error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++26"
7106 # endif
7107
7108 # ifndef __cpp_lib_is_final
7109 #   error "__cpp_lib_is_final should be defined in c++26"
7110 # endif
7111 # if __cpp_lib_is_final != 201402L
7112 #   error "__cpp_lib_is_final should have the value 201402L in c++26"
7113 # endif
7114
7115 # ifndef __cpp_lib_is_invocable
7116 #   error "__cpp_lib_is_invocable should be defined in c++26"
7117 # endif
7118 # if __cpp_lib_is_invocable != 201703L
7119 #   error "__cpp_lib_is_invocable should have the value 201703L in c++26"
7120 # endif
7121
7122 # if !defined(_LIBCPP_VERSION)
7123 #   ifndef __cpp_lib_is_layout_compatible
7124 #     error "__cpp_lib_is_layout_compatible should be defined in c++26"
7125 #   endif
7126 #   if __cpp_lib_is_layout_compatible != 201907L
7127 #     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++26"
7128 #   endif
7129 # else // _LIBCPP_VERSION
7130 #   ifdef __cpp_lib_is_layout_compatible
7131 #     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
7132 #   endif
7133 # endif
7134
7135 # ifndef __cpp_lib_is_nothrow_convertible
7136 #   error "__cpp_lib_is_nothrow_convertible should be defined in c++26"
7137 # endif
7138 # if __cpp_lib_is_nothrow_convertible != 201806L
7139 #   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++26"
7140 # endif
7141
7142 # ifndef __cpp_lib_is_null_pointer
7143 #   error "__cpp_lib_is_null_pointer should be defined in c++26"
7144 # endif
7145 # if __cpp_lib_is_null_pointer != 201309L
7146 #   error "__cpp_lib_is_null_pointer should have the value 201309L in c++26"
7147 # endif
7148
7149 # if !defined(_LIBCPP_VERSION)
7150 #   ifndef __cpp_lib_is_pointer_interconvertible
7151 #     error "__cpp_lib_is_pointer_interconvertible should be defined in c++26"
7152 #   endif
7153 #   if __cpp_lib_is_pointer_interconvertible != 201907L
7154 #     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++26"
7155 #   endif
7156 # else // _LIBCPP_VERSION
7157 #   ifdef __cpp_lib_is_pointer_interconvertible
7158 #     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
7159 #   endif
7160 # endif
7161
7162 # ifndef __cpp_lib_is_scoped_enum
7163 #   error "__cpp_lib_is_scoped_enum should be defined in c++26"
7164 # endif
7165 # if __cpp_lib_is_scoped_enum != 202011L
7166 #   error "__cpp_lib_is_scoped_enum should have the value 202011L in c++26"
7167 # endif
7168
7169 # ifndef __cpp_lib_is_swappable
7170 #   error "__cpp_lib_is_swappable should be defined in c++26"
7171 # endif
7172 # if __cpp_lib_is_swappable != 201603L
7173 #   error "__cpp_lib_is_swappable should have the value 201603L in c++26"
7174 # endif
7175
7176 # if !defined(_LIBCPP_VERSION)
7177 #   ifndef __cpp_lib_is_virtual_base_of
7178 #     error "__cpp_lib_is_virtual_base_of should be defined in c++26"
7179 #   endif
7180 #   if __cpp_lib_is_virtual_base_of != 202406L
7181 #     error "__cpp_lib_is_virtual_base_of should have the value 202406L in c++26"
7182 #   endif
7183 # else // _LIBCPP_VERSION
7184 #   ifdef __cpp_lib_is_virtual_base_of
7185 #     error "__cpp_lib_is_virtual_base_of should not be defined because it is unimplemented in libc++!"
7186 #   endif
7187 # endif
7188
7189 # if !defined(_LIBCPP_VERSION)
7190 #   ifndef __cpp_lib_is_within_lifetime
7191 #     error "__cpp_lib_is_within_lifetime should be defined in c++26"
7192 #   endif
7193 #   if __cpp_lib_is_within_lifetime != 202306L
7194 #     error "__cpp_lib_is_within_lifetime should have the value 202306L in c++26"
7195 #   endif
7196 # else // _LIBCPP_VERSION
7197 #   ifdef __cpp_lib_is_within_lifetime
7198 #     error "__cpp_lib_is_within_lifetime should not be defined because it is unimplemented in libc++!"
7199 #   endif
7200 # endif
7201
7202 # if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7203 #   ifndef __cpp_lib_jthread
7204 #     error "__cpp_lib_jthread should be defined in c++26"
7205 #   endif
7206 #   if __cpp_lib_jthread != 201911L
7207 #     error "__cpp_lib_jthread should have the value 201911L in c++26"
7208 #   endif
7209 # else
7210 #   ifdef __cpp_lib_jthread
7211 #     error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7212 #   endif
7213 # endif
7214
7215 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7216 #   ifndef __cpp_lib_latch
7217 #     error "__cpp_lib_latch should be defined in c++26"
7218 #   endif
7219 #   if __cpp_lib_latch != 201907L
7220 #     error "__cpp_lib_latch should have the value 201907L in c++26"
7221 #   endif
7222 # else
7223 #   ifdef __cpp_lib_latch
7224 #     error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7225 #   endif
7226 # endif
7227
7228 # ifndef __cpp_lib_launder
7229 #   error "__cpp_lib_launder should be defined in c++26"
7230 # endif
7231 # if __cpp_lib_launder != 201606L
7232 #   error "__cpp_lib_launder should have the value 201606L in c++26"
7233 # endif
7234
7235 # if !defined(_LIBCPP_VERSION)
7236 #   ifndef __cpp_lib_linalg
7237 #     error "__cpp_lib_linalg should be defined in c++26"
7238 #   endif
7239 #   if __cpp_lib_linalg != 202311L
7240 #     error "__cpp_lib_linalg should have the value 202311L in c++26"
7241 #   endif
7242 # else // _LIBCPP_VERSION
7243 #   ifdef __cpp_lib_linalg
7244 #     error "__cpp_lib_linalg should not be defined because it is unimplemented in libc++!"
7245 #   endif
7246 # endif
7247
7248 # ifndef __cpp_lib_list_remove_return_type
7249 #   error "__cpp_lib_list_remove_return_type should be defined in c++26"
7250 # endif
7251 # if __cpp_lib_list_remove_return_type != 201806L
7252 #   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++26"
7253 # endif
7254
7255 # ifndef __cpp_lib_logical_traits
7256 #   error "__cpp_lib_logical_traits should be defined in c++26"
7257 # endif
7258 # if __cpp_lib_logical_traits != 201510L
7259 #   error "__cpp_lib_logical_traits should have the value 201510L in c++26"
7260 # endif
7261
7262 # ifndef __cpp_lib_make_from_tuple
7263 #   error "__cpp_lib_make_from_tuple should be defined in c++26"
7264 # endif
7265 # if __cpp_lib_make_from_tuple != 201606L
7266 #   error "__cpp_lib_make_from_tuple should have the value 201606L in c++26"
7267 # endif
7268
7269 # ifndef __cpp_lib_make_reverse_iterator
7270 #   error "__cpp_lib_make_reverse_iterator should be defined in c++26"
7271 # endif
7272 # if __cpp_lib_make_reverse_iterator != 201402L
7273 #   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++26"
7274 # endif
7275
7276 # ifndef __cpp_lib_make_unique
7277 #   error "__cpp_lib_make_unique should be defined in c++26"
7278 # endif
7279 # if __cpp_lib_make_unique != 201304L
7280 #   error "__cpp_lib_make_unique should have the value 201304L in c++26"
7281 # endif
7282
7283 # ifndef __cpp_lib_map_try_emplace
7284 #   error "__cpp_lib_map_try_emplace should be defined in c++26"
7285 # endif
7286 # if __cpp_lib_map_try_emplace != 201411L
7287 #   error "__cpp_lib_map_try_emplace should have the value 201411L in c++26"
7288 # endif
7289
7290 # ifndef __cpp_lib_math_constants
7291 #   error "__cpp_lib_math_constants should be defined in c++26"
7292 # endif
7293 # if __cpp_lib_math_constants != 201907L
7294 #   error "__cpp_lib_math_constants should have the value 201907L in c++26"
7295 # endif
7296
7297 # if !defined(_LIBCPP_VERSION)
7298 #   ifndef __cpp_lib_math_special_functions
7299 #     error "__cpp_lib_math_special_functions should be defined in c++26"
7300 #   endif
7301 #   if __cpp_lib_math_special_functions != 201603L
7302 #     error "__cpp_lib_math_special_functions should have the value 201603L in c++26"
7303 #   endif
7304 # else // _LIBCPP_VERSION
7305 #   ifdef __cpp_lib_math_special_functions
7306 #     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
7307 #   endif
7308 # endif
7309
7310 # ifndef __cpp_lib_mdspan
7311 #   error "__cpp_lib_mdspan should be defined in c++26"
7312 # endif
7313 # if __cpp_lib_mdspan != 202406L
7314 #   error "__cpp_lib_mdspan should have the value 202406L in c++26"
7315 # endif
7316
7317 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7318 #   ifndef __cpp_lib_memory_resource
7319 #     error "__cpp_lib_memory_resource should be defined in c++26"
7320 #   endif
7321 #   if __cpp_lib_memory_resource != 201603L
7322 #     error "__cpp_lib_memory_resource should have the value 201603L in c++26"
7323 #   endif
7324 # else
7325 #   ifdef __cpp_lib_memory_resource
7326 #     error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7327 #   endif
7328 # endif
7329
7330 # ifndef __cpp_lib_modules
7331 #   error "__cpp_lib_modules should be defined in c++26"
7332 # endif
7333 # if __cpp_lib_modules != 202207L
7334 #   error "__cpp_lib_modules should have the value 202207L in c++26"
7335 # endif
7336
7337 # ifndef __cpp_lib_move_iterator_concept
7338 #   error "__cpp_lib_move_iterator_concept should be defined in c++26"
7339 # endif
7340 # if __cpp_lib_move_iterator_concept != 202207L
7341 #   error "__cpp_lib_move_iterator_concept should have the value 202207L in c++26"
7342 # endif
7343
7344 # if !defined(_LIBCPP_VERSION)
7345 #   ifndef __cpp_lib_move_only_function
7346 #     error "__cpp_lib_move_only_function should be defined in c++26"
7347 #   endif
7348 #   if __cpp_lib_move_only_function != 202110L
7349 #     error "__cpp_lib_move_only_function should have the value 202110L in c++26"
7350 #   endif
7351 # else // _LIBCPP_VERSION
7352 #   ifdef __cpp_lib_move_only_function
7353 #     error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
7354 #   endif
7355 # endif
7356
7357 # ifndef __cpp_lib_node_extract
7358 #   error "__cpp_lib_node_extract should be defined in c++26"
7359 # endif
7360 # if __cpp_lib_node_extract != 201606L
7361 #   error "__cpp_lib_node_extract should have the value 201606L in c++26"
7362 # endif
7363
7364 # ifndef __cpp_lib_nonmember_container_access
7365 #   error "__cpp_lib_nonmember_container_access should be defined in c++26"
7366 # endif
7367 # if __cpp_lib_nonmember_container_access != 201411L
7368 #   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++26"
7369 # endif
7370
7371 # ifndef __cpp_lib_not_fn
7372 #   error "__cpp_lib_not_fn should be defined in c++26"
7373 # endif
7374 # if __cpp_lib_not_fn != 201603L
7375 #   error "__cpp_lib_not_fn should have the value 201603L in c++26"
7376 # endif
7377
7378 # ifndef __cpp_lib_null_iterators
7379 #   error "__cpp_lib_null_iterators should be defined in c++26"
7380 # endif
7381 # if __cpp_lib_null_iterators != 201304L
7382 #   error "__cpp_lib_null_iterators should have the value 201304L in c++26"
7383 # endif
7384
7385 # ifndef __cpp_lib_optional
7386 #   error "__cpp_lib_optional should be defined in c++26"
7387 # endif
7388 # if __cpp_lib_optional != 202110L
7389 #   error "__cpp_lib_optional should have the value 202110L in c++26"
7390 # endif
7391
7392 # if !defined(_LIBCPP_VERSION)
7393 #   ifndef __cpp_lib_optional_range_support
7394 #     error "__cpp_lib_optional_range_support should be defined in c++26"
7395 #   endif
7396 #   if __cpp_lib_optional_range_support != 202406L
7397 #     error "__cpp_lib_optional_range_support should have the value 202406L in c++26"
7398 #   endif
7399 # else // _LIBCPP_VERSION
7400 #   ifdef __cpp_lib_optional_range_support
7401 #     error "__cpp_lib_optional_range_support should not be defined because it is unimplemented in libc++!"
7402 #   endif
7403 # endif
7404
7405 # ifndef __cpp_lib_out_ptr
7406 #   error "__cpp_lib_out_ptr should be defined in c++26"
7407 # endif
7408 # if __cpp_lib_out_ptr != 202311L
7409 #   error "__cpp_lib_out_ptr should have the value 202311L in c++26"
7410 # endif
7411
7412 # if !defined(_LIBCPP_VERSION)
7413 #   ifndef __cpp_lib_parallel_algorithm
7414 #     error "__cpp_lib_parallel_algorithm should be defined in c++26"
7415 #   endif
7416 #   if __cpp_lib_parallel_algorithm != 201603L
7417 #     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++26"
7418 #   endif
7419 # else // _LIBCPP_VERSION
7420 #   ifdef __cpp_lib_parallel_algorithm
7421 #     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
7422 #   endif
7423 # endif
7424
7425 # if !defined(_LIBCPP_VERSION)
7426 #   ifndef __cpp_lib_philox_engine
7427 #     error "__cpp_lib_philox_engine should be defined in c++26"
7428 #   endif
7429 #   if __cpp_lib_philox_engine != 202406L
7430 #     error "__cpp_lib_philox_engine should have the value 202406L in c++26"
7431 #   endif
7432 # else // _LIBCPP_VERSION
7433 #   ifdef __cpp_lib_philox_engine
7434 #     error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!"
7435 #   endif
7436 # endif
7437
7438 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR
7439 #   ifndef __cpp_lib_polymorphic_allocator
7440 #     error "__cpp_lib_polymorphic_allocator should be defined in c++26"
7441 #   endif
7442 #   if __cpp_lib_polymorphic_allocator != 201902L
7443 #     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++26"
7444 #   endif
7445 # else
7446 #   ifdef __cpp_lib_polymorphic_allocator
7447 #     error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"
7448 #   endif
7449 # endif
7450
7451 # ifndef __cpp_lib_print
7452 #   error "__cpp_lib_print should be defined in c++26"
7453 # endif
7454 # if __cpp_lib_print != 202207L
7455 #   error "__cpp_lib_print should have the value 202207L in c++26"
7456 # endif
7457
7458 # if !defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)
7459 #   ifndef __cpp_lib_quoted_string_io
7460 #     error "__cpp_lib_quoted_string_io should be defined in c++26"
7461 #   endif
7462 #   if __cpp_lib_quoted_string_io != 201304L
7463 #     error "__cpp_lib_quoted_string_io should have the value 201304L in c++26"
7464 #   endif
7465 # else
7466 #   ifdef __cpp_lib_quoted_string_io
7467 #     error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || !defined(_LIBCPP_HAS_NO_LOCALIZATION)' is not met!"
7468 #   endif
7469 # endif
7470
7471 # ifndef __cpp_lib_ranges
7472 #   error "__cpp_lib_ranges should be defined in c++26"
7473 # endif
7474 # if __cpp_lib_ranges != 202211L
7475 #   error "__cpp_lib_ranges should have the value 202211L in c++26"
7476 # endif
7477
7478 # if !defined(_LIBCPP_VERSION)
7479 #   ifndef __cpp_lib_ranges_as_const
7480 #     error "__cpp_lib_ranges_as_const should be defined in c++26"
7481 #   endif
7482 #   if __cpp_lib_ranges_as_const != 202207L
7483 #     error "__cpp_lib_ranges_as_const should have the value 202207L in c++26"
7484 #   endif
7485 # else // _LIBCPP_VERSION
7486 #   ifdef __cpp_lib_ranges_as_const
7487 #     error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"
7488 #   endif
7489 # endif
7490
7491 # ifndef __cpp_lib_ranges_as_rvalue
7492 #   error "__cpp_lib_ranges_as_rvalue should be defined in c++26"
7493 # endif
7494 # if __cpp_lib_ranges_as_rvalue != 202207L
7495 #   error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++26"
7496 # endif
7497
7498 # if !defined(_LIBCPP_VERSION)
7499 #   ifndef __cpp_lib_ranges_chunk
7500 #     error "__cpp_lib_ranges_chunk should be defined in c++26"
7501 #   endif
7502 #   if __cpp_lib_ranges_chunk != 202202L
7503 #     error "__cpp_lib_ranges_chunk should have the value 202202L in c++26"
7504 #   endif
7505 # else // _LIBCPP_VERSION
7506 #   ifdef __cpp_lib_ranges_chunk
7507 #     error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
7508 #   endif
7509 # endif
7510
7511 # ifndef __cpp_lib_ranges_chunk_by
7512 #   error "__cpp_lib_ranges_chunk_by should be defined in c++26"
7513 # endif
7514 # if __cpp_lib_ranges_chunk_by != 202202L
7515 #   error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++26"
7516 # endif
7517
7518 # if !defined(_LIBCPP_VERSION)
7519 #   ifndef __cpp_lib_ranges_concat
7520 #     error "__cpp_lib_ranges_concat should be defined in c++26"
7521 #   endif
7522 #   if __cpp_lib_ranges_concat != 202403L
7523 #     error "__cpp_lib_ranges_concat should have the value 202403L in c++26"
7524 #   endif
7525 # else // _LIBCPP_VERSION
7526 #   ifdef __cpp_lib_ranges_concat
7527 #     error "__cpp_lib_ranges_concat should not be defined because it is unimplemented in libc++!"
7528 #   endif
7529 # endif
7530
7531 # ifndef __cpp_lib_ranges_contains
7532 #   error "__cpp_lib_ranges_contains should be defined in c++26"
7533 # endif
7534 # if __cpp_lib_ranges_contains != 202207L
7535 #   error "__cpp_lib_ranges_contains should have the value 202207L in c++26"
7536 # endif
7537
7538 # ifndef __cpp_lib_ranges_find_last
7539 #   error "__cpp_lib_ranges_find_last should be defined in c++26"
7540 # endif
7541 # if __cpp_lib_ranges_find_last != 202207L
7542 #   error "__cpp_lib_ranges_find_last should have the value 202207L in c++26"
7543 # endif
7544
7545 # if !defined(_LIBCPP_VERSION)
7546 #   ifndef __cpp_lib_ranges_iota
7547 #     error "__cpp_lib_ranges_iota should be defined in c++26"
7548 #   endif
7549 #   if __cpp_lib_ranges_iota != 202202L
7550 #     error "__cpp_lib_ranges_iota should have the value 202202L in c++26"
7551 #   endif
7552 # else // _LIBCPP_VERSION
7553 #   ifdef __cpp_lib_ranges_iota
7554 #     error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
7555 #   endif
7556 # endif
7557
7558 # if !defined(_LIBCPP_VERSION)
7559 #   ifndef __cpp_lib_ranges_join_with
7560 #     error "__cpp_lib_ranges_join_with should be defined in c++26"
7561 #   endif
7562 #   if __cpp_lib_ranges_join_with != 202202L
7563 #     error "__cpp_lib_ranges_join_with should have the value 202202L in c++26"
7564 #   endif
7565 # else // _LIBCPP_VERSION
7566 #   ifdef __cpp_lib_ranges_join_with
7567 #     error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
7568 #   endif
7569 # endif
7570
7571 # ifndef __cpp_lib_ranges_repeat
7572 #   error "__cpp_lib_ranges_repeat should be defined in c++26"
7573 # endif
7574 # if __cpp_lib_ranges_repeat != 202207L
7575 #   error "__cpp_lib_ranges_repeat should have the value 202207L in c++26"
7576 # endif
7577
7578 # if !defined(_LIBCPP_VERSION)
7579 #   ifndef __cpp_lib_ranges_slide
7580 #     error "__cpp_lib_ranges_slide should be defined in c++26"
7581 #   endif
7582 #   if __cpp_lib_ranges_slide != 202202L
7583 #     error "__cpp_lib_ranges_slide should have the value 202202L in c++26"
7584 #   endif
7585 # else // _LIBCPP_VERSION
7586 #   ifdef __cpp_lib_ranges_slide
7587 #     error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
7588 #   endif
7589 # endif
7590
7591 # ifndef __cpp_lib_ranges_starts_ends_with
7592 #   error "__cpp_lib_ranges_starts_ends_with should be defined in c++26"
7593 # endif
7594 # if __cpp_lib_ranges_starts_ends_with != 202106L
7595 #   error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++26"
7596 # endif
7597
7598 # ifndef __cpp_lib_ranges_to_container
7599 #   error "__cpp_lib_ranges_to_container should be defined in c++26"
7600 # endif
7601 # if __cpp_lib_ranges_to_container != 202202L
7602 #   error "__cpp_lib_ranges_to_container should have the value 202202L in c++26"
7603 # endif
7604
7605 # if !defined(_LIBCPP_VERSION)
7606 #   ifndef __cpp_lib_ranges_zip
7607 #     error "__cpp_lib_ranges_zip should be defined in c++26"
7608 #   endif
7609 #   if __cpp_lib_ranges_zip != 202110L
7610 #     error "__cpp_lib_ranges_zip should have the value 202110L in c++26"
7611 #   endif
7612 # else // _LIBCPP_VERSION
7613 #   ifdef __cpp_lib_ranges_zip
7614 #     error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
7615 #   endif
7616 # endif
7617
7618 # ifndef __cpp_lib_ratio
7619 #   error "__cpp_lib_ratio should be defined in c++26"
7620 # endif
7621 # if __cpp_lib_ratio != 202306L
7622 #   error "__cpp_lib_ratio should have the value 202306L in c++26"
7623 # endif
7624
7625 # ifndef __cpp_lib_raw_memory_algorithms
7626 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++26"
7627 # endif
7628 # if __cpp_lib_raw_memory_algorithms != 201606L
7629 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26"
7630 # endif
7631
7632 # if !defined(_LIBCPP_VERSION)
7633 #   ifndef __cpp_lib_rcu
7634 #     error "__cpp_lib_rcu should be defined in c++26"
7635 #   endif
7636 #   if __cpp_lib_rcu != 202306L
7637 #     error "__cpp_lib_rcu should have the value 202306L in c++26"
7638 #   endif
7639 # else // _LIBCPP_VERSION
7640 #   ifdef __cpp_lib_rcu
7641 #     error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!"
7642 #   endif
7643 # endif
7644
7645 # if !defined(_LIBCPP_VERSION)
7646 #   ifndef __cpp_lib_reference_from_temporary
7647 #     error "__cpp_lib_reference_from_temporary should be defined in c++26"
7648 #   endif
7649 #   if __cpp_lib_reference_from_temporary != 202202L
7650 #     error "__cpp_lib_reference_from_temporary should have the value 202202L in c++26"
7651 #   endif
7652 # else // _LIBCPP_VERSION
7653 #   ifdef __cpp_lib_reference_from_temporary
7654 #     error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
7655 #   endif
7656 # endif
7657
7658 # ifndef __cpp_lib_reference_wrapper
7659 #   error "__cpp_lib_reference_wrapper should be defined in c++26"
7660 # endif
7661 # if __cpp_lib_reference_wrapper != 202403L
7662 #   error "__cpp_lib_reference_wrapper should have the value 202403L in c++26"
7663 # endif
7664
7665 # ifndef __cpp_lib_remove_cvref
7666 #   error "__cpp_lib_remove_cvref should be defined in c++26"
7667 # endif
7668 # if __cpp_lib_remove_cvref != 201711L
7669 #   error "__cpp_lib_remove_cvref should have the value 201711L in c++26"
7670 # endif
7671
7672 # ifndef __cpp_lib_result_of_sfinae
7673 #   error "__cpp_lib_result_of_sfinae should be defined in c++26"
7674 # endif
7675 # if __cpp_lib_result_of_sfinae != 201210L
7676 #   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26"
7677 # endif
7678
7679 # ifndef __cpp_lib_robust_nonmodifying_seq_ops
7680 #   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++26"
7681 # endif
7682 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
7683 #   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++26"
7684 # endif
7685
7686 # ifndef __cpp_lib_sample
7687 #   error "__cpp_lib_sample should be defined in c++26"
7688 # endif
7689 # if __cpp_lib_sample != 201603L
7690 #   error "__cpp_lib_sample should have the value 201603L in c++26"
7691 # endif
7692
7693 # ifndef __cpp_lib_saturation_arithmetic
7694 #   error "__cpp_lib_saturation_arithmetic should be defined in c++26"
7695 # endif
7696 # if __cpp_lib_saturation_arithmetic != 202311L
7697 #   error "__cpp_lib_saturation_arithmetic should have the value 202311L in c++26"
7698 # endif
7699
7700 # if !defined(_LIBCPP_HAS_NO_THREADS)
7701 #   ifndef __cpp_lib_scoped_lock
7702 #     error "__cpp_lib_scoped_lock should be defined in c++26"
7703 #   endif
7704 #   if __cpp_lib_scoped_lock != 201703L
7705 #     error "__cpp_lib_scoped_lock should have the value 201703L in c++26"
7706 #   endif
7707 # else
7708 #   ifdef __cpp_lib_scoped_lock
7709 #     error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7710 #   endif
7711 # endif
7712
7713 # if !defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)
7714 #   ifndef __cpp_lib_semaphore
7715 #     error "__cpp_lib_semaphore should be defined in c++26"
7716 #   endif
7717 #   if __cpp_lib_semaphore != 201907L
7718 #     error "__cpp_lib_semaphore should have the value 201907L in c++26"
7719 #   endif
7720 # else
7721 #   ifdef __cpp_lib_semaphore
7722 #     error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && (!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!"
7723 #   endif
7724 # endif
7725
7726 # if !defined(_LIBCPP_VERSION)
7727 #   ifndef __cpp_lib_senders
7728 #     error "__cpp_lib_senders should be defined in c++26"
7729 #   endif
7730 #   if __cpp_lib_senders != 202406L
7731 #     error "__cpp_lib_senders should have the value 202406L in c++26"
7732 #   endif
7733 # else // _LIBCPP_VERSION
7734 #   ifdef __cpp_lib_senders
7735 #     error "__cpp_lib_senders should not be defined because it is unimplemented in libc++!"
7736 #   endif
7737 # endif
7738
7739 # if !defined(_LIBCPP_HAS_NO_THREADS)
7740 #   ifndef __cpp_lib_shared_mutex
7741 #     error "__cpp_lib_shared_mutex should be defined in c++26"
7742 #   endif
7743 #   if __cpp_lib_shared_mutex != 201505L
7744 #     error "__cpp_lib_shared_mutex should have the value 201505L in c++26"
7745 #   endif
7746 # else
7747 #   ifdef __cpp_lib_shared_mutex
7748 #     error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7749 #   endif
7750 # endif
7751
7752 # ifndef __cpp_lib_shared_ptr_arrays
7753 #   error "__cpp_lib_shared_ptr_arrays should be defined in c++26"
7754 # endif
7755 # if __cpp_lib_shared_ptr_arrays != 201707L
7756 #   error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26"
7757 # endif
7758
7759 # ifndef __cpp_lib_shared_ptr_weak_type
7760 #   error "__cpp_lib_shared_ptr_weak_type should be defined in c++26"
7761 # endif
7762 # if __cpp_lib_shared_ptr_weak_type != 201606L
7763 #   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26"
7764 # endif
7765
7766 # if !defined(_LIBCPP_HAS_NO_THREADS)
7767 #   ifndef __cpp_lib_shared_timed_mutex
7768 #     error "__cpp_lib_shared_timed_mutex should be defined in c++26"
7769 #   endif
7770 #   if __cpp_lib_shared_timed_mutex != 201402L
7771 #     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++26"
7772 #   endif
7773 # else
7774 #   ifdef __cpp_lib_shared_timed_mutex
7775 #     error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_THREADS)' is not met!"
7776 #   endif
7777 # endif
7778
7779 # ifndef __cpp_lib_shift
7780 #   error "__cpp_lib_shift should be defined in c++26"
7781 # endif
7782 # if __cpp_lib_shift != 201806L
7783 #   error "__cpp_lib_shift should have the value 201806L in c++26"
7784 # endif
7785
7786 # if !defined(_LIBCPP_VERSION)
7787 #   ifndef __cpp_lib_smart_ptr_for_overwrite
7788 #     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26"
7789 #   endif
7790 #   if __cpp_lib_smart_ptr_for_overwrite != 202002L
7791 #     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26"
7792 #   endif
7793 # else // _LIBCPP_VERSION
7794 #   ifdef __cpp_lib_smart_ptr_for_overwrite
7795 #     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
7796 #   endif
7797 # endif
7798
7799 # if !defined(_LIBCPP_VERSION)
7800 #   ifndef __cpp_lib_smart_ptr_owner_equality
7801 #     error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"
7802 #   endif
7803 #   if __cpp_lib_smart_ptr_owner_equality != 202306L
7804 #     error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"
7805 #   endif
7806 # else // _LIBCPP_VERSION
7807 #   ifdef __cpp_lib_smart_ptr_owner_equality
7808 #     error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"
7809 #   endif
7810 # endif
7811
7812 # ifndef __cpp_lib_source_location
7813 #   error "__cpp_lib_source_location should be defined in c++26"
7814 # endif
7815 # if __cpp_lib_source_location != 201907L
7816 #   error "__cpp_lib_source_location should have the value 201907L in c++26"
7817 # endif
7818
7819 # ifndef __cpp_lib_span
7820 #   error "__cpp_lib_span should be defined in c++26"
7821 # endif
7822 # if __cpp_lib_span != 202002L
7823 #   error "__cpp_lib_span should have the value 202002L in c++26"
7824 # endif
7825
7826 # ifndef __cpp_lib_span_at
7827 #   error "__cpp_lib_span_at should be defined in c++26"
7828 # endif
7829 # if __cpp_lib_span_at != 202311L
7830 #   error "__cpp_lib_span_at should have the value 202311L in c++26"
7831 # endif
7832
7833 # ifndef __cpp_lib_span_initializer_list
7834 #   error "__cpp_lib_span_initializer_list should be defined in c++26"
7835 # endif
7836 # if __cpp_lib_span_initializer_list != 202311L
7837 #   error "__cpp_lib_span_initializer_list should have the value 202311L in c++26"
7838 # endif
7839
7840 # if !defined(_LIBCPP_VERSION)
7841 #   ifndef __cpp_lib_spanstream
7842 #     error "__cpp_lib_spanstream should be defined in c++26"
7843 #   endif
7844 #   if __cpp_lib_spanstream != 202106L
7845 #     error "__cpp_lib_spanstream should have the value 202106L in c++26"
7846 #   endif
7847 # else // _LIBCPP_VERSION
7848 #   ifdef __cpp_lib_spanstream
7849 #     error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
7850 #   endif
7851 # endif
7852
7853 # ifndef __cpp_lib_ssize
7854 #   error "__cpp_lib_ssize should be defined in c++26"
7855 # endif
7856 # if __cpp_lib_ssize != 201902L
7857 #   error "__cpp_lib_ssize should have the value 201902L in c++26"
7858 # endif
7859
7860 # ifndef __cpp_lib_sstream_from_string_view
7861 #   error "__cpp_lib_sstream_from_string_view should be defined in c++26"
7862 # endif
7863 # if __cpp_lib_sstream_from_string_view != 202306L
7864 #   error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"
7865 # endif
7866
7867 # if !defined(_LIBCPP_VERSION)
7868 #   ifndef __cpp_lib_stacktrace
7869 #     error "__cpp_lib_stacktrace should be defined in c++26"
7870 #   endif
7871 #   if __cpp_lib_stacktrace != 202011L
7872 #     error "__cpp_lib_stacktrace should have the value 202011L in c++26"
7873 #   endif
7874 # else // _LIBCPP_VERSION
7875 #   ifdef __cpp_lib_stacktrace
7876 #     error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
7877 #   endif
7878 # endif
7879
7880 # ifndef __cpp_lib_starts_ends_with
7881 #   error "__cpp_lib_starts_ends_with should be defined in c++26"
7882 # endif
7883 # if __cpp_lib_starts_ends_with != 201711L
7884 #   error "__cpp_lib_starts_ends_with should have the value 201711L in c++26"
7885 # endif
7886
7887 # ifndef __cpp_lib_stdatomic_h
7888 #   error "__cpp_lib_stdatomic_h should be defined in c++26"
7889 # endif
7890 # if __cpp_lib_stdatomic_h != 202011L
7891 #   error "__cpp_lib_stdatomic_h should have the value 202011L in c++26"
7892 # endif
7893
7894 # ifndef __cpp_lib_string_contains
7895 #   error "__cpp_lib_string_contains should be defined in c++26"
7896 # endif
7897 # if __cpp_lib_string_contains != 202011L
7898 #   error "__cpp_lib_string_contains should have the value 202011L in c++26"
7899 # endif
7900
7901 # ifndef __cpp_lib_string_resize_and_overwrite
7902 #   error "__cpp_lib_string_resize_and_overwrite should be defined in c++26"
7903 # endif
7904 # if __cpp_lib_string_resize_and_overwrite != 202110L
7905 #   error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++26"
7906 # endif
7907
7908 # ifndef __cpp_lib_string_udls
7909 #   error "__cpp_lib_string_udls should be defined in c++26"
7910 # endif
7911 # if __cpp_lib_string_udls != 201304L
7912 #   error "__cpp_lib_string_udls should have the value 201304L in c++26"
7913 # endif
7914
7915 # ifndef __cpp_lib_string_view
7916 #   error "__cpp_lib_string_view should be defined in c++26"
7917 # endif
7918 # if __cpp_lib_string_view != 202403L
7919 #   error "__cpp_lib_string_view should have the value 202403L in c++26"
7920 # endif
7921
7922 # if !defined(_LIBCPP_VERSION)
7923 #   ifndef __cpp_lib_submdspan
7924 #     error "__cpp_lib_submdspan should be defined in c++26"
7925 #   endif
7926 #   if __cpp_lib_submdspan != 202306L
7927 #     error "__cpp_lib_submdspan should have the value 202306L in c++26"
7928 #   endif
7929 # else // _LIBCPP_VERSION
7930 #   ifdef __cpp_lib_submdspan
7931 #     error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"
7932 #   endif
7933 # endif
7934
7935 # if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
7936 #   ifndef __cpp_lib_syncbuf
7937 #     error "__cpp_lib_syncbuf should be defined in c++26"
7938 #   endif
7939 #   if __cpp_lib_syncbuf != 201803L
7940 #     error "__cpp_lib_syncbuf should have the value 201803L in c++26"
7941 #   endif
7942 # else
7943 #   ifdef __cpp_lib_syncbuf
7944 #     error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)' is not met!"
7945 #   endif
7946 # endif
7947
7948 # if !defined(_LIBCPP_VERSION)
7949 #   ifndef __cpp_lib_text_encoding
7950 #     error "__cpp_lib_text_encoding should be defined in c++26"
7951 #   endif
7952 #   if __cpp_lib_text_encoding != 202306L
7953 #     error "__cpp_lib_text_encoding should have the value 202306L in c++26"
7954 #   endif
7955 # else // _LIBCPP_VERSION
7956 #   ifdef __cpp_lib_text_encoding
7957 #     error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!"
7958 #   endif
7959 # endif
7960
7961 # ifndef __cpp_lib_three_way_comparison
7962 #   error "__cpp_lib_three_way_comparison should be defined in c++26"
7963 # endif
7964 # if __cpp_lib_three_way_comparison != 201907L
7965 #   error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"
7966 # endif
7967
7968 # ifndef __cpp_lib_to_address
7969 #   error "__cpp_lib_to_address should be defined in c++26"
7970 # endif
7971 # if __cpp_lib_to_address != 201711L
7972 #   error "__cpp_lib_to_address should have the value 201711L in c++26"
7973 # endif
7974
7975 # ifndef __cpp_lib_to_array
7976 #   error "__cpp_lib_to_array should be defined in c++26"
7977 # endif
7978 # if __cpp_lib_to_array != 201907L
7979 #   error "__cpp_lib_to_array should have the value 201907L in c++26"
7980 # endif
7981
7982 # if !defined(_LIBCPP_VERSION)
7983 #   ifndef __cpp_lib_to_chars
7984 #     error "__cpp_lib_to_chars should be defined in c++26"
7985 #   endif
7986 #   if __cpp_lib_to_chars != 202306L
7987 #     error "__cpp_lib_to_chars should have the value 202306L in c++26"
7988 #   endif
7989 # else // _LIBCPP_VERSION
7990 #   ifdef __cpp_lib_to_chars
7991 #     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
7992 #   endif
7993 # endif
7994
7995 # if !defined(_LIBCPP_VERSION)
7996 #   ifndef __cpp_lib_to_string
7997 #     error "__cpp_lib_to_string should be defined in c++26"
7998 #   endif
7999 #   if __cpp_lib_to_string != 202306L
8000 #     error "__cpp_lib_to_string should have the value 202306L in c++26"
8001 #   endif
8002 # else // _LIBCPP_VERSION
8003 #   ifdef __cpp_lib_to_string
8004 #     error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
8005 #   endif
8006 # endif
8007
8008 # ifndef __cpp_lib_to_underlying
8009 #   error "__cpp_lib_to_underlying should be defined in c++26"
8010 # endif
8011 # if __cpp_lib_to_underlying != 202102L
8012 #   error "__cpp_lib_to_underlying should have the value 202102L in c++26"
8013 # endif
8014
8015 # ifndef __cpp_lib_transformation_trait_aliases
8016 #   error "__cpp_lib_transformation_trait_aliases should be defined in c++26"
8017 # endif
8018 # if __cpp_lib_transformation_trait_aliases != 201304L
8019 #   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++26"
8020 # endif
8021
8022 # ifndef __cpp_lib_transparent_operators
8023 #   error "__cpp_lib_transparent_operators should be defined in c++26"
8024 # endif
8025 # if __cpp_lib_transparent_operators != 201510L
8026 #   error "__cpp_lib_transparent_operators should have the value 201510L in c++26"
8027 # endif
8028
8029 # ifndef __cpp_lib_tuple_element_t
8030 #   error "__cpp_lib_tuple_element_t should be defined in c++26"
8031 # endif
8032 # if __cpp_lib_tuple_element_t != 201402L
8033 #   error "__cpp_lib_tuple_element_t should have the value 201402L in c++26"
8034 # endif
8035
8036 # if !defined(_LIBCPP_VERSION)
8037 #   ifndef __cpp_lib_tuple_like
8038 #     error "__cpp_lib_tuple_like should be defined in c++26"
8039 #   endif
8040 #   if __cpp_lib_tuple_like != 202311L
8041 #     error "__cpp_lib_tuple_like should have the value 202311L in c++26"
8042 #   endif
8043 # else // _LIBCPP_VERSION
8044 #   ifdef __cpp_lib_tuple_like
8045 #     error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"
8046 #   endif
8047 # endif
8048
8049 # ifndef __cpp_lib_tuples_by_type
8050 #   error "__cpp_lib_tuples_by_type should be defined in c++26"
8051 # endif
8052 # if __cpp_lib_tuples_by_type != 201304L
8053 #   error "__cpp_lib_tuples_by_type should have the value 201304L in c++26"
8054 # endif
8055
8056 # ifndef __cpp_lib_type_identity
8057 #   error "__cpp_lib_type_identity should be defined in c++26"
8058 # endif
8059 # if __cpp_lib_type_identity != 201806L
8060 #   error "__cpp_lib_type_identity should have the value 201806L in c++26"
8061 # endif
8062
8063 # ifndef __cpp_lib_type_trait_variable_templates
8064 #   error "__cpp_lib_type_trait_variable_templates should be defined in c++26"
8065 # endif
8066 # if __cpp_lib_type_trait_variable_templates != 201510L
8067 #   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++26"
8068 # endif
8069
8070 # ifndef __cpp_lib_uncaught_exceptions
8071 #   error "__cpp_lib_uncaught_exceptions should be defined in c++26"
8072 # endif
8073 # if __cpp_lib_uncaught_exceptions != 201411L
8074 #   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++26"
8075 # endif
8076
8077 # ifndef __cpp_lib_unordered_map_try_emplace
8078 #   error "__cpp_lib_unordered_map_try_emplace should be defined in c++26"
8079 # endif
8080 # if __cpp_lib_unordered_map_try_emplace != 201411L
8081 #   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++26"
8082 # endif
8083
8084 # ifndef __cpp_lib_unreachable
8085 #   error "__cpp_lib_unreachable should be defined in c++26"
8086 # endif
8087 # if __cpp_lib_unreachable != 202202L
8088 #   error "__cpp_lib_unreachable should have the value 202202L in c++26"
8089 # endif
8090
8091 # ifndef __cpp_lib_unwrap_ref
8092 #   error "__cpp_lib_unwrap_ref should be defined in c++26"
8093 # endif
8094 # if __cpp_lib_unwrap_ref != 201811L
8095 #   error "__cpp_lib_unwrap_ref should have the value 201811L in c++26"
8096 # endif
8097
8098 # ifndef __cpp_lib_variant
8099 #   error "__cpp_lib_variant should be defined in c++26"
8100 # endif
8101 # if __cpp_lib_variant != 202102L
8102 #   error "__cpp_lib_variant should have the value 202102L in c++26"
8103 # endif
8104
8105 # ifndef __cpp_lib_void_t
8106 #   error "__cpp_lib_void_t should be defined in c++26"
8107 # endif
8108 # if __cpp_lib_void_t != 201411L
8109 #   error "__cpp_lib_void_t should have the value 201411L in c++26"
8110 # endif
8111
8112 #endif // TEST_STD_VER > 23
8113