// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#ifndef _LIBCPP_VERSIONH
#define _LIBCPP_VERSIONH

/*
  version synopsis

Macro name                                              Value   Headers
__cpp_lib_adaptor_iterator_pair_constructor             202106L <queue> <stack>
__cpp_lib_addressof_constexpr                           201603L <memory>
__cpp_lib_aligned_accessor                              202411L <mdspan>
__cpp_lib_allocate_at_least                             202302L <memory>
__cpp_lib_allocator_traits_is_always_equal              201411L <deque> <forward_list> <list>
                                                                <map> <memory> <scoped_allocator>
                                                                <set> <string> <unordered_map>
                                                                <unordered_set> <vector>
__cpp_lib_any                                           201606L <any>
__cpp_lib_apply                                         201603L <tuple>
__cpp_lib_array_constexpr                               201811L <array> <iterator>
                                                        201603L // C++17
__cpp_lib_as_const                                      201510L <utility>
__cpp_lib_associative_heterogeneous_erasure             202110L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_associative_heterogeneous_insertion           202306L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_assume_aligned                                201811L <memory>
__cpp_lib_atomic_flag_test                              201907L <atomic>
__cpp_lib_atomic_float                                  201711L <atomic>
__cpp_lib_atomic_is_always_lock_free                    201603L <atomic>
__cpp_lib_atomic_lock_free_type_aliases                 201907L <atomic>
__cpp_lib_atomic_min_max                                202403L <atomic>
__cpp_lib_atomic_ref                                    201806L <atomic>
__cpp_lib_atomic_shared_ptr                             201711L <atomic>
__cpp_lib_atomic_value_initialization                   201911L <atomic> <memory>
__cpp_lib_atomic_wait                                   201907L <atomic>
__cpp_lib_barrier                                       201907L <barrier>
__cpp_lib_bind_back                                     202202L <functional>
__cpp_lib_bind_front                                    202306L <functional>
                                                        201907L // C++20
__cpp_lib_bit_cast                                      201806L <bit>
__cpp_lib_bitops                                        201907L <bit>
__cpp_lib_bitset                                        202306L <bitset>
__cpp_lib_bool_constant                                 201505L <type_traits>
__cpp_lib_bounded_array_traits                          201902L <type_traits>
__cpp_lib_boyer_moore_searcher                          201603L <functional>
__cpp_lib_byte                                          201603L <cstddef>
__cpp_lib_byteswap                                      202110L <bit>
__cpp_lib_char8_t                                       201907L <atomic> <filesystem> <istream>
                                                                <limits> <locale> <ostream>
                                                                <string> <string_view>
__cpp_lib_chrono                                        201611L <chrono>
__cpp_lib_chrono_udls                                   201304L <chrono>
__cpp_lib_clamp                                         201603L <algorithm>
__cpp_lib_complex_udls                                  201309L <complex>
__cpp_lib_concepts                                      202002L <concepts>
__cpp_lib_constexpr_algorithms                          202306L <algorithm> <utility>
                                                        201806L // C++20
__cpp_lib_constexpr_bitset                              202207L <bitset>
__cpp_lib_constexpr_charconv                            202207L <charconv>
__cpp_lib_constexpr_cmath                               202202L <cmath> <cstdlib>
__cpp_lib_constexpr_complex                             201711L <complex>
__cpp_lib_constexpr_dynamic_alloc                       201907L <memory>
__cpp_lib_constexpr_forward_list                        202502L <forward_list>
__cpp_lib_constexpr_functional                          201907L <functional>
__cpp_lib_constexpr_iterator                            201811L <iterator>
__cpp_lib_constexpr_list                                202502L <list>
__cpp_lib_constexpr_memory                              202202L <memory>
                                                        201811L // C++20
__cpp_lib_constexpr_new                                 202406L <new>
__cpp_lib_constexpr_numeric                             201911L <numeric>
__cpp_lib_constexpr_queue                               202502L <queue>
__cpp_lib_constexpr_string                              201907L <string>
__cpp_lib_constexpr_string_view                         201811L <string_view>
__cpp_lib_constexpr_tuple                               201811L <tuple>
__cpp_lib_constexpr_typeinfo                            202106L <typeinfo>
__cpp_lib_constexpr_utility                             201811L <utility>
__cpp_lib_constexpr_vector                              201907L <vector>
__cpp_lib_constrained_equality                          202411L <expected> <optional> <tuple>
                                                                <utility> <variant>
__cpp_lib_containers_ranges                             202202L <deque> <forward_list> <list>
                                                                <map> <queue> <set>
                                                                <stack> <string> <unordered_map>
                                                                <unordered_set> <vector>
__cpp_lib_copyable_function                             202306L <functional>
__cpp_lib_coroutine                                     201902L <coroutine>
__cpp_lib_debugging                                     202311L <debugging>
__cpp_lib_default_template_type_for_algorithm_values    202403L <algorithm> <deque> <forward_list>
                                                                <list> <ranges> <string>
                                                                <vector>
__cpp_lib_destroying_delete                             201806L <new>
__cpp_lib_enable_shared_from_this                       201603L <memory>
__cpp_lib_endian                                        201907L <bit>
__cpp_lib_erase_if                                      202002L <deque> <forward_list> <list>
                                                                <map> <set> <string>
                                                                <unordered_map> <unordered_set> <vector>
__cpp_lib_exchange_function                             201304L <utility>
__cpp_lib_execution                                     201902L <execution>
                                                        201603L // C++17
__cpp_lib_expected                                      202211L <expected>
__cpp_lib_filesystem                                    201703L <filesystem>
__cpp_lib_flat_map                                      202207L <flat_map>
__cpp_lib_flat_set                                      202207L <flat_set>
__cpp_lib_format                                        202110L <format>
__cpp_lib_format_path                                   202403L <filesystem>
__cpp_lib_format_ranges                                 202207L <format>
__cpp_lib_format_uchar                                  202311L <format>
__cpp_lib_formatters                                    202302L <stacktrace> <thread>
__cpp_lib_forward_like                                  202207L <utility>
__cpp_lib_freestanding_algorithm                        202311L <algorithm>
__cpp_lib_freestanding_array                            202311L <array>
__cpp_lib_freestanding_cstring                          202306L <cstring>
__cpp_lib_freestanding_expected                         202311L <expected>
__cpp_lib_freestanding_mdspan                           202311L <mdspan>
__cpp_lib_freestanding_optional                         202311L <optional>
__cpp_lib_freestanding_string_view                      202311L <string_view>
__cpp_lib_freestanding_variant                          202311L <variant>
__cpp_lib_fstream_native_handle                         202306L <fstream>
__cpp_lib_function_ref                                  202306L <functional>
__cpp_lib_gcd_lcm                                       201606L <numeric>
__cpp_lib_generate_random                               202403L <random>
__cpp_lib_generic_associative_lookup                    201304L <map> <set>
__cpp_lib_generic_unordered_lookup                      201811L <unordered_map> <unordered_set>
__cpp_lib_hardware_interference_size                    201703L <new>
__cpp_lib_has_unique_object_representations             201606L <type_traits>
__cpp_lib_hazard_pointer                                202306L <hazard_pointer>
__cpp_lib_hypot                                         201603L <cmath>
__cpp_lib_incomplete_container_elements                 201505L <forward_list> <list> <vector>
__cpp_lib_inplace_vector                                202406L <inplace_vector>
__cpp_lib_int_pow2                                      202002L <bit>
__cpp_lib_integer_comparison_functions                  202002L <utility>
__cpp_lib_integer_sequence                              201304L <utility>
__cpp_lib_integral_constant_callable                    201304L <type_traits>
__cpp_lib_interpolate                                   201902L <cmath> <numeric>
__cpp_lib_invoke                                        201411L <functional>
__cpp_lib_invoke_r                                      202106L <functional>
__cpp_lib_ios_noreplace                                 202207L <ios>
__cpp_lib_is_aggregate                                  201703L <type_traits>
__cpp_lib_is_constant_evaluated                         201811L <type_traits>
__cpp_lib_is_final                                      201402L <type_traits>
__cpp_lib_is_implicit_lifetime                          202302L <type_traits>
__cpp_lib_is_invocable                                  201703L <type_traits>
__cpp_lib_is_layout_compatible                          201907L <type_traits>
__cpp_lib_is_nothrow_convertible                        201806L <type_traits>
__cpp_lib_is_null_pointer                               201309L <type_traits>
__cpp_lib_is_pointer_interconvertible                   201907L <type_traits>
__cpp_lib_is_scoped_enum                                202011L <type_traits>
__cpp_lib_is_sufficiently_aligned                       202411L <memory>
__cpp_lib_is_swappable                                  201603L <type_traits>
__cpp_lib_is_virtual_base_of                            202406L <type_traits>
__cpp_lib_is_within_lifetime                            202306L <type_traits>
__cpp_lib_jthread                                       201911L <stop_token> <thread>
__cpp_lib_latch                                         201907L <latch>
__cpp_lib_launder                                       201606L <new>
__cpp_lib_linalg                                        202311L <linalg>
__cpp_lib_list_remove_return_type                       201806L <forward_list> <list>
__cpp_lib_logical_traits                                201510L <type_traits>
__cpp_lib_make_from_tuple                               201606L <tuple>
__cpp_lib_make_reverse_iterator                         201402L <iterator>
__cpp_lib_make_unique                                   201304L <memory>
__cpp_lib_map_try_emplace                               201411L <map>
__cpp_lib_math_constants                                201907L <numbers>
__cpp_lib_math_special_functions                        201603L <cmath>
__cpp_lib_mdspan                                        202406L <mdspan>
                                                        202207L // C++23
__cpp_lib_memory_resource                               201603L <memory_resource>
__cpp_lib_move_iterator_concept                         202207L <iterator>
__cpp_lib_move_only_function                            202110L <functional>
__cpp_lib_node_extract                                  201606L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_nonmember_container_access                    201411L <array> <deque> <forward_list>
                                                                <iterator> <list> <map>
                                                                <regex> <set> <string>
                                                                <unordered_map> <unordered_set> <vector>
__cpp_lib_not_fn                                        202306L <functional>
                                                        201603L // C++17
__cpp_lib_null_iterators                                201304L <iterator>
__cpp_lib_optional                                      202110L <optional>
                                                        202106L // C++20
                                                        201606L // C++17
__cpp_lib_optional_range_support                        202406L <optional>
__cpp_lib_out_ptr                                       202311L <memory>
                                                        202106L // C++23
__cpp_lib_parallel_algorithm                            201603L <algorithm> <numeric>
__cpp_lib_philox_engine                                 202406L <random>
__cpp_lib_polymorphic_allocator                         201902L <memory_resource>
__cpp_lib_print                                         202207L <ostream> <print>
__cpp_lib_quoted_string_io                              201304L <iomanip>
__cpp_lib_ranges                                        202406L <algorithm> <functional> <iterator>
                                                                <memory> <ranges>
                                                        202110L // C++20
__cpp_lib_ranges_as_const                               202207L <ranges>
__cpp_lib_ranges_as_rvalue                              202207L <ranges>
__cpp_lib_ranges_chunk                                  202202L <ranges>
__cpp_lib_ranges_chunk_by                               202202L <ranges>
__cpp_lib_ranges_concat                                 202403L <ranges>
__cpp_lib_ranges_contains                               202207L <algorithm>
__cpp_lib_ranges_find_last                              202207L <algorithm>
__cpp_lib_ranges_iota                                   202202L <numeric>
__cpp_lib_ranges_join_with                              202202L <ranges>
__cpp_lib_ranges_repeat                                 202207L <ranges>
__cpp_lib_ranges_slide                                  202202L <ranges>
__cpp_lib_ranges_starts_ends_with                       202106L <algorithm>
__cpp_lib_ranges_to_container                           202202L <ranges>
__cpp_lib_ranges_zip                                    202110L <ranges> <tuple> <utility>
__cpp_lib_ratio                                         202306L <ratio>
__cpp_lib_raw_memory_algorithms                         201606L <memory>
__cpp_lib_rcu                                           202306L <rcu>
__cpp_lib_reference_from_temporary                      202202L <type_traits>
__cpp_lib_reference_wrapper                             202403L <functional>
__cpp_lib_remove_cvref                                  201711L <type_traits>
__cpp_lib_result_of_sfinae                              201210L <functional> <type_traits>
__cpp_lib_robust_nonmodifying_seq_ops                   201304L <algorithm>
__cpp_lib_sample                                        201603L <algorithm>
__cpp_lib_saturation_arithmetic                         202311L <numeric>
__cpp_lib_scoped_lock                                   201703L <mutex>
__cpp_lib_semaphore                                     201907L <semaphore>
__cpp_lib_senders                                       202406L <execution>
__cpp_lib_shared_mutex                                  201505L <shared_mutex>
__cpp_lib_shared_ptr_arrays                             201707L <memory>
                                                        201611L // C++17
__cpp_lib_shared_ptr_weak_type                          201606L <memory>
__cpp_lib_shared_timed_mutex                            201402L <shared_mutex>
__cpp_lib_shift                                         201806L <algorithm>
__cpp_lib_smart_ptr_for_overwrite                       202002L <memory>
__cpp_lib_smart_ptr_owner_equality                      202306L <memory>
__cpp_lib_source_location                               201907L <source_location>
__cpp_lib_span                                          202002L <span>
__cpp_lib_span_at                                       202311L <span>
__cpp_lib_span_initializer_list                         202311L <span>
__cpp_lib_spanstream                                    202106L <spanstream>
__cpp_lib_ssize                                         201902L <iterator>
__cpp_lib_sstream_from_string_view                      202306L <sstream>
__cpp_lib_stacktrace                                    202011L <stacktrace>
__cpp_lib_starts_ends_with                              201711L <string> <string_view>
__cpp_lib_stdatomic_h                                   202011L <stdatomic.h>
__cpp_lib_string_contains                               202011L <string> <string_view>
__cpp_lib_string_resize_and_overwrite                   202110L <string>
__cpp_lib_string_udls                                   201304L <string>
__cpp_lib_string_view                                   202403L <string> <string_view>
                                                        201803L // C++20
                                                        201606L // C++17
__cpp_lib_submdspan                                     202306L <mdspan>
__cpp_lib_syncbuf                                       201803L <syncstream>
__cpp_lib_text_encoding                                 202306L <text_encoding>
__cpp_lib_three_way_comparison                          201907L <compare>
__cpp_lib_to_address                                    201711L <memory>
__cpp_lib_to_array                                      201907L <array>
__cpp_lib_to_chars                                      202306L <charconv>
                                                        201611L // C++17
__cpp_lib_to_string                                     202306L <string>
__cpp_lib_to_underlying                                 202102L <utility>
__cpp_lib_transformation_trait_aliases                  201304L <type_traits>
__cpp_lib_transparent_operators                         201510L <functional> <memory>
                                                        201210L // C++14
__cpp_lib_tuple_element_t                               201402L <tuple>
__cpp_lib_tuple_like                                    202311L <map> <tuple> <unordered_map>
                                                                <utility>
                                                        202207L // C++23
__cpp_lib_tuples_by_type                                201304L <tuple> <utility>
__cpp_lib_type_identity                                 201806L <type_traits>
__cpp_lib_type_trait_variable_templates                 201510L <type_traits>
__cpp_lib_uncaught_exceptions                           201411L <exception>
__cpp_lib_unordered_map_try_emplace                     201411L <unordered_map>
__cpp_lib_unreachable                                   202202L <utility>
__cpp_lib_unwrap_ref                                    201811L <functional>
__cpp_lib_variant                                       202306L <variant>
                                                        202106L // C++20
                                                        202102L // C++17
__cpp_lib_void_t                                        201411L <type_traits>

*/

