//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// WARNING: This test was generated by generate_feature_test_macro_components.py
// and should not be edited manually.
//
// clang-format off

// <version>

// Test the feature test macros defined by <version>

/*  Constant                                       Value
    __cpp_lib_addressof_constexpr                  201603L [C++17]
    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
    __cpp_lib_any                                  201606L [C++17]
    __cpp_lib_apply                                201603L [C++17]
    __cpp_lib_array_constexpr                      201603L [C++17]
                                                   201811L [C++20]
    __cpp_lib_as_const                             201510L [C++17]
    __cpp_lib_assume_aligned                       201811L [C++20]
    __cpp_lib_atomic_flag_test                     201907L [C++20]
    __cpp_lib_atomic_float                         201711L [C++20]
    __cpp_lib_atomic_is_always_lock_free           201603L [C++17]
    __cpp_lib_atomic_lock_free_type_aliases        201907L [C++20]
    __cpp_lib_atomic_ref                           201806L [C++20]
    __cpp_lib_atomic_shared_ptr                    201711L [C++20]
    __cpp_lib_atomic_value_initialization          201911L [C++20]
    __cpp_lib_atomic_wait                          201907L [C++20]
    __cpp_lib_barrier                              201907L [C++20]
    __cpp_lib_bind_front                           201907L [C++20]
    __cpp_lib_bit_cast                             201806L [C++20]
    __cpp_lib_bitops                               201907L [C++20]
    __cpp_lib_bool_constant                        201505L [C++17]
    __cpp_lib_bounded_array_traits                 201902L [C++20]
    __cpp_lib_boyer_moore_searcher                 201603L [C++17]
    __cpp_lib_byte                                 201603L [C++17]
    __cpp_lib_char8_t                              201811L [C++20]
    __cpp_lib_chrono                               201611L [C++17]
    __cpp_lib_chrono_udls                          201304L [C++14]
    __cpp_lib_clamp                                201603L [C++17]
    __cpp_lib_complex_udls                         201309L [C++14]
    __cpp_lib_concepts                             202002L [C++20]
    __cpp_lib_constexpr_algorithms                 201806L [C++20]
    __cpp_lib_constexpr_complex                    201711L [C++20]
    __cpp_lib_constexpr_dynamic_alloc              201907L [C++20]
    __cpp_lib_constexpr_functional                 201907L [C++20]
    __cpp_lib_constexpr_iterator                   201811L [C++20]
    __cpp_lib_constexpr_memory                     201811L [C++20]
    __cpp_lib_constexpr_numeric                    201911L [C++20]
    __cpp_lib_constexpr_string                     201907L [C++20]
    __cpp_lib_constexpr_string_view                201811L [C++20]
    __cpp_lib_constexpr_tuple                      201811L [C++20]
    __cpp_lib_constexpr_utility                    201811L [C++20]
    __cpp_lib_constexpr_vector                     201907L [C++20]
    __cpp_lib_coroutine                            201902L [C++20]
    __cpp_lib_destroying_delete                    201806L [C++20]
    __cpp_lib_enable_shared_from_this              201603L [C++17]
    __cpp_lib_endian                               201907L [C++20]
    __cpp_lib_erase_if                             202002L [C++20]
    __cpp_lib_exchange_function                    201304L [C++14]
    __cpp_lib_execution                            201603L [C++17]
                                                   201902L [C++20]
    __cpp_lib_filesystem                           201703L [C++17]
    __cpp_lib_format                               201907L [C++20]
    __cpp_lib_gcd_lcm                              201606L [C++17]
    __cpp_lib_generic_associative_lookup           201304L [C++14]
    __cpp_lib_generic_unordered_lookup             201811L [C++20]
    __cpp_lib_hardware_interference_size           201703L [C++17]
    __cpp_lib_has_unique_object_representations    201606L [C++17]
    __cpp_lib_hypot                                201603L [C++17]
    __cpp_lib_incomplete_container_elements        201505L [C++17]
    __cpp_lib_int_pow2                             202002L [C++20]
    __cpp_lib_integer_comparison_functions         202002L [C++20]
    __cpp_lib_integer_sequence                     201304L [C++14]
    __cpp_lib_integral_constant_callable           201304L [C++14]
    __cpp_lib_interpolate                          201902L [C++20]
    __cpp_lib_invoke                               201411L [C++17]
    __cpp_lib_is_aggregate                         201703L [C++17]
    __cpp_lib_is_constant_evaluated                201811L [C++20]
    __cpp_lib_is_final                             201402L [C++14]
    __cpp_lib_is_invocable                         201703L [C++17]
    __cpp_lib_is_layout_compatible                 201907L [C++20]
    __cpp_lib_is_nothrow_convertible               201806L [C++20]
    __cpp_lib_is_null_pointer                      201309L [C++14]
    __cpp_lib_is_pointer_interconvertible          201907L [C++20]
    __cpp_lib_is_scoped_enum                       202011L [C++2b]
    __cpp_lib_is_swappable                         201603L [C++17]
    __cpp_lib_jthread                              201911L [C++20]
    __cpp_lib_latch                                201907L [C++20]
    __cpp_lib_launder                              201606L [C++17]
    __cpp_lib_list_remove_return_type              201806L [C++20]
    __cpp_lib_logical_traits                       201510L [C++17]
    __cpp_lib_make_from_tuple                      201606L [C++17]
    __cpp_lib_make_reverse_iterator                201402L [C++14]
    __cpp_lib_make_unique                          201304L [C++14]
    __cpp_lib_map_try_emplace                      201411L [C++17]
    __cpp_lib_math_constants                       201907L [C++20]
    __cpp_lib_math_special_functions               201603L [C++17]
    __cpp_lib_memory_resource                      201603L [C++17]
    __cpp_lib_node_extract                         201606L [C++17]
    __cpp_lib_nonmember_container_access           201411L [C++17]
    __cpp_lib_not_fn                               201603L [C++17]
    __cpp_lib_null_iterators                       201304L [C++14]
    __cpp_lib_optional                             201606L [C++17]
    __cpp_lib_parallel_algorithm                   201603L [C++17]
    __cpp_lib_polymorphic_allocator                201902L [C++20]
    __cpp_lib_quoted_string_io                     201304L [C++14]
    __cpp_lib_ranges                               201811L [C++20]
    __cpp_lib_raw_memory_algorithms                201606L [C++17]
    __cpp_lib_remove_cvref                         201711L [C++20]
    __cpp_lib_result_of_sfinae                     201210L [C++14]
    __cpp_lib_robust_nonmodifying_seq_ops          201304L [C++14]
    __cpp_lib_sample                               201603L [C++17]
    __cpp_lib_scoped_lock                          201703L [C++17]
    __cpp_lib_semaphore                            201907L [C++20]
    __cpp_lib_shared_mutex                         201505L [C++17]
    __cpp_lib_shared_ptr_arrays                    201611L [C++17]
    __cpp_lib_shared_ptr_weak_type                 201606L [C++17]
    __cpp_lib_shared_timed_mutex                   201402L [C++14]
    __cpp_lib_shift                                201806L [C++20]
    __cpp_lib_smart_ptr_for_overwrite              202002L [C++20]
    __cpp_lib_source_location                      201907L [C++20]
    __cpp_lib_span                                 202002L [C++20]
    __cpp_lib_ssize                                201902L [C++20]
    __cpp_lib_stacktrace                           202011L [C++2b]
    __cpp_lib_starts_ends_with                     201711L [C++20]
    __cpp_lib_stdatomic_h                          202011L [C++2b]
    __cpp_lib_string_contains                      202011L [C++2b]
    __cpp_lib_string_udls                          201304L [C++14]
    __cpp_lib_string_view                          201606L [C++17]
                                                   201803L [C++20]
    __cpp_lib_syncbuf                              201803L [C++20]
    __cpp_lib_three_way_comparison                 201907L [C++20]
    __cpp_lib_to_address                           201711L [C++20]
    __cpp_lib_to_array                             201907L [C++20]
    __cpp_lib_to_chars                             201611L [C++17]
    __cpp_lib_transformation_trait_aliases         201304L [C++14]
    __cpp_lib_transparent_operators                201210L [C++14]
                                                   201510L [C++17]
    __cpp_lib_tuple_element_t                      201402L [C++14]
    __cpp_lib_tuples_by_type                       201304L [C++14]
    __cpp_lib_type_trait_variable_templates        201510L [C++17]
    __cpp_lib_uncaught_exceptions                  201411L [C++17]
    __cpp_lib_unordered_map_try_emplace            201411L [C++17]
    __cpp_lib_unwrap_ref                           201811L [C++20]
    __cpp_lib_variant                              201606L [C++17]
    __cpp_lib_void_t                               201411L [C++17]
*/

