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