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