#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#  include <__cxx03/version>
#else
#  include <__config>

#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#    pragma GCC system_header
#  endif

// clang-format off

#if _LIBCPP_STD_VER >= 14
# define __cpp_lib_chrono_udls                          201304L
# define __cpp_lib_complex_udls                         201309L
# define __cpp_lib_exchange_function                    201304L
# define __cpp_lib_generic_associative_lookup           201304L
# define __cpp_lib_integer_sequence                     201304L
# define __cpp_lib_integral_constant_callable           201304L
# define __cpp_lib_is_final                             201402L
# define __cpp_lib_is_null_pointer                      201309L
# define __cpp_lib_make_reverse_iterator                201402L
# define __cpp_lib_make_unique                          201304L
# define __cpp_lib_null_iterators                       201304L
# if _LIBCPP_HAS_LOCALIZATION
#   define __cpp_lib_quoted_string_io                   201304L
# endif
# define __cpp_lib_result_of_sfinae                     201210L
# define __cpp_lib_robust_nonmodifying_seq_ops          201304L
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_shared_timed_mutex                 201402L
# endif
# define __cpp_lib_string_udls                          201304L
# define __cpp_lib_transformation_trait_aliases         201304L
# define __cpp_lib_transparent_operators                201210L
# define __cpp_lib_tuple_element_t                      201402L
# define __cpp_lib_tuples_by_type                       201304L
#endif