#include <version>
#include "test_macros.h"

#if TEST_STD_VER < 14

# ifdef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
# endif

# ifdef __cpp_lib_any
#   error "__cpp_lib_any should not be defined before c++17"
# endif

# ifdef __cpp_lib_apply
#   error "__cpp_lib_apply should not be defined before c++17"
# endif

# ifdef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_as_const
#   error "__cpp_lib_as_const should not be defined before c++17"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifdef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should not be defined before c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# ifdef __cpp_lib_boyer_moore_searcher
#   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
# endif

# ifdef __cpp_lib_byte
#   error "__cpp_lib_byte should not be defined before c++17"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifdef __cpp_lib_chrono
#   error "__cpp_lib_chrono should not be defined before c++17"
# endif

# ifdef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_clamp
#   error "__cpp_lib_clamp should not be defined before c++17"
# endif

# ifdef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifdef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifdef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should not be defined before c++14"
# endif

# ifdef __cpp_lib_execution
#   error "__cpp_lib_execution should not be defined before c++17"
# endif

# ifdef __cpp_lib_filesystem
#   error "__cpp_lib_filesystem should not be defined before c++17"
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifdef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should not be defined before c++17"
# endif

# ifdef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should not be defined before c++14"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# ifdef __cpp_lib_hardware_interference_size
#   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
# endif

# ifdef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
# endif

# ifdef __cpp_lib_hypot
#   error "__cpp_lib_hypot should not be defined before c++17"
# endif

# ifdef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should not be defined before c++14"
# endif

# ifdef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should not be defined before c++14"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifdef __cpp_lib_invoke
#   error "__cpp_lib_invoke should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_final
#   error "__cpp_lib_is_final should not be defined before c++14"
# endif

