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