#if _LIBCPP_STD_VER >= 17
# define __cpp_lib_addressof_constexpr                  201603L
# define __cpp_lib_allocator_traits_is_always_equal     201411L
# define __cpp_lib_any                                  201606L
# define __cpp_lib_apply                                201603L
# define __cpp_lib_array_constexpr                      201603L
# define __cpp_lib_as_const                             201510L
# define __cpp_lib_atomic_is_always_lock_free           201603L
# define __cpp_lib_bool_constant                        201505L
# define __cpp_lib_boyer_moore_searcher                 201603L
# define __cpp_lib_byte                                 201603L
# define __cpp_lib_chrono                               201611L
# define __cpp_lib_clamp                                201603L
# define __cpp_lib_enable_shared_from_this              201603L
// # define __cpp_lib_execution                            201603L
# if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY
#   define __cpp_lib_filesystem                         201703L
# endif
# define __cpp_lib_gcd_lcm                              201606L
# if defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
#   define __cpp_lib_hardware_interference_size         201703L
# endif
# define __cpp_lib_has_unique_object_representations    201606L
# define __cpp_lib_hypot                                201603L
# define __cpp_lib_incomplete_container_elements        201505L
# define __cpp_lib_invoke                               201411L
# define __cpp_lib_is_aggregate                         201703L
# define __cpp_lib_is_invocable                         201703L
# define __cpp_lib_is_swappable                         201603L
# define __cpp_lib_launder                              201606L
# define __cpp_lib_logical_traits                       201510L
# define __cpp_lib_make_from_tuple                      201606L
# define __cpp_lib_map_try_emplace                      201411L
// # define __cpp_lib_math_special_functions               201603L
# if _LIBCPP_AVAILABILITY_HAS_PMR
#   define __cpp_lib_memory_resource                    201603L
# endif
# define __cpp_lib_node_extract                         201606L
# define __cpp_lib_nonmember_container_access           201411L
# define __cpp_lib_not_fn                               201603L
# define __cpp_lib_optional                             201606L
// # define __cpp_lib_parallel_algorithm                   201603L
# define __cpp_lib_raw_memory_algorithms                201606L
# define __cpp_lib_sample                               201603L
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_scoped_lock                        201703L
# endif
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_shared_mutex                       201505L
# endif
# define __cpp_lib_shared_ptr_arrays                    201611L
# define __cpp_lib_shared_ptr_weak_type                 201606L
# define __cpp_lib_string_view                          201606L
// # define __cpp_lib_to_chars                             201611L
# undef  __cpp_lib_transparent_operators
# define __cpp_lib_transparent_operators                201510L
# define __cpp_lib_type_trait_variable_templates        201510L
# define __cpp_lib_uncaught_exceptions                  201411L
# define __cpp_lib_unordered_map_try_emplace            201411L
# define __cpp_lib_variant                              202102L
# define __cpp_lib_void_t                               201411L
#endif