# ifdef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should not be defined before c++14"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should not be defined before c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifdef __cpp_lib_launder
#   error "__cpp_lib_launder should not be defined before c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifdef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should not be defined before c++14"
# endif

# ifdef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should not be defined before c++14"
# endif

# ifdef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# ifdef __cpp_lib_math_special_functions
#   error "__cpp_lib_math_special_functions should not be defined before c++17"
# endif

# ifdef __cpp_lib_memory_resource
#   error "__cpp_lib_memory_resource should not be defined before c++17"
# endif

# ifdef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should not be defined before c++17"
# endif

# ifdef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
# endif

# ifdef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should not be defined before c++17"
# endif

# ifdef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should not be defined before c++14"
# endif

# ifdef __cpp_lib_optional
#   error "__cpp_lib_optional should not be defined before c++17"
# endif

# ifdef __cpp_lib_parallel_algorithm
#   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifdef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should not be defined before c++14"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifdef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifdef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should not be defined before c++14"
# endif

# ifdef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"
# endif

# ifdef __cpp_lib_sample
#   error "__cpp_lib_sample should not be defined before c++17"
# endif

# ifdef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should not be defined before c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# ifdef __cpp_lib_shared_mutex
#   error "__cpp_lib_shared_mutex should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_timed_mutex
#   error "__cpp_lib_shared_timed_mutex should not be defined before c++14"
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_string_view
#   error "__cpp_lib_string_view should not be defined before c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_chars
#   error "__cpp_lib_to_chars should not be defined before c++17"
# endif

# ifdef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"
# endif

# ifdef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should not be defined before c++14"
# endif

# ifdef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should not be defined before c++14"
# endif

# ifdef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should not be defined before c++14"
# endif

# ifdef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
# endif

# ifdef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
# endif

# ifdef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_variant
#   error "__cpp_lib_variant should not be defined before c++17"
# endif

# ifdef __cpp_lib_void_t
#   error "__cpp_lib_void_t should not be defined before c++17"
# endif

#elif TEST_STD_VER == 14

# ifdef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
# endif

# ifdef __cpp_lib_any
#   error "__cpp_lib_any should not be defined before c++17"
# endif

# ifdef __cpp_lib_apply
#   error "__cpp_lib_apply should not be defined before c++17"
# endif

# ifdef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_as_const
#   error "__cpp_lib_as_const should not be defined before c++17"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifdef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should not be defined before c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# ifdef __cpp_lib_boyer_moore_searcher
#   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
# endif

# ifdef __cpp_lib_byte
#   error "__cpp_lib_byte should not be defined before c++17"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifdef __cpp_lib_chrono
#   error "__cpp_lib_chrono should not be defined before c++17"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++14"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_clamp
#   error "__cpp_lib_clamp should not be defined before c++17"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++14"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++14"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifdef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++14"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_execution
#   error "__cpp_lib_execution should not be defined before c++17"
# endif

# ifdef __cpp_lib_filesystem
#   error "__cpp_lib_filesystem should not be defined before c++17"
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifdef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should not be defined before c++17"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++14"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# ifdef __cpp_lib_hardware_interference_size
#   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
# endif

# ifdef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
# endif

# ifdef __cpp_lib_hypot
#   error "__cpp_lib_hypot should not be defined before c++17"
# endif

# ifdef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++14"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++14"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++14"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifdef __cpp_lib_invoke
#   error "__cpp_lib_invoke should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++14"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++14"
# endif

# ifdef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++14"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should not be defined before c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifdef __cpp_lib_launder
#   error "__cpp_lib_launder should not be defined before c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifdef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should not be defined before c++17"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++14"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++14"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# ifdef __cpp_lib_math_special_functions
#   error "__cpp_lib_math_special_functions should not be defined before c++17"
# endif

# ifdef __cpp_lib_memory_resource
#   error "__cpp_lib_memory_resource should not be defined before c++17"
# endif

# ifdef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should not be defined before c++17"
# endif

# ifdef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
# endif

# ifdef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should not be defined before c++17"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++14"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_optional
#   error "__cpp_lib_optional should not be defined before c++17"
# endif

# ifdef __cpp_lib_parallel_algorithm
#   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++14"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifdef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++14"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_sample
#   error "__cpp_lib_sample should not be defined before c++17"
# endif

# ifdef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should not be defined before c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# ifdef __cpp_lib_shared_mutex
#   error "__cpp_lib_shared_mutex should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++14"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++14"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_string_view
#   error "__cpp_lib_string_view should not be defined before c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_chars
#   error "__cpp_lib_to_chars should not be defined before c++17"
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++14"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++14"
# endif
# if __cpp_lib_transparent_operators != 201210L
#   error "__cpp_lib_transparent_operators should have the value 201210L in c++14"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++14"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++14"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
# endif

# ifdef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
# endif

# ifdef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_variant
#   error "__cpp_lib_variant should not be defined before c++17"
# endif

# ifdef __cpp_lib_void_t
#   error "__cpp_lib_void_t should not be defined before c++17"
# endif

#elif TEST_STD_VER == 17

