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