#if _LIBCPP_STD_VER >= 20
# undef  __cpp_lib_array_constexpr
# define __cpp_lib_array_constexpr                      201811L
# define __cpp_lib_assume_aligned                       201811L
# define __cpp_lib_atomic_flag_test                     201907L
# define __cpp_lib_atomic_float                         201711L
# define __cpp_lib_atomic_lock_free_type_aliases        201907L
# define __cpp_lib_atomic_ref                           201806L
// # define __cpp_lib_atomic_shared_ptr                    201711L
# define __cpp_lib_atomic_value_initialization          201911L
# if _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_atomic_wait                        201907L
# endif
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_barrier                            201907L
# endif
# define __cpp_lib_bind_front                           201907L
# define __cpp_lib_bit_cast                             201806L
# define __cpp_lib_bitops                               201907L
# define __cpp_lib_bounded_array_traits                 201902L
# if _LIBCPP_HAS_CHAR8_T
#   define __cpp_lib_char8_t                            201907L
# endif
# define __cpp_lib_concepts                             202002L
# define __cpp_lib_constexpr_algorithms                 201806L
# define __cpp_lib_constexpr_complex                    201711L
# define __cpp_lib_constexpr_dynamic_alloc              201907L
# define __cpp_lib_constexpr_functional                 201907L
# define __cpp_lib_constexpr_iterator                   201811L
# define __cpp_lib_constexpr_memory                     201811L
# define __cpp_lib_constexpr_numeric                    201911L
# define __cpp_lib_constexpr_string                     201907L
# define __cpp_lib_constexpr_string_view                201811L
# define __cpp_lib_constexpr_tuple                      201811L
# define __cpp_lib_constexpr_utility                    201811L
# define __cpp_lib_constexpr_vector                     201907L
# define __cpp_lib_coroutine                            201902L
# if _LIBCPP_STD_VER >= 20 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   define __cpp_lib_destroying_delete                  201806L
# endif
# define __cpp_lib_endian                               201907L
# define __cpp_lib_erase_if                             202002L
# undef  __cpp_lib_execution
// # define __cpp_lib_execution                            201902L
# if _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT
#   define __cpp_lib_format                             202110L
# endif
# define __cpp_lib_format_uchar                         202311L
# define __cpp_lib_generic_unordered_lookup             201811L
# define __cpp_lib_int_pow2                             202002L
# define __cpp_lib_integer_comparison_functions         202002L
# define __cpp_lib_interpolate                          201902L
# define __cpp_lib_is_constant_evaluated                201811L
// # define __cpp_lib_is_layout_compatible                 201907L
# define __cpp_lib_is_nothrow_convertible               201806L
// # define __cpp_lib_is_pointer_interconvertible          201907L
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_jthread                            201911L
# endif
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_latch                              201907L
# endif
# define __cpp_lib_list_remove_return_type              201806L
# define __cpp_lib_math_constants                       201907L
# define __cpp_lib_move_iterator_concept                202207L
# undef  __cpp_lib_optional
# define __cpp_lib_optional                             202106L
# if _LIBCPP_AVAILABILITY_HAS_PMR
#   define __cpp_lib_polymorphic_allocator              201902L
# endif
# define __cpp_lib_ranges                               202110L
# define __cpp_lib_remove_cvref                         201711L
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_semaphore                          201907L
# endif
# undef  __cpp_lib_shared_ptr_arrays
# define __cpp_lib_shared_ptr_arrays                    201707L
# define __cpp_lib_shift                                201806L
# define __cpp_lib_smart_ptr_for_overwrite              202002L
# define __cpp_lib_source_location                      201907L
# define __cpp_lib_span                                 202002L
# define __cpp_lib_ssize                                201902L
# define __cpp_lib_starts_ends_with                     201711L
# undef  __cpp_lib_string_view
# define __cpp_lib_string_view                          201803L
# if _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM
#   define __cpp_lib_syncbuf                            201803L
# endif
# define __cpp_lib_three_way_comparison                 201907L
# define __cpp_lib_to_address                           201711L
# define __cpp_lib_to_array                             201907L
# define __cpp_lib_type_identity                        201806L
# define __cpp_lib_unwrap_ref                           201811L
# undef  __cpp_lib_variant
# define __cpp_lib_variant                              202106L
#endif