# if TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should be defined in c++17"
#   endif
#   if __cpp_lib_addressof_constexpr != 201603L
#     error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"
#   endif
# else
#   ifdef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should not be defined when TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++17"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++17"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++17"
# endif
# if __cpp_lib_array_constexpr != 201603L
#   error "__cpp_lib_array_constexpr should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++17"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++17"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"
#   endif
#   if __cpp_lib_atomic_is_always_lock_free != 201603L
#     error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"
#   endif
# else
#   ifdef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++17"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++17"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++17"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++17"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++17"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++17"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++17"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++17"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++17"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++17"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++17"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++17"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++17"
#   endif
#   if __cpp_lib_execution != 201603L
#     error "__cpp_lib_execution should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++17"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++17"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++17"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++17"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++17"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should be defined in c++17"
#   endif
#   if __cpp_lib_has_unique_object_representations != 201606L
#     error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
#   endif
# else
#   ifdef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++17"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++17"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++17"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++17"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++17"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++17"
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001
#   ifndef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should be defined in c++17"
#   endif
#   if __cpp_lib_is_aggregate != 201703L
#     error "__cpp_lib_is_aggregate should have the value 201703L in c++17"
#   endif
# else
#   ifdef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 is not defined!"
#   endif
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++17"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++17"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++17"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++17"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++17"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++17"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++17"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++17"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++17"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++17"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++17"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++17"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++17"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++17"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++17"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++17"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++17"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++17"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++17"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++17"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++17"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++17"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++17"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++17"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++17"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++17"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++17"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++17"
# endif
# if __cpp_lib_string_view != 201606L
#   error "__cpp_lib_string_view should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++17"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++17"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++17"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++17"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++17"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++17"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++17"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++17"
# endif
# if __cpp_lib_variant != 201606L
#   error "__cpp_lib_variant should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++17"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++17"
# endif

#elif TEST_STD_VER == 20

# if TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should be defined in c++20"
#   endif
#   if __cpp_lib_addressof_constexpr != 201603L
#     error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"
#   endif
# else
#   ifdef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should not be defined when TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++20"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++20"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++20"
# endif
# if __cpp_lib_array_constexpr != 201811L
#   error "__cpp_lib_array_constexpr should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++20"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should be defined in c++20"
#   endif
#   if __cpp_lib_assume_aligned != 201811L
#     error "__cpp_lib_assume_aligned should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_flag_test
#     error "__cpp_lib_atomic_flag_test should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_flag_test != 201907L
#     error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_atomic_flag_test
#     error "__cpp_lib_atomic_flag_test should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_float != 201711L
#     error "__cpp_lib_atomic_float should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_is_always_lock_free != 201603L
#     error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"
#   endif
# else
#   ifdef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_lock_free_type_aliases
#     error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_lock_free_type_aliases != 201907L
#     error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_atomic_lock_free_type_aliases
#     error "__cpp_lib_atomic_lock_free_type_aliases should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_ref != 201806L
#     error "__cpp_lib_atomic_ref should have the value 201806L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_shared_ptr != 201711L
#     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_value_initialization
#     error "__cpp_lib_atomic_value_initialization should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_value_initialization != 201911L
#     error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_value_initialization
#     error "__cpp_lib_atomic_value_initialization should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait)
#   ifndef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_wait != 201907L
#     error "__cpp_lib_atomic_wait should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier)
#   ifndef __cpp_lib_barrier
#     error "__cpp_lib_barrier should be defined in c++20"
#   endif
#   if __cpp_lib_barrier != 201907L
#     error "__cpp_lib_barrier should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_barrier
#     error "__cpp_lib_barrier should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bind_front
#     error "__cpp_lib_bind_front should be defined in c++20"
#   endif
#   if __cpp_lib_bind_front != 201907L
#     error "__cpp_lib_bind_front should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bind_front
#     error "__cpp_lib_bind_front should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bit_cast
#     error "__cpp_lib_bit_cast should be defined in c++20"
#   endif
#   if __cpp_lib_bit_cast != 201806L
#     error "__cpp_lib_bit_cast should have the value 201806L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bit_cast
#     error "__cpp_lib_bit_cast should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bitops
#     error "__cpp_lib_bitops should be defined in c++20"
#   endif
#   if __cpp_lib_bitops != 201907L
#     error "__cpp_lib_bitops should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bitops
#     error "__cpp_lib_bitops should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++20"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++20"
# endif

# ifndef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should be defined in c++20"
# endif
# if __cpp_lib_bounded_array_traits != 201902L
#   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++20"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++20"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++20"
# endif

