# 1 "../../third_party/dawn/src/dawn/native/webgpu_absl_format.cpp" # 1 "" 1 # 1 "" 3 # 466 "" 3 # 1 "" 1 # 1 "" 2 # 1 "../../third_party/dawn/src/dawn/native/webgpu_absl_format.cpp" 2 # 28 "../../third_party/dawn/src/dawn/native/webgpu_absl_format.cpp" # 1 "../../third_party/dawn/src/dawn/native/webgpu_absl_format.h" 1 # 31 "../../third_party/dawn/src/dawn/native/webgpu_absl_format.h" # 1 "../../third_party/libc++/src/include/optional" 1 3 # 180 "../../third_party/libc++/src/include/optional" 3 # 1 "../../third_party/libc++/src/include/__assert" 1 3 # 13 "../../third_party/libc++/src/include/__assert" 3 # 1 "../../buildtools/third_party/libc++/__assertion_handler" 1 3 # 13 "../../buildtools/third_party/libc++/__assertion_handler" 3 # 1 "../../third_party/libc++/src/include/__config" 1 3 # 13 "../../third_party/libc++/src/include/__config" 3 # 1 "../../buildtools/third_party/libc++/__config_site" 1 3 # 14 "../../third_party/libc++/src/include/__config" 2 3 # 1 "../../third_party/libc++/src/include/__configuration/abi.h" 1 3 # 14 "../../third_party/libc++/src/include/__configuration/abi.h" 3 # 1 "../../third_party/libc++/src/include/__configuration/compiler.h" 1 3 # 17 "../../third_party/libc++/src/include/__configuration/compiler.h" 3 # 15 "../../third_party/libc++/src/include/__configuration/abi.h" 2 3 # 1 "../../third_party/libc++/src/include/__configuration/platform.h" 1 3 # 17 "../../third_party/libc++/src/include/__configuration/platform.h" 3 # 35 "../../third_party/libc++/src/include/__configuration/platform.h" 3 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 1 3 4 # 439 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/stdc-predef.h" 1 3 4 # 440 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 2 3 4 # 461 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 # 452 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 # 453 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 # 454 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 # 462 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 2 3 4 # 485 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 # 10 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 # 11 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 # 486 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/features.h" 2 3 4 # 36 "../../third_party/libc++/src/include/__configuration/platform.h" 2 3 # 16 "../../third_party/libc++/src/include/__configuration/abi.h" 2 3 # 19 "../../third_party/libc++/src/include/__configuration/abi.h" 3 # 15 "../../third_party/libc++/src/include/__config" 2 3 # 1 "../../third_party/libc++/src/include/__configuration/availability.h" 1 3 # 14 "../../third_party/libc++/src/include/__configuration/availability.h" 3 # 1 "../../third_party/libc++/src/include/__configuration/language.h" 1 3 # 17 "../../third_party/libc++/src/include/__configuration/language.h" 3 # 15 "../../third_party/libc++/src/include/__configuration/availability.h" 2 3 # 18 "../../third_party/libc++/src/include/__configuration/availability.h" 3 # 16 "../../third_party/libc++/src/include/__config" 2 3 # 21 "../../third_party/libc++/src/include/__config" 3 # 14 "../../buildtools/third_party/libc++/__assertion_handler" 2 3 # 1 "../../third_party/libc++/src/include/__verbose_abort" 1 3 # 17 "../../third_party/libc++/src/include/__verbose_abort" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { [[noreturn]] __attribute__((__visibility__("default"))) __attribute__((__format__(__printf__, 1, 2))) void __libcpp_verbose_abort(const char* __format, ...); # 50 "../../third_party/libc++/src/include/__verbose_abort" 3 }} # 15 "../../buildtools/third_party/libc++/__assertion_handler" 2 3 # 18 "../../buildtools/third_party/libc++/__assertion_handler" 3 # 14 "../../third_party/libc++/src/include/__assert" 2 3 # 18 "../../third_party/libc++/src/include/__assert" 3 # 181 "../../third_party/libc++/src/include/optional" 2 3 # 1 "../../third_party/libc++/src/include/__compare/compare_three_way_result.h" 1 3 # 13 "../../third_party/libc++/src/include/__compare/compare_three_way_result.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/remove_reference.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/remove_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct remove_reference { using type __attribute__((__nodebug__)) = __remove_reference_t(_Tp); }; template using __libcpp_remove_reference_t = __remove_reference_t(_Tp); # 41 "../../third_party/libc++/src/include/__type_traits/remove_reference.h" 3 template using remove_reference_t = __libcpp_remove_reference_t<_Tp>; }} # 14 "../../third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h" 2 3 # 17 "../../third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __make_const_lvalue_ref = const __libcpp_remove_reference_t<_Tp>&; }} # 14 "../../third_party/libc++/src/include/__compare/compare_three_way_result.h" 2 3 # 1 "../../third_party/libc++/src/include/__utility/declval.h" 1 3 # 16 "../../third_party/libc++/src/include/__utility/declval.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { #pragma GCC diagnostic push # 22 "../../third_party/libc++/src/include/__utility/declval.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 22 "../../third_party/libc++/src/include/__utility/declval.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template _Tp&& __declval(int); template _Tp __declval(long); #pragma GCC diagnostic pop template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) decltype(std::__declval<_Tp>(0)) declval() noexcept { static_assert(!__is_same(_Tp, _Tp), "std::declval can only be used in an unevaluated context. " "It's likely that your current usage is trying to extract a value from the function."); } }} # 15 "../../third_party/libc++/src/include/__compare/compare_three_way_result.h" 2 3 # 18 "../../third_party/libc++/src/include/__compare/compare_three_way_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __compare_three_way_result {}; template struct __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __compare_three_way_result< _Tp, _Up, decltype(std::declval<__make_const_lvalue_ref<_Tp>>() <=> std::declval<__make_const_lvalue_ref<_Up>>(), void())> { using type = decltype(std::declval<__make_const_lvalue_ref<_Tp>>() <=> std::declval<__make_const_lvalue_ref<_Up>>()); }; template struct compare_three_way_result : __compare_three_way_result<_Tp, _Up, void> {}; template using compare_three_way_result_t = typename compare_three_way_result<_Tp, _Up>::type; }} # 182 "../../third_party/libc++/src/include/optional" 2 3 # 1 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 1 3 # 12 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 3 # 1 "../../third_party/libc++/src/include/__compare/common_comparison_category.h" 1 3 # 12 "../../third_party/libc++/src/include/__compare/common_comparison_category.h" 3 # 1 "../../third_party/libc++/src/include/__compare/ordering.h" 1 3 # 13 "../../third_party/libc++/src/include/__compare/ordering.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/enable_if.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/enable_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct enable_if {}; template struct enable_if { typedef _Tp type; }; template using __enable_if_t __attribute__((__nodebug__)) = typename enable_if<_Bp, _Tp>::type; template using enable_if_t = typename enable_if<_Bp, _Tp>::type; }} # 14 "../../third_party/libc++/src/include/__compare/ordering.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_same.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/is_same.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/integral_constant.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/integral_constant.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct integral_constant { static constexpr const _Tp value = __v; typedef _Tp value_type; typedef integral_constant type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr operator value_type() const noexcept { return value; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr value_type operator()() const noexcept { return value; } }; template constexpr const _Tp integral_constant<_Tp, __v>::value; typedef integral_constant true_type; typedef integral_constant false_type; template using _BoolConstant __attribute__((__nodebug__)) = integral_constant; template using bool_constant = integral_constant; }} # 14 "../../third_party/libc++/src/include/__type_traits/is_same.h" 2 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_same.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_same : _BoolConstant<__is_same(_Tp, _Up)> {}; template inline constexpr bool is_same_v = __is_same(_Tp, _Up); # 36 "../../third_party/libc++/src/include/__type_traits/is_same.h" 3 template using _IsSame = _BoolConstant<__is_same(_Tp, _Up)>; template using _IsNotSame = _BoolConstant; }} # 15 "../../third_party/libc++/src/include/__compare/ordering.h" 2 3 # 18 "../../third_party/libc++/src/include/__compare/ordering.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { enum class _OrdResult : signed char { __less = -1, __equiv = 0, __greater = 1 }; enum class _NCmpResult : signed char { __unordered = -127 }; class partial_ordering; class weak_ordering; class strong_ordering; template inline constexpr bool __one_of_v = (is_same_v<_Tp, _Args> || ...); struct _CmpUnspecifiedParam { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _CmpUnspecifiedParam(int _CmpUnspecifiedParam::*) noexcept {} template >> _CmpUnspecifiedParam(_Tp) = delete; }; class partial_ordering { using _ValueT = signed char; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) explicit constexpr partial_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) explicit constexpr partial_ordering(_NCmpResult __v) noexcept : __value_(_ValueT(__v)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr bool __is_ordered() const noexcept { return __value_ != _ValueT(_NCmpResult::__unordered); } public: static const partial_ordering less; static const partial_ordering equivalent; static const partial_ordering greater; static const partial_ordering unordered; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(partial_ordering, partial_ordering) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__is_ordered() && __v.__value_ == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__is_ordered() && __v.__value_ < 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__is_ordered() && __v.__value_ <= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__is_ordered() && __v.__value_ > 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__is_ordered() && __v.__value_ >= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(_CmpUnspecifiedParam, partial_ordering __v) noexcept { return __v.__is_ordered() && 0 < __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(_CmpUnspecifiedParam, partial_ordering __v) noexcept { return __v.__is_ordered() && 0 <= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(_CmpUnspecifiedParam, partial_ordering __v) noexcept { return __v.__is_ordered() && 0 > __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(_CmpUnspecifiedParam, partial_ordering __v) noexcept { return __v.__is_ordered() && 0 >= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr partial_ordering operator<=>(partial_ordering __v, _CmpUnspecifiedParam) noexcept { return __v; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr partial_ordering operator<=>(_CmpUnspecifiedParam, partial_ordering __v) noexcept { return __v < 0 ? partial_ordering::greater : (__v > 0 ? partial_ordering::less : __v); } private: _ValueT __value_; }; inline constexpr partial_ordering partial_ordering::less(_OrdResult::__less); inline constexpr partial_ordering partial_ordering::equivalent(_OrdResult::__equiv); inline constexpr partial_ordering partial_ordering::greater(_OrdResult::__greater); inline constexpr partial_ordering partial_ordering::unordered(_NCmpResult ::__unordered); class weak_ordering { using _ValueT = signed char; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) explicit constexpr weak_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {} public: static const weak_ordering less; static const weak_ordering equivalent; static const weak_ordering greater; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr operator partial_ordering() const noexcept { return __value_ == 0 ? partial_ordering::equivalent : (__value_ < 0 ? partial_ordering::less : partial_ordering::greater); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(weak_ordering, weak_ordering) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ < 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ <= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ > 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ >= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(_CmpUnspecifiedParam, weak_ordering __v) noexcept { return 0 < __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(_CmpUnspecifiedParam, weak_ordering __v) noexcept { return 0 <= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(_CmpUnspecifiedParam, weak_ordering __v) noexcept { return 0 > __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(_CmpUnspecifiedParam, weak_ordering __v) noexcept { return 0 >= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr weak_ordering operator<=>(weak_ordering __v, _CmpUnspecifiedParam) noexcept { return __v; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr weak_ordering operator<=>(_CmpUnspecifiedParam, weak_ordering __v) noexcept { return __v < 0 ? weak_ordering::greater : (__v > 0 ? weak_ordering::less : __v); } private: _ValueT __value_; }; inline constexpr weak_ordering weak_ordering::less(_OrdResult::__less); inline constexpr weak_ordering weak_ordering::equivalent(_OrdResult::__equiv); inline constexpr weak_ordering weak_ordering::greater(_OrdResult::__greater); class strong_ordering { using _ValueT = signed char; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) explicit constexpr strong_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {} public: static const strong_ordering less; static const strong_ordering equal; static const strong_ordering equivalent; static const strong_ordering greater; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr operator partial_ordering() const noexcept { return __value_ == 0 ? partial_ordering::equivalent : (__value_ < 0 ? partial_ordering::less : partial_ordering::greater); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr operator weak_ordering() const noexcept { return __value_ == 0 ? weak_ordering::equivalent : (__value_ < 0 ? weak_ordering::less : weak_ordering::greater); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(strong_ordering, strong_ordering) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator==(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ < 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ <= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ > 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v.__value_ >= 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<(_CmpUnspecifiedParam, strong_ordering __v) noexcept { return 0 < __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator<=(_CmpUnspecifiedParam, strong_ordering __v) noexcept { return 0 <= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>(_CmpUnspecifiedParam, strong_ordering __v) noexcept { return 0 > __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr bool operator>=(_CmpUnspecifiedParam, strong_ordering __v) noexcept { return 0 >= __v.__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr strong_ordering operator<=>(strong_ordering __v, _CmpUnspecifiedParam) noexcept { return __v; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) friend constexpr strong_ordering operator<=>(_CmpUnspecifiedParam, strong_ordering __v) noexcept { return __v < 0 ? strong_ordering::greater : (__v > 0 ? strong_ordering::less : __v); } private: _ValueT __value_; }; inline constexpr strong_ordering strong_ordering::less(_OrdResult::__less); inline constexpr strong_ordering strong_ordering::equal(_OrdResult::__equiv); inline constexpr strong_ordering strong_ordering::equivalent(_OrdResult::__equiv); inline constexpr strong_ordering strong_ordering::greater(_OrdResult::__greater); template concept __comparison_category = __one_of_v<_Tp, partial_ordering, weak_ordering, strong_ordering>; }} # 13 "../../third_party/libc++/src/include/__compare/common_comparison_category.h" 2 3 # 1 "../../third_party/libc++/src/include/cstddef" 1 3 # 39 "../../third_party/libc++/src/include/cstddef" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 1 3 # 14 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/remove_cv.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/remove_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct remove_cv { using type __attribute__((__nodebug__)) = __remove_cv(_Tp); }; template using __remove_cv_t = __remove_cv(_Tp); template using remove_cv_t = __remove_cv_t<_Tp>; }} # 15 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 2 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_integral { enum { value = 0 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral { enum { value = 1 }; }; template <> struct __libcpp_is_integral<__int128_t> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<__uint128_t> { enum { value = 1 }; }; template struct is_integral : _BoolConstant<__is_integral(_Tp)> {}; template inline constexpr bool is_integral_v = __is_integral(_Tp); # 72 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 3 }} # 40 "../../third_party/libc++/src/include/cstddef" 2 3 # 1 "../../third_party/libc++/src/include/version" 1 3 # 262 "../../third_party/libc++/src/include/version" 3 # 41 "../../third_party/libc++/src/include/cstddef" 2 3 # 1 "../../third_party/libc++/src/include/stddef.h" 1 3 # 31 "../../third_party/libc++/src/include/stddef.h" 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 1 3 # 43 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_header_macro.h" 1 3 # 44 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 71 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_ptrdiff_t.h" 1 3 # 18 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_ptrdiff_t.h" 3 typedef long int ptrdiff_t; # 72 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_size_t.h" 1 3 # 18 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_size_t.h" 3 typedef long unsigned int size_t; # 77 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 86 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_wchar_t.h" 1 3 # 87 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_null.h" 1 3 # 92 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_nullptr_t.h" 1 3 # 97 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 106 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_max_align_t.h" 1 3 # 19 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_max_align_t.h" 3 typedef struct { long long __clang_max_align_nonce1 __attribute__((__aligned__(__alignof__(long long)))); long double __clang_max_align_nonce2 __attribute__((__aligned__(__alignof__(long double)))); } max_align_t; # 107 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 1 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/__stddef_offsetof.h" 1 3 # 112 "../../third_party/llvm-build/Release+Asserts/lib/clang/19/include/stddef.h" 2 3 # 36 "../../third_party/libc++/src/include/stddef.h" 2 3 typedef decltype(nullptr) nullptr_t; # 43 "../../third_party/libc++/src/include/cstddef" 2 3 # 54 "../../third_party/libc++/src/include/cstddef" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { using ::nullptr_t; using ::ptrdiff_t __attribute__((__using_if_exists__)); using ::size_t __attribute__((__using_if_exists__)); using ::max_align_t __attribute__((__using_if_exists__)); }} namespace std { enum class byte : unsigned char {}; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte operator|(byte __lhs, byte __rhs) noexcept { return static_cast( static_cast(static_cast(__lhs) | static_cast(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte& operator|=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs | __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte operator&(byte __lhs, byte __rhs) noexcept { return static_cast( static_cast(static_cast(__lhs) & static_cast(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte& operator&=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs & __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte operator^(byte __lhs, byte __rhs) noexcept { return static_cast( static_cast(static_cast(__lhs) ^ static_cast(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte& operator^=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs ^ __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) inline constexpr byte operator~(byte __b) noexcept { return static_cast(static_cast(~static_cast(__b))); } template ::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr byte& operator<<=(byte& __lhs, _Integer __shift) noexcept { return __lhs = __lhs << __shift; } template ::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr byte operator<<(byte __lhs, _Integer __shift) noexcept { return static_cast(static_cast(static_cast(__lhs) << __shift)); } template ::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr byte& operator>>=(byte& __lhs, _Integer __shift) noexcept { return __lhs = __lhs >> __shift; } template ::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr byte operator>>(byte __lhs, _Integer __shift) noexcept { return static_cast(static_cast(static_cast(__lhs) >> __shift)); } template ::value, int> = 0> [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Integer to_integer(byte __b) noexcept { return static_cast<_Integer>(__b); } } # 16 "../../third_party/libc++/src/include/__compare/common_comparison_category.h" 2 3 # 19 "../../third_party/libc++/src/include/__compare/common_comparison_category.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { namespace __comp_detail { enum _ClassifyCompCategory : unsigned { _None, _PartialOrd, _WeakOrd, _StrongOrd, _CCC_Size }; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _ClassifyCompCategory __type_to_enum() noexcept { if (is_same_v<_Tp, partial_ordering>) return _PartialOrd; if (is_same_v<_Tp, weak_ordering>) return _WeakOrd; if (is_same_v<_Tp, strong_ordering>) return _StrongOrd; return _None; } template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _ClassifyCompCategory __compute_comp_type(const _ClassifyCompCategory (&__types)[_Size]) { int __seen[_CCC_Size] = {}; for (auto __type : __types) ++__seen[__type]; if (__seen[_None]) return _None; if (__seen[_PartialOrd]) return _PartialOrd; if (__seen[_WeakOrd]) return _WeakOrd; return _StrongOrd; } template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr auto __get_comp_type() { using _CCC = _ClassifyCompCategory; constexpr _CCC __type_kinds[] = {_StrongOrd, __type_to_enum<_Ts>()...}; constexpr _CCC __cat = __comp_detail::__compute_comp_type(__type_kinds); if constexpr (__cat == _None) return void(); else if constexpr (__cat == _PartialOrd) return partial_ordering::equivalent; else if constexpr (__cat == _WeakOrd) return weak_ordering::equivalent; else if constexpr (__cat == _StrongOrd) return strong_ordering::equivalent; else static_assert(_False, "unhandled case"); } } template struct common_comparison_category { using type = decltype(__comp_detail::__get_comp_type<_Ts...>()); }; template using common_comparison_category_t = typename common_comparison_category<_Ts...>::type; }} # 13 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 1 3 # 12 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/convertible_to.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/convertible_to.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_convertible.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_convertible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_convertible : public integral_constant {}; template inline constexpr bool is_convertible_v = __is_convertible(_From, _To); }} # 14 "../../third_party/libc++/src/include/__concepts/convertible_to.h" 2 3 # 18 "../../third_party/libc++/src/include/__concepts/convertible_to.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept convertible_to = is_convertible_v<_From, _To> && requires { static_cast<_To>(std::declval<_From>()); }; }} # 13 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/same_as.h" 1 3 # 17 "../../third_party/libc++/src/include/__concepts/same_as.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __same_as_impl = _IsSame<_Tp, _Up>::value; template concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>; }} # 14 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/common_type.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/common_type.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/conditional.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/conditional.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct _IfImpl; template <> struct _IfImpl { template using _Select __attribute__((__nodebug__)) = _IfRes; }; template <> struct _IfImpl { template using _Select __attribute__((__nodebug__)) = _ElseRes; }; template using _If __attribute__((__nodebug__)) = typename _IfImpl<_Cond>::template _Select<_IfRes, _ElseRes>; template struct conditional { using type __attribute__((__nodebug__)) = _If; }; template struct conditional { using type __attribute__((__nodebug__)) = _Then; }; template using conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _IfRes, _ElseRes>::type; template using __conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _If, _Then>::type; }} # 14 "../../third_party/libc++/src/include/__type_traits/common_type.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/decay.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/decay.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_referenceable.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_referenceable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_referenceable : integral_constant {}; # 39 "../../third_party/libc++/src/include/__type_traits/is_referenceable.h" 3 }} # 14 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_void.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_void.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_void : _BoolConstant<__is_void(_Tp)> {}; template inline constexpr bool is_void_v = __is_void(_Tp); # 45 "../../third_party/libc++/src/include/__type_traits/is_void.h" 3 }} # 16 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 2 3 # 21 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __add_pointer_t = __add_pointer(_Tp); # 45 "../../third_party/libc++/src/include/__type_traits/add_pointer.h" 3 template struct add_pointer { using type __attribute__((__nodebug__)) = __add_pointer_t<_Tp>; }; template using add_pointer_t = __add_pointer_t<_Tp>; }} # 14 "../../third_party/libc++/src/include/__type_traits/decay.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_array.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { # 36 "../../third_party/libc++/src/include/__type_traits/is_array.h" 3 template struct is_array : public false_type {}; template struct is_array<_Tp[]> : public true_type {}; template struct is_array<_Tp[_Np]> : public true_type {}; template inline constexpr bool is_array_v = is_array<_Tp>::value; }} # 16 "../../third_party/libc++/src/include/__type_traits/decay.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_function.h" 1 3 # 14 "../../third_party/libc++/src/include/__type_traits/is_function.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_const.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_const : _BoolConstant<__is_const(_Tp)> {}; template inline constexpr bool is_const_v = __is_const(_Tp); # 45 "../../third_party/libc++/src/include/__type_traits/is_const.h" 3 }} # 15 "../../third_party/libc++/src/include/__type_traits/is_function.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_reference.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> {}; template struct is_rvalue_reference : _BoolConstant<__is_rvalue_reference(_Tp)> {}; template struct is_reference : _BoolConstant<__is_reference(_Tp)> {}; template inline constexpr bool is_reference_v = __is_reference(_Tp); template inline constexpr bool is_lvalue_reference_v = __is_lvalue_reference(_Tp); template inline constexpr bool is_rvalue_reference_v = __is_rvalue_reference(_Tp); # 73 "../../third_party/libc++/src/include/__type_traits/is_reference.h" 3 }} # 16 "../../third_party/libc++/src/include/__type_traits/is_function.h" 2 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_function.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_function : integral_constant {}; # 37 "../../third_party/libc++/src/include/__type_traits/is_function.h" 3 template inline constexpr bool is_function_v = is_function<_Tp>::value; }} # 17 "../../third_party/libc++/src/include/__type_traits/decay.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/remove_extent.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/remove_extent.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct remove_extent { using type __attribute__((__nodebug__)) = __remove_extent(_Tp); }; template using __remove_extent_t = __remove_extent(_Tp); # 48 "../../third_party/libc++/src/include/__type_traits/remove_extent.h" 3 template using remove_extent_t = __remove_extent_t<_Tp>; }} # 20 "../../third_party/libc++/src/include/__type_traits/decay.h" 2 3 # 24 "../../third_party/libc++/src/include/__type_traits/decay.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __decay_t __attribute__((__nodebug__)) = __decay(_Tp); template struct decay { using type __attribute__((__nodebug__)) = __decay_t<_Tp>; }; # 67 "../../third_party/libc++/src/include/__type_traits/decay.h" 3 template using decay_t = __decay_t<_Tp>; }} # 15 "../../third_party/libc++/src/include/__type_traits/common_type.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/remove_cvref.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/remove_cvref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { # 32 "../../third_party/libc++/src/include/__type_traits/remove_cvref.h" 3 template using __remove_cvref_t __attribute__((__nodebug__)) = __remove_cvref(_Tp); template using __is_same_uncvref = _IsSame<__remove_cvref_t<_Tp>, __remove_cvref_t<_Up> >; template struct remove_cvref { using type __attribute__((__nodebug__)) = __remove_cvref(_Tp); }; template using remove_cvref_t = __remove_cvref_t<_Tp>; }} # 17 "../../third_party/libc++/src/include/__type_traits/common_type.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/void_t.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/void_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using void_t = void; template using __void_t = void; }} # 18 "../../third_party/libc++/src/include/__type_traits/common_type.h" 2 3 # 22 "../../third_party/libc++/src/include/__type_traits/common_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __cond_type = decltype(false ? std::declval<_Tp>() : std::declval<_Up>()); template struct __common_type3 {}; template struct __common_type3<_Tp, _Up, void_t<__cond_type>> { using type = remove_cvref_t<__cond_type>; }; template struct __common_type2_imp : __common_type3<_Tp, _Up> {}; template struct __common_type2_imp<_Tp, _Up, __void_t() : std::declval<_Up>())> > { typedef __attribute__((__nodebug__)) __decay_t() : std::declval<_Up>())> type; }; template struct __common_type_impl {}; template struct __common_types; template struct common_type; template struct __common_type_impl< __common_types<_Tp, _Up>, __void_t::type> > { typedef typename common_type<_Tp, _Up>::type type; }; template struct __common_type_impl<__common_types<_Tp, _Up, _Vp, _Rest...>, __void_t::type> > : __common_type_impl<__common_types::type, _Vp, _Rest...> > {}; template <> struct common_type<> {}; template struct common_type<_Tp> : public common_type<_Tp, _Tp> {}; template struct common_type<_Tp, _Up> : conditional<_IsSame<_Tp, __decay_t<_Tp> >::value && _IsSame<_Up, __decay_t<_Up> >::value, __common_type2_imp<_Tp, _Up>, common_type<__decay_t<_Tp>, __decay_t<_Up> > >::type {}; template struct common_type<_Tp, _Up, _Vp, _Rest...> : __common_type_impl<__common_types<_Tp, _Up, _Vp, _Rest...> > {}; template using common_type_t = typename common_type<_Tp...>::type; }} # 14 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/copy_cv.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/copy_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __copy_cv { template using __apply = _To; }; template struct __copy_cv { template using __apply = const _To; }; template struct __copy_cv { template using __apply = volatile _To; }; template struct __copy_cv { template using __apply = const volatile _To; }; template using __copy_cv_t = typename __copy_cv<_From>::template __apply<_To>; }} # 15 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/copy_cvref.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/copy_cvref.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/add_lvalue_reference.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/add_lvalue_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __add_lvalue_reference_t = __add_lvalue_reference(_Tp); # 42 "../../third_party/libc++/src/include/__type_traits/add_lvalue_reference.h" 3 template struct add_lvalue_reference { using type __attribute__((__nodebug__)) = __add_lvalue_reference_t<_Tp>; }; template using add_lvalue_reference_t = __add_lvalue_reference_t<_Tp>; }} # 14 "../../third_party/libc++/src/include/__type_traits/copy_cvref.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/add_rvalue_reference.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/add_rvalue_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __add_rvalue_reference_t = __add_rvalue_reference(_Tp); # 42 "../../third_party/libc++/src/include/__type_traits/add_rvalue_reference.h" 3 template struct add_rvalue_reference { using type = __add_rvalue_reference_t<_Tp>; }; template using add_rvalue_reference_t = __add_rvalue_reference_t<_Tp>; }} # 15 "../../third_party/libc++/src/include/__type_traits/copy_cvref.h" 2 3 # 19 "../../third_party/libc++/src/include/__type_traits/copy_cvref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __copy_cvref { using type = __copy_cv_t<_From, _To>; }; template struct __copy_cvref<_From&, _To> { using type = __add_lvalue_reference_t<__copy_cv_t<_From, _To> >; }; template struct __copy_cvref<_From&&, _To> { using type = __add_rvalue_reference_t<__copy_cv_t<_From, _To> >; }; template using __copy_cvref_t = typename __copy_cvref<_From, _To>::type; }} # 16 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 2 3 # 25 "../../third_party/libc++/src/include/__type_traits/common_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __cond_res = decltype(false ? std::declval<_Xp (&)()>()() : std::declval<_Yp (&)()>()()); template struct __xref { template using __apply = __copy_cvref_t<_Tp, _Up>; }; template , class _Yp = remove_reference_t<_Bp>> struct __common_ref; template using __common_ref_t = typename __common_ref<_Xp, _Yp>::__type; template using __cv_cond_res = __cond_res<__copy_cv_t<_Xp, _Yp>&, __copy_cv_t<_Yp, _Xp>&>; template requires requires { typename __cv_cond_res<_Xp, _Yp>; } && is_reference_v<__cv_cond_res<_Xp, _Yp>> struct __common_ref<_Ap&, _Bp&, _Xp, _Yp> { using __type = __cv_cond_res<_Xp, _Yp>; }; template using __common_ref_C = remove_reference_t<__common_ref_t<_Xp&, _Yp&>>&&; template requires requires { typename __common_ref_C<_Xp, _Yp>; } && is_convertible_v<_Ap&&, __common_ref_C<_Xp, _Yp>> && is_convertible_v<_Bp&&, __common_ref_C<_Xp, _Yp>> struct __common_ref<_Ap&&, _Bp&&, _Xp, _Yp> { using __type = __common_ref_C<_Xp, _Yp>; }; template using __common_ref_D = __common_ref_t; template requires requires { typename __common_ref_D<_Xp, _Yp>; } && is_convertible_v<_Ap&&, __common_ref_D<_Xp, _Yp>> struct __common_ref<_Ap&&, _Bp&, _Xp, _Yp> { using __type = __common_ref_D<_Xp, _Yp>; }; template struct __common_ref<_Ap&, _Bp&&, _Xp, _Yp> : __common_ref<_Bp&&, _Ap&> {}; template struct __common_ref {}; template struct common_reference; template using common_reference_t = typename common_reference<_Types...>::type; template <> struct common_reference<> {}; template struct common_reference<_Tp> { using type = _Tp; }; template struct __common_reference_sub_bullet3; template struct __common_reference_sub_bullet2 : __common_reference_sub_bullet3<_Tp, _Up> {}; template struct __common_reference_sub_bullet1 : __common_reference_sub_bullet2<_Tp, _Up> {}; template struct common_reference<_Tp, _Up> : __common_reference_sub_bullet1<_Tp, _Up> {}; template requires is_reference_v<_Tp> && is_reference_v<_Up> && requires { typename __common_ref_t<_Tp, _Up>; } struct __common_reference_sub_bullet1<_Tp, _Up> { using type = __common_ref_t<_Tp, _Up>; }; template class, template class> struct basic_common_reference {}; template using __basic_common_reference_t = typename basic_common_reference, remove_cvref_t<_Up>, __xref<_Tp>::template __apply, __xref<_Up>::template __apply>::type; template requires requires { typename __basic_common_reference_t<_Tp, _Up>; } struct __common_reference_sub_bullet2<_Tp, _Up> { using type = __basic_common_reference_t<_Tp, _Up>; }; template requires requires { typename __cond_res<_Tp, _Up>; } struct __common_reference_sub_bullet3<_Tp, _Up> { using type = __cond_res<_Tp, _Up>; }; template struct __common_reference_sub_bullet3 : common_type<_Tp, _Up> {}; template requires requires { typename common_reference_t<_Tp, _Up>; } struct common_reference<_Tp, _Up, _Vp, _Rest...> : common_reference, _Vp, _Rest...> {}; template struct common_reference {}; }} # 16 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 2 3 # 19 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept common_reference_with = same_as, common_reference_t<_Up, _Tp>> && convertible_to<_Tp, common_reference_t<_Tp, _Up>> && convertible_to<_Up, common_reference_t<_Tp, _Up>>; }} # 15 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/equality_comparable.h" 1 3 # 12 "../../third_party/libc++/src/include/__concepts/equality_comparable.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/boolean_testable.h" 1 3 # 14 "../../third_party/libc++/src/include/__concepts/boolean_testable.h" 3 # 1 "../../third_party/libc++/src/include/__utility/forward.h" 1 3 # 19 "../../third_party/libc++/src/include/__utility/forward.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp&& forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>& __t) noexcept { return static_cast<_Tp&&>(__t); } template [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp&& forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>&& __t) noexcept { static_assert(!is_lvalue_reference<_Tp>::value, "cannot forward an rvalue as an lvalue"); return static_cast<_Tp&&>(__t); } }} # 15 "../../third_party/libc++/src/include/__concepts/boolean_testable.h" 2 3 # 18 "../../third_party/libc++/src/include/__concepts/boolean_testable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __boolean_testable_impl = convertible_to<_Tp, bool>; template concept __boolean_testable = __boolean_testable_impl<_Tp> && requires(_Tp&& __t) { { !std::forward<_Tp>(__t) } -> __boolean_testable_impl; }; }} # 13 "../../third_party/libc++/src/include/__concepts/equality_comparable.h" 2 3 # 20 "../../third_party/libc++/src/include/__concepts/equality_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __weakly_equality_comparable_with = requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) { { __t == __u } -> __boolean_testable; { __t != __u } -> __boolean_testable; { __u == __t } -> __boolean_testable; { __u != __t } -> __boolean_testable; }; template concept equality_comparable = __weakly_equality_comparable_with<_Tp, _Tp>; template concept equality_comparable_with = equality_comparable<_Tp> && equality_comparable<_Up> && common_reference_with<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>> && equality_comparable< common_reference_t< __make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>>> && __weakly_equality_comparable_with<_Tp, _Up>; }} # 16 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/totally_ordered.h" 1 3 # 20 "../../third_party/libc++/src/include/__concepts/totally_ordered.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __partially_ordered_with = requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) { { __t < __u } -> __boolean_testable; { __t > __u } -> __boolean_testable; { __t <= __u } -> __boolean_testable; { __t >= __u } -> __boolean_testable; { __u < __t } -> __boolean_testable; { __u > __t } -> __boolean_testable; { __u <= __t } -> __boolean_testable; { __u >= __t } -> __boolean_testable; }; template concept totally_ordered = equality_comparable<_Tp> && __partially_ordered_with<_Tp, _Tp>; template concept totally_ordered_with = totally_ordered<_Tp> && totally_ordered<_Up> && equality_comparable_with<_Tp, _Up> && totally_ordered< common_reference_t< __make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>>> && __partially_ordered_with<_Tp, _Up>; }} # 18 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 2 3 # 24 "../../third_party/libc++/src/include/__compare/three_way_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __compares_as = same_as, _Cat>; template concept three_way_comparable = __weakly_equality_comparable_with<_Tp, _Tp> && __partially_ordered_with<_Tp, _Tp> && requires(__make_const_lvalue_ref<_Tp> __a, __make_const_lvalue_ref<_Tp> __b) { { __a <=> __b } -> __compares_as<_Cat>; }; template concept three_way_comparable_with = three_way_comparable<_Tp, _Cat> && three_way_comparable<_Up, _Cat> && common_reference_with<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>> && three_way_comparable, __make_const_lvalue_ref<_Up>>, _Cat> && __weakly_equality_comparable_with<_Tp, _Up> && __partially_ordered_with<_Tp, _Up> && requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) { { __t <=> __u } -> __compares_as<_Cat>; { __u <=> __t } -> __compares_as<_Cat>; }; }} # 183 "../../third_party/libc++/src/include/optional" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/invocable.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/invocable.h" 3 # 1 "../../third_party/libc++/src/include/__functional/invoke.h" 1 3 # 14 "../../third_party/libc++/src/include/__functional/invoke.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/invoke.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/invoke.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_base_of.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_base_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_base_of : public integral_constant {}; template inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp); }} # 19 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_core_convertible.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_core_convertible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __is_core_convertible : public false_type {}; template struct __is_core_convertible<_Tp, _Up, decltype(static_cast(0)(static_cast<_Tp (*)()>(0)()))> : public true_type {}; }} # 20 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_member_function_pointer.h" 1 3 # 20 "../../third_party/libc++/src/include/__type_traits/is_member_function_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_member_pointer { enum { __is_member = false, __is_func = false, __is_obj = false }; }; template struct __libcpp_is_member_pointer<_Tp _Up::*> { enum { __is_member = true, __is_func = is_function<_Tp>::value, __is_obj = !__is_func, }; }; template struct is_member_function_pointer : _BoolConstant<__is_member_function_pointer(_Tp)> {}; template inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); # 60 "../../third_party/libc++/src/include/__type_traits/is_member_function_pointer.h" 3 }} # 21 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_member_object_pointer.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_member_object_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_member_object_pointer : _BoolConstant<__is_member_object_pointer(_Tp)> {}; template inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); # 44 "../../third_party/libc++/src/include/__type_traits/is_member_object_pointer.h" 3 }} # 22 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_reference_wrapper.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/is_reference_wrapper.h" 3 # 1 "../../third_party/libc++/src/include/__fwd/functional.h" 1 3 # 16 "../../third_party/libc++/src/include/__fwd/functional.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct hash; template class reference_wrapper; }} # 14 "../../third_party/libc++/src/include/__type_traits/is_reference_wrapper.h" 2 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_reference_wrapper.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __is_reference_wrapper_impl : public false_type {}; template struct __is_reference_wrapper_impl > : public true_type {}; template struct __is_reference_wrapper : public __is_reference_wrapper_impl<__remove_cv_t<_Tp> > {}; }} # 23 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/nat.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/nat.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { struct __nat { __nat() = delete; __nat(const __nat&) = delete; __nat& operator=(const __nat&) = delete; ~__nat() = delete; }; }} # 26 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 3 # 31 "../../third_party/libc++/src/include/__type_traits/invoke.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __member_pointer_class_type {}; template struct __member_pointer_class_type<_Ret _ClassType::*> { typedef _ClassType type; }; template , class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet1 = __enable_if_t::value && (is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value)>; template , class _DecayA0 = __decay_t<_A0> > using __enable_if_bullet2 = __enable_if_t::value && __is_reference_wrapper<_DecayA0>::value>; template , class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet3 = __enable_if_t::value && !(is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value) && !__is_reference_wrapper<_DecayA0>::value>; template , class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet4 = __enable_if_t::value && (is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value)>; template , class _DecayA0 = __decay_t<_A0> > using __enable_if_bullet5 = __enable_if_t::value && __is_reference_wrapper<_DecayA0>::value>; template , class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet6 = __enable_if_t::value && !(is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value) && !__is_reference_wrapper<_DecayA0>::value>; template __nat __invoke(_Args&&... __args); template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype((std::declval<_A0>().*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept((static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...))) { return (static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...); } template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype((std::declval<_A0>().get().*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept((__a0.get().*__f)(static_cast<_Args&&>(__args)...))) { return (__a0.get().*__f)(static_cast<_Args&&>(__args)...); } template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype(((*std::declval<_A0>()).*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept(((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...))) { return ((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...); } template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype(std::declval<_A0>().*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept(static_cast<_A0&&>(__a0).*__f)) { return static_cast<_A0&&>(__a0).*__f; } template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype(std::declval<_A0>().get().*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept(__a0.get().*__f)) { return __a0.get().*__f; } template > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype((*std::declval<_A0>()).*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept((*static_cast<_A0&&>(__a0)).*__f)) { return (*static_cast<_A0&&>(__a0)).*__f; } template inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr decltype(std::declval<_Fp>()(std::declval<_Args>()...)) __invoke(_Fp&& __f, _Args&&... __args) noexcept(noexcept(static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...))) { return static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...); } template struct __invokable_r { template static decltype(std::__invoke(std::declval<_XFp>(), std::declval<_XArgs>()...)) __try_call(int); template static __nat __try_call(...); using _Result = decltype(__try_call<_Fp, _Args...>(0)); using type = __conditional_t<_IsNotSame<_Result, __nat>::value, __conditional_t::value, true_type, __is_core_convertible<_Result, _Ret> >, false_type>; static const bool value = type::value; }; template using __invokable = __invokable_r; template struct __nothrow_invokable_r_imp { static const bool value = false; }; template struct __nothrow_invokable_r_imp { typedef __nothrow_invokable_r_imp _ThisT; template static void __test_noexcept(_Tp) noexcept; static const bool value = noexcept(_ThisT::__test_noexcept<_Ret>(std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...))); }; template struct __nothrow_invokable_r_imp { static const bool value = noexcept(std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...)); }; template using __nothrow_invokable_r = __nothrow_invokable_r_imp<__invokable_r<_Ret, _Fp, _Args...>::value, is_void<_Ret>::value, _Ret, _Fp, _Args...>; template using __nothrow_invokable = __nothrow_invokable_r_imp<__invokable<_Fp, _Args...>::value, true, void, _Fp, _Args...>; template struct __invoke_of : public enable_if<__invokable<_Fp, _Args...>::value, typename __invokable_r::_Result> {}; template ::value> struct __invoke_void_return_wrapper { template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr static _Ret __call(_Args&&... __args) { return std::__invoke(std::forward<_Args>(__args)...); } }; template struct __invoke_void_return_wrapper<_Ret, true> { template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr static void __call(_Args&&... __args) { std::__invoke(std::forward<_Args>(__args)...); } }; template struct is_invocable : integral_constant::value> {}; template struct is_invocable_r : integral_constant::value> {}; template inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; template inline constexpr bool is_invocable_r_v = is_invocable_r<_Ret, _Fn, _Args...>::value; template struct is_nothrow_invocable : integral_constant::value> { }; template struct is_nothrow_invocable_r : integral_constant::value> {}; template inline constexpr bool is_nothrow_invocable_v = is_nothrow_invocable<_Fn, _Args...>::value; template inline constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; template struct invoke_result : __invoke_of<_Fn, _Args...> {}; template using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; }} # 15 "../../third_party/libc++/src/include/__functional/invoke.h" 2 3 # 19 "../../third_party/libc++/src/include/__functional/invoke.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr invoke_result_t<_Fn, _Args...> invoke(_Fn&& __f, _Args&&... __args) noexcept(is_nothrow_invocable_v<_Fn, _Args...>) { return std::__invoke(std::forward<_Fn>(__f), std::forward<_Args>(__args)...); } # 52 "../../third_party/libc++/src/include/__functional/invoke.h" 3 }} # 14 "../../third_party/libc++/src/include/__concepts/invocable.h" 2 3 # 18 "../../third_party/libc++/src/include/__concepts/invocable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept invocable = requires(_Fn&& __fn, _Args&&... __args) { std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); }; template concept regular_invocable = invocable<_Fn, _Args...>; }} # 184 "../../third_party/libc++/src/include/optional" 2 3 # 1 "../../third_party/libc++/src/include/__exception/exception.h" 1 3 # 22 "../../third_party/libc++/src/include/__exception/exception.h" 3 namespace std { # 72 "../../third_party/libc++/src/include/__exception/exception.h" 3 class __attribute__((__visibility__("default"))) exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) exception() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) exception(const exception&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) exception& operator=(const exception&) noexcept = default; virtual ~exception() noexcept; virtual const char* what() const noexcept; }; class __attribute__((__visibility__("default"))) bad_exception : public exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) bad_exception() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) bad_exception(const bad_exception&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) bad_exception& operator=(const bad_exception&) noexcept = default; ~bad_exception() noexcept override; const char* what() const noexcept override; }; } # 186 "../../third_party/libc++/src/include/optional" 2 3 # 1 "../../third_party/libc++/src/include/__functional/hash.h" 1 3 # 13 "../../third_party/libc++/src/include/__functional/hash.h" 3 # 1 "../../third_party/libc++/src/include/__functional/unary_function.h" 1 3 # 16 "../../third_party/libc++/src/include/__functional/unary_function.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { # 30 "../../third_party/libc++/src/include/__functional/unary_function.h" 3 template struct __unary_function_keep_layout_base { }; # 45 "../../third_party/libc++/src/include/__functional/unary_function.h" 3 template using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>; }} # 14 "../../third_party/libc++/src/include/__functional/hash.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/conjunction.h" 1 3 # 20 "../../third_party/libc++/src/include/__type_traits/conjunction.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __expand_to_true = true_type; template __expand_to_true<__enable_if_t<_Pred::value>...> __and_helper(int); template false_type __and_helper(...); template using _And __attribute__((__nodebug__)) = decltype(std::__and_helper<_Pred...>(0)); template struct __all_dummy; template struct __all : _IsSame<__all_dummy<_Pred...>, __all_dummy<((void)_Pred, true)...> > {}; template struct conjunction : true_type {}; template struct conjunction<_Arg> : _Arg {}; template struct conjunction<_Arg, _Args...> : conditional_t> {}; template inline constexpr bool conjunction_v = conjunction<_Args...>::value; }} # 16 "../../third_party/libc++/src/include/__functional/hash.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_constructible.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_constructible : public integral_constant {}; template inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); template struct is_copy_constructible : public integral_constant)> {}; template inline constexpr bool is_copy_constructible_v = is_copy_constructible<_Tp>::value; template struct is_move_constructible : public integral_constant)> {}; template inline constexpr bool is_move_constructible_v = is_move_constructible<_Tp>::value; template struct is_default_constructible : public integral_constant {}; template inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); }} # 18 "../../third_party/libc++/src/include/__functional/hash.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_enum.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_enum.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_enum : public integral_constant {}; template inline constexpr bool is_enum_v = __is_enum(_Tp); }} # 19 "../../third_party/libc++/src/include/__functional/hash.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/underlying_type.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/underlying_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template ::value> struct __underlying_type_impl; template struct __underlying_type_impl<_Tp, false> {}; template struct __underlying_type_impl<_Tp, true> { typedef __underlying_type(_Tp) type; }; template struct underlying_type : __underlying_type_impl<_Tp, is_enum<_Tp>::value> {}; template using underlying_type_t = typename underlying_type<_Tp>::type; }} # 20 "../../third_party/libc++/src/include/__functional/hash.h" 2 3 # 1 "../../third_party/libc++/src/include/__utility/pair.h" 1 3 # 13 "../../third_party/libc++/src/include/__utility/pair.h" 3 # 1 "../../third_party/libc++/src/include/__compare/synth_three_way.h" 1 3 # 20 "../../third_party/libc++/src/include/__compare/synth_three_way.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { # 32 "../../third_party/libc++/src/include/__compare/synth_three_way.h" 3 template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr auto __synth_three_way(const _Tp& __t, const _Up& __u) requires requires { { __t < __u } -> __boolean_testable; { __u < __t } -> __boolean_testable; } { if constexpr (three_way_comparable_with<_Tp, _Up>) { return __t <=> __u; } else { if (__t < __u) return weak_ordering::less; if (__u < __t) return weak_ordering::greater; return weak_ordering::equivalent; } } template using __synth_three_way_result = decltype(std::__synth_three_way(std::declval<_Tp&>(), std::declval<_Up&>())); }} # 14 "../../third_party/libc++/src/include/__utility/pair.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/different_from.h" 1 3 # 18 "../../third_party/libc++/src/include/__concepts/different_from.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __different_from = !same_as, remove_cvref_t<_Up>>; }} # 15 "../../third_party/libc++/src/include/__utility/pair.h" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/array.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct array; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp& get(array<_Tp, _Size>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const _Tp& get(const array<_Tp, _Size>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp&& get(array<_Tp, _Size>&&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const _Tp&& get(const array<_Tp, _Size>&&) noexcept; template struct __is_std_array : false_type {}; template struct __is_std_array > : true_type {}; }} # 17 "../../third_party/libc++/src/include/__utility/pair.h" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/pair.h" 1 3 # 13 "../../third_party/libc++/src/include/__fwd/pair.h" 3 # 1 "../../third_party/libc++/src/include/__fwd/tuple.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/tuple.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct tuple_element; template class tuple; template struct tuple_size; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type& get(tuple<_Tp...>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type& get(const tuple<_Tp...>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(tuple<_Tp...>&&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(const tuple<_Tp...>&&) noexcept; }} # 14 "../../third_party/libc++/src/include/__fwd/pair.h" 2 3 # 18 "../../third_party/libc++/src/include/__fwd/pair.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct pair; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(pair<_T1, _T2>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(const pair<_T1, _T2>&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(pair<_T1, _T2>&&) noexcept; template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(const pair<_T1, _T2>&&) noexcept; }} # 18 "../../third_party/libc++/src/include/__utility/pair.h" 2 3 # 1 "../../third_party/libc++/src/include/__tuple/sfinae_helpers.h" 1 3 # 14 "../../third_party/libc++/src/include/__tuple/sfinae_helpers.h" 3 # 1 "../../third_party/libc++/src/include/__tuple/make_tuple_types.h" 1 3 # 15 "../../third_party/libc++/src/include/__tuple/make_tuple_types.h" 3 # 1 "../../third_party/libc++/src/include/__tuple/tuple_element.h" 1 3 # 13 "../../third_party/libc++/src/include/__tuple/tuple_element.h" 3 # 1 "../../third_party/libc++/src/include/__tuple/tuple_indices.h" 1 3 # 13 "../../third_party/libc++/src/include/__tuple/tuple_indices.h" 3 # 1 "../../third_party/libc++/src/include/__utility/integer_sequence.h" 1 3 # 18 "../../third_party/libc++/src/include/__utility/integer_sequence.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __tuple_indices; template struct __integer_sequence { template