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