# if defined(__cpp_char8_t)
#   ifndef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should be defined in c++20"
#   endif
#   if __cpp_lib_char8_t != 201811L
#     error "__cpp_lib_char8_t should have the value 201811L in c++20"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when defined(__cpp_char8_t) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++20"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++20"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++20"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++20"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++20"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_concepts
#     error "__cpp_lib_concepts should be defined in c++20"
#   endif
#   if __cpp_lib_concepts != 202002L
#     error "__cpp_lib_concepts should have the value 202002L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_concepts
#     error "__cpp_lib_concepts should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should be defined in c++20"
# endif
# if __cpp_lib_constexpr_algorithms != 201806L
#   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_complex != 201711L
#     error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"
# endif
# if __cpp_lib_constexpr_dynamic_alloc != 201907L
#   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should be defined in c++20"
# endif
# if __cpp_lib_constexpr_functional != 201907L
#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_iterator
#     error "__cpp_lib_constexpr_iterator should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_iterator != 201811L
#     error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_iterator
#     error "__cpp_lib_constexpr_iterator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should be defined in c++20"
# endif
# if __cpp_lib_constexpr_memory != 201811L
#   error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should be defined in c++20"
# endif
# if __cpp_lib_constexpr_numeric != 201911L
#   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_string
#     error "__cpp_lib_constexpr_string should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_string != 201907L
#     error "__cpp_lib_constexpr_string should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_string
#     error "__cpp_lib_constexpr_string should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_string_view
#     error "__cpp_lib_constexpr_string_view should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_string_view != 201811L
#     error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_string_view
#     error "__cpp_lib_constexpr_string_view should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_tuple
#     error "__cpp_lib_constexpr_tuple should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_tuple != 201811L
#     error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_tuple
#     error "__cpp_lib_constexpr_tuple should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should be defined in c++20"
# endif
# if __cpp_lib_constexpr_utility != 201811L
#   error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_vector != 201907L
#     error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_coroutine
#     error "__cpp_lib_coroutine should be defined in c++20"
#   endif
#   if __cpp_lib_coroutine != 201902L
#     error "__cpp_lib_coroutine should have the value 201902L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_coroutine
#     error "__cpp_lib_coroutine should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   ifndef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should be defined in c++20"
#   endif
#   if __cpp_lib_destroying_delete != 201806L
#     error "__cpp_lib_destroying_delete should have the value 201806L in c++20"
#   endif
# else
#   ifdef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should not be defined when TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++20"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_endian
#   error "__cpp_lib_endian should be defined in c++20"
# endif
# if __cpp_lib_endian != 201907L
#   error "__cpp_lib_endian should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should be defined in c++20"
# endif
# if __cpp_lib_erase_if != 202002L
#   error "__cpp_lib_erase_if should have the value 202002L in c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++20"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++20"
#   endif
#   if __cpp_lib_execution != 201902L
#     error "__cpp_lib_execution should have the value 201902L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++20"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++20"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_format
#     error "__cpp_lib_format should be defined in c++20"
#   endif
#   if __cpp_lib_format != 201907L
#     error "__cpp_lib_format should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_format
#     error "__cpp_lib_format should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++20"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++20"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should be defined in c++20"
# endif
# if __cpp_lib_generic_unordered_lookup != 201811L
#   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++20"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should be defined in c++20"
#   endif
#   if __cpp_lib_has_unique_object_representations != 201606L
#     error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
#   endif
# else
#   ifdef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++20"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++20"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"
# endif

# ifndef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should be defined in c++20"
# endif
# if __cpp_lib_int_pow2 != 202002L
#   error "__cpp_lib_int_pow2 should have the value 202002L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should be defined in c++20"
#   endif
#   if __cpp_lib_integer_comparison_functions != 202002L
#     error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++20"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++20"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should be defined in c++20"
# endif
# if __cpp_lib_interpolate != 201902L
#   error "__cpp_lib_interpolate should have the value 201902L in c++20"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++20"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++20"
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001
#   ifndef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should be defined in c++20"
#   endif
#   if __cpp_lib_is_aggregate != 201703L
#     error "__cpp_lib_is_aggregate should have the value 201703L in c++20"
#   endif
# else
#   ifdef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 is not defined!"
#   endif
# endif

# if TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900
#   ifndef __cpp_lib_is_constant_evaluated
#     error "__cpp_lib_is_constant_evaluated should be defined in c++20"
#   endif
#   if __cpp_lib_is_constant_evaluated != 201811L
#     error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"
#   endif
# else
#   ifdef __cpp_lib_is_constant_evaluated
#     error "__cpp_lib_is_constant_evaluated should not be defined when TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++20"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++20"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should be defined in c++20"
#   endif
#   if __cpp_lib_is_layout_compatible != 201907L
#     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should be defined in c++20"
# endif
# if __cpp_lib_is_nothrow_convertible != 201806L
#   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++20"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"
#   endif
#   if __cpp_lib_is_pointer_interconvertible != 201907L
#     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++20"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_jthread
#     error "__cpp_lib_jthread should be defined in c++20"
#   endif
#   if __cpp_lib_jthread != 201911L
#     error "__cpp_lib_jthread should have the value 201911L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_jthread
#     error "__cpp_lib_jthread should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch)
#   ifndef __cpp_lib_latch
#     error "__cpp_lib_latch should be defined in c++20"
#   endif
#   if __cpp_lib_latch != 201907L
#     error "__cpp_lib_latch should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_latch
#     error "__cpp_lib_latch should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++20"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should be defined in c++20"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
#   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++20"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++20"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++20"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++20"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++20"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201811L
#   ifndef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should be defined in c++20"
#   endif
#   if __cpp_lib_math_constants != 201907L
#     error "__cpp_lib_math_constants should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201811L is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++20"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++20"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++20"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++20"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++20"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++20"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++20"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++20"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should be defined in c++20"
#   endif
#   if __cpp_lib_polymorphic_allocator != 201902L
#     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++20"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges
#     error "__cpp_lib_ranges should be defined in c++20"
#   endif
#   if __cpp_lib_ranges != 201811L
#     error "__cpp_lib_ranges should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges
#     error "__cpp_lib_ranges should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should be defined in c++20"
# endif
# if __cpp_lib_remove_cvref != 201711L
#   error "__cpp_lib_remove_cvref should have the value 201711L in c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++20"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++20"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++20"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore)
#   ifndef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should be defined in c++20"
#   endif
#   if __cpp_lib_semaphore != 201907L
#     error "__cpp_lib_semaphore should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++20"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++20"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++20"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++20"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++20"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shift
#   error "__cpp_lib_shift should be defined in c++20"
# endif
# if __cpp_lib_shift != 201806L
#   error "__cpp_lib_shift should have the value 201806L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"
#   endif
#   if __cpp_lib_smart_ptr_for_overwrite != 202002L
#     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_source_location
#     error "__cpp_lib_source_location should be defined in c++20"
#   endif
#   if __cpp_lib_source_location != 201907L
#     error "__cpp_lib_source_location should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_span
#   error "__cpp_lib_span should be defined in c++20"
# endif
# if __cpp_lib_span != 202002L
#   error "__cpp_lib_span should have the value 202002L in c++20"
# endif