#if _LIBCPP_STD_VER >= 23
# define __cpp_lib_adaptor_iterator_pair_constructor    202106L
# define __cpp_lib_allocate_at_least                    202302L
// # define __cpp_lib_associative_heterogeneous_erasure    202110L
# define __cpp_lib_bind_back                            202202L
# define __cpp_lib_byteswap                             202110L
# define __cpp_lib_constexpr_bitset                     202207L
# define __cpp_lib_constexpr_charconv                   202207L
// # define __cpp_lib_constexpr_cmath                      202202L
# undef  __cpp_lib_constexpr_memory
# define __cpp_lib_constexpr_memory                     202202L
# define __cpp_lib_constexpr_typeinfo                   202106L
# define __cpp_lib_containers_ranges                    202202L
# define __cpp_lib_expected                             202211L
# define __cpp_lib_flat_map                             202207L
# define __cpp_lib_flat_set                             202207L
# define __cpp_lib_format_ranges                        202207L
// # define __cpp_lib_formatters                           202302L
# define __cpp_lib_forward_like                         202207L
# define __cpp_lib_invoke_r                             202106L
# define __cpp_lib_ios_noreplace                        202207L
# if __has_builtin(__builtin_is_implicit_lifetime)
#   define __cpp_lib_is_implicit_lifetime               202302L
# endif
# define __cpp_lib_is_scoped_enum                       202011L
# define __cpp_lib_mdspan                               202207L
# define __cpp_lib_modules                              202207L
// # define __cpp_lib_move_only_function                   202110L
# undef  __cpp_lib_optional
# define __cpp_lib_optional                             202110L
# define __cpp_lib_out_ptr                              202106L
# if _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT
#   define __cpp_lib_print                              202207L
# endif
# undef  __cpp_lib_ranges
# define __cpp_lib_ranges                               202406L
// # define __cpp_lib_ranges_as_const                      202207L
# define __cpp_lib_ranges_as_rvalue                     202207L
// # define __cpp_lib_ranges_chunk                         202202L
# define __cpp_lib_ranges_chunk_by                      202202L
# define __cpp_lib_ranges_contains                      202207L
# define __cpp_lib_ranges_find_last                     202207L
# define __cpp_lib_ranges_iota                          202202L
# define __cpp_lib_ranges_join_with                     202202L
# define __cpp_lib_ranges_repeat                        202207L
// # define __cpp_lib_ranges_slide                         202202L
# define __cpp_lib_ranges_starts_ends_with              202106L
# define __cpp_lib_ranges_to_container                  202202L
// # define __cpp_lib_ranges_zip                           202110L
// # define __cpp_lib_reference_from_temporary             202202L
// # define __cpp_lib_spanstream                           202106L
// # define __cpp_lib_stacktrace                           202011L
# define __cpp_lib_stdatomic_h                          202011L
# define __cpp_lib_string_contains                      202011L
# define __cpp_lib_string_resize_and_overwrite          202110L
# define __cpp_lib_to_underlying                        202102L
// # define __cpp_lib_tuple_like                           202207L
# define __cpp_lib_unreachable                          202202L
#endif

