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