# ifndef __cpp_lib_ssize
#   error "__cpp_lib_ssize should be defined in c++20"
# endif
# if __cpp_lib_ssize != 201902L
#   error "__cpp_lib_ssize should have the value 201902L in c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifndef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should be defined in c++20"
# endif
# if __cpp_lib_starts_ends_with != 201711L
#   error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++20"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++20"
# endif
# if __cpp_lib_string_view != 201803L
#   error "__cpp_lib_string_view should have the value 201803L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should be defined in c++20"
#   endif
#   if __cpp_lib_syncbuf != 201803L
#     error "__cpp_lib_syncbuf should have the value 201803L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should be defined in c++20"
#   endif
#   if __cpp_lib_three_way_comparison != 201907L
#     error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_to_address
#   error "__cpp_lib_to_address should be defined in c++20"
# endif
# if __cpp_lib_to_address != 201711L
#   error "__cpp_lib_to_address should have the value 201711L in c++20"
# endif

# ifndef __cpp_lib_to_array
#   error "__cpp_lib_to_array should be defined in c++20"
# endif
# if __cpp_lib_to_array != 201907L
#   error "__cpp_lib_to_array should have the value 201907L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++20"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++20"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++20"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++20"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++20"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++20"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++20"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should be defined in c++20"
# endif
# if __cpp_lib_unwrap_ref != 201811L
#   error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++20"
# endif
# if __cpp_lib_variant != 201606L
#   error "__cpp_lib_variant should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++20"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++20"
# endif

#elif TEST_STD_VER > 20

# if TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should be defined in c++2b"
#   endif
#   if __cpp_lib_addressof_constexpr != 201603L
#     error "__cpp_lib_addressof_constexpr should have the value 201603L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_addressof_constexpr
#     error "__cpp_lib_addressof_constexpr should not be defined when TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++2b"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++2b"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++2b"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++2b"
# endif
# if __cpp_lib_array_constexpr != 201811L
#   error "__cpp_lib_array_constexpr should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++2b"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should be defined in c++2b"
#   endif
#   if __cpp_lib_assume_aligned != 201811L
#     error "__cpp_lib_assume_aligned should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_flag_test
#     error "__cpp_lib_atomic_flag_test should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_flag_test != 201907L
#     error "__cpp_lib_atomic_flag_test should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_atomic_flag_test
#     error "__cpp_lib_atomic_flag_test should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_float != 201711L
#     error "__cpp_lib_atomic_float should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_is_always_lock_free != 201603L
#     error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_atomic_is_always_lock_free
#     error "__cpp_lib_atomic_is_always_lock_free should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS)
#   ifndef __cpp_lib_atomic_lock_free_type_aliases
#     error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_lock_free_type_aliases != 201907L
#     error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_atomic_lock_free_type_aliases
#     error "__cpp_lib_atomic_lock_free_type_aliases should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_ref != 201806L
#     error "__cpp_lib_atomic_ref should have the value 201806L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_shared_ptr != 201711L
#     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_value_initialization
#     error "__cpp_lib_atomic_value_initialization should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_value_initialization != 201911L
#     error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_value_initialization
#     error "__cpp_lib_atomic_value_initialization should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait)
#   ifndef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_wait != 201907L
#     error "__cpp_lib_atomic_wait should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier)
#   ifndef __cpp_lib_barrier
#     error "__cpp_lib_barrier should be defined in c++2b"
#   endif
#   if __cpp_lib_barrier != 201907L
#     error "__cpp_lib_barrier should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_barrier
#     error "__cpp_lib_barrier should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bind_front
#     error "__cpp_lib_bind_front should be defined in c++2b"
#   endif
#   if __cpp_lib_bind_front != 201907L
#     error "__cpp_lib_bind_front should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bind_front
#     error "__cpp_lib_bind_front should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bit_cast
#     error "__cpp_lib_bit_cast should be defined in c++2b"
#   endif
#   if __cpp_lib_bit_cast != 201806L
#     error "__cpp_lib_bit_cast should have the value 201806L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bit_cast
#     error "__cpp_lib_bit_cast should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bitops
#     error "__cpp_lib_bitops should be defined in c++2b"
#   endif
#   if __cpp_lib_bitops != 201907L
#     error "__cpp_lib_bitops should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bitops
#     error "__cpp_lib_bitops should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++2b"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++2b"
# endif

# ifndef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should be defined in c++2b"
# endif
# if __cpp_lib_bounded_array_traits != 201902L
#   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++2b"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++2b"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++2b"
# endif

# if defined(__cpp_char8_t)
#   ifndef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should be defined in c++2b"
#   endif
#   if __cpp_lib_char8_t != 201811L
#     error "__cpp_lib_char8_t should have the value 201811L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when defined(__cpp_char8_t) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++2b"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++2b"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++2b"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++2b"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++2b"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_concepts
#     error "__cpp_lib_concepts should be defined in c++2b"
#   endif
#   if __cpp_lib_concepts != 202002L
#     error "__cpp_lib_concepts should have the value 202002L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_concepts
#     error "__cpp_lib_concepts should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_algorithms != 201806L
#   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_complex != 201711L
#     error "__cpp_lib_constexpr_complex should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_dynamic_alloc != 201907L
#   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_functional != 201907L
#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_iterator
#     error "__cpp_lib_constexpr_iterator should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_iterator != 201811L
#     error "__cpp_lib_constexpr_iterator should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_iterator
#     error "__cpp_lib_constexpr_iterator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_memory != 201811L
#   error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_numeric != 201911L
#   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_string
#     error "__cpp_lib_constexpr_string should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_string != 201907L
#     error "__cpp_lib_constexpr_string should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_string
#     error "__cpp_lib_constexpr_string should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_string_view
#     error "__cpp_lib_constexpr_string_view should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_string_view != 201811L
#     error "__cpp_lib_constexpr_string_view should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_string_view
#     error "__cpp_lib_constexpr_string_view should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_tuple
#     error "__cpp_lib_constexpr_tuple should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_tuple != 201811L
#     error "__cpp_lib_constexpr_tuple should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_tuple
#     error "__cpp_lib_constexpr_tuple should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_utility != 201811L
#   error "__cpp_lib_constexpr_utility should have the value 201811L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_vector != 201907L
#     error "__cpp_lib_constexpr_vector should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_coroutine
#     error "__cpp_lib_coroutine should be defined in c++2b"
#   endif
#   if __cpp_lib_coroutine != 201902L
#     error "__cpp_lib_coroutine should have the value 201902L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_coroutine
#     error "__cpp_lib_coroutine should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   ifndef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should be defined in c++2b"
#   endif
#   if __cpp_lib_destroying_delete != 201806L
#     error "__cpp_lib_destroying_delete should have the value 201806L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should not be defined when TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++2b"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_endian
#   error "__cpp_lib_endian should be defined in c++2b"
# endif
# if __cpp_lib_endian != 201907L
#   error "__cpp_lib_endian should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should be defined in c++2b"
# endif
# if __cpp_lib_erase_if != 202002L
#   error "__cpp_lib_erase_if should have the value 202002L in c++2b"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++2b"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++2b"
#   endif
#   if __cpp_lib_execution != 201902L
#     error "__cpp_lib_execution should have the value 201902L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++2b"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_format
#     error "__cpp_lib_format should be defined in c++2b"
#   endif
#   if __cpp_lib_format != 201907L
#     error "__cpp_lib_format should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_format
#     error "__cpp_lib_format should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++2b"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++2b"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should be defined in c++2b"
# endif
# if __cpp_lib_generic_unordered_lookup != 201811L
#   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++2b"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700
#   ifndef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should be defined in c++2b"
#   endif
#   if __cpp_lib_has_unique_object_representations != 201606L
#     error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_has_unique_object_representations
#     error "__cpp_lib_has_unique_object_representations should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++2b"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++2b"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++2b"
# endif

# ifndef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should be defined in c++2b"
# endif
# if __cpp_lib_int_pow2 != 202002L
#   error "__cpp_lib_int_pow2 should have the value 202002L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should be defined in c++2b"
#   endif
#   if __cpp_lib_integer_comparison_functions != 202002L
#     error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++2b"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++2b"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should be defined in c++2b"
# endif
# if __cpp_lib_interpolate != 201902L
#   error "__cpp_lib_interpolate should have the value 201902L in c++2b"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++2b"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++2b"
# endif

# if TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001
#   ifndef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should be defined in c++2b"
#   endif
#   if __cpp_lib_is_aggregate != 201703L
#     error "__cpp_lib_is_aggregate should have the value 201703L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_is_aggregate
#     error "__cpp_lib_is_aggregate should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 is not defined!"
#   endif
# endif

# if TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900
#   ifndef __cpp_lib_is_constant_evaluated
#     error "__cpp_lib_is_constant_evaluated should be defined in c++2b"
#   endif
#   if __cpp_lib_is_constant_evaluated != 201811L
#     error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_is_constant_evaluated
#     error "__cpp_lib_is_constant_evaluated should not be defined when TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900 is not defined!"
#   endif
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++2b"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++2b"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should be defined in c++2b"
#   endif
#   if __cpp_lib_is_layout_compatible != 201907L
#     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should be defined in c++2b"
# endif
# if __cpp_lib_is_nothrow_convertible != 201806L
#   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++2b"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++2b"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should be defined in c++2b"
#   endif
#   if __cpp_lib_is_pointer_interconvertible != 201907L
#     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should be defined in c++2b"
# endif
# if __cpp_lib_is_scoped_enum != 202011L
#   error "__cpp_lib_is_scoped_enum should have the value 202011L in c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++2b"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_jthread
#     error "__cpp_lib_jthread should be defined in c++2b"
#   endif
#   if __cpp_lib_jthread != 201911L
#     error "__cpp_lib_jthread should have the value 201911L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_jthread
#     error "__cpp_lib_jthread should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch)
#   ifndef __cpp_lib_latch
#     error "__cpp_lib_latch should be defined in c++2b"
#   endif
#   if __cpp_lib_latch != 201907L
#     error "__cpp_lib_latch should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_latch
#     error "__cpp_lib_latch should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++2b"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should be defined in c++2b"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
#   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2b"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++2b"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++2b"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++2b"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++2b"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++2b"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++2b"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201811L
#   ifndef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should be defined in c++2b"
#   endif
#   if __cpp_lib_math_constants != 201907L
#     error "__cpp_lib_math_constants should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201811L is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++2b"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++2b"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++2b"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++2b"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++2b"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++2b"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++2b"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++2b"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should be defined in c++2b"
#   endif
#   if __cpp_lib_polymorphic_allocator != 201902L
#     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++2b"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges
#     error "__cpp_lib_ranges should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges != 201811L
#     error "__cpp_lib_ranges should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges
#     error "__cpp_lib_ranges should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++2b"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should be defined in c++2b"
# endif
# if __cpp_lib_remove_cvref != 201711L
#   error "__cpp_lib_remove_cvref should have the value 201711L in c++2b"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++2b"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++2b"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++2b"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++2b"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++2b"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++2b"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore)
#   ifndef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should be defined in c++2b"
#   endif
#   if __cpp_lib_semaphore != 201907L
#     error "__cpp_lib_semaphore should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++2b"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++2b"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2b"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++2b"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++2b"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++2b"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shift
#   error "__cpp_lib_shift should be defined in c++2b"
# endif
# if __cpp_lib_shift != 201806L
#   error "__cpp_lib_shift should have the value 201806L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++2b"
#   endif
#   if __cpp_lib_smart_ptr_for_overwrite != 202002L
#     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_source_location
#     error "__cpp_lib_source_location should be defined in c++2b"
#   endif
#   if __cpp_lib_source_location != 201907L
#     error "__cpp_lib_source_location should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_span
#   error "__cpp_lib_span should be defined in c++2b"
# endif
# if __cpp_lib_span != 202002L
#   error "__cpp_lib_span should have the value 202002L in c++2b"
# endif

# ifndef __cpp_lib_ssize
#   error "__cpp_lib_ssize should be defined in c++2b"
# endif
# if __cpp_lib_ssize != 201902L
#   error "__cpp_lib_ssize should have the value 201902L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_stacktrace
#     error "__cpp_lib_stacktrace should be defined in c++2b"
#   endif
#   if __cpp_lib_stacktrace != 202011L
#     error "__cpp_lib_stacktrace should have the value 202011L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_stacktrace
#     error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should be defined in c++2b"
# endif
# if __cpp_lib_starts_ends_with != 201711L
#   error "__cpp_lib_starts_ends_with should have the value 201711L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_stdatomic_h
#     error "__cpp_lib_stdatomic_h should be defined in c++2b"
#   endif
#   if __cpp_lib_stdatomic_h != 202011L
#     error "__cpp_lib_stdatomic_h should have the value 202011L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_stdatomic_h
#     error "__cpp_lib_stdatomic_h should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should be defined in c++2b"
# endif
# if __cpp_lib_string_contains != 202011L
#   error "__cpp_lib_string_contains should have the value 202011L in c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++2b"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++2b"
# endif
# if __cpp_lib_string_view != 201803L
#   error "__cpp_lib_string_view should have the value 201803L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should be defined in c++2b"
#   endif
#   if __cpp_lib_syncbuf != 201803L
#     error "__cpp_lib_syncbuf should have the value 201803L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should be defined in c++2b"
#   endif
#   if __cpp_lib_three_way_comparison != 201907L
#     error "__cpp_lib_three_way_comparison should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_to_address
#   error "__cpp_lib_to_address should be defined in c++2b"
# endif
# if __cpp_lib_to_address != 201711L
#   error "__cpp_lib_to_address should have the value 201711L in c++2b"
# endif

# ifndef __cpp_lib_to_array
#   error "__cpp_lib_to_array should be defined in c++2b"
# endif
# if __cpp_lib_to_array != 201907L
#   error "__cpp_lib_to_array should have the value 201907L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++2b"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++2b"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++2b"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++2b"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++2b"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++2b"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++2b"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++2b"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should be defined in c++2b"
# endif
# if __cpp_lib_unwrap_ref != 201811L
#   error "__cpp_lib_unwrap_ref should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++2b"
# endif
# if __cpp_lib_variant != 201606L
#   error "__cpp_lib_variant should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++2b"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++2b"
# endif

#endif // TEST_STD_VER > 20

int main(int, char**) { return 0; }