#if _LIBCPP_STD_VER >= 26
# define __cpp_lib_aligned_accessor                     202411L
// # define __cpp_lib_associative_heterogeneous_insertion  202306L
// # define __cpp_lib_atomic_min_max                       202403L
# undef  __cpp_lib_bind_front
# define __cpp_lib_bind_front                           202306L
# define __cpp_lib_bitset                               202306L
# undef  __cpp_lib_constexpr_algorithms
# define __cpp_lib_constexpr_algorithms                 202306L
# define __cpp_lib_constexpr_forward_list               202502L
# define __cpp_lib_constexpr_list                       202502L
# if !defined(_LIBCPP_ABI_VCRUNTIME)
#   define __cpp_lib_constexpr_new                      202406L
# endif
# define __cpp_lib_constexpr_queue                      202502L
// # define __cpp_lib_constrained_equality                 202411L
// # define __cpp_lib_copyable_function                    202306L
// # define __cpp_lib_debugging                            202311L
// # define __cpp_lib_default_template_type_for_algorithm_values 202403L
// # define __cpp_lib_format_path                          202403L
// # define __cpp_lib_freestanding_algorithm               202311L
// # define __cpp_lib_freestanding_array                   202311L
// # define __cpp_lib_freestanding_cstring                 202306L
// # define __cpp_lib_freestanding_expected                202311L
// # define __cpp_lib_freestanding_mdspan                  202311L
// # define __cpp_lib_freestanding_optional                202311L
// # define __cpp_lib_freestanding_string_view             202311L
// # define __cpp_lib_freestanding_variant                 202311L
# if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
#   define __cpp_lib_fstream_native_handle              202306L
# endif
// # define __cpp_lib_function_ref                         202306L
// # define __cpp_lib_generate_random                      202403L
// # define __cpp_lib_hazard_pointer                       202306L
// # define __cpp_lib_inplace_vector                       202406L
# define __cpp_lib_is_sufficiently_aligned              202411L
# if __has_builtin(__builtin_is_virtual_base_of)
#   define __cpp_lib_is_virtual_base_of                 202406L
# endif
// # define __cpp_lib_is_within_lifetime                   202306L
// # define __cpp_lib_linalg                               202311L
# undef  __cpp_lib_mdspan
# define __cpp_lib_mdspan                               202406L
# undef  __cpp_lib_not_fn
# define __cpp_lib_not_fn                               202306L
// # define __cpp_lib_optional_range_support               202406L
# undef  __cpp_lib_out_ptr
# define __cpp_lib_out_ptr                              202311L
// # define __cpp_lib_philox_engine                        202406L
// # define __cpp_lib_ranges_concat                        202403L
# define __cpp_lib_ratio                                202306L
// # define __cpp_lib_rcu                                  202306L
# define __cpp_lib_reference_wrapper                    202403L
# define __cpp_lib_saturation_arithmetic                202311L
// # define __cpp_lib_senders                              202406L
// # define __cpp_lib_smart_ptr_owner_equality             202306L
# define __cpp_lib_span_at                              202311L
# define __cpp_lib_span_initializer_list                202311L
# define __cpp_lib_sstream_from_string_view             202306L
# undef  __cpp_lib_string_view
# define __cpp_lib_string_view                          202403L
// # define __cpp_lib_submdspan                            202306L
// # define __cpp_lib_text_encoding                        202306L
# undef  __cpp_lib_to_chars
// # define __cpp_lib_to_chars                             202306L
// # define __cpp_lib_to_string                            202306L
# undef  __cpp_lib_tuple_like
// # define __cpp_lib_tuple_like                           202311L
# undef  __cpp_lib_variant
# define __cpp_lib_variant                              202306L
#endif

#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)

// clang-format on

#endif // _LIBCPP_VERSIONH
