# 1 "../../third_party/blink/renderer/platform/text/unicode_utilities.cc" # 1 "" 1 # 1 "" 3 # 466 "" 3 # 1 "" 1 # 1 "" 2 # 1 "../../third_party/blink/renderer/platform/text/unicode_utilities.cc" 2 # 28 "../../third_party/blink/renderer/platform/text/unicode_utilities.cc" # 1 "../../third_party/blink/renderer/platform/text/unicode_utilities.h" 1 # 29 "../../third_party/blink/renderer/platform/text/unicode_utilities.h" # 1 "../../third_party/blink/renderer/platform/platform_export.h" 1 # 39 "../../third_party/blink/renderer/platform/platform_export.h" # 1 "../../build/build_config.h" 1 # 57 "../../build/build_config.h" # 1 "../../build/buildflag.h" 1 # 58 "../../build/build_config.h" 2 # 98 "../../build/build_config.h" # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/assert.h" 1 3 4 # 35 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/assert.h" 3 4 # 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 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/assert.h" 2 3 4 # 66 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/assert.h" 3 4 extern "C" { extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) throw () __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) throw () __attribute__ ((__noreturn__)); extern void __assert (const char *__assertion, const char *__file, int __line) throw () __attribute__ ((__noreturn__)); } # 99 "../../build/build_config.h" 2 # 40 "../../third_party/blink/renderer/platform/platform_export.h" 2 # 30 "../../third_party/blink/renderer/platform/text/unicode_utilities.h" 2 # 1 "../../third_party/blink/renderer/platform/wtf/text/wtf_string.h" 1 # 29 "../../third_party/blink/renderer/platform/wtf/text/wtf_string.h" # 1 "../../third_party/libc++/src/include/iosfwd" 1 3 # 108 "../../third_party/libc++/src/include/iosfwd" 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 # 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 # 109 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/fstream.h" 1 3 # 13 "../../third_party/libc++/src/include/__fwd/fstream.h" 3 # 1 "../../third_party/libc++/src/include/__fwd/string.h" 1 3 # 13 "../../third_party/libc++/src/include/__fwd/string.h" 3 # 1 "../../third_party/libc++/src/include/__fwd/memory.h" 1 3 # 16 "../../third_party/libc++/src/include/__fwd/memory.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template class allocator; }} # 14 "../../third_party/libc++/src/include/__fwd/string.h" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/memory_resource.h" 1 3 # 16 "../../third_party/libc++/src/include/__fwd/memory_resource.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { namespace pmr { template class polymorphic_allocator; } }} # 15 "../../third_party/libc++/src/include/__fwd/string.h" 2 3 # 18 "../../third_party/libc++/src/include/__fwd/string.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct char_traits; template <> struct char_traits; template <> struct char_traits; template <> struct char_traits; template <> struct char_traits; template <> struct char_traits; template , class _Allocator = allocator<_CharT> > class basic_string; using string = basic_string; using wstring = basic_string; using u8string = basic_string; using u16string = basic_string; using u32string = basic_string; namespace pmr { template > using basic_string = std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; using string = basic_string; using wstring = basic_string; using u8string = basic_string; using u16string = basic_string; using u32string = basic_string; } template class __attribute__((__preferred_name__(string))) __attribute__((__preferred_name__(wstring))) __attribute__((__preferred_name__(u8string))) __attribute__((__preferred_name__(u16string))) __attribute__((__preferred_name__(u32string))) __attribute__((__preferred_name__(pmr::string))) __attribute__((__preferred_name__(pmr::wstring))) __attribute__((__preferred_name__(pmr::u8string))) __attribute__((__preferred_name__(pmr::u16string))) __attribute__((__preferred_name__(pmr::u32string))) basic_string; }} # 14 "../../third_party/libc++/src/include/__fwd/fstream.h" 2 3 # 17 "../../third_party/libc++/src/include/__fwd/fstream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template > class basic_filebuf; template > class basic_ifstream; template > class basic_ofstream; template > class basic_fstream; using filebuf = basic_filebuf; using ifstream = basic_ifstream; using ofstream = basic_ofstream; using fstream = basic_fstream; using wfilebuf = basic_filebuf; using wifstream = basic_ifstream; using wofstream = basic_ofstream; using wfstream = basic_fstream; template class __attribute__((__preferred_name__(filebuf))) __attribute__((__preferred_name__(wfilebuf))) basic_filebuf; template class __attribute__((__preferred_name__(ifstream))) __attribute__((__preferred_name__(wifstream))) basic_ifstream; template class __attribute__((__preferred_name__(ofstream))) __attribute__((__preferred_name__(wofstream))) basic_ofstream; template class __attribute__((__preferred_name__(fstream))) __attribute__((__preferred_name__(wfstream))) basic_fstream; }} # 110 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/ios.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/ios.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { class __attribute__((__visibility__("default"))) ios_base; template > class basic_ios; using ios = basic_ios; using wios = basic_ios; template class __attribute__((__preferred_name__(ios))) __attribute__((__preferred_name__(wios))) basic_ios; using streamoff = long long; }} # 111 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/istream.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/istream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template > class basic_istream; template > class basic_iostream; using istream = basic_istream; using iostream = basic_iostream; using wistream = basic_istream; using wiostream = basic_iostream; template class __attribute__((__preferred_name__(istream))) __attribute__((__preferred_name__(wistream))) basic_istream; template class __attribute__((__preferred_name__(iostream))) __attribute__((__preferred_name__(wiostream))) basic_iostream; }} # 112 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/ostream.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/ostream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template > class basic_ostream; using ostream = basic_ostream; using wostream = basic_ostream; template class __attribute__((__preferred_name__(ostream))) __attribute__((__preferred_name__(wostream))) basic_ostream; }} # 114 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/sstream.h" 1 3 # 18 "../../third_party/libc++/src/include/__fwd/sstream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template , class _Allocator = allocator<_CharT> > class basic_stringbuf; template , class _Allocator = allocator<_CharT> > class basic_istringstream; template , class _Allocator = allocator<_CharT> > class basic_ostringstream; template , class _Allocator = allocator<_CharT> > class basic_stringstream; using stringbuf = basic_stringbuf; using istringstream = basic_istringstream; using ostringstream = basic_ostringstream; using stringstream = basic_stringstream; using wstringbuf = basic_stringbuf; using wistringstream = basic_istringstream; using wostringstream = basic_ostringstream; using wstringstream = basic_stringstream; template class __attribute__((__preferred_name__(stringbuf))) __attribute__((__preferred_name__(wstringbuf))) basic_stringbuf; template class __attribute__((__preferred_name__(istringstream))) __attribute__((__preferred_name__(wistringstream))) basic_istringstream; template class __attribute__((__preferred_name__(ostringstream))) __attribute__((__preferred_name__(wostringstream))) basic_ostringstream; template class __attribute__((__preferred_name__(stringstream))) __attribute__((__preferred_name__(wstringstream))) basic_stringstream; }} # 115 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__fwd/streambuf.h" 1 3 # 17 "../../third_party/libc++/src/include/__fwd/streambuf.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template > class basic_streambuf; using streambuf = basic_streambuf; using wstreambuf = basic_streambuf; template class __attribute__((__preferred_name__(streambuf))) __attribute__((__preferred_name__(wstreambuf))) basic_streambuf; }} # 116 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/__std_mbstate_t.h" 1 3 # 14 "../../third_party/libc++/src/include/__std_mbstate_t.h" 3 # 1 "../../third_party/libc++/src/include/__mbstate_t.h" 1 3 # 17 "../../third_party/libc++/src/include/__mbstate_t.h" 3 # 43 "../../third_party/libc++/src/include/__mbstate_t.h" 3 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 1 3 4 # 1 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 # 13 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 5 "../../build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 2 3 4 typedef __mbstate_t mbstate_t; # 44 "../../third_party/libc++/src/include/__mbstate_t.h" 2 3 # 15 "../../third_party/libc++/src/include/__std_mbstate_t.h" 2 3 # 18 "../../third_party/libc++/src/include/__std_mbstate_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { using ::mbstate_t __attribute__((__using_if_exists__)); }} # 118 "../../third_party/libc++/src/include/iosfwd" 2 3 # 1 "../../third_party/libc++/src/include/version" 1 3 # 262 "../../third_party/libc++/src/include/version" 3 # 119 "../../third_party/libc++/src/include/iosfwd" 2 3 # 122 "../../third_party/libc++/src/include/iosfwd" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template > class istreambuf_iterator; template > class ostreambuf_iterator; template class fpos; typedef fpos streampos; typedef fpos wstreampos; typedef fpos u8streampos; typedef fpos u16streampos; typedef fpos u32streampos; # 163 "../../third_party/libc++/src/include/iosfwd" 3 template class __save_flags { typedef basic_ios<_CharT, _Traits> __stream_type; typedef typename __stream_type::fmtflags fmtflags; __stream_type& __stream_; fmtflags __fmtflags_; _CharT __fill_; public: __save_flags(const __save_flags&) = delete; __save_flags& operator=(const __save_flags&) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) explicit __save_flags(__stream_type& __stream) : __stream_(__stream), __fmtflags_(__stream.flags()), __fill_(__stream.fill()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) ~__save_flags() { __stream_.flags(__fmtflags_); __stream_.fill(__fill_); } }; }} # 30 "../../third_party/blink/renderer/platform/wtf/text/wtf_string.h" 2 # 1 "../../third_party/libc++/src/include/string_view" 1 3 # 208 "../../third_party/libc++/src/include/string_view" 3 # 1 "../../third_party/libc++/src/include/__algorithm/min.h" 1 3 # 12 "../../third_party/libc++/src/include/__algorithm/min.h" 3 # 1 "../../third_party/libc++/src/include/__algorithm/comp.h" 1 3 # 13 "../../third_party/libc++/src/include/__algorithm/comp.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/desugars_to.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/desugars_to.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { struct __equal_tag {}; struct __plus_tag {}; struct __less_tag {}; # 35 "../../third_party/libc++/src/include/__type_traits/desugars_to.h" 3 template inline const bool __desugars_to_v = false; }} # 14 "../../third_party/libc++/src/include/__algorithm/comp.h" 2 3 # 17 "../../third_party/libc++/src/include/__algorithm/comp.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { struct __equal_to { template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr bool operator()(const _T1& __x, const _T2& __y) const { return __x == __y; } }; template inline const bool __desugars_to_v<__equal_tag, __equal_to, _Tp, _Up> = true; template struct __less {}; template <> struct __less { template __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr bool operator()(const _Tp& __lhs, const _Up& __rhs) const { return __lhs < __rhs; } }; template inline const bool __desugars_to_v<__less_tag, __less<>, _Tp, _Tp> = true; }} # 13 "../../third_party/libc++/src/include/__algorithm/min.h" 2 3 # 1 "../../third_party/libc++/src/include/__algorithm/comp_ref_type.h" 1 3 # 12 "../../third_party/libc++/src/include/__algorithm/comp_ref_type.h" 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 # 14 "../../buildtools/third_party/libc++/__assertion_handler" 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 # 13 "../../third_party/libc++/src/include/__algorithm/comp_ref_type.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/__algorithm/comp_ref_type.h" 2 3 # 18 "../../third_party/libc++/src/include/__algorithm/comp_ref_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __debug_less { _Compare& __comp_; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __debug_less(_Compare& __c) : __comp_(__c) {} template constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) bool operator()(const _Tp& __x, const _Up& __y) { bool __r = __comp_(__x, __y); if (__r) __do_compare_assert(0, __y, __x); return __r; } template constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) bool operator()(_Tp& __x, _Up& __y) { bool __r = __comp_(__x, __y); if (__r) __do_compare_assert(0, __y, __x); return __r; } template constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) decltype((void)std::declval<_Compare&>()(std::declval<_LHS&>(), std::declval<_RHS&>())) __do_compare_assert(int, _LHS& __l, _RHS& __r) { ((void)0); (void)__l; (void)__r; } template constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __do_compare_assert(long, _LHS&, _RHS&) {} }; template using __comp_ref_type = _Comp&; }} # 14 "../../third_party/libc++/src/include/__algorithm/min.h" 2 3 # 1 "../../third_party/libc++/src/include/__algorithm/min_element.h" 1 3 # 15 "../../third_party/libc++/src/include/__algorithm/min_element.h" 3 # 1 "../../third_party/libc++/src/include/__functional/identity.h" 1 3 # 14 "../../third_party/libc++/src/include/__functional/identity.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; }} # 15 "../../third_party/libc++/src/include/__functional/identity.h" 2 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; }} # 16 "../../third_party/libc++/src/include/__functional/identity.h" 2 3 # 1 "../../third_party/libc++/src/include/__utility/forward.h" 1 3 # 14 "../../third_party/libc++/src/include/__utility/forward.h" 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 }} # 15 "../../third_party/libc++/src/include/__utility/forward.h" 2 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>; }} # 16 "../../third_party/libc++/src/include/__utility/forward.h" 2 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); } }} # 17 "../../third_party/libc++/src/include/__functional/identity.h" 2 3 # 20 "../../third_party/libc++/src/include/__functional/identity.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __is_identity : false_type {}; struct __identity { template [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp&& operator()(_Tp&& __t) const noexcept { return std::forward<_Tp>(__t); } using is_transparent = void; }; template <> struct __is_identity<__identity> : true_type {}; template <> struct __is_identity > : true_type {}; template <> struct __is_identity > : true_type {}; struct identity { template [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _Tp&& operator()(_Tp&& __t) const noexcept { return std::forward<_Tp>(__t); } using is_transparent = void; }; template <> struct __is_identity : true_type {}; template <> struct __is_identity > : true_type {}; template <> struct __is_identity > : true_type {}; }} # 16 "../../third_party/libc++/src/include/__algorithm/min_element.h" 2 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 # 14 "../../third_party/libc++/src/include/__type_traits/invoke.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; }} # 15 "../../third_party/libc++/src/include/__type_traits/invoke.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 # 14 "../../third_party/libc++/src/include/__type_traits/is_referenceable.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_same.h" 1 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/__type_traits/is_referenceable.h" 2 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 # 15 "../../third_party/libc++/src/include/__type_traits/is_void.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>; }} # 16 "../../third_party/libc++/src/include/__type_traits/is_void.h" 2 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 # 14 "../../third_party/libc++/src/include/__type_traits/is_array.h" 3 # 1 "../../third_party/libc++/src/include/cstddef" 1 3 # 37 "../../third_party/libc++/src/include/cstddef" 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; }} # 38 "../../third_party/libc++/src/include/cstddef" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_integral.h" 1 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/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); } } # 15 "../../third_party/libc++/src/include/__type_traits/is_array.h" 2 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 # 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>; }} # 16 "../../third_party/libc++/src/include/__type_traits/invoke.h" 2 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 # 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 }} # 17 "../../third_party/libc++/src/include/__algorithm/min_element.h" 2 3 # 1 "../../third_party/libc++/src/include/__iterator/iterator_traits.h" 1 3 # 13 "../../third_party/libc++/src/include/__iterator/iterator_traits.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_floating_point.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_floating_point.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_floating_point : public false_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template struct is_floating_point : public __libcpp_is_floating_point<__remove_cv_t<_Tp> > {}; template inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; }} # 14 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_signed.h" 1 3 # 14 "../../third_party/libc++/src/include/__type_traits/is_signed.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_arithmetic.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_arithmetic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_arithmetic : public integral_constant::value || is_floating_point<_Tp>::value> {}; template inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; }} # 15 "../../third_party/libc++/src/include/__type_traits/is_signed.h" 2 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_signed.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_signed : _BoolConstant<__is_signed(_Tp)> {}; template inline constexpr bool is_signed_v = __is_signed(_Tp); # 57 "../../third_party/libc++/src/include/__type_traits/is_signed.h" 3 }} # 16 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_signed_integer.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_signed_integer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_signed_integer : public false_type {}; template <> struct __libcpp_is_signed_integer : public true_type {}; template <> struct __libcpp_is_signed_integer : public true_type {}; template <> struct __libcpp_is_signed_integer : public true_type {}; template <> struct __libcpp_is_signed_integer : public true_type {}; template <> struct __libcpp_is_signed_integer : public true_type {}; template <> struct __libcpp_is_signed_integer<__int128_t> : public true_type {}; }} # 17 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_unsigned_integer.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_unsigned_integer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_unsigned_integer : public false_type {}; template <> struct __libcpp_is_unsigned_integer : public true_type {}; template <> struct __libcpp_is_unsigned_integer : public true_type {}; template <> struct __libcpp_is_unsigned_integer : public true_type {}; template <> struct __libcpp_is_unsigned_integer : public true_type {}; template <> struct __libcpp_is_unsigned_integer : public true_type {}; template <> struct __libcpp_is_unsigned_integer<__uint128_t> : public true_type {}; }} # 18 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 2 3 # 21 "../../third_party/libc++/src/include/__concepts/arithmetic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept integral = is_integral_v<_Tp>; template concept signed_integral = integral<_Tp> && is_signed_v<_Tp>; template concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>; template concept floating_point = is_floating_point_v<_Tp>; template concept __libcpp_unsigned_integer = __libcpp_is_unsigned_integer<_Tp>::value; template concept __libcpp_signed_integer = __libcpp_is_signed_integer<_Tp>::value; template concept __libcpp_integer = __libcpp_unsigned_integer<_Tp> || __libcpp_signed_integer<_Tp>; }} # 14 "../../third_party/libc++/src/include/__iterator/iterator_traits.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/constructible.h" 1 3 # 12 "../../third_party/libc++/src/include/__concepts/constructible.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/constructible.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/destructible.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/destructible.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 1 3 # 14 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_destructible.h" 1 3 # 16 "../../third_party/libc++/src/include/__type_traits/is_destructible.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/remove_all_extents.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/remove_all_extents.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct remove_all_extents { using type __attribute__((__nodebug__)) = __remove_all_extents(_Tp); }; template using __remove_all_extents_t = __remove_all_extents(_Tp); # 48 "../../third_party/libc++/src/include/__type_traits/remove_all_extents.h" 3 template using remove_all_extents_t = __remove_all_extents_t<_Tp>; }} # 17 "../../third_party/libc++/src/include/__type_traits/is_destructible.h" 2 3 # 21 "../../third_party/libc++/src/include/__type_traits/is_destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_destructible : _BoolConstant<__is_destructible(_Tp)> {}; template inline constexpr bool is_destructible_v = __is_destructible(_Tp); # 95 "../../third_party/libc++/src/include/__type_traits/is_destructible.h" 3 }} # 15 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 1 3 # 15 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 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); }} # 16 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_member_pointer.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_member_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_member_pointer : _BoolConstant<__is_member_pointer(_Tp)> {}; template inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); # 45 "../../third_party/libc++/src/include/__type_traits/is_member_pointer.h" 3 }} # 17 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_null_pointer.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_null_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __is_nullptr_t_impl : public false_type {}; template <> struct __is_nullptr_t_impl : public true_type {}; template struct __is_nullptr_t : public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; template struct is_null_pointer : public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; template inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; }} # 18 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_pointer.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/is_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_pointer : _BoolConstant<__is_pointer(_Tp)> {}; template inline constexpr bool is_pointer_v = __is_pointer(_Tp); # 63 "../../third_party/libc++/src/include/__type_traits/is_pointer.h" 3 }} # 19 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 2 3 # 22 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_scalar : _BoolConstant<__is_scalar(_Tp)> {}; template inline constexpr bool is_scalar_v = __is_scalar(_Tp); # 67 "../../third_party/libc++/src/include/__type_traits/is_scalar.h" 3 }} # 17 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 2 3 # 23 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct __libcpp_is_nothrow_destructible; template struct __libcpp_is_nothrow_destructible : public false_type {}; template struct __libcpp_is_nothrow_destructible : public integral_constant().~_Tp()) > {}; template struct is_nothrow_destructible : public __libcpp_is_nothrow_destructible::value, _Tp> {}; template struct is_nothrow_destructible<_Tp[_Ns]> : public is_nothrow_destructible<_Tp> {}; template struct is_nothrow_destructible<_Tp&> : public true_type {}; template struct is_nothrow_destructible<_Tp&&> : public true_type {}; # 68 "../../third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h" 3 template inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Tp>::value; }} # 14 "../../third_party/libc++/src/include/__concepts/destructible.h" 2 3 # 17 "../../third_party/libc++/src/include/__concepts/destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept destructible = is_nothrow_destructible_v<_Tp>; }} # 14 "../../third_party/libc++/src/include/__concepts/constructible.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_constructible.h" 1 3 # 13 "../../third_party/libc++/src/include/__type_traits/is_constructible.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/is_constructible.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/is_constructible.h" 2 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); }} # 16 "../../third_party/libc++/src/include/__concepts/constructible.h" 2 3 # 19 "../../third_party/libc++/src/include/__concepts/constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept constructible_from = destructible<_Tp> && is_constructible_v<_Tp, _Args...>; template concept __default_initializable = requires { ::new _Tp; }; template concept default_initializable = constructible_from<_Tp> && requires { _Tp{}; } && __default_initializable<_Tp>; template concept move_constructible = constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>; template concept copy_constructible = move_constructible<_Tp> && constructible_from<_Tp, _Tp&> && convertible_to<_Tp&, _Tp> && constructible_from<_Tp, const _Tp&> && convertible_to && constructible_from<_Tp, const _Tp> && convertible_to; }} # 15 "../../third_party/libc++/src/include/__iterator/iterator_traits.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/copyable.h" 1 3 # 12 "../../third_party/libc++/src/include/__concepts/copyable.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/assignable.h" 1 3 # 12 "../../third_party/libc++/src/include/__concepts/assignable.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/common_reference_with.h" 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 # 16 "../../third_party/libc++/src/include/__type_traits/common_type.h" 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 # 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>>; }} # 13 "../../third_party/libc++/src/include/__concepts/assignable.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h" 1 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>&; }} # 17 "../../third_party/libc++/src/include/__concepts/assignable.h" 2 3 # 21 "../../third_party/libc++/src/include/__concepts/assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept assignable_from = is_lvalue_reference_v<_Lhs> && common_reference_with<__make_const_lvalue_ref<_Lhs>, __make_const_lvalue_ref<_Rhs>> && requires(_Lhs __lhs, _Rhs&& __rhs) { { __lhs = std::forward<_Rhs>(__rhs) } -> same_as<_Lhs>; }; }} # 13 "../../third_party/libc++/src/include/__concepts/copyable.h" 2 3 # 1 "../../third_party/libc++/src/include/__concepts/movable.h" 1 3 # 14 "../../third_party/libc++/src/include/__concepts/movable.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/swappable.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/swappable.h" 3 # 1 "../../third_party/libc++/src/include/__concepts/class_or_enum.h" 1 3 # 13 "../../third_party/libc++/src/include/__concepts/class_or_enum.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_class.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_class.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_class : public integral_constant {}; template inline constexpr bool is_class_v = __is_class(_Tp); }} # 14 "../../third_party/libc++/src/include/__concepts/class_or_enum.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_union.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_union.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_union : public integral_constant {}; template inline constexpr bool is_union_v = __is_union(_Tp); }} # 16 "../../third_party/libc++/src/include/__concepts/class_or_enum.h" 2 3 # 20 "../../third_party/libc++/src/include/__concepts/class_or_enum.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept __class_or_enum = is_class_v<_Tp> || is_union_v<_Tp> || is_enum_v<_Tp>; }} # 14 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/extent.h" 1 3 # 18 "../../third_party/libc++/src/include/__type_traits/extent.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct extent : integral_constant {}; template inline constexpr size_t extent_v = __array_extent(_Tp, _Ip); # 52 "../../third_party/libc++/src/include/__type_traits/extent.h" 3 }} # 18 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_nothrow_assignable.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_nothrow_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_nothrow_assignable : public integral_constant { }; template inline constexpr bool is_nothrow_assignable_v = __is_nothrow_assignable(_Tp, _Arg); template struct is_nothrow_copy_assignable : public integral_constant< bool, __is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t)> {}; template inline constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable<_Tp>::value; template struct is_nothrow_move_assignable : public integral_constant, __add_rvalue_reference_t<_Tp>)> { }; template inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<_Tp>::value; }} # 19 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h" 1 3 # 23 "../../third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template < class _Tp, class... _Args> struct is_nothrow_constructible : public integral_constant {}; # 67 "../../third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h" 3 template inline constexpr bool is_nothrow_constructible_v = is_nothrow_constructible<_Tp, _Args...>::value; # 80 "../../third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h" 3 template struct is_nothrow_copy_constructible : public integral_constant< bool, __is_nothrow_constructible(_Tp, __add_lvalue_reference_t)> {}; template inline constexpr bool is_nothrow_copy_constructible_v = is_nothrow_copy_constructible<_Tp>::value; template struct is_nothrow_move_constructible : public integral_constant)> {}; # 107 "../../third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h" 3 template inline constexpr bool is_nothrow_move_constructible_v = is_nothrow_move_constructible<_Tp>::value; template struct is_nothrow_default_constructible : public integral_constant {}; template inline constexpr bool is_nothrow_default_constructible_v = __is_nothrow_constructible(_Tp); }} # 20 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 1 "../../third_party/libc++/src/include/__utility/exchange.h" 1 3 # 16 "../../third_party/libc++/src/include/__utility/exchange.h" 3 # 1 "../../third_party/libc++/src/include/__utility/move.h" 1 3 # 21 "../../third_party/libc++/src/include/__utility/move.h" 3 # 1 "../../third_party/libc++/src/include/__undef_macros" 1 3 # 25 "../../third_party/libc++/src/include/__utility/move.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr __libcpp_remove_reference_t<_Tp>&& move([[_Clang::__lifetimebound__]] _Tp&& __t) noexcept { typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tp> _Up; return static_cast<_Up&&>(__t); } template using __move_if_noexcept_result_t = __conditional_t::value && is_copy_constructible<_Tp>::value, const _Tp&, _Tp&&>; template [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr __move_if_noexcept_result_t<_Tp> move_if_noexcept([[_Clang::__lifetimebound__]] _Tp& __x) noexcept { return std::move(__x); } }} # 17 "../../third_party/libc++/src/include/__utility/exchange.h" 2 3 # 20 "../../third_party/libc++/src/include/__utility/exchange.h" 3 # 1 "../../third_party/libc++/src/include/__undef_macros" 1 3 # 24 "../../third_party/libc++/src/include/__utility/exchange.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr _T1 exchange(_T1& __obj, _T2&& __new_value) noexcept( is_nothrow_move_constructible<_T1>::value && is_nothrow_assignable<_T1&, _T2>::value) { _T1 __old_value = std::move(__obj); __obj = std::forward<_T2>(__new_value); return __old_value; } }} # 22 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 1 "../../third_party/libc++/src/include/__utility/swap.h" 1 3 # 13 "../../third_party/libc++/src/include/__utility/swap.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_assignable.h" 1 3 # 19 "../../third_party/libc++/src/include/__type_traits/is_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_assignable : _BoolConstant<__is_assignable(_Tp, _Up)> {}; template inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Arg); template struct is_copy_assignable : public integral_constant, __add_lvalue_reference_t)> {}; template inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; template struct is_move_assignable : public integral_constant, __add_rvalue_reference_t<_Tp>)> {}; template inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; }} # 14 "../../third_party/libc++/src/include/__utility/swap.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_swappable.h" 1 3 # 25 "../../third_party/libc++/src/include/__type_traits/is_swappable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template inline const bool __is_swappable_with_v = false; template inline const bool __is_swappable_v = __is_swappable_with_v<_Tp&, _Tp&>; template > inline const bool __is_nothrow_swappable_with_v = false; template inline const bool __is_nothrow_swappable_v = __is_nothrow_swappable_with_v<_Tp&, _Tp&>; template using __swap_result_t = __enable_if_t::value && is_move_assignable<_Tp>::value>; template inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr __swap_result_t<_Tp> swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value); template , int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable_v<_Tp>); template inline const bool __is_swappable_with_v<_Tp, _Up, __void_t(), std::declval<_Up>())), decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> > = true; template inline const bool __is_nothrow_swappable_with_v<_Tp, _Up, true> = noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) && noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())); template inline constexpr bool is_swappable_with_v = __is_swappable_with_v<_Tp, _Up>; template struct is_swappable_with : bool_constant> {}; template inline constexpr bool is_swappable_v = is_swappable_with_v<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp>>; template struct is_swappable : bool_constant> {}; template inline constexpr bool is_nothrow_swappable_with_v = __is_nothrow_swappable_with_v<_Tp, _Up>; template struct is_nothrow_swappable_with : bool_constant> {}; template inline constexpr bool is_nothrow_swappable_v = is_nothrow_swappable_with_v<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp>>; template struct is_nothrow_swappable : bool_constant> {}; }} # 18 "../../third_party/libc++/src/include/__utility/swap.h" 2 3 # 24 "../../third_party/libc++/src/include/__utility/swap.h" 3 # 1 "../../third_party/libc++/src/include/__undef_macros" 1 3 # 28 "../../third_party/libc++/src/include/__utility/swap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template using __swap_result_t = __enable_if_t::value && is_move_assignable<_Tp>::value>; template inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __swap_result_t<_Tp> constexpr swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value) { _Tp __t(std::move(__x)); __x = std::move(__y); __y = std::move(__t); } template , int> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable_v<_Tp>) { for (size_t __i = 0; __i != _Np; ++__i) { swap(__a[__i], __b[__i]); } } }} # 25 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 # 29 "../../third_party/libc++/src/include/__concepts/swappable.h" 3 # 1 "../../third_party/libc++/src/include/__undef_macros" 1 3 # 33 "../../third_party/libc++/src/include/__concepts/swappable.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { namespace ranges { namespace __swap { template void swap(_Tp&, _Tp&) = delete; template concept __unqualified_swappable_with = (__class_or_enum> || __class_or_enum>) && requires(_Tp&& __t, _Up&& __u) { swap(std::forward<_Tp>(__t), std::forward<_Up>(__u)); }; struct __fn; template concept __swappable_arrays = !__unqualified_swappable_with<_Tp (&)[_Size], _Up (&)[_Size]> && extent_v<_Tp> == extent_v<_Up> && requires(_Tp (&__t)[_Size], _Up (&__u)[_Size], const __fn& __swap) { __swap(__t[0], __u[0]); }; template concept __exchangeable = !__unqualified_swappable_with<_Tp&, _Tp&> && move_constructible<_Tp> && assignable_from<_Tp&, _Tp>; struct __fn { template requires __unqualified_swappable_with<_Tp, _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr void operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(swap(std::forward<_Tp>(__t), std::forward<_Up>(__u)))) { swap(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } template requires __swappable_arrays<_Tp, _Up, _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr void operator()(_Tp (&__t)[_Size], _Up (&__u)[_Size]) const noexcept(noexcept((*this)(*__t, *__u))) { for (size_t __i = 0; __i < _Size; ++__i) { (*this)(__t[__i], __u[__i]); } } template <__exchangeable _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) constexpr void operator()(_Tp& __x, _Tp& __y) const noexcept(is_nothrow_move_constructible_v<_Tp> && is_nothrow_move_assignable_v<_Tp>) { __y = std::exchange(__x, std::move(__y)); } }; } inline namespace __cpo { inline constexpr auto swap = __swap::__fn{}; } } template concept swappable = requires(_Tp& __a, _Tp& __b) { ranges::swap(__a, __b); }; template concept swappable_with = common_reference_with<_Tp, _Up> && requires(_Tp&& __t, _Up&& __u) { ranges::swap(std::forward<_Tp>(__t), std::forward<_Tp>(__t)); ranges::swap(std::forward<_Up>(__u), std::forward<_Up>(__u)); ranges::swap(std::forward<_Tp>(__t), std::forward<_Up>(__u)); ranges::swap(std::forward<_Up>(__u), std::forward<_Tp>(__t)); }; }} # 15 "../../third_party/libc++/src/include/__concepts/movable.h" 2 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_object.h" 1 3 # 21 "../../third_party/libc++/src/include/__type_traits/is_object.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template struct is_object : _BoolConstant<__is_object(_Tp)> {}; template inline constexpr bool is_object_v = __is_object(_Tp); # 50 "../../third_party/libc++/src/include/__type_traits/is_object.h" 3 }} # 17 "../../third_party/libc++/src/include/__concepts/movable.h" 2 3 # 20 "../../third_party/libc++/src/include/__concepts/movable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept movable = is_object_v<_Tp> && move_constructible<_Tp> && assignable_from<_Tp&, _Tp> && swappable<_Tp>; }} # 15 "../../third_party/libc++/src/include/__concepts/copyable.h" 2 3 # 19 "../../third_party/libc++/src/include/__concepts/copyable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template concept copyable = copy_constructible<_Tp> && movable<_Tp> && assignable_from<_Tp&, _Tp&> && assignable_from<_Tp&, const _Tp&> && assignable_from<_Tp&, const _Tp>; }} # 17 "../../third_party/libc++/src/include/__iterator/iterator_traits.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 # 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>; }} # 18 "../../third_party/libc++/src/include/__iterator/iterator_traits.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>; }} # 20 "../../third_party/libc++/src/include/__iterator/iterator_traits.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; }} # 22 "../../third_party/libc++/src/include/__iterator/iterator_traits.h" 2 3 # 1 "../../third_party/libc++/src/include/__iterator/incrementable_traits.h" 1 3 # 17 "../../third_party/libc++/src/include/__iterator/incrementable_traits.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_primary_template.h" 1 3 # 15 "../../third_party/libc++/src/include/__type_traits/is_primary_template.h" 3 # 1 "../../third_party/libc++/src/include/__type_traits/is_valid_expansion.h" 1 3 # 17 "../../third_party/libc++/src/include/__type_traits/is_valid_expansion.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __Cr { template