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                          201711L [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 != 201711L
4442 #   error "__cpp_lib_three_way_comparison should have the value 201711L 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 != 201711L
6041 #   error "__cpp_lib_three_way_comparison should have the value 201711L 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 != 201711L
7964 #   error "__cpp_lib_three_way_comparison should have the value 201711L 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 
8113