// -*- 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                                    202603L <atomic>
                                                        201806L // C++20
__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_common_reference                              202302L <type_traits>
__cpp_lib_common_reference_wrapper                      202302L <functional>
__cpp_lib_complex_udls                                  201309L <complex>
__cpp_lib_concepts                                      202207L <concepts>
__cpp_lib_constant_wrapper                              202606L <utility>
__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_flat_map                            202502L <flat_map>
__cpp_lib_constexpr_flat_set                            202502L <flat_set>
__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_map                                 202502L <map>
__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_set                                 202502L <set>
__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                                      202511L <flat_map>
__cpp_lib_flat_set                                      202511L <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                                  202603L <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                              202511L <utility>
                                                        201304L // C++14
__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                                      202506L <optional>
                                                        202110L // C++23
                                                        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_enumerate                              202302L <ranges>
__cpp_lib_ranges_find_last                              202207L <algorithm>
__cpp_lib_ranges_fold                                   202207L <algorithm>
__cpp_lib_ranges_indices                                202506L <ranges>
__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_stride                                 202207L <ranges>
__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                         202411L <memory>
                                                        201606L // C++17
__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                         202603L <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                                         202202L <algorithm>
                                                        201806L // C++20
__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_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_subview                                202506L <string> <string_view>
__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
#   define __cpp_lib_filesystem                         201703L
# endif
# define __cpp_lib_gcd_lcm                              201606L
# define __cpp_lib_hardware_interference_size           201703L
# 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
# define __cpp_lib_atomic_wait                          201907L
# if _LIBCPP_HAS_THREADS
#   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_common_reference                     202302L
# define __cpp_lib_common_reference_wrapper             202302L
# define __cpp_lib_concepts                             202207L
# 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 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
#   define __cpp_lib_jthread                            201911L
# endif
# if _LIBCPP_HAS_THREADS
#   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
#   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                             202511L
# define __cpp_lib_flat_set                             202511L
# 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_enumerate                     202302L
# define __cpp_lib_ranges_find_last                     202207L
# define __cpp_lib_ranges_fold                          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_stride                        202207L
# define __cpp_lib_ranges_to_container                  202202L
# define __cpp_lib_ranges_zip                           202110L
// # define __cpp_lib_reference_from_temporary             202202L
# undef  __cpp_lib_shift
# define __cpp_lib_shift                                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_atomic_ref
# define __cpp_lib_atomic_ref                           202603L
# undef  __cpp_lib_bind_front
# define __cpp_lib_bind_front                           202306L
# define __cpp_lib_bitset                               202306L
# define __cpp_lib_constant_wrapper                     202606L
# undef  __cpp_lib_constexpr_algorithms
# define __cpp_lib_constexpr_algorithms                 202306L
# define __cpp_lib_constexpr_flat_map                   202502L
# define __cpp_lib_constexpr_flat_set                   202502L
# define __cpp_lib_constexpr_forward_list               202502L
# define __cpp_lib_constexpr_list                       202502L
# define __cpp_lib_constexpr_map                        202502L
# if !defined(_LIBCPP_ABI_VCRUNTIME)
#   define __cpp_lib_constexpr_new                      202406L
# endif
# define __cpp_lib_constexpr_queue                      202502L
# define __cpp_lib_constexpr_set                        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                         202603L
// # define __cpp_lib_generate_random                      202403L
// # define __cpp_lib_hazard_pointer                       202306L
// # define __cpp_lib_inplace_vector                       202406L
# undef  __cpp_lib_integer_sequence
# define __cpp_lib_integer_sequence                     202511L
# define __cpp_lib_is_sufficiently_aligned              202411L
# if __has_builtin(__builtin_is_virtual_base_of)
#   define __cpp_lib_is_virtual_base_of                 202406L
# endif
# if __has_builtin(__builtin_is_within_lifetime)
#   define __cpp_lib_is_within_lifetime                 202306L
# endif
// # 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
# undef  __cpp_lib_optional
# define __cpp_lib_optional                             202506L
# if _LIBCPP_HAS_EXPERIMENTAL_OPTIONAL_ITERATOR
#   define __cpp_lib_optional_range_support             202406L
# endif
# 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_ranges_indices                       202506L
# define __cpp_lib_ratio                                202306L
# undef  __cpp_lib_raw_memory_algorithms
# define __cpp_lib_raw_memory_algorithms                202411L
// # define __cpp_lib_rcu                                  202306L
# define __cpp_lib_reference_wrapper                    202403L
# define __cpp_lib_saturation_arithmetic                202603L
// # define __cpp_lib_senders                              202406L
# define __cpp_lib_smart_ptr_owner_equality             202306L
# define __cpp_lib_span_at                              202311L
# define __cpp_lib_sstream_from_string_view             202306L
# define __cpp_lib_string_subview                       202506L
# 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
