Last active
February 28, 2026 01:08
-
-
Save kripken/a82416c4a69e3a8ac4ef3b01b7f10f06 to your computer and use it in GitHub Desktop.
testcase.cpp
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 1 "//Dev/emscripten/test/other/test_std_filesystem.cpp" | |
| # 1 "<built-in>" 1 | |
| # 1 "<built-in>" 3 | |
| # 445 "<built-in>" 3 | |
| # 1 "<command line>" 1 | |
| # 1 "<built-in>" 2 | |
| # 1 "//Dev/emscripten/test/other/test_std_filesystem.cpp" 2 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdint" 1 3 | |
| # 146 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdint" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config_site" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config_site" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/compiler.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/compiler.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config_site" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/compiler.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/compiler.h" 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/platform.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/platform.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config_site" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/platform.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/platform.h" 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/abi.h" 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/availability.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/availability.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/language.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/language.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config_site" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/language.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/language.h" 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/availability.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__configuration/availability.h" 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__config" 3 | |
| # 147 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdint" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/stdint.h" 1 3 | |
| # 56 "//Dev/llvm-project/build/lib/clang/23/include/stdint.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/stdint.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/stdint.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 110 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef unsigned long int uintptr_t; | |
| # 125 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef long int intptr_t; | |
| # 151 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef signed char int8_t; | |
| typedef signed short int16_t; | |
| typedef signed int int32_t; | |
| typedef signed long long int int64_t; | |
| typedef signed long long int intmax_t; | |
| typedef unsigned char uint8_t; | |
| typedef unsigned short uint16_t; | |
| typedef unsigned int uint32_t; | |
| typedef unsigned long long int uint64_t; | |
| # 201 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef unsigned long long int uintmax_t; | |
| # 21 "//Dev/emscripten/cache/sysroot/include/stdint.h" 2 3 | |
| typedef int8_t int_fast8_t; | |
| typedef int64_t int_fast64_t; | |
| typedef int8_t int_least8_t; | |
| typedef int16_t int_least16_t; | |
| typedef int32_t int_least32_t; | |
| typedef int64_t int_least64_t; | |
| typedef uint8_t uint_fast8_t; | |
| typedef uint64_t uint_fast64_t; | |
| typedef uint8_t uint_least8_t; | |
| typedef uint16_t uint_least16_t; | |
| typedef uint32_t uint_least32_t; | |
| typedef uint64_t uint_least64_t; | |
| # 112 "//Dev/emscripten/cache/sysroot/include/stdint.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/stdint.h" 1 3 | |
| typedef int32_t int_fast16_t; | |
| typedef int32_t int_fast32_t; | |
| typedef uint32_t uint_fast16_t; | |
| typedef uint32_t uint_fast32_t; | |
| # 113 "//Dev/emscripten/cache/sysroot/include/stdint.h" 2 3 | |
| # 57 "//Dev/llvm-project/build/lib/clang/23/include/stdint.h" 2 3 | |
| # 150 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdint" 2 3 | |
| # 154 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdint" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::int8_t __attribute__((__using_if_exists__)); | |
| using ::int16_t __attribute__((__using_if_exists__)); | |
| using ::int32_t __attribute__((__using_if_exists__)); | |
| using ::int64_t __attribute__((__using_if_exists__)); | |
| using ::uint8_t __attribute__((__using_if_exists__)); | |
| using ::uint16_t __attribute__((__using_if_exists__)); | |
| using ::uint32_t __attribute__((__using_if_exists__)); | |
| using ::uint64_t __attribute__((__using_if_exists__)); | |
| using ::int_least8_t __attribute__((__using_if_exists__)); | |
| using ::int_least16_t __attribute__((__using_if_exists__)); | |
| using ::int_least32_t __attribute__((__using_if_exists__)); | |
| using ::int_least64_t __attribute__((__using_if_exists__)); | |
| using ::uint_least8_t __attribute__((__using_if_exists__)); | |
| using ::uint_least16_t __attribute__((__using_if_exists__)); | |
| using ::uint_least32_t __attribute__((__using_if_exists__)); | |
| using ::uint_least64_t __attribute__((__using_if_exists__)); | |
| using ::int_fast8_t __attribute__((__using_if_exists__)); | |
| using ::int_fast16_t __attribute__((__using_if_exists__)); | |
| using ::int_fast32_t __attribute__((__using_if_exists__)); | |
| using ::int_fast64_t __attribute__((__using_if_exists__)); | |
| using ::uint_fast8_t __attribute__((__using_if_exists__)); | |
| using ::uint_fast16_t __attribute__((__using_if_exists__)); | |
| using ::uint_fast32_t __attribute__((__using_if_exists__)); | |
| using ::uint_fast64_t __attribute__((__using_if_exists__)); | |
| using ::intptr_t __attribute__((__using_if_exists__)); | |
| using ::uintptr_t __attribute__((__using_if_exists__)); | |
| using ::intmax_t __attribute__((__using_if_exists__)); | |
| using ::uintmax_t __attribute__((__using_if_exists__)); | |
| } } | |
| # 2 "//Dev/emscripten/test/other/test_std_filesystem.cpp" 2 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/filesystem" 1 3 | |
| # 542 "//Dev/emscripten/cache/sysroot/include/c++/v1/filesystem" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/copy_options.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/copy_options.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| enum class copy_options : unsigned short { | |
| none = 0, | |
| skip_existing = 1, | |
| overwrite_existing = 2, | |
| update_existing = 4, | |
| recursive = 8, | |
| copy_symlinks = 16, | |
| skip_symlinks = 32, | |
| directories_only = 64, | |
| create_symlinks = 128, | |
| create_hard_links = 256, | |
| __in_recursive_copy = 512, | |
| }; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr copy_options operator&(copy_options __lhs, copy_options __rhs) { | |
| return static_cast<copy_options>(static_cast<unsigned short>(__lhs) & static_cast<unsigned short>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr copy_options operator|(copy_options __lhs, copy_options __rhs) { | |
| return static_cast<copy_options>(static_cast<unsigned short>(__lhs) | static_cast<unsigned short>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr copy_options operator^(copy_options __lhs, copy_options __rhs) { | |
| return static_cast<copy_options>(static_cast<unsigned short>(__lhs) ^ static_cast<unsigned short>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr copy_options operator~(copy_options __lhs) { | |
| return static_cast<copy_options>(~static_cast<unsigned short>(__lhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline copy_options& operator&=(copy_options& __lhs, copy_options __rhs) { | |
| return __lhs = __lhs & __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline copy_options& operator|=(copy_options& __lhs, copy_options __rhs) { | |
| return __lhs = __lhs | __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline copy_options& operator^=(copy_options& __lhs, copy_options __rhs) { | |
| return __lhs = __lhs ^ __rhs; | |
| } | |
| } } } | |
| # 543 "//Dev/emscripten/cache/sysroot/include/c++/v1/filesystem" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/directory_entry.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/directory_entry.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/enable_if.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/enable_if.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <bool, class _Tp = void> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] enable_if{}; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-specialization" | |
| template <class _Tp> | |
| struct enable_if<true, _Tp> { | |
| typedef _Tp type; | |
| }; | |
| #pragma clang diagnostic pop | |
| template <bool _Bp, class _Tp = void> | |
| using __enable_if_t [[__gnu__::__nodebug__]] = typename enable_if<_Bp, _Tp>::type; | |
| template <bool _Bp, class _Tp = void> | |
| using enable_if_t = typename enable_if<_Bp, _Tp>::type; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_same.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_same.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/integral_constant.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/integral_constant.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, _Tp __v> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] integral_constant { | |
| static inline constexpr const _Tp value = __v; | |
| typedef _Tp value_type; | |
| typedef integral_constant type; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr operator value_type() const noexcept { return value; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr value_type operator()() const noexcept { return value; } | |
| }; | |
| typedef integral_constant<bool, true> true_type; | |
| typedef integral_constant<bool, false> false_type; | |
| template <bool _Val> | |
| using _BoolConstant [[__gnu__::__nodebug__]] = integral_constant<bool, _Val>; | |
| template <bool __b> | |
| using bool_constant = integral_constant<bool, __b>; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_same.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_same.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_same : _BoolConstant<__is_same(_Tp, _Up)> {}; | |
| template <class _Tp, class _Up> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_same_v = __is_same(_Tp, _Up); | |
| # 36 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_same.h" 3 | |
| template <class _Tp, class _Up> | |
| using _IsSame [[__gnu__::__nodebug__]] = _BoolConstant<__is_same(_Tp, _Up)>; | |
| template <class _Tp, class _Up> | |
| using _IsNotSame [[__gnu__::__nodebug__]] = _BoolConstant<!__is_same(_Tp, _Up)>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 280 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/ordering.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/common_comparison_category.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/common_comparison_category.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/size_t.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/size_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using size_t = decltype(sizeof(int)); | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/common_comparison_category.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/common_comparison_category.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 84 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/common_comparison_category.h" 3 | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_convertible.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_convertible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _T1, class _T2> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_convertible : integral_constant<bool, __is_convertible(_T1, _T2)> {}; | |
| template <class _From, class _To> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_convertible_v = __is_convertible(_From, _To); | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_convertible.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/declval.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/declval.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| #pragma GCC diagnostic push | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/declval.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/declval.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Tp> | |
| _Tp&& __declval(int); | |
| template <class _Tp> | |
| _Tp __declval(long); | |
| #pragma GCC diagnostic pop | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) 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 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/convertible_to.h" 3 | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/same_as.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/same_as.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/same_as.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_referenceable.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_referenceable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/void_t.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/void_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class...> | |
| using void_t = void; | |
| template <class...> | |
| using __void_t [[__gnu__::__nodebug__]] = void; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_referenceable.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_referenceable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class = void> | |
| inline const bool __is_referenceable_v = false; | |
| template <class _Tp> | |
| inline const bool __is_referenceable_v<_Tp, __void_t<_Tp&> > = true; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_void.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_void.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_void : _BoolConstant<__is_same(__remove_cv(_Tp), void)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_void_v = __is_same(__remove_cv(_Tp), void); | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_reference.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_reference.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_reference { | |
| using type [[__gnu__::__nodebug__]] = __remove_reference_t(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __libcpp_remove_reference_t [[__gnu__::__nodebug__]] = __remove_reference_t(_Tp); | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_reference.h" 3 | |
| template <class _Tp> | |
| using remove_reference_t = __libcpp_remove_reference_t<_Tp>; | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_pointer { | |
| using type [[__gnu__::__nodebug__]] = __add_pointer(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __add_pointer_t [[__gnu__::__nodebug__]] = __add_pointer(_Tp); | |
| # 59 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_pointer.h" 3 | |
| template <class _Tp> | |
| using add_pointer_t = __add_pointer_t<_Tp>; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/conditional.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/conditional.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <bool> | |
| struct _IfImpl; | |
| template <> | |
| struct _IfImpl<true> { | |
| template <class _IfRes, class _ElseRes> | |
| using _Select [[__gnu__::__nodebug__]] = _IfRes; | |
| }; | |
| template <> | |
| struct _IfImpl<false> { | |
| template <class _IfRes, class _ElseRes> | |
| using _Select [[__gnu__::__nodebug__]] = _ElseRes; | |
| }; | |
| template <bool _Cond, class _IfRes, class _ElseRes> | |
| using _If [[__gnu__::__nodebug__]] = typename _IfImpl<_Cond>::template _Select<_IfRes, _ElseRes>; | |
| template <bool _Bp, class _If, class _Then> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] conditional { | |
| using type [[__gnu__::__nodebug__]] = _If; | |
| }; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-specialization" | |
| template <class _If, class _Then> | |
| struct conditional<false, _If, _Then> { | |
| using type [[__gnu__::__nodebug__]] = _Then; | |
| }; | |
| #pragma clang diagnostic pop | |
| template <bool _Bp, class _IfRes, class _ElseRes> | |
| using conditional_t [[__gnu__::__nodebug__]] = typename conditional<_Bp, _IfRes, _ElseRes>::type; | |
| template <bool _Bp, class _If, class _Then> | |
| using __conditional_t [[__gnu__::__nodebug__]] = typename conditional<_Bp, _If, _Then>::type; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/decay.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/decay.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] decay { | |
| using type [[__gnu__::__nodebug__]] = __decay(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __decay_t [[__gnu__::__nodebug__]] = __decay(_Tp); | |
| template <class _Tp> | |
| using decay_t = __decay_t<_Tp>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cvref.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cvref.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cvref.h" 3 | |
| template <class _Tp> | |
| using __remove_cvref_t [[__gnu__::__nodebug__]] = __remove_cvref(_Tp); | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cvref.h" 3 | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/type_identity.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/type_identity.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __type_identity { | |
| typedef _Tp type; | |
| }; | |
| template <class _Tp> | |
| using __type_identity_t [[__gnu__::__nodebug__]] = typename __type_identity<_Tp>::type; | |
| # 37 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/type_identity.h" 3 | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/empty.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/empty.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __empty {}; | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class... _Args> | |
| struct common_type; | |
| template <class... _Args> | |
| using __common_type_t [[__gnu__::__nodebug__]] = typename common_type<_Args...>::type; | |
| template <class... _Args> | |
| struct common_type : __builtin_common_type<__common_type_t, __type_identity, __empty, _Args...> {}; | |
| # 111 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_type.h" 3 | |
| template <class... _Tp> | |
| using common_type_t = typename common_type<_Tp...>::type; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cv.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cv.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _From> | |
| struct __copy_cv { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = _To; | |
| }; | |
| template <class _From> | |
| struct __copy_cv<const _From> { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = const _To; | |
| }; | |
| template <class _From> | |
| struct __copy_cv<volatile _From> { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = volatile _To; | |
| }; | |
| template <class _From> | |
| struct __copy_cv<const volatile _From> { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = const volatile _To; | |
| }; | |
| template <class _From, class _To> | |
| using __copy_cv_t [[__gnu__::__nodebug__]] = typename __copy_cv<_From>::template __apply<_To>; | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cvref.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cvref.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_reference.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_reference.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_lvalue_reference { | |
| using type [[__gnu__::__nodebug__]] = __add_lvalue_reference(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __add_lvalue_reference_t [[__gnu__::__nodebug__]] = __add_lvalue_reference(_Tp); | |
| template <class _Tp> | |
| using add_lvalue_reference_t = __add_lvalue_reference_t<_Tp>; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_rvalue_reference { | |
| using type [[__gnu__::__nodebug__]] = __add_rvalue_reference(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __add_rvalue_reference_t [[__gnu__::__nodebug__]] = __add_rvalue_reference(_Tp); | |
| template <class _Tp> | |
| using add_rvalue_reference_t = __add_rvalue_reference_t<_Tp>; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cvref.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/copy_cvref.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _From> | |
| struct __copy_cvref { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = __copy_cv_t<_From, _To>; | |
| }; | |
| template <class _From> | |
| struct __copy_cvref<_From&> { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = __add_lvalue_reference_t<__copy_cv_t<_From, _To> >; | |
| }; | |
| template <class _From> | |
| struct __copy_cvref<_From&&> { | |
| template <class _To> | |
| using __apply [[__gnu__::__nodebug__]] = __add_rvalue_reference_t<__copy_cv_t<_From, _To> >; | |
| }; | |
| template <class _From, class _To> | |
| using __copy_cvref_t [[__gnu__::__nodebug__]] = typename __copy_cvref<_From>::template __apply<_To>; | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_reference : _BoolConstant<__is_reference(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_reference_v = __is_reference(_Tp); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_rvalue_reference : _BoolConstant<__is_rvalue_reference(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_lvalue_reference_v = __is_lvalue_reference(_Tp); | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_rvalue_reference_v = __is_rvalue_reference(_Tp); | |
| # 66 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference.h" 3 | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 200 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/common_reference.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/common_reference_with.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/boolean_testable.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/boolean_testable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/forward.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/forward.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp&& | |
| forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>& __t) noexcept { | |
| return static_cast<_Tp&&>(__t); | |
| } | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp&& | |
| forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>&& __t) noexcept { | |
| static_assert(!is_lvalue_reference<_Tp>::value, "cannot forward an rvalue as an lvalue"); | |
| return static_cast<_Tp&&>(__t); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/boolean_testable.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/boolean_testable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 36 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/boolean_testable.h" 3 | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| using __make_const_lvalue_ref [[__gnu__::__nodebug__]] = const __libcpp_remove_reference_t<_Tp>&; | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/equality_comparable.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/totally_ordered.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/totally_ordered.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 57 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/totally_ordered.h" 3 | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 53 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/three_way_comparable.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_floating_point.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_floating_point.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cv.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_cv.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_cv { | |
| using type [[__gnu__::__nodebug__]] = __remove_cv(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_cv_t [[__gnu__::__nodebug__]] = __remove_cv(_Tp); | |
| template <class _Tp> | |
| using remove_cv_t = __remove_cv_t<_Tp>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_floating_point.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_floating_point.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> struct __libcpp_is_floating_point : false_type {}; | |
| template <> struct __libcpp_is_floating_point<float> : true_type {}; | |
| template <> struct __libcpp_is_floating_point<double> : true_type {}; | |
| template <> struct __libcpp_is_floating_point<long double> : true_type {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_floating_point : __libcpp_is_floating_point<__remove_cv_t<_Tp> > {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; | |
| } } | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 1 3 | |
| # 109 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_arithmetic.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_arithmetic.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_integral.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_integral.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_integral : _BoolConstant<__is_integral(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_integral_v = __is_integral(_Tp); | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_integral.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_arithmetic.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_arithmetic.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_arithmetic | |
| : integral_constant<bool, is_integral<_Tp>::value || is_floating_point<_Tp>::value> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; | |
| } } | |
| # 110 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_signed.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_signed.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_signed : _BoolConstant<__is_signed(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_signed_v = __is_signed(_Tp); | |
| # 50 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_signed.h" 3 | |
| } } | |
| # 111 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 2 3 | |
| # 114 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 118 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/version" 1 3 | |
| # 290 "//Dev/emscripten/cache/sysroot/include/c++/v1/version" 3 | |
| # 119 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| enum float_round_style { | |
| round_indeterminate = -1, | |
| round_toward_zero = 0, | |
| round_to_nearest = 1, | |
| round_toward_infinity = 2, | |
| round_toward_neg_infinity = 3 | |
| }; | |
| enum float_denorm_style { | |
| denorm_indeterminate = -1, | |
| denorm_absent = 0, | |
| denorm_present = 1 | |
| }; | |
| template <class _Tp, bool = is_arithmetic<_Tp>::value> | |
| class __libcpp_numeric_limits { | |
| protected: | |
| typedef _Tp type; | |
| static constexpr const bool is_specialized = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return type(); } | |
| static constexpr const int digits = 0; | |
| static constexpr const int digits10 = 0; | |
| static constexpr const int max_digits10 = 0; | |
| static constexpr const bool is_signed = false; | |
| static constexpr const bool is_integer = false; | |
| static constexpr const bool is_exact = false; | |
| static constexpr const int radix = 0; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return type(); } | |
| static constexpr const int min_exponent = 0; | |
| static constexpr const int min_exponent10 = 0; | |
| static constexpr const int max_exponent = 0; | |
| static constexpr const int max_exponent10 = 0; | |
| static constexpr const bool has_infinity = false; | |
| static constexpr const bool has_quiet_NaN = false; | |
| static constexpr const bool has_signaling_NaN = false; | |
| static constexpr const float_denorm_style has_denorm = denorm_absent; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { return type(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { return type(); } | |
| static constexpr const bool is_iec559 = false; | |
| static constexpr const bool is_bounded = false; | |
| static constexpr const bool is_modulo = false; | |
| static constexpr const bool traps = false; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_toward_zero; | |
| }; | |
| template <class _Tp> | |
| class __libcpp_numeric_limits<_Tp, true> { | |
| protected: | |
| typedef _Tp type; | |
| static constexpr const bool is_specialized = true; | |
| static constexpr const bool is_signed = type(-1) < type(0); | |
| static constexpr const int digits = static_cast<int>(sizeof(type) * 8 - is_signed); | |
| static constexpr const int digits10 = digits * 3 / 10; | |
| static constexpr const int max_digits10 = 0; | |
| static constexpr const type __min = is_signed ? _Tp(_Tp(1) << digits) : 0; | |
| static constexpr const type __max = is_signed ? type(type(~0) ^ __min) : type(~0); | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return __min; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return __max; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return min(); } | |
| static constexpr const bool is_integer = true; | |
| static constexpr const bool is_exact = true; | |
| static constexpr const int radix = 2; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return type(0); } | |
| static constexpr const int min_exponent = 0; | |
| static constexpr const int min_exponent10 = 0; | |
| static constexpr const int max_exponent = 0; | |
| static constexpr const int max_exponent10 = 0; | |
| static constexpr const bool has_infinity = false; | |
| static constexpr const bool has_quiet_NaN = false; | |
| static constexpr const bool has_signaling_NaN = false; | |
| static constexpr const float_denorm_style has_denorm = denorm_absent; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { return type(0); } | |
| static constexpr const bool is_iec559 = false; | |
| static constexpr const bool is_bounded = true; | |
| static constexpr const bool is_modulo = !std::is_signed<_Tp>::value; | |
| static constexpr const bool traps = true; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_toward_zero; | |
| }; | |
| template <> | |
| class __libcpp_numeric_limits<bool, true> { | |
| protected: | |
| typedef bool type; | |
| static constexpr const bool is_specialized = true; | |
| static constexpr const bool is_signed = false; | |
| static constexpr const int digits = 1; | |
| static constexpr const int digits10 = 0; | |
| static constexpr const int max_digits10 = 0; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return false; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return true; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return min(); } | |
| static constexpr const bool is_integer = true; | |
| static constexpr const bool is_exact = true; | |
| static constexpr const int radix = 2; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return type(0); } | |
| static constexpr const int min_exponent = 0; | |
| static constexpr const int min_exponent10 = 0; | |
| static constexpr const int max_exponent = 0; | |
| static constexpr const int max_exponent10 = 0; | |
| static constexpr const bool has_infinity = false; | |
| static constexpr const bool has_quiet_NaN = false; | |
| static constexpr const bool has_signaling_NaN = false; | |
| static constexpr const float_denorm_style has_denorm = denorm_absent; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { return type(0); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { return type(0); } | |
| static constexpr const bool is_iec559 = false; | |
| static constexpr const bool is_bounded = true; | |
| static constexpr const bool is_modulo = false; | |
| static constexpr const bool traps = false; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_toward_zero; | |
| }; | |
| template <> | |
| class __libcpp_numeric_limits<float, true> { | |
| protected: | |
| typedef float type; | |
| static constexpr const bool is_specialized = true; | |
| static constexpr const bool is_signed = true; | |
| static constexpr const int digits = 24; | |
| static constexpr const int digits10 = 6; | |
| static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return 1.17549435e-38F; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return 3.40282347e+38F; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return -max(); } | |
| static constexpr const bool is_integer = false; | |
| static constexpr const bool is_exact = false; | |
| static constexpr const int radix = 2; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return 1.19209290e-7F; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return 0.5F; } | |
| static constexpr const int min_exponent = (-125); | |
| static constexpr const int min_exponent10 = (-37); | |
| static constexpr const int max_exponent = 128; | |
| static constexpr const int max_exponent10 = 38; | |
| static constexpr const bool has_infinity = true; | |
| static constexpr const bool has_quiet_NaN = true; | |
| static constexpr const bool has_signaling_NaN = true; | |
| static constexpr const float_denorm_style has_denorm = denorm_present; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { | |
| return __builtin_huge_valf(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { | |
| return __builtin_nanf(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { | |
| return __builtin_nansf(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { | |
| return 1.40129846e-45F; | |
| } | |
| static constexpr const bool is_iec559 = true; | |
| static constexpr const bool is_bounded = true; | |
| static constexpr const bool is_modulo = false; | |
| static constexpr const bool traps = false; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_to_nearest; | |
| }; | |
| template <> | |
| class __libcpp_numeric_limits<double, true> { | |
| protected: | |
| typedef double type; | |
| static constexpr const bool is_specialized = true; | |
| static constexpr const bool is_signed = true; | |
| static constexpr const int digits = 53; | |
| static constexpr const int digits10 = 15; | |
| static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return 2.2250738585072014e-308; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return 1.7976931348623157e+308; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return -max(); } | |
| static constexpr const bool is_integer = false; | |
| static constexpr const bool is_exact = false; | |
| static constexpr const int radix = 2; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return 2.2204460492503131e-16; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return 0.5; } | |
| static constexpr const int min_exponent = (-1021); | |
| static constexpr const int min_exponent10 = (-307); | |
| static constexpr const int max_exponent = 1024; | |
| static constexpr const int max_exponent10 = 308; | |
| static constexpr const bool has_infinity = true; | |
| static constexpr const bool has_quiet_NaN = true; | |
| static constexpr const bool has_signaling_NaN = true; | |
| static constexpr const float_denorm_style has_denorm = denorm_present; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { | |
| return __builtin_huge_val(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { | |
| return __builtin_nan(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { | |
| return __builtin_nans(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { | |
| return 4.9406564584124654e-324; | |
| } | |
| static constexpr const bool is_iec559 = true; | |
| static constexpr const bool is_bounded = true; | |
| static constexpr const bool is_modulo = false; | |
| static constexpr const bool traps = false; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_to_nearest; | |
| }; | |
| template <> | |
| class __libcpp_numeric_limits<long double, true> { | |
| protected: | |
| typedef long double type; | |
| static constexpr const bool is_specialized = true; | |
| static constexpr const bool is_signed = true; | |
| static constexpr const int digits = 113; | |
| static constexpr const int digits10 = 33; | |
| static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return 3.36210314311209350626267781732175260e-4932L; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return 1.18973149535723176508575932662800702e+4932L; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return -max(); } | |
| static constexpr const bool is_integer = false; | |
| static constexpr const bool is_exact = false; | |
| static constexpr const int radix = 2; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { return 1.92592994438723585305597794258492732e-34L; } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { return 0.5L; } | |
| static constexpr const int min_exponent = (-16381); | |
| static constexpr const int min_exponent10 = (-4931); | |
| static constexpr const int max_exponent = 16384; | |
| static constexpr const int max_exponent10 = 4932; | |
| static constexpr const bool has_infinity = true; | |
| static constexpr const bool has_quiet_NaN = true; | |
| static constexpr const bool has_signaling_NaN = true; | |
| static constexpr const float_denorm_style has_denorm = denorm_present; | |
| static constexpr const bool has_denorm_loss = false; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { | |
| return __builtin_huge_vall(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { | |
| return __builtin_nanl(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { | |
| return __builtin_nansl(""); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { | |
| return 6.47517511943802511092443895822764655e-4966L; | |
| } | |
| static constexpr const bool is_iec559 = true; | |
| static constexpr const bool is_bounded = true; | |
| static constexpr const bool is_modulo = false; | |
| static constexpr const bool traps = false; | |
| static constexpr const bool tinyness_before = false; | |
| static constexpr const float_round_style round_style = round_to_nearest; | |
| }; | |
| template <class _Tp> | |
| class numeric_limits : private __libcpp_numeric_limits<_Tp> { | |
| typedef __libcpp_numeric_limits<_Tp> __base; | |
| typedef typename __base::type type; | |
| public: | |
| static inline constexpr const bool is_specialized = __base::is_specialized; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type min() noexcept { return __base::min(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type max() noexcept { return __base::max(); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type lowest() noexcept { return __base::lowest(); } | |
| static inline constexpr const int digits = __base::digits; | |
| static inline constexpr const int digits10 = __base::digits10; | |
| static inline constexpr const int max_digits10 = __base::max_digits10; | |
| static inline constexpr const bool is_signed = __base::is_signed; | |
| static inline constexpr const bool is_integer = __base::is_integer; | |
| static inline constexpr const bool is_exact = __base::is_exact; | |
| static inline constexpr const int radix = __base::radix; | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type epsilon() noexcept { | |
| return __base::epsilon(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type round_error() noexcept { | |
| return __base::round_error(); | |
| } | |
| static inline constexpr const int min_exponent = __base::min_exponent; | |
| static inline constexpr const int min_exponent10 = __base::min_exponent10; | |
| static inline constexpr const int max_exponent = __base::max_exponent; | |
| static inline constexpr const int max_exponent10 = __base::max_exponent10; | |
| static inline constexpr const bool has_infinity = __base::has_infinity; | |
| static inline constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; | |
| static inline constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; | |
| #pragma GCC diagnostic push | |
| # 484 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 484 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| static inline constexpr const float_denorm_style has_denorm = __base::has_denorm; | |
| static inline constexpr const bool has_denorm_loss = __base::has_denorm_loss; | |
| #pragma GCC diagnostic pop | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type infinity() noexcept { | |
| return __base::infinity(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type quiet_NaN() noexcept { | |
| return __base::quiet_NaN(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type signaling_NaN() noexcept { | |
| return __base::signaling_NaN(); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr type denorm_min() noexcept { | |
| return __base::denorm_min(); | |
| } | |
| static inline constexpr const bool is_iec559 = __base::is_iec559; | |
| static inline constexpr const bool is_bounded = __base::is_bounded; | |
| static inline constexpr const bool is_modulo = __base::is_modulo; | |
| static inline constexpr const bool traps = __base::traps; | |
| static inline constexpr const bool tinyness_before = __base::tinyness_before; | |
| static inline constexpr const float_round_style round_style = __base::round_style; | |
| }; | |
| template <class _Tp> | |
| class numeric_limits<const _Tp> : public numeric_limits<_Tp> {}; | |
| template <class _Tp> | |
| class numeric_limits<volatile _Tp> : public numeric_limits<_Tp> {}; | |
| template <class _Tp> | |
| class numeric_limits<const volatile _Tp> : public numeric_limits<_Tp> {}; | |
| } } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 1 3 | |
| # 465 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_cv_quals.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/add_cv_quals.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_const { | |
| using type [[__gnu__::__nodebug__]] = const _Tp; | |
| }; | |
| template <class _Tp> | |
| using add_const_t = typename add_const<_Tp>::type; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_cv { | |
| using type [[__gnu__::__nodebug__]] = const volatile _Tp; | |
| }; | |
| template <class _Tp> | |
| using add_cv_t = typename add_cv<_Tp>::type; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] add_volatile { | |
| using type [[__gnu__::__nodebug__]] = volatile _Tp; | |
| }; | |
| template <class _Tp> | |
| using add_volatile_t = typename add_volatile<_Tp>::type; | |
| } } | |
| # 466 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/type_list.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/type_list.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class... _Types> | |
| struct __type_list {}; | |
| template <class> | |
| struct __type_list_head; | |
| template <class _Head, class... _Tail> | |
| struct __type_list_head<__type_list<_Head, _Tail...> > { | |
| using type [[__gnu__::__nodebug__]] = _Head; | |
| }; | |
| template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename __type_list_head<_TypeList>::type)> | |
| struct __find_first; | |
| template <class _Head, class... _Tail, size_t _Size> | |
| struct __find_first<__type_list<_Head, _Tail...>, _Size, true> { | |
| using type [[__gnu__::__nodebug__]] = _Head; | |
| }; | |
| template <class _Head, class... _Tail, size_t _Size> | |
| struct __find_first<__type_list<_Head, _Tail...>, _Size, false> { | |
| using type [[__gnu__::__nodebug__]] = typename __find_first<__type_list<_Tail...>, _Size>::type; | |
| }; | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __align_type { | |
| static const size_t value = __alignof(_Tp); | |
| typedef _Tp type; | |
| }; | |
| struct __struct_double { | |
| long double __lx; | |
| }; | |
| struct __struct_double4 { | |
| double __lx[4]; | |
| }; | |
| using __all_types [[__gnu__::__nodebug__]] = | |
| __type_list<__align_type<unsigned char>, | |
| __align_type<unsigned short>, | |
| __align_type<unsigned int>, | |
| __align_type<unsigned long>, | |
| __align_type<unsigned long long>, | |
| __align_type<double>, | |
| __align_type<long double>, | |
| __align_type<__struct_double>, | |
| __align_type<__struct_double4>, | |
| __align_type<int*> >; | |
| template <class _TL, size_t _Len> | |
| struct __find_max_align; | |
| template <class _Head, size_t _Len> | |
| struct __find_max_align<__type_list<_Head>, _Len> : public integral_constant<size_t, _Head::value> {}; | |
| template <size_t _Len, size_t _A1, size_t _A2> | |
| struct __select_align { | |
| private: | |
| static const size_t __min = _A2 < _A1 ? _A2 : _A1; | |
| static const size_t __max = _A1 < _A2 ? _A2 : _A1; | |
| public: | |
| static const size_t value = _Len < __max ? __min : __max; | |
| }; | |
| template <class _Head, class... _Tail, size_t _Len> | |
| struct __find_max_align<__type_list<_Head, _Tail...>, _Len> | |
| : public integral_constant< | |
| size_t, | |
| __select_align<_Len, _Head::value, __find_max_align<__type_list<_Tail...>, _Len>::value>::value> {}; | |
| template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] aligned_storage { | |
| union alignas(_Align) type { | |
| unsigned char __data[(_Len + _Align - 1) / _Align * _Align]; | |
| }; | |
| }; | |
| #pragma GCC diagnostic push | |
| # 79 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 79 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> | |
| using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; | |
| #pragma GCC diagnostic pop | |
| } } | |
| # 469 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_union.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/aligned_union.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t _I0, size_t... _In> | |
| struct __static_max; | |
| template <size_t _I0> | |
| struct __static_max<_I0> { | |
| static const size_t value = _I0; | |
| }; | |
| template <size_t _I0, size_t _I1, size_t... _In> | |
| struct __static_max<_I0, _I1, _In...> { | |
| static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value : __static_max<_I1, _In...>::value; | |
| }; | |
| template <size_t _Len, class _Type0, class... _Types> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] aligned_union { | |
| static const size_t alignment_value = | |
| __static_max<__alignof(_Type0), __alignof(_Types)...>::value; | |
| static const size_t __len = __static_max<_Len, sizeof(_Type0), sizeof(_Types)...>::value; | |
| typedef typename aligned_storage<__len, alignment_value>::type type; | |
| }; | |
| template <size_t _Len, class... _Types> | |
| using aligned_union_t = typename aligned_union<_Len, _Types...>::type; | |
| } } | |
| # 470 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/alignment_of.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/alignment_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] alignment_of : public integral_constant<size_t, alignof(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr size_t alignment_of_v = alignof(_Tp); | |
| } } | |
| # 471 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/extent.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/extent.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, size_t _Dim = 0> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] extent : integral_constant<size_t, __array_extent(_Tp, _Dim)> {}; | |
| template <class _Tp, unsigned _Ip = 0> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr size_t extent_v = __array_extent(_Tp, _Ip); | |
| # 52 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/extent.h" 3 | |
| } } | |
| # 476 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/has_virtual_destructor.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/has_virtual_destructor.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] has_virtual_destructor | |
| : public integral_constant<bool, __has_virtual_destructor(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool has_virtual_destructor_v = __has_virtual_destructor(_Tp); | |
| } } | |
| # 477 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_abstract.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_abstract.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_abstract : integral_constant<bool, __is_abstract(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_abstract_v = __is_abstract(_Tp); | |
| } } | |
| # 479 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_array.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_array.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_array : _BoolConstant<__is_array(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_array_v = __is_array(_Tp); | |
| } } | |
| # 481 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_assignable.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_assignable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_assignable : _BoolConstant<__is_assignable(_Tp, _Up)> {}; | |
| template <class _Tp, class _Arg> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Arg); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_copy_assignable | |
| : integral_constant<bool, __is_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_move_assignable | |
| : integral_constant<bool, __is_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; | |
| } } | |
| # 482 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_base_of.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_base_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Bp, class _Dp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_base_of : integral_constant<bool, __is_base_of(_Bp, _Dp)> {}; | |
| template <class _Bp, class _Dp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp); | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_base_of.h" 3 | |
| } } | |
| # 483 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_class.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_class.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_class : integral_constant<bool, __is_class(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_class_v = __is_class(_Tp); | |
| } } | |
| # 484 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_compound.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_compound.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_fundamental.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_null_pointer.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_null_pointer.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/nullptr_t.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/nullptr_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using nullptr_t = decltype(nullptr); | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_null_pointer.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_null_pointer.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| inline const bool __is_null_pointer_v = __is_same(__remove_cv(_Tp), nullptr_t); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_null_pointer : integral_constant<bool, __is_null_pointer_v<_Tp>> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_null_pointer_v = __is_null_pointer_v<_Tp>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_fundamental.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_fundamental : _BoolConstant<__is_fundamental(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_fundamental_v = __is_fundamental(_Tp); | |
| # 46 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_compound.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_compound.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_compound : _BoolConstant<__is_compound(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_compound_v = __is_compound(_Tp); | |
| # 44 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_compound.h" 3 | |
| } } | |
| # 485 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_const.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_const.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_const : _BoolConstant<__is_const(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_const_v = __is_const(_Tp); | |
| } } | |
| # 486 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_constructible.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_constructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_constructible : integral_constant<bool, __is_constructible(_Tp, _Args...)> {}; | |
| template <class _Tp, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_copy_constructible | |
| : integral_constant<bool, __is_constructible(_Tp, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_copy_constructible_v = is_copy_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_move_constructible | |
| : integral_constant<bool, __is_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_move_constructible_v = is_move_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_default_constructible : integral_constant<bool, __is_constructible(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); | |
| } } | |
| # 487 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_function.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_function.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_function : integral_constant<bool, __is_function(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_function_v = __is_function(_Tp); | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_all_extents.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_all_extents.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_all_extents { | |
| using type [[__gnu__::__nodebug__]] = __remove_all_extents(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_all_extents_t [[__gnu__::__nodebug__]] = __remove_all_extents(_Tp); | |
| template <class _Tp> | |
| using remove_all_extents_t = __remove_all_extents_t<_Tp>; | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 2 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_destructible : _BoolConstant<__is_destructible(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_destructible_v = __is_destructible(_Tp); | |
| # 95 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_destructible.h" 3 | |
| } } | |
| # 489 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_empty.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_empty.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_empty : integral_constant<bool, __is_empty(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_empty_v = __is_empty(_Tp); | |
| } } | |
| # 490 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_enum.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_enum.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_enum : integral_constant<bool, __is_enum(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_enum_v = __is_enum(_Tp); | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_enum.h" 3 | |
| } } | |
| # 491 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_literal_type.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_literal_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __attribute__((__deprecated__)) [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_literal_type | |
| : integral_constant<bool, __is_literal_type(_Tp)> {}; | |
| template <class _Tp> | |
| __attribute__((__deprecated__)) [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); | |
| } } | |
| # 496 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_member_pointer.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_member_pointer.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_member_pointer : _BoolConstant<__is_member_pointer(_Tp)> {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_member_object_pointer : _BoolConstant<__is_member_object_pointer(_Tp)> {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_member_function_pointer : _BoolConstant<__is_member_function_pointer(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); | |
| } } | |
| # 497 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_assignable.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_assignable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Arg> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_assignable : integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> { | |
| }; | |
| template <class _Tp, class _Arg> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_assignable_v = __is_nothrow_assignable(_Tp, _Arg); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_copy_assignable | |
| : integral_constant<bool, | |
| __is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_move_assignable | |
| : integral_constant<bool, __is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<_Tp>::value; | |
| } } | |
| # 498 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_constructible.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template < class _Tp, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_constructible | |
| : integral_constant<bool, __is_nothrow_constructible(_Tp, _Args...)> {}; | |
| template <class _Tp, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_constructible_v = | |
| is_nothrow_constructible<_Tp, _Args...>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_copy_constructible | |
| : integral_constant<bool, __is_nothrow_constructible(_Tp, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_copy_constructible_v = | |
| is_nothrow_copy_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_move_constructible | |
| : integral_constant<bool, __is_nothrow_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_move_constructible_v = | |
| is_nothrow_move_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_default_constructible | |
| : integral_constant<bool, __is_nothrow_constructible(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_default_constructible_v = __is_nothrow_constructible(_Tp); | |
| } } | |
| # 499 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_destructible.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_destructible : integral_constant<bool, __is_nothrow_destructible(_Tp)> {}; | |
| # 55 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Tp>::value; | |
| } } | |
| # 500 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_object.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_object.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_object : _BoolConstant<__is_object(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_object_v = __is_object(_Tp); | |
| } } | |
| # 501 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_pod.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_pod.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_pod : integral_constant<bool, __is_pod(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_pod_v = __is_pod(_Tp); | |
| } } | |
| # 502 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_pointer.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_pointer.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_pointer : _BoolConstant<__is_pointer(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_pointer_v = __is_pointer(_Tp); | |
| } } | |
| # 503 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_polymorphic.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_polymorphic.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_polymorphic : integral_constant<bool, __is_polymorphic(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); | |
| } } | |
| # 504 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_scalar.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_scalar.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_scalar : _BoolConstant<__is_scalar(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_scalar_v = __is_scalar(_Tp); | |
| # 67 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_scalar.h" 3 | |
| } } | |
| # 507 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_standard_layout.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_standard_layout.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_standard_layout : integral_constant<bool, __is_standard_layout(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); | |
| } } | |
| # 509 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivial.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivial.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivial : integral_constant<bool, __is_trivial(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivial_v = __is_trivial(_Tp); | |
| } } | |
| # 510 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_assignable.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_assignable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Arg> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_assignable | |
| : integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)> {}; | |
| template <class _Tp, class _Arg> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_assignable_v = __is_trivially_assignable(_Tp, _Arg); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_copy_assignable | |
| : integral_constant< | |
| bool, | |
| __is_trivially_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_copy_assignable_v = | |
| is_trivially_copy_assignable<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_move_assignable | |
| : integral_constant<bool, __is_trivially_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> { | |
| }; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_move_assignable_v = | |
| is_trivially_move_assignable<_Tp>::value; | |
| } } | |
| # 511 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_constructible.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_constructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_constructible | |
| : integral_constant<bool, __is_trivially_constructible(_Tp, _Args...)> {}; | |
| template <class _Tp, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_constructible_v = | |
| __is_trivially_constructible(_Tp, _Args...); | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_copy_constructible | |
| : integral_constant<bool, __is_trivially_constructible(_Tp, __add_lvalue_reference_t<const _Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_copy_constructible_v = | |
| is_trivially_copy_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_move_constructible | |
| : integral_constant<bool, __is_trivially_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_move_constructible_v = | |
| is_trivially_move_constructible<_Tp>::value; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_default_constructible | |
| : integral_constant<bool, __is_trivially_constructible(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_default_constructible_v = | |
| __is_trivially_constructible(_Tp); | |
| } } | |
| # 512 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_copyable.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_copyable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_copyable : integral_constant<bool, __is_trivially_copyable(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); | |
| template <class _Tp> | |
| inline const bool __is_cheap_to_copy = __is_trivially_copyable(_Tp) && sizeof(_Tp) <= sizeof(std::intmax_t); | |
| } } | |
| # 513 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_destructible.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_trivially_destructible | |
| : integral_constant<bool, __is_trivially_destructible(_Tp)> {}; | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_trivially_destructible_v = is_trivially_destructible<_Tp>::value; | |
| } } | |
| # 514 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_union.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_union.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_union : integral_constant<bool, __is_union(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_union_v = __is_union(_Tp); | |
| } } | |
| # 515 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_unsigned.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_unsigned.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_unsigned : _BoolConstant<__is_unsigned(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_unsigned_v = __is_unsigned(_Tp); | |
| # 50 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_unsigned.h" 3 | |
| } } | |
| # 516 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_volatile.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_volatile.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_volatile : _BoolConstant<__is_volatile(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_volatile_v = __is_volatile(_Tp); | |
| } } | |
| # 518 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_signed.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_signed.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| using __make_signed_t [[__gnu__::__nodebug__]] = __make_signed(_Tp); | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_signed.h" 3 | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] make_signed { | |
| using type [[__gnu__::__nodebug__]] = __make_signed_t<_Tp>; | |
| }; | |
| template <class _Tp> | |
| using make_signed_t = __make_signed_t<_Tp>; | |
| } } | |
| # 519 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_unsigned.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_unsigned.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| using __make_unsigned_t [[__gnu__::__nodebug__]] = __make_unsigned(_Tp); | |
| # 74 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_unsigned.h" 3 | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] make_unsigned { | |
| using type [[__gnu__::__nodebug__]] = __make_unsigned_t<_Tp>; | |
| }; | |
| template <class _Tp> | |
| using make_unsigned_t = __make_unsigned_t<_Tp>; | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __make_unsigned_t<_Tp> __to_unsigned_like(_Tp __x) noexcept { | |
| return static_cast<__make_unsigned_t<_Tp> >(__x); | |
| } | |
| template <class _Tp, class _Up> | |
| using __copy_unsigned_t [[__gnu__::__nodebug__]] = __conditional_t<is_unsigned<_Tp>::value, __make_unsigned_t<_Up>, _Up>; | |
| } } | |
| # 520 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/rank.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/rank.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] rank : integral_constant<size_t, __array_rank(_Tp)> {}; | |
| # 46 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/rank.h" 3 | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr size_t rank_v = rank<_Tp>::value; | |
| } } | |
| # 521 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_const.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_const.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_const { | |
| using type [[__gnu__::__nodebug__]] = __remove_const(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_const_t [[__gnu__::__nodebug__]] = __remove_const(_Tp); | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_const.h" 3 | |
| template <class _Tp> | |
| using remove_const_t = __remove_const_t<_Tp>; | |
| } } | |
| # 523 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_extent.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_extent.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_extent { | |
| using type [[__gnu__::__nodebug__]] = __remove_extent(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_extent_t [[__gnu__::__nodebug__]] = __remove_extent(_Tp); | |
| template <class _Tp> | |
| using remove_extent_t = __remove_extent_t<_Tp>; | |
| } } | |
| # 525 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_pointer.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_pointer.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_pointer { | |
| using type [[__gnu__::__nodebug__]] = __remove_pointer(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_pointer_t [[__gnu__::__nodebug__]] = __remove_pointer(_Tp); | |
| # 47 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_pointer.h" 3 | |
| template <class _Tp> | |
| using remove_pointer_t = __remove_pointer_t<_Tp>; | |
| } } | |
| # 526 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_volatile.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_volatile.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] remove_volatile { | |
| using type [[__gnu__::__nodebug__]] = __remove_volatile(_Tp); | |
| }; | |
| template <class _Tp> | |
| using __remove_volatile_t [[__gnu__::__nodebug__]] = __remove_volatile(_Tp); | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/remove_volatile.h" 3 | |
| template <class _Tp> | |
| using remove_volatile_t = __remove_volatile_t<_Tp>; | |
| } } | |
| # 528 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/result_of.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/result_of.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_core_convertible.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_core_convertible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up, class = void> | |
| inline const bool __is_core_convertible_v = false; | |
| template <class _Tp, class _Up> | |
| inline const bool | |
| __is_core_convertible_v<_Tp, _Up, decltype(static_cast<void (*)(_Up)>(0)(static_cast<_Tp (*)()>(0)()))> = true; | |
| template <class _Tp, class _Up> | |
| using __is_core_convertible [[__gnu__::__nodebug__]] = integral_constant<bool, __is_core_convertible_v<_Tp, _Up> >; | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_core_convertible.h" 3 | |
| template <class _Tp, class _Up, bool = __is_core_convertible_v<_Tp, _Up> > | |
| inline const bool __is_nothrow_core_convertible_v = false; | |
| template <class _Tp, class _Up> | |
| inline const bool __is_nothrow_core_convertible_v<_Tp, _Up, true> = | |
| noexcept(static_cast<void (*)(_Up) noexcept>(0)(static_cast<_Tp (*)() noexcept>(0)())); | |
| } } | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference_wrapper.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference_wrapper.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/functional.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/functional.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp = void> | |
| struct less; | |
| template <class> | |
| struct hash; | |
| template <class> | |
| class reference_wrapper; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference_wrapper.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_reference_wrapper.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __is_reference_wrapper_impl : false_type {}; | |
| template <class _Tp> | |
| struct __is_reference_wrapper_impl<reference_wrapper<_Tp> > : true_type {}; | |
| template <class _Tp> | |
| struct __is_reference_wrapper : __is_reference_wrapper_impl<__remove_cv_t<_Tp> > {}; | |
| } } | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/nat.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/nat.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __nat { | |
| __nat() = delete; | |
| __nat(const __nat&) = delete; | |
| __nat& operator=(const __nat&) = delete; | |
| ~__nat() = delete; | |
| }; | |
| } } | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 2 3 | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 3 | |
| # 66 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class, class... _Args> | |
| struct __invoke_result_impl {}; | |
| template <class... _Args> | |
| struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> { | |
| using type [[__gnu__::__nodebug__]] = decltype(__builtin_invoke(std::declval<_Args>()...)); | |
| }; | |
| template <class... _Args> | |
| using __invoke_result [[__gnu__::__nodebug__]] = __invoke_result_impl<void, _Args...>; | |
| template <class... _Args> | |
| using __invoke_result_t [[__gnu__::__nodebug__]] = typename __invoke_result<_Args...>::type; | |
| template <class... _Args> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __invoke_result_t<_Args...> __invoke(_Args&&... __args) | |
| noexcept(noexcept(__builtin_invoke(std::forward<_Args>(__args)...))) { | |
| return __builtin_invoke(std::forward<_Args>(__args)...); | |
| } | |
| template <class _Void, class... _Args> | |
| inline const bool __is_invocable_impl = false; | |
| template <class... _Args> | |
| inline const bool __is_invocable_impl<__void_t<__invoke_result_t<_Args...> >, _Args...> = true; | |
| template <class... _Args> | |
| inline const bool __is_invocable_v = __is_invocable_impl<void, _Args...>; | |
| template <class... _Args> | |
| struct __is_invocable : integral_constant<bool, __is_invocable_v<_Args...> > {}; | |
| template <class _Ret, bool, class... _Args> | |
| inline const bool __is_invocable_r_impl = false; | |
| template <class _Ret, class... _Args> | |
| inline const bool __is_invocable_r_impl<_Ret, true, _Args...> = | |
| __is_core_convertible<__invoke_result_t<_Args...>, _Ret>::value || is_void<_Ret>::value; | |
| template <class _Ret, class... _Args> | |
| inline const bool __is_invocable_r_v = __is_invocable_r_impl<_Ret, __is_invocable_v<_Args...>, _Args...>; | |
| template <bool __is_invocable, class... _Args> | |
| inline const bool __is_nothrow_invocable_impl = false; | |
| template <class... _Args> | |
| inline const bool __is_nothrow_invocable_impl<true, _Args...> = noexcept(__builtin_invoke(std::declval<_Args>()...)); | |
| template <class... _Args> | |
| inline const bool __is_nothrow_invocable_v = __is_nothrow_invocable_impl<__is_invocable_v<_Args...>, _Args...>; | |
| template <bool __is_invocable, class _Ret, class... _Args> | |
| inline const bool __is_nothrow_invocable_r_impl = false; | |
| template <class _Ret, class... _Args> | |
| inline const bool __is_nothrow_invocable_r_impl<true, _Ret, _Args...> = | |
| __is_nothrow_core_convertible_v<__invoke_result_t<_Args...>, _Ret> || is_void<_Ret>::value; | |
| template <class _Ret, class... _Args> | |
| inline const bool __is_nothrow_invocable_r_v = | |
| __is_nothrow_invocable_r_impl<__is_nothrow_invocable_v<_Args...>, _Ret, _Args...>; | |
| # 330 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h" 3 | |
| template <class _Ret, bool = is_void<_Ret>::value> | |
| struct __invoke_void_return_wrapper { | |
| template <class... _Args> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static _Ret __call(_Args&&... __args) { | |
| return std::__invoke(std::forward<_Args>(__args)...); | |
| } | |
| }; | |
| template <class _Ret> | |
| struct __invoke_void_return_wrapper<_Ret, true> { | |
| template <class... _Args> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void __call(_Args&&... __args) { | |
| std::__invoke(std::forward<_Args>(__args)...); | |
| } | |
| }; | |
| template <class _Ret, class... _Args> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Ret __invoke_r(_Args&&... __args) { | |
| return __invoke_void_return_wrapper<_Ret>::__call(std::forward<_Args>(__args)...); | |
| } | |
| template <class _Fn, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_invocable : bool_constant<__is_invocable_v<_Fn, _Args...> > {}; | |
| template <class _Ret, class _Fn, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_invocable_r : bool_constant<__is_invocable_r_v<_Ret, _Fn, _Args...>> {}; | |
| template <class _Fn, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_invocable_v = __is_invocable_v<_Fn, _Args...>; | |
| template <class _Ret, class _Fn, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_invocable_r_v = __is_invocable_r_v<_Ret, _Fn, _Args...>; | |
| template <class _Fn, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_invocable : bool_constant<__is_nothrow_invocable_v<_Fn, _Args...> > {}; | |
| template <class _Ret, class _Fn, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_invocable_r | |
| : bool_constant<__is_nothrow_invocable_r_v<_Ret, _Fn, _Args...>> {}; | |
| template <class _Fn, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_invocable_v = __is_nothrow_invocable_v<_Fn, _Args...>; | |
| template <class _Ret, class _Fn, class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_invocable_r_v = | |
| __is_nothrow_invocable_r_v<_Ret, _Fn, _Args...>; | |
| template <class _Fn, class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] invoke_result : __invoke_result<_Fn, _Args...> {}; | |
| template <class _Fn, class... _Args> | |
| using invoke_result_t = __invoke_result_t<_Fn, _Args...>; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/result_of.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/result_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Callable> | |
| struct __attribute__((__deprecated__)) [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] result_of; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-specialization" | |
| template <class _Fp, class... _Args> | |
| struct result_of<_Fp(_Args...)> : __invoke_result<_Fp, _Args...> {}; | |
| #pragma clang diagnostic pop | |
| template <class _Tp> | |
| using result_of_t __attribute__((__deprecated__)) = typename result_of<_Tp>::type; | |
| } } | |
| # 529 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/underlying_type.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/underlying_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, bool> | |
| struct __underlying_type_impl; | |
| template <class _Tp> | |
| struct __underlying_type_impl<_Tp, false> {}; | |
| template <class _Tp> | |
| struct __underlying_type_impl<_Tp, true> { | |
| typedef __underlying_type(_Tp) type; | |
| }; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] underlying_type : __underlying_type_impl<_Tp, is_enum<_Tp>::value> {}; | |
| template <class _Tp> | |
| using __underlying_type_t [[__gnu__::__nodebug__]] = __underlying_type(_Tp); | |
| template <class _Tp> | |
| using underlying_type_t = __underlying_type_t<_Tp>; | |
| } } | |
| # 530 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_final.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_final.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __libcpp_is_final : integral_constant<bool, __is_final(_Tp)> {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_final : integral_constant<bool, __is_final(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_final_v = __is_final(_Tp); | |
| } } | |
| # 533 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/conjunction.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/conjunction.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class...> | |
| using __expand_to_true [[__gnu__::__nodebug__]] = true_type; | |
| template <class... _Pred> | |
| __expand_to_true<__enable_if_t<_Pred::value>...> __and_helper(int); | |
| template <class...> | |
| false_type __and_helper(...); | |
| template <class... _Pred> | |
| using _And [[__gnu__::__nodebug__]] = decltype(std::__and_helper<_Pred...>(0)); | |
| template <bool... _Preds> | |
| struct __all_dummy; | |
| template <bool... _Pred> | |
| struct __all : _IsSame<__all_dummy<_Pred...>, __all_dummy<((void)_Pred, true)...> > {}; | |
| template <class...> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] conjunction : true_type {}; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-specialization" | |
| template <class _Arg> | |
| struct conjunction<_Arg> : _Arg {}; | |
| template <class _Arg, class... _Args> | |
| struct conjunction<_Arg, _Args...> : conditional_t<!bool(_Arg::value), _Arg, conjunction<_Args...>> {}; | |
| #pragma clang diagnostic pop | |
| template <class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool conjunction_v = conjunction<_Args...>::value; | |
| } } | |
| # 538 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/disjunction.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/disjunction.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <bool> | |
| struct _OrImpl; | |
| template <> | |
| struct _OrImpl<true> { | |
| template <class _Res, class _First, class... _Rest> | |
| using _Result [[__gnu__::__nodebug__]] = | |
| typename _OrImpl<!bool(_First::value) && sizeof...(_Rest) != 0>::template _Result<_First, _Rest...>; | |
| }; | |
| template <> | |
| struct _OrImpl<false> { | |
| template <class _Res, class...> | |
| using _Result [[__gnu__::__nodebug__]] = _Res; | |
| }; | |
| template <class... _Args> | |
| using _Or [[__gnu__::__nodebug__]] = typename _OrImpl<sizeof...(_Args) != 0>::template _Result<false_type, _Args...>; | |
| template <class... _Args> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] disjunction : _Or<_Args...> {}; | |
| template <class... _Args> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool disjunction_v = _Or<_Args...>::value; | |
| } } | |
| # 539 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/has_unique_object_representation.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/has_unique_object_representation.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] has_unique_object_representations | |
| : integral_constant<bool, __has_unique_object_representations(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool has_unique_object_representations_v = | |
| __has_unique_object_representations(_Tp); | |
| } } | |
| # 540 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_aggregate.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_aggregate.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_aggregate : integral_constant<bool, __is_aggregate(_Tp)> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_aggregate_v = __is_aggregate(_Tp); | |
| } } | |
| # 542 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_swappable.h" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_swappable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up, class = void> | |
| inline const bool __is_swappable_with_v = false; | |
| template <class _Tp> | |
| inline const bool __is_swappable_v = __is_swappable_with_v<_Tp&, _Tp&>; | |
| template <class _Tp, class _Up, bool = __is_swappable_with_v<_Tp, _Up> > | |
| inline const bool __is_nothrow_swappable_with_v = false; | |
| template <class _Tp> | |
| inline const bool __is_nothrow_swappable_v = __is_nothrow_swappable_with_v<_Tp&, _Tp&>; | |
| template <class _Tp> | |
| using __swap_result_t [[__gnu__::__nodebug__]] = | |
| __enable_if_t<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>; | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __swap_result_t<_Tp> swap(_Tp& __x, _Tp& __y) | |
| noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value); | |
| template <class _Tp, size_t _Np, __enable_if_t<__is_swappable_v<_Tp>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable_v<_Tp>); | |
| template <class _Tp, class _Up> | |
| inline const bool __is_swappable_with_v<_Tp, | |
| _Up, | |
| __void_t<decltype(swap(std::declval<_Tp>(), std::declval<_Up>())), | |
| decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> > = true; | |
| template <class _Tp, class _Up> | |
| 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 <class _Tp, class _Up> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_swappable_with_v = __is_swappable_with_v<_Tp, _Up>; | |
| template <class _Tp, class _Up> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_swappable_with : bool_constant<is_swappable_with_v<_Tp, _Up>> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_swappable_v = | |
| is_swappable_with_v<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp>>; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_swappable : bool_constant<is_swappable_v<_Tp>> {}; | |
| template <class _Tp, class _Up> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_swappable_with_v = __is_nothrow_swappable_with_v<_Tp, _Up>; | |
| template <class _Tp, class _Up> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_swappable_with : bool_constant<is_nothrow_swappable_with_v<_Tp, _Up>> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool is_nothrow_swappable_v = | |
| is_nothrow_swappable_with_v<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp>>; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] is_nothrow_swappable : bool_constant<is_nothrow_swappable_v<_Tp>> {}; | |
| } } | |
| # 543 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/negation.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/negation.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Pred> | |
| struct _Not : _BoolConstant<!_Pred::value> {}; | |
| template <class _Tp> | |
| struct [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] negation : _Not<_Tp> {}; | |
| template <class _Tp> | |
| [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] inline constexpr bool negation_v = !_Tp::value; | |
| } } | |
| # 544 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 2 3 | |
| # 566 "//Dev/emscripten/cache/sysroot/include/c++/v1/type_traits" 3 | |
| # 525 "//Dev/emscripten/cache/sysroot/include/c++/v1/limits" 2 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 1 3 | |
| # 89 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/climits" 1 3 | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/climits" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/limits.h" 1 3 | |
| # 25 "//Dev/llvm-project/build/lib/clang/23/include/limits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/limits.h" 1 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/features.h" 1 3 | |
| # 5 "//Dev/emscripten/cache/sysroot/include/limits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 7 "//Dev/emscripten/cache/sysroot/include/limits.h" 2 3 | |
| # 40 "//Dev/emscripten/cache/sysroot/include/limits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/limits.h" 1 3 | |
| # 41 "//Dev/emscripten/cache/sysroot/include/limits.h" 2 3 | |
| # 26 "//Dev/llvm-project/build/lib/clang/23/include/limits.h" 2 3 | |
| # 46 "//Dev/emscripten/cache/sysroot/include/c++/v1/climits" 2 3 | |
| # 49 "//Dev/emscripten/cache/sysroot/include/c++/v1/climits" 3 | |
| # 90 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 2 3 | |
| # 95 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 99 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| inline const intmax_t __static_gcd = __static_gcd<_Yp, _Xp % _Yp>; | |
| template <intmax_t _Xp> | |
| inline const intmax_t __static_gcd<_Xp, 0> = _Xp; | |
| template <> | |
| inline const intmax_t __static_gcd<0, 0> = 1; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| inline const intmax_t __static_lcm = _Xp / __static_gcd<_Xp, _Yp> * _Yp; | |
| template <intmax_t _Xp> | |
| inline const intmax_t __static_abs = _Xp < 0 ? -_Xp : _Xp; | |
| template <intmax_t _Xp> | |
| inline const intmax_t __static_sign = _Xp == 0 ? 0 : (_Xp < 0 ? -1 : 1); | |
| template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp> > | |
| class __ll_add; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_add<_Xp, _Yp, 1> { | |
| static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; | |
| static const intmax_t max = -min; | |
| static_assert(_Xp <= max - _Yp, "overflow in __ll_add"); | |
| public: | |
| static const intmax_t value = _Xp + _Yp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_add<_Xp, _Yp, 0> { | |
| public: | |
| static const intmax_t value = _Xp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_add<_Xp, _Yp, -1> { | |
| static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; | |
| static const intmax_t max = -min; | |
| static_assert(min - _Yp <= _Xp, "overflow in __ll_add"); | |
| public: | |
| static const intmax_t value = _Xp + _Yp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp> > | |
| class __ll_sub; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_sub<_Xp, _Yp, 1> { | |
| static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; | |
| static const intmax_t max = -min; | |
| static_assert(min + _Yp <= _Xp, "overflow in __ll_sub"); | |
| public: | |
| static const intmax_t value = _Xp - _Yp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_sub<_Xp, _Yp, 0> { | |
| public: | |
| static const intmax_t value = _Xp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_sub<_Xp, _Yp, -1> { | |
| static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; | |
| static const intmax_t max = -min; | |
| static_assert(_Xp <= max + _Yp, "overflow in __ll_sub"); | |
| public: | |
| static const intmax_t value = _Xp - _Yp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_mul { | |
| static const intmax_t nan = (1LL << (sizeof(intmax_t) * 8 - 1)); | |
| static const intmax_t min = nan + 1; | |
| static const intmax_t max = -min; | |
| static const intmax_t __a_x = __static_abs<_Xp>; | |
| static const intmax_t __a_y = __static_abs<_Yp>; | |
| static_assert(_Xp != nan && _Yp != nan && __a_x <= max / __a_y, "overflow in __ll_mul"); | |
| public: | |
| static const intmax_t value = _Xp * _Yp; | |
| }; | |
| template <intmax_t _Yp> | |
| class __ll_mul<0, _Yp> { | |
| public: | |
| static const intmax_t value = 0; | |
| }; | |
| template <intmax_t _Xp> | |
| class __ll_mul<_Xp, 0> { | |
| public: | |
| static const intmax_t value = 0; | |
| }; | |
| template <> | |
| class __ll_mul<0, 0> { | |
| public: | |
| static const intmax_t value = 0; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| class __ll_div { | |
| static const intmax_t nan = (1LL << (sizeof(intmax_t) * 8 - 1)); | |
| static const intmax_t min = nan + 1; | |
| static const intmax_t max = -min; | |
| static_assert(_Xp != nan && _Yp != nan && _Yp != 0, "overflow in __ll_div"); | |
| public: | |
| static const intmax_t value = _Xp / _Yp; | |
| }; | |
| template <intmax_t _Num, intmax_t _Den = 1> | |
| class ratio { | |
| static_assert(__static_abs<_Num> >= 0, "ratio numerator is out of range"); | |
| static_assert(_Den != 0, "ratio divide by 0"); | |
| static_assert(__static_abs<_Den> > 0, "ratio denominator is out of range"); | |
| static constexpr const intmax_t __na = __static_abs<_Num>; | |
| static constexpr const intmax_t __da = __static_abs<_Den>; | |
| static constexpr const intmax_t __s = __static_sign<_Num> * __static_sign<_Den>; | |
| static constexpr const intmax_t __gcd = __static_gcd<__na, __da>; | |
| public: | |
| static inline constexpr const intmax_t num = __s * __na / __gcd; | |
| static inline constexpr const intmax_t den = __da / __gcd; | |
| typedef ratio<num, den> type; | |
| }; | |
| template <class _Tp> | |
| inline const bool __is_ratio_v = false; | |
| template <intmax_t _Num, intmax_t _Den> | |
| inline const bool __is_ratio_v<ratio<_Num, _Den> > = true; | |
| typedef ratio<1LL, 1000000000000000000LL> atto; | |
| typedef ratio<1LL, 1000000000000000LL> femto; | |
| typedef ratio<1LL, 1000000000000LL> pico; | |
| typedef ratio<1LL, 1000000000LL> nano; | |
| typedef ratio<1LL, 1000000LL> micro; | |
| typedef ratio<1LL, 1000LL> milli; | |
| typedef ratio<1LL, 100LL> centi; | |
| typedef ratio<1LL, 10LL> deci; | |
| typedef ratio< 10LL, 1LL> deca; | |
| typedef ratio< 100LL, 1LL> hecto; | |
| typedef ratio< 1000LL, 1LL> kilo; | |
| typedef ratio< 1000000LL, 1LL> mega; | |
| typedef ratio< 1000000000LL, 1LL> giga; | |
| typedef ratio< 1000000000000LL, 1LL> tera; | |
| typedef ratio< 1000000000000000LL, 1LL> peta; | |
| typedef ratio<1000000000000000000LL, 1LL> exa; | |
| template <class _R1, class _R2> | |
| struct __ratio_multiply { | |
| private: | |
| static const intmax_t __gcd_n1_d2 = __static_gcd<_R1::num, _R2::den>; | |
| static const intmax_t __gcd_d1_n2 = __static_gcd<_R1::den, _R2::num>; | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| public: | |
| typedef typename ratio< __ll_mul<_R1::num / __gcd_n1_d2, _R2::num / __gcd_d1_n2>::value, | |
| __ll_mul<_R2::den / __gcd_n1_d2, _R1::den / __gcd_d1_n2>::value >::type type; | |
| }; | |
| template <class _R1, class _R2> | |
| using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type; | |
| # 297 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| template <class _R1, class _R2> | |
| struct __ratio_divide { | |
| private: | |
| static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>; | |
| static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>; | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| public: | |
| typedef typename ratio< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, | |
| __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::type type; | |
| }; | |
| template <class _R1, class _R2> | |
| using ratio_divide = typename __ratio_divide<_R1, _R2>::type; | |
| # 323 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| template <class _R1, class _R2> | |
| struct __ratio_add { | |
| private: | |
| static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>; | |
| static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>; | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| public: | |
| typedef typename ratio_multiply< | |
| ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>, | |
| ratio< __ll_add< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, | |
| __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::value, | |
| _R2::den > >::type type; | |
| }; | |
| template <class _R1, class _R2> | |
| using ratio_add = typename __ratio_add<_R1, _R2>::type; | |
| # 352 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| template <class _R1, class _R2> | |
| struct __ratio_subtract { | |
| private: | |
| static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>; | |
| static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>; | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| public: | |
| typedef typename ratio_multiply< | |
| ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>, | |
| ratio< __ll_sub< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, | |
| __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::value, | |
| _R2::den > >::type type; | |
| }; | |
| template <class _R1, class _R2> | |
| using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type; | |
| # 383 "//Dev/emscripten/cache/sysroot/include/c++/v1/ratio" 3 | |
| template <class _R1, class _R2> | |
| struct ratio_equal : _BoolConstant<(_R1::num == _R2::num && _R1::den == _R2::den)> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, class _R2> | |
| struct ratio_not_equal : _BoolConstant<!ratio_equal<_R1, _R2>::value> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, | |
| class _R2, | |
| bool _Odd = false, | |
| intmax_t _Q1 = _R1::num / _R1::den, | |
| intmax_t _M1 = _R1::num % _R1::den, | |
| intmax_t _Q2 = _R2::num / _R2::den, | |
| intmax_t _M2 = _R2::num % _R2::den> | |
| struct __ratio_less1 { | |
| static const bool value = _Odd ? _Q2 < _Q1 : _Q1 < _Q2; | |
| }; | |
| template <class _R1, class _R2, bool _Odd, intmax_t _Qp> | |
| struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, 0> { | |
| static const bool value = false; | |
| }; | |
| template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M2> | |
| struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, _M2> { | |
| static const bool value = !_Odd; | |
| }; | |
| template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1> | |
| struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, 0> { | |
| static const bool value = _Odd; | |
| }; | |
| template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1, intmax_t _M2> | |
| struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, _M2> { | |
| static const bool value = __ratio_less1<ratio<_R1::den, _M1>, ratio<_R2::den, _M2>, !_Odd>::value; | |
| }; | |
| template <class _R1, class _R2, intmax_t _S1 = __static_sign<_R1::num>, intmax_t _S2 = __static_sign<_R2::num> > | |
| struct __ratio_less { | |
| static const bool value = _S1 < _S2; | |
| }; | |
| template <class _R1, class _R2> | |
| struct __ratio_less<_R1, _R2, 1LL, 1LL> { | |
| static const bool value = __ratio_less1<_R1, _R2>::value; | |
| }; | |
| template <class _R1, class _R2> | |
| struct __ratio_less<_R1, _R2, -1LL, -1LL> { | |
| static const bool value = __ratio_less1<ratio<-_R2::num, _R2::den>, ratio<-_R1::num, _R1::den> >::value; | |
| }; | |
| template <class _R1, class _R2> | |
| struct ratio_less : _BoolConstant<__ratio_less<_R1, _R2>::value> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, class _R2> | |
| struct ratio_less_equal : _BoolConstant<!ratio_less<_R2, _R1>::value> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, class _R2> | |
| struct ratio_greater : _BoolConstant<ratio_less<_R2, _R1>::value> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, class _R2> | |
| struct ratio_greater_equal : _BoolConstant<!ratio_less<_R1, _R2>::value> { | |
| static_assert(__is_ratio_v<_R1>, "[ratio.general]/2 requires R1 to be a specialisation of the ratio template"); | |
| static_assert(__is_ratio_v<_R2>, "[ratio.general]/2 requires R2 to be a specialisation of the ratio template"); | |
| }; | |
| template <class _R1, class _R2> | |
| using __ratio_gcd [[__gnu__::__nodebug__]] = ratio<__static_gcd<_R1::num, _R2::num>, __static_lcm<_R1::den, _R2::den> >; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_less_equal_v = ratio_less_equal<_R1, _R2>::value; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; | |
| template <class _R1, class _R2> | |
| inline constexpr bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value; | |
| } } | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace chrono { | |
| template <class _Rep, class _Period = ratio<1> > | |
| class duration; | |
| template <class _Tp> | |
| inline const bool __is_duration_v = false; | |
| template <class _Rep, class _Period> | |
| inline const bool __is_duration_v<duration<_Rep, _Period> > = true; | |
| template <class _Rep, class _Period> | |
| inline const bool __is_duration_v<const duration<_Rep, _Period> > = true; | |
| template <class _Rep, class _Period> | |
| inline const bool __is_duration_v<volatile duration<_Rep, _Period> > = true; | |
| template <class _Rep, class _Period> | |
| inline const bool __is_duration_v<const volatile duration<_Rep, _Period> > = true; | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| struct common_type<chrono::duration<_Rep1, _Period1>, chrono::duration<_Rep2, _Period2> > { | |
| typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type, __ratio_gcd<_Period1, _Period2> > type; | |
| }; | |
| namespace chrono { | |
| template <class _FromDuration, | |
| class _ToDuration, | |
| class _Period = typename ratio_divide<typename _FromDuration::period, typename _ToDuration::period>::type, | |
| bool = _Period::num == 1, | |
| bool = _Period::den == 1> | |
| struct __duration_cast; | |
| template <class _FromDuration, class _ToDuration, class _Period> | |
| struct __duration_cast<_FromDuration, _ToDuration, _Period, true, true> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { | |
| return _ToDuration(static_cast<typename _ToDuration::rep>(__fd.count())); | |
| } | |
| }; | |
| template <class _FromDuration, class _ToDuration, class _Period> | |
| struct __duration_cast<_FromDuration, _ToDuration, _Period, true, false> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { | |
| typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; | |
| return _ToDuration( | |
| static_cast<typename _ToDuration::rep>(static_cast<_Ct>(__fd.count()) / static_cast<_Ct>(_Period::den))); | |
| } | |
| }; | |
| template <class _FromDuration, class _ToDuration, class _Period> | |
| struct __duration_cast<_FromDuration, _ToDuration, _Period, false, true> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { | |
| typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; | |
| return _ToDuration( | |
| static_cast<typename _ToDuration::rep>(static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num))); | |
| } | |
| }; | |
| template <class _FromDuration, class _ToDuration, class _Period> | |
| struct __duration_cast<_FromDuration, _ToDuration, _Period, false, false> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { | |
| typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; | |
| return _ToDuration(static_cast<typename _ToDuration::rep>( | |
| static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num) / static_cast<_Ct>(_Period::den))); | |
| } | |
| }; | |
| template <class _ToDuration, class _Rep, class _Period, __enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration duration_cast(const duration<_Rep, _Period>& __fd) { | |
| return __duration_cast<duration<_Rep, _Period>, _ToDuration>()(__fd); | |
| } | |
| template <class _Rep> | |
| struct treat_as_floating_point : is_floating_point<_Rep> {}; | |
| template <class _Rep> | |
| inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<_Rep>::value; | |
| template <class _Rep> | |
| struct duration_values { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr _Rep zero() noexcept { return _Rep(0); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr _Rep max() noexcept { return numeric_limits<_Rep>::max(); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr _Rep min() noexcept { return numeric_limits<_Rep>::lowest(); } | |
| }; | |
| template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration floor(const duration<_Rep, _Period>& __d) { | |
| _ToDuration __t = chrono::duration_cast<_ToDuration>(__d); | |
| if (__t > __d) | |
| __t = __t - _ToDuration{1}; | |
| return __t; | |
| } | |
| template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration ceil(const duration<_Rep, _Period>& __d) { | |
| _ToDuration __t = chrono::duration_cast<_ToDuration>(__d); | |
| if (__t < __d) | |
| __t = __t + _ToDuration{1}; | |
| return __t; | |
| } | |
| template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToDuration round(const duration<_Rep, _Period>& __d) { | |
| _ToDuration __lower = chrono::floor<_ToDuration>(__d); | |
| _ToDuration __upper = __lower + _ToDuration{1}; | |
| auto __lower_diff = __d - __lower; | |
| auto __upper_diff = __upper - __d; | |
| if (__lower_diff < __upper_diff) | |
| return __lower; | |
| if (__lower_diff > __upper_diff) | |
| return __upper; | |
| return __lower.count() & 1 ? __upper : __lower; | |
| } | |
| template <class _Rep, class _Period> | |
| class duration { | |
| static_assert(!__is_duration_v<_Rep>, "A duration representation can not be a duration"); | |
| static_assert(__is_ratio_v<_Period>, "Second template parameter of duration must be a std::ratio"); | |
| static_assert(_Period::num > 0, "duration period must be positive"); | |
| template <class _R1, class _R2> | |
| struct __no_overflow { | |
| private: | |
| static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>; | |
| static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>; | |
| static const intmax_t __n1 = _R1::num / __gcd_n1_n2; | |
| static const intmax_t __d1 = _R1::den / __gcd_d1_d2; | |
| static const intmax_t __n2 = _R2::num / __gcd_n1_n2; | |
| static const intmax_t __d2 = _R2::den / __gcd_d1_d2; | |
| static const intmax_t max = -((intmax_t(1) << (sizeof(intmax_t) * 8 - 1)) + 1); | |
| template <intmax_t _Xp, intmax_t _Yp, bool __overflow> | |
| struct __mul | |
| { | |
| static const intmax_t value = _Xp * _Yp; | |
| }; | |
| template <intmax_t _Xp, intmax_t _Yp> | |
| struct __mul<_Xp, _Yp, true> { | |
| static const intmax_t value = 1; | |
| }; | |
| public: | |
| static const bool value = (__n1 <= max / __d2) && (__n2 <= max / __d1); | |
| typedef ratio<__mul<__n1, __d2, !value>::value, __mul<__n2, __d1, !value>::value> type; | |
| }; | |
| public: | |
| typedef _Rep rep; | |
| typedef typename _Period::type period; | |
| private: | |
| rep __rep_; | |
| public: | |
| constexpr duration() = default; | |
| template <class _Rep2, | |
| __enable_if_t<is_convertible<const _Rep2&, rep>::value && | |
| (treat_as_floating_point<rep>::value || !treat_as_floating_point<_Rep2>::value), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit duration(const _Rep2& __r) : __rep_(__r) {} | |
| template <class _Rep2, | |
| class _Period2, | |
| __enable_if_t<__no_overflow<_Period2, period>::value && (treat_as_floating_point<rep>::value || | |
| (__no_overflow<_Period2, period>::type::den == 1 && | |
| !treat_as_floating_point<_Rep2>::value)), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration(const duration<_Rep2, _Period2>& __d) | |
| : __rep_(chrono::duration_cast<duration>(__d).count()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr rep count() const { return __rep_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename common_type<duration>::type operator+() const { | |
| return typename common_type<duration>::type(*this); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename common_type<duration>::type operator-() const { | |
| return typename common_type<duration>::type(-__rep_); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator++() { | |
| ++__rep_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration operator++(int) { return duration(__rep_++); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator--() { | |
| --__rep_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration operator--(int) { return duration(__rep_--); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator+=(const duration& __d) { | |
| __rep_ += __d.count(); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator-=(const duration& __d) { | |
| __rep_ -= __d.count(); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator*=(const rep& __rhs) { | |
| __rep_ *= __rhs; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator/=(const rep& __rhs) { | |
| __rep_ /= __rhs; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator%=(const rep& __rhs) { | |
| __rep_ %= __rhs; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration& operator%=(const duration& __rhs) { | |
| __rep_ %= __rhs.count(); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr duration zero() noexcept { | |
| return duration(duration_values<rep>::zero()); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr duration min() noexcept { | |
| return duration(duration_values<rep>::min()); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr duration max() noexcept { | |
| return duration(duration_values<rep>::max()); | |
| } | |
| }; | |
| typedef duration<long long, nano> nanoseconds; | |
| typedef duration<long long, micro> microseconds; | |
| typedef duration<long long, milli> milliseconds; | |
| typedef duration<long long > seconds; | |
| typedef duration< long, ratio< 60> > minutes; | |
| typedef duration< long, ratio<3600> > hours; | |
| # 297 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 3 | |
| template <class _LhsDuration, class _RhsDuration> | |
| struct __duration_eq { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const { | |
| typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct; | |
| return _Ct(__lhs).count() == _Ct(__rhs).count(); | |
| } | |
| }; | |
| template <class _LhsDuration> | |
| struct __duration_eq<_LhsDuration, _LhsDuration> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const { | |
| return __lhs.count() == __rhs.count(); | |
| } | |
| }; | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return __duration_eq<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return !(__lhs == __rhs); | |
| } | |
| template <class _LhsDuration, class _RhsDuration> | |
| struct __duration_lt { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const { | |
| typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct; | |
| return _Ct(__lhs).count() < _Ct(__rhs).count(); | |
| } | |
| }; | |
| template <class _LhsDuration> | |
| struct __duration_lt<_LhsDuration, _LhsDuration> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const { | |
| return __lhs.count() < __rhs.count(); | |
| } | |
| }; | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return __duration_lt<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return __rhs < __lhs; | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return !(__rhs < __lhs); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| return !(__lhs < __rhs); | |
| } | |
| # 391 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h" 3 | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type | |
| operator+(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; | |
| return _Cd(_Cd(__lhs).count() + _Cd(__rhs).count()); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type | |
| operator-(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; | |
| return _Cd(_Cd(__lhs).count() - _Cd(__rhs).count()); | |
| } | |
| template <class _Rep1, | |
| class _Period, | |
| class _Rep2, | |
| __enable_if_t<is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> | |
| operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { | |
| typedef typename common_type<_Rep1, _Rep2>::type _Cr; | |
| typedef duration<_Cr, _Period> _Cd; | |
| return _Cd(_Cd(__d).count() * static_cast<_Cr>(__s)); | |
| } | |
| template <class _Rep1, | |
| class _Period, | |
| class _Rep2, | |
| __enable_if_t<is_convertible<const _Rep1&, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> | |
| operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) { | |
| return __d * __s; | |
| } | |
| template <class _Rep1, | |
| class _Period, | |
| class _Rep2, | |
| __enable_if_t<!__is_duration_v<_Rep2> && | |
| is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value, | |
| int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> | |
| operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { | |
| typedef typename common_type<_Rep1, _Rep2>::type _Cr; | |
| typedef duration<_Cr, _Period> _Cd; | |
| return _Cd(_Cd(__d).count() / static_cast<_Cr>(__s)); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename common_type<_Rep1, _Rep2>::type | |
| operator/(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Ct; | |
| return _Ct(__lhs).count() / _Ct(__rhs).count(); | |
| } | |
| template <class _Rep1, | |
| class _Period, | |
| class _Rep2, | |
| __enable_if_t<!__is_duration_v<_Rep2> && | |
| is_convertible<const _Rep2&, typename common_type<_Rep1, _Rep2>::type>::value, | |
| int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> | |
| operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { | |
| typedef typename common_type<_Rep1, _Rep2>::type _Cr; | |
| typedef duration<_Cr, _Period> _Cd; | |
| return _Cd(_Cd(__d).count() % static_cast<_Cr>(__s)); | |
| } | |
| template <class _Rep1, class _Period1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type | |
| operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef typename common_type<_Rep1, _Rep2>::type _Cr; | |
| typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; | |
| return _Cd(static_cast<_Cr>(_Cd(__lhs).count()) % static_cast<_Cr>(_Cd(__rhs).count())); | |
| } | |
| } | |
| inline namespace literals { | |
| inline namespace chrono_literals { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::hours operator""h(unsigned long long __h) { | |
| return chrono::hours(static_cast<chrono::hours::rep>(__h)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double, ratio<3600, 1>> operator""h(long double __h) { | |
| return chrono::duration<long double, ratio<3600, 1>>(__h); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::minutes operator""min(unsigned long long __m) { | |
| return chrono::minutes(static_cast<chrono::minutes::rep>(__m)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double, ratio<60, 1>> operator""min(long double __m) { | |
| return chrono::duration<long double, ratio<60, 1>>(__m); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::seconds operator""s(unsigned long long __s) { | |
| return chrono::seconds(static_cast<chrono::seconds::rep>(__s)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double> operator""s(long double __s) { | |
| return chrono::duration<long double>(__s); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::milliseconds operator""ms(unsigned long long __ms) { | |
| return chrono::milliseconds(static_cast<chrono::milliseconds::rep>(__ms)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double, milli> operator""ms(long double __ms) { | |
| return chrono::duration<long double, milli>(__ms); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::microseconds operator""us(unsigned long long __us) { | |
| return chrono::microseconds(static_cast<chrono::microseconds::rep>(__us)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double, micro> operator""us(long double __us) { | |
| return chrono::duration<long double, micro>(__us); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::nanoseconds operator""ns(unsigned long long __ns) { | |
| return chrono::nanoseconds(static_cast<chrono::nanoseconds::rep>(__ns)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr chrono::duration<long double, nano> operator""ns(long double __ns) { | |
| return chrono::duration<long double, nano>(__ns); | |
| } | |
| } | |
| } | |
| namespace chrono { | |
| using namespace literals::chrono_literals; | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace chrono { | |
| template <class _Clock, class _Duration = typename _Clock::duration> | |
| class time_point { | |
| static_assert(__is_duration_v<_Duration>, "Second template parameter of time_point must be a std::chrono::duration"); | |
| public: | |
| typedef _Clock clock; | |
| typedef _Duration duration; | |
| typedef typename duration::rep rep; | |
| typedef typename duration::period period; | |
| private: | |
| duration __d_; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point() : __d_(duration::zero()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit time_point(const duration& __d) : __d_(__d) {} | |
| template <class _Duration2, __enable_if_t<is_convertible<_Duration2, duration>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point(const time_point<clock, _Duration2>& __t) | |
| : __d_(__t.time_since_epoch()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration time_since_epoch() const { return __d_; } | |
| # 74 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point& operator+=(const duration& __d) { | |
| __d_ += __d; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point& operator-=(const duration& __d) { | |
| __d_ -= __d; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr time_point min() noexcept { return time_point(duration::min()); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr time_point max() noexcept { return time_point(duration::max()); } | |
| }; | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| struct common_type<chrono::time_point<_Clock, _Duration1>, chrono::time_point<_Clock, _Duration2> > { | |
| typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type; | |
| }; | |
| namespace chrono { | |
| template <class _ToDuration, class _Clock, class _Duration> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point<_Clock, _ToDuration> | |
| time_point_cast(const time_point<_Clock, _Duration>& __t) { | |
| return time_point<_Clock, _ToDuration>(chrono::duration_cast<_ToDuration>(__t.time_since_epoch())); | |
| } | |
| template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point<_Clock, _ToDuration> floor(const time_point<_Clock, _Duration>& __t) { | |
| return time_point<_Clock, _ToDuration>{chrono::floor<_ToDuration>(__t.time_since_epoch())}; | |
| } | |
| template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point<_Clock, _ToDuration> ceil(const time_point<_Clock, _Duration>& __t) { | |
| return time_point<_Clock, _ToDuration>{chrono::ceil<_ToDuration>(__t.time_since_epoch())}; | |
| } | |
| template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration_v<_ToDuration>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr time_point<_Clock, _ToDuration> round(const time_point<_Clock, _Duration>& __t) { | |
| return time_point<_Clock, _ToDuration>{chrono::round<_ToDuration>(__t.time_since_epoch())}; | |
| } | |
| template <class _Rep, class _Period, enable_if_t<numeric_limits<_Rep>::is_signed, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr duration<_Rep, _Period> abs(duration<_Rep, _Period> __d) { | |
| return __d >= __d.zero() ? +__d : -__d; | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return __lhs.time_since_epoch() == __rhs.time_since_epoch(); | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return !(__lhs == __rhs); | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return __lhs.time_since_epoch() < __rhs.time_since_epoch(); | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return __rhs < __lhs; | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return !(__rhs < __lhs); | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return !(__lhs < __rhs); | |
| } | |
| # 190 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h" 3 | |
| template <class _Clock, class _Duration1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> | |
| operator+(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Tr; | |
| return _Tr(__lhs.time_since_epoch() + __rhs); | |
| } | |
| template <class _Rep1, class _Period1, class _Clock, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr time_point<_Clock, typename common_type<duration<_Rep1, _Period1>, _Duration2>::type> | |
| operator+(const duration<_Rep1, _Period1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return __rhs + __lhs; | |
| } | |
| template <class _Clock, class _Duration1, class _Rep2, class _Period2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> | |
| operator-(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { | |
| typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Ret; | |
| return _Ret(__lhs.time_since_epoch() - __rhs); | |
| } | |
| template <class _Clock, class _Duration1, class _Duration2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename common_type<_Duration1, _Duration2>::type | |
| operator-(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { | |
| return __lhs.time_since_epoch() - __rhs.time_since_epoch(); | |
| } | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/directory_entry.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_type.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| enum class file_type : signed char { | |
| none = 0, | |
| not_found = -1, | |
| regular = 1, | |
| directory = 2, | |
| symlink = 3, | |
| block = 4, | |
| character = 5, | |
| fifo = 6, | |
| socket = 7, | |
| unknown = 8 | |
| }; | |
| } } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/perms.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/perms.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| enum class perms : unsigned { | |
| none = 0, | |
| owner_read = 0400, | |
| owner_write = 0200, | |
| owner_exec = 0100, | |
| owner_all = 0700, | |
| group_read = 040, | |
| group_write = 020, | |
| group_exec = 010, | |
| group_all = 070, | |
| others_read = 04, | |
| others_write = 02, | |
| others_exec = 01, | |
| others_all = 07, | |
| all = 0777, | |
| set_uid = 04000, | |
| set_gid = 02000, | |
| sticky_bit = 01000, | |
| mask = 07777, | |
| unknown = 0xFFFF, | |
| }; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr perms operator&(perms __lhs, perms __rhs) { | |
| return static_cast<perms>(static_cast<unsigned>(__lhs) & static_cast<unsigned>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr perms operator|(perms __lhs, perms __rhs) { | |
| return static_cast<perms>(static_cast<unsigned>(__lhs) | static_cast<unsigned>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr perms operator^(perms __lhs, perms __rhs) { | |
| return static_cast<perms>(static_cast<unsigned>(__lhs) ^ static_cast<unsigned>(__rhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr perms operator~(perms __lhs) { | |
| return static_cast<perms>(~static_cast<unsigned>(__lhs)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline perms& operator&=(perms& __lhs, perms __rhs) { return __lhs = __lhs & __rhs; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline perms& operator|=(perms& __lhs, perms __rhs) { return __lhs = __lhs | __rhs; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline perms& operator^=(perms& __lhs, perms __rhs) { return __lhs = __lhs ^ __rhs; } | |
| } } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| class __attribute__((__visibility__("default"))) file_status { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_status() noexcept : file_status(file_type::none) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit file_status(file_type __ft, perms __prms = perms::unknown) noexcept | |
| : __ft_(__ft), __prms_(__prms) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_status(const file_status&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_status(file_status&&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ~file_status() {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_status& operator=(const file_status&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_status& operator=(file_status&&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) file_type type() const noexcept { return __ft_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) perms permissions() const noexcept { return __prms_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void type(file_type __ft) noexcept { __ft_ = __ft; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void permissions(perms __p) noexcept { __prms_ = __p; } | |
| # 58 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_status.h" 3 | |
| private: | |
| file_type __ft_; | |
| perms __prms_; | |
| }; | |
| } } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/directory_entry.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_time_type.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_time_type.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/system_clock.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/system_clock.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctime" 1 3 | |
| # 56 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctime" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/compat/time.h" 1 3 | |
| extern "C" { | |
| int dysize(int year); | |
| } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/time.h" 1 3 | |
| extern "C" { | |
| # 33 "//Dev/emscripten/cache/sysroot/include/time.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 37 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef int clock_t; | |
| # 105 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef unsigned long int size_t; | |
| # 140 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef long long int time_t; | |
| # 264 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef void * timer_t; | |
| typedef int clockid_t; | |
| # 284 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(1234==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(1234!=4321); }; | |
| typedef int pid_t; | |
| # 398 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef struct __locale_struct * locale_t; | |
| # 34 "//Dev/emscripten/cache/sysroot/include/time.h" 2 3 | |
| struct tm { | |
| int tm_sec; | |
| int tm_min; | |
| int tm_hour; | |
| int tm_mday; | |
| int tm_mon; | |
| int tm_year; | |
| int tm_wday; | |
| int tm_yday; | |
| int tm_isdst; | |
| long tm_gmtoff; | |
| const char *tm_zone; | |
| }; | |
| clock_t clock (void); | |
| time_t time (time_t *); | |
| double difftime (time_t, time_t); | |
| time_t mktime (struct tm *); | |
| size_t strftime (char *__restrict, size_t, const char *__restrict, const struct tm *__restrict); | |
| struct tm *gmtime (const time_t *); | |
| struct tm *localtime (const time_t *); | |
| char *asctime (const struct tm *); | |
| char *ctime (const time_t *); | |
| int timespec_get(struct timespec *, int); | |
| # 73 "//Dev/emscripten/cache/sysroot/include/time.h" 3 | |
| size_t strftime_l (char * __restrict, size_t, const char * __restrict, const struct tm * __restrict, locale_t); | |
| struct tm *gmtime_r (const time_t *__restrict, struct tm *__restrict); | |
| struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict); | |
| char *asctime_r (const struct tm *__restrict, char *__restrict); | |
| char *ctime_r (const time_t *, char *); | |
| void tzset (void); | |
| struct itimerspec { | |
| struct timespec it_interval; | |
| struct timespec it_value; | |
| }; | |
| # 102 "//Dev/emscripten/cache/sysroot/include/time.h" 3 | |
| int nanosleep (const struct timespec *, struct timespec *); | |
| int clock_getres (clockid_t, struct timespec *); | |
| int clock_gettime (clockid_t, struct timespec *); | |
| int clock_settime (clockid_t, const struct timespec *); | |
| int clock_nanosleep (clockid_t, int, const struct timespec *, struct timespec *); | |
| int clock_getcpuclockid (pid_t, clockid_t *); | |
| struct sigevent; | |
| int timer_create (clockid_t, struct sigevent *__restrict, timer_t *__restrict); | |
| int timer_delete (timer_t); | |
| int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict); | |
| int timer_gettime (timer_t, struct itimerspec *); | |
| int timer_getoverrun (timer_t); | |
| extern char *tzname[2]; | |
| char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict); | |
| extern int daylight; | |
| extern long timezone; | |
| extern int getdate_err; | |
| struct tm *getdate (const char *); | |
| int stime(const time_t *); | |
| time_t timegm(struct tm *); | |
| # 164 "//Dev/emscripten/cache/sysroot/include/time.h" 3 | |
| } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/compat/time.h" 2 3 | |
| # 57 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctime" 2 3 | |
| # 64 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctime" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::clock_t __attribute__((__using_if_exists__)); | |
| using ::time_t __attribute__((__using_if_exists__)); | |
| using ::tm __attribute__((__using_if_exists__)); | |
| using ::timespec __attribute__((__using_if_exists__)); | |
| using ::clock __attribute__((__using_if_exists__)); | |
| using ::difftime __attribute__((__using_if_exists__)); | |
| using ::mktime __attribute__((__using_if_exists__)); | |
| using ::time __attribute__((__using_if_exists__)); | |
| using ::asctime __attribute__((__using_if_exists__)); | |
| using ::ctime __attribute__((__using_if_exists__)); | |
| using ::gmtime __attribute__((__using_if_exists__)); | |
| using ::localtime __attribute__((__using_if_exists__)); | |
| using ::strftime __attribute__((__using_if_exists__)); | |
| using ::timespec_get __attribute__((__using_if_exists__)); | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/system_clock.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/system_clock.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace chrono { | |
| class __attribute__((__visibility__("default"))) system_clock { | |
| public: | |
| typedef microseconds duration; | |
| typedef duration::rep rep; | |
| typedef duration::period period; | |
| typedef chrono::time_point<system_clock> time_point; | |
| static constexpr const bool is_steady = false; | |
| static time_point now() noexcept; | |
| static time_t to_time_t(const time_point& __t) noexcept; | |
| static time_point from_time_t(time_t __t) noexcept; | |
| }; | |
| # 48 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/system_clock.h" 3 | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 2 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| struct _FilesystemClock; | |
| } } } | |
| # 48 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| struct _FilesystemClock { | |
| typedef __int128_t rep; | |
| typedef nano period; | |
| typedef chrono::duration<rep, period> duration; | |
| typedef chrono::time_point<_FilesystemClock> time_point; | |
| __attribute__((__visibility__("default"))) static constexpr const bool is_steady = false; | |
| __attribute__((__visibility__("default"))) static time_point now() noexcept; | |
| # 76 "//Dev/emscripten/cache/sysroot/include/c++/v1/__chrono/file_clock.h" 3 | |
| }; | |
| } } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_time_type.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/file_time_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { namespace filesystem { | |
| typedef chrono::time_point<_FilesystemClock> file_time_type; | |
| } } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/directory_entry.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/filesystem_error.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/filesystem_error.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/replace.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/replace.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { | |
| for (; __first != __last; ++__first) | |
| if (*__first == __old_value) | |
| *__first = __new_value; | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/replace_copy.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/replace_copy.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, class _OutputIterator, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator replace_copy( | |
| _InputIterator __first, | |
| _InputIterator __last, | |
| _OutputIterator __result, | |
| const _Tp& __old_value, | |
| const _Tp& __new_value) { | |
| for (; __first != __last; ++__first, (void)++__result) | |
| if (*__first == __old_value) | |
| *__result = __new_value; | |
| else | |
| *__result = *__first; | |
| return __result; | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/unary_function.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/unary_function.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/unary_function.h" 3 | |
| template <class _Arg, class _Result> | |
| struct __unary_function_keep_layout_base { | |
| using argument_type __attribute__((__deprecated__)) = _Arg; | |
| using result_type __attribute__((__deprecated__)) = _Result; | |
| }; | |
| template <class _Arg, class _Result> | |
| using __unary_function [[__gnu__::__nodebug__]] = __unary_function_keep_layout_base<_Arg, _Result>; | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/ptrdiff_t.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/ptrdiff_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ptrdiff_t = decltype(static_cast<int*>(nullptr) - static_cast<int*>(nullptr)); | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Category, class _Tp, class _Distance = ptrdiff_t, class _Pointer = _Tp*, class _Reference = _Tp&> | |
| struct __attribute__((__deprecated__)) iterator { | |
| typedef _Tp value_type; | |
| typedef _Distance difference_type; | |
| typedef _Pointer pointer; | |
| typedef _Reference reference; | |
| typedef _Category iterator_category; | |
| }; | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/arithmetic.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/arithmetic.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/arithmetic.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/constructible.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/constructible.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/destructible.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/destructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/destructible.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/constructible.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/constructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 53 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/constructible.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/assignable.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/assignable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/assignable.h" 3 | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/movable.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/movable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/class_or_enum.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/class_or_enum.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/class_or_enum.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exchange.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exchange.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/move.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/move.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/move.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __libcpp_remove_reference_t<_Tp>&& | |
| move([[_Clang::__lifetimebound__]] _Tp&& __t) noexcept { | |
| using _Up [[__gnu__::__nodebug__]] = __libcpp_remove_reference_t<_Tp>; | |
| return static_cast<_Up&&>(__t); | |
| } | |
| template <class _Tp> | |
| using __move_if_noexcept_result_t [[__gnu__::__nodebug__]] = | |
| __conditional_t<!is_nothrow_move_constructible<_Tp>::value && is_copy_constructible<_Tp>::value, const _Tp&, _Tp&&>; | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __move_if_noexcept_result_t<_Tp> | |
| move_if_noexcept([[_Clang::__lifetimebound__]] _Tp& __x) noexcept { | |
| return std::move(__x); | |
| } | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exchange.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exchange.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exchange.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _T1, class _T2 = _T1> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _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; | |
| } | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 2 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 118 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/swappable.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/movable.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/movable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/movable.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/copyable.h" 3 | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/pair.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/pair.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/tuple.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/tuple.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t, class> | |
| struct tuple_element; | |
| template <class...> | |
| class tuple; | |
| template <class> | |
| struct tuple_size; | |
| template <size_t _Ip, class... _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
| get(tuple<_Tp...>&) noexcept; | |
| template <size_t _Ip, class... _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
| get(const tuple<_Tp...>&) noexcept; | |
| template <size_t _Ip, class... _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
| get(tuple<_Tp...>&&) noexcept; | |
| template <size_t _Ip, class... _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
| get(const tuple<_Tp...>&&) noexcept; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/pair.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/pair.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class, class> | |
| struct pair; | |
| template <class _Type> | |
| inline const bool __is_pair_v = false; | |
| template <class _Type1, class _Type2> | |
| inline const bool __is_pair_v<pair<_Type1, _Type2> > = true; | |
| template <size_t _Ip, class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
| get(pair<_T1, _T2>&) noexcept; | |
| template <size_t _Ip, class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
| get(const pair<_T1, _T2>&) noexcept; | |
| template <size_t _Ip, class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
| get(pair<_T1, _T2>&&) noexcept; | |
| template <size_t _Ip, class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
| get(const pair<_T1, _T2>&&) noexcept; | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/incrementable_traits.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_primary_template.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_primary_template.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_valid_expansion.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_valid_expansion.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <template <class...> class _Templ, class... _Args, class = _Templ<_Args...> > | |
| true_type __sfinae_test_impl(int); | |
| template <template <class...> class, class...> | |
| false_type __sfinae_test_impl(...); | |
| template <template <class...> class _Templ, class... _Args> | |
| using _IsValidExpansion [[__gnu__::__nodebug__]] = decltype(std::__sfinae_test_impl<_Templ, _Args...>(0)); | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_primary_template.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_primary_template.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| using __test_for_primary_template [[__gnu__::__nodebug__]] = | |
| __enable_if_t<_IsSame<_Tp, typename _Tp::__primary_template>::value>; | |
| template <class _Tp> | |
| using __is_primary_template [[__gnu__::__nodebug__]] = _IsValidExpansion<__test_for_primary_template, _Tp>; | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/incrementable_traits.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 77 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
| } } | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/readable_traits.h" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/readable_traits.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 79 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/readable_traits.h" 3 | |
| } } | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_element.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_element.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_indices.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_indices.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/integer_sequence.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/integer_sequence.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t...> | |
| struct __tuple_indices; | |
| template <class _IdxType, _IdxType... _Values> | |
| struct __integer_sequence { | |
| template <template <class _OIdxType, _OIdxType...> class _ToIndexSeq, class _ToIndexType> | |
| using __convert [[__gnu__::__nodebug__]] = _ToIndexSeq<_ToIndexType, _Values...>; | |
| template <size_t _Sp> | |
| using __to_tuple_indices [[__gnu__::__nodebug__]] = __tuple_indices<(_Values + _Sp)...>; | |
| }; | |
| template <size_t _Ep, size_t _Sp> | |
| using __make_indices_imp [[__gnu__::__nodebug__]] = | |
| typename __make_integer_seq<__integer_sequence, size_t, _Ep - _Sp>::template __to_tuple_indices<_Sp>; | |
| # 48 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/integer_sequence.h" 3 | |
| template <class _Tp, _Tp... _Ip> | |
| struct integer_sequence { | |
| typedef _Tp value_type; | |
| static_assert(is_integral<_Tp>::value, "std::integer_sequence can only be instantiated with an integral type"); | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t size() noexcept { return sizeof...(_Ip); } | |
| }; | |
| template <size_t... _Ip> | |
| using index_sequence = integer_sequence<size_t, _Ip...>; | |
| template <class _Tp, _Tp _Ep> | |
| using make_integer_sequence [[__gnu__::__nodebug__]] = __make_integer_seq<integer_sequence, _Tp, _Ep>; | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/integer_sequence.h" 3 | |
| template <size_t _Np> | |
| using make_index_sequence = make_integer_sequence<size_t, _Np>; | |
| template <class... _Tp> | |
| using index_sequence_for = make_index_sequence<sizeof...(_Tp)>; | |
| # 88 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/integer_sequence.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_indices.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_indices.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t...> | |
| struct __tuple_indices {}; | |
| template <size_t _Ep, size_t _Sp = 0> | |
| struct __make_tuple_indices { | |
| static_assert(_Sp <= _Ep, "__make_tuple_indices input error"); | |
| typedef __make_indices_imp<_Ep, _Sp> type; | |
| }; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_element.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_types.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_types.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class... _Tp> | |
| struct __tuple_types {}; | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_element.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_element.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t _Ip, class _Tp> | |
| struct tuple_element; | |
| template <size_t _Ip, class _Tp> | |
| struct tuple_element<_Ip, const _Tp> { | |
| using type [[__gnu__::__nodebug__]] = const typename tuple_element<_Ip, _Tp>::type; | |
| }; | |
| template <size_t _Ip, class _Tp> | |
| struct tuple_element<_Ip, volatile _Tp> { | |
| using type [[__gnu__::__nodebug__]] = volatile typename tuple_element<_Ip, _Tp>::type; | |
| }; | |
| template <size_t _Ip, class _Tp> | |
| struct tuple_element<_Ip, const volatile _Tp> { | |
| using type [[__gnu__::__nodebug__]] = const volatile typename tuple_element<_Ip, _Tp>::type; | |
| }; | |
| template <size_t _Ip, class... _Types> | |
| struct tuple_element<_Ip, __tuple_types<_Types...> > { | |
| static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range"); | |
| using type [[__gnu__::__nodebug__]] = __type_pack_element<_Ip, _Types...>; | |
| }; | |
| template <size_t _Ip, class... _Tp> | |
| using tuple_element_t [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, _Tp...>::type; | |
| } } | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/detected_or.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/detected_or.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Default, class _Void, template <class...> class _Op, class... _Args> | |
| struct __detector { | |
| using type [[__gnu__::__nodebug__]] = _Default; | |
| }; | |
| template <class _Default, template <class...> class _Op, class... _Args> | |
| struct __detector<_Default, __void_t<_Op<_Args...> >, _Op, _Args...> { | |
| using type [[__gnu__::__nodebug__]] = _Op<_Args...>; | |
| }; | |
| template <class _Default, template <class...> class _Op, class... _Args> | |
| using __detected_or_t [[__gnu__::__nodebug__]] = typename __detector<_Default, void, _Op, _Args...>::type; | |
| } } | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 62 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| template <class _Iter> | |
| struct iterator_traits; | |
| struct input_iterator_tag {}; | |
| struct output_iterator_tag {}; | |
| struct forward_iterator_tag : public input_iterator_tag {}; | |
| struct bidirectional_iterator_tag : public forward_iterator_tag {}; | |
| struct random_access_iterator_tag : public bidirectional_iterator_tag {}; | |
| # 287 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| template <class _Iter, bool> | |
| struct __iterator_traits {}; | |
| template <class _Iter, bool> | |
| struct __iterator_traits_impl {}; | |
| template <class _Iter> | |
| struct __iterator_traits_impl<_Iter, true> { | |
| typedef typename _Iter::difference_type difference_type; | |
| typedef typename _Iter::value_type value_type; | |
| typedef typename _Iter::pointer pointer; | |
| typedef typename _Iter::reference reference; | |
| typedef typename _Iter::iterator_category iterator_category; | |
| }; | |
| template <class _Iter> | |
| struct __iterator_traits<_Iter, true> | |
| : __iterator_traits_impl< _Iter, | |
| is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value || | |
| is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value > {}; | |
| template <class _Tp> | |
| struct __has_iterator_typedefs { | |
| private: | |
| template <class _Up> | |
| static false_type __test(...); | |
| template <class _Up> | |
| static true_type | |
| __test(__void_t<typename _Up::iterator_category>* = nullptr, | |
| __void_t<typename _Up::difference_type>* = nullptr, | |
| __void_t<typename _Up::value_type>* = nullptr, | |
| __void_t<typename _Up::reference>* = nullptr, | |
| __void_t<typename _Up::pointer>* = nullptr); | |
| public: | |
| static const bool value = decltype(__test<_Tp>(nullptr, nullptr, nullptr, nullptr, nullptr))::value; | |
| }; | |
| template <class _Iter> | |
| struct iterator_traits : __iterator_traits<_Iter, __has_iterator_typedefs<_Iter>::value> { | |
| using __primary_template [[__gnu__::__nodebug__]] = iterator_traits; | |
| }; | |
| template <class _Tp> | |
| struct iterator_traits<_Tp*> { | |
| typedef ptrdiff_t difference_type; | |
| typedef __remove_cv_t<_Tp> value_type; | |
| typedef _Tp* pointer; | |
| typedef _Tp& reference; | |
| typedef random_access_iterator_tag iterator_category; | |
| }; | |
| template <class _Tp> | |
| using __iterator_category [[__gnu__::__nodebug__]] = typename _Tp::iterator_category; | |
| template <class _Tp> | |
| using __iterator_concept [[__gnu__::__nodebug__]] = typename _Tp::iterator_concept; | |
| template <class _Tp, class _Up> | |
| using __has_iterator_category_convertible_to [[__gnu__::__nodebug__]] = | |
| is_convertible<__detected_or_t<__nat, __iterator_category, iterator_traits<_Tp> >, _Up>; | |
| template <class _Tp, class _Up> | |
| using __has_iterator_concept_convertible_to [[__gnu__::__nodebug__]] = | |
| is_convertible<__detected_or_t<__nat, __iterator_concept, _Tp>, _Up>; | |
| template <class _Tp> | |
| using __has_input_iterator_category [[__gnu__::__nodebug__]] = __has_iterator_category_convertible_to<_Tp, input_iterator_tag>; | |
| template <class _Tp> | |
| using __has_forward_iterator_category [[__gnu__::__nodebug__]] = | |
| __has_iterator_category_convertible_to<_Tp, forward_iterator_tag>; | |
| template <class _Tp> | |
| using __has_bidirectional_iterator_category [[__gnu__::__nodebug__]] = | |
| __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>; | |
| template <class _Tp> | |
| using __has_random_access_iterator_category [[__gnu__::__nodebug__]] = | |
| __has_iterator_category_convertible_to<_Tp, random_access_iterator_tag>; | |
| # 393 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| template <class _Tp> | |
| struct __libcpp_is_contiguous_iterator : false_type {}; | |
| template <class _Up> | |
| struct __libcpp_is_contiguous_iterator<_Up*> : true_type {}; | |
| template <class _Iter> | |
| class __wrap_iter; | |
| template <class _Tp> | |
| using __has_exactly_input_iterator_category [[__gnu__::__nodebug__]] = | |
| integral_constant<bool, | |
| __has_iterator_category_convertible_to<_Tp, input_iterator_tag>::value && | |
| !__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value>; | |
| template <class _Tp> | |
| using __has_exactly_forward_iterator_category [[__gnu__::__nodebug__]] = | |
| integral_constant<bool, | |
| __has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value && | |
| !__has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value>; | |
| template <class _Tp> | |
| using __has_exactly_bidirectional_iterator_category [[__gnu__::__nodebug__]] = | |
| integral_constant<bool, | |
| __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value && | |
| !__has_iterator_category_convertible_to<_Tp, random_access_iterator_tag>::value>; | |
| template <class _InputIterator> | |
| using __iter_value_type [[__gnu__::__nodebug__]] = typename iterator_traits<_InputIterator>::value_type; | |
| # 437 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| template <class _InputIterator> | |
| using __iter_key_type [[__gnu__::__nodebug__]] = | |
| __remove_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>; | |
| template <class _InputIterator> | |
| using __iter_mapped_type [[__gnu__::__nodebug__]] = typename iterator_traits<_InputIterator>::value_type::second_type; | |
| template <class _InputIterator> | |
| using __iter_to_alloc_type [[__gnu__::__nodebug__]] = | |
| pair<const typename iterator_traits<_InputIterator>::value_type::first_type, | |
| typename iterator_traits<_InputIterator>::value_type::second_type>; | |
| template <class _Iter> | |
| using __iterator_category_type [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::iterator_category; | |
| template <class _Iter> | |
| using __iterator_pointer_type [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::pointer; | |
| template <class _Iter> | |
| using __iter_diff_t [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::difference_type; | |
| template <class _Iter> | |
| using __iter_reference [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::reference; | |
| # 478 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iterator_traits.h" 3 | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/addressof.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/addressof.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| inline constexpr __attribute__((__no_sanitize__("cfi"))) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Tp* addressof(_Tp& __x) noexcept { | |
| return __builtin_addressof(__x); | |
| } | |
| # 53 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/addressof.h" 3 | |
| template <class _Tp> | |
| _Tp* addressof(const _Tp&&) noexcept = delete; | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| #pragma GCC diagnostic push | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Container> | |
| class back_insert_iterator | |
| { | |
| #pragma GCC diagnostic pop | |
| protected: | |
| _Container* container; | |
| public: | |
| typedef output_iterator_tag iterator_category; | |
| typedef void value_type; | |
| typedef void difference_type; | |
| typedef void pointer; | |
| typedef void reference; | |
| typedef _Container container_type; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit back_insert_iterator(_Container& __x) | |
| : container(std::addressof(__x)) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator& | |
| operator=(const typename _Container::value_type& __value) { | |
| container->push_back(__value); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator& | |
| operator=(typename _Container::value_type&& __value) { | |
| container->push_back(std::move(__value)); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator& operator*() { return *this; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator& operator++() { return *this; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator operator++(int) { return *this; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Container* __get_container() const { return container; } | |
| }; | |
| template <class... _Tag> [[maybe_unused]] back_insert_iterator(typename _Tag::__allow_ctad...)->back_insert_iterator<_Tag...>; | |
| template <class _Container> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) back_insert_iterator<_Container> | |
| back_inserter(_Container& __x) { | |
| return back_insert_iterator<_Container>(__x); | |
| } | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__filesystem/path.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 1 3 | |
| # 592 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/desugars_to.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/desugars_to.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __equal_tag {}; | |
| struct __plus_tag {}; | |
| struct __less_tag {}; | |
| struct __greater_tag {}; | |
| struct __totally_ordered_less_tag {}; | |
| # 52 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/desugars_to.h" 3 | |
| template <class _CanonicalTag, class _Operation, class... _Args> | |
| inline const bool __desugars_to_v = false; | |
| template <class _CanonicalTag, class _Operation, class... _Args> | |
| inline const bool __desugars_to_v<_CanonicalTag, _Operation const, _Args...> = | |
| __desugars_to_v<_CanonicalTag, _Operation, _Args...>; | |
| template <class _CanonicalTag, class _Operation, class... _Args> | |
| inline const bool __desugars_to_v<_CanonicalTag, _Operation&, _Args...> = | |
| __desugars_to_v<_CanonicalTag, _Operation, _Args...>; | |
| template <class _CanonicalTag, class _Operation, class... _Args> | |
| inline const bool __desugars_to_v<_CanonicalTag, _Operation&&, _Args...> = | |
| __desugars_to_v<_CanonicalTag, _Operation, _Args...>; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __equal_to { | |
| template <class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _T1& __x, const _T2& __y) const { | |
| return __x == __y; | |
| } | |
| }; | |
| template <class _Tp, class _Up> | |
| inline const bool __desugars_to_v<__equal_tag, __equal_to, _Tp, _Up> = true; | |
| template <class _T1 = void, class _T2 = _T1> | |
| struct __less {}; | |
| template <> | |
| struct __less<void, void> { | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _Tp& __lhs, const _Up& __rhs) const { | |
| return __lhs < __rhs; | |
| } | |
| }; | |
| template <class _Tp> | |
| inline const bool __desugars_to_v<__less_tag, __less<>, _Tp, _Tp> = true; | |
| template <class _Tp> | |
| inline const bool __desugars_to_v<__totally_ordered_less_tag, __less<>, _Tp, _Tp> = is_integral<_Tp>::value; | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp_ref_type.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp_ref_type.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assert" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assert" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__log_hardening_failure" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__log_hardening_failure" 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_abort" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_abort" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| [[__noreturn__]] __attribute__((__visibility__("default"))) __attribute__((__format__(__printf__, 1, 2))) void __libcpp_verbose_abort(const char* __format, ...) noexcept; | |
| # 52 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_abort" 3 | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_trap" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_trap" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__verbose_trap" 3 | |
| } } | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 2 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assertion_handler" 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assert" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__assert" 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp_ref_type.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp_ref_type.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Compare> | |
| struct __debug_less { | |
| _Compare& __comp_; | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __debug_less(_Compare& __c) : __comp_(__c) {} | |
| template <class _Tp, class _Up> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator()(const _Tp& __x, const _Up& __y) { | |
| bool __r = __comp_(__x, __y); | |
| if (__r) | |
| __do_compare_assert(0, __y, __x); | |
| return __r; | |
| } | |
| template <class _Tp, class _Up> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator()(_Tp& __x, _Up& __y) { | |
| bool __r = __comp_(__x, __y); | |
| if (__r) | |
| __do_compare_assert(0, __y, __x); | |
| return __r; | |
| } | |
| template <class _LHS, class _RHS> | |
| constexpr inline | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) 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 <class _LHS, class _RHS> | |
| constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __do_compare_assert(long, _LHS&, _RHS&) {} | |
| }; | |
| template <class _Comp> | |
| using __comp_ref_type [[__gnu__::__nodebug__]] = _Comp&; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max_element.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max_element.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_callable.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_callable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Func, class... _Args, class = decltype(std::declval<_Func>()(std::declval<_Args>()...))> | |
| true_type __is_callable_helper(int); | |
| template <class...> | |
| false_type __is_callable_helper(...); | |
| template <class _Func, class... _Args> | |
| struct __is_callable : decltype(std::__is_callable_helper<_Func, _Args...>(0)) {}; | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max_element.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max_element.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Compare, class _ForwardIterator> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator | |
| __max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { | |
| static_assert( | |
| __has_forward_iterator_category<_ForwardIterator>::value, "std::max_element requires a ForwardIterator"); | |
| if (__first != __last) { | |
| _ForwardIterator __i = __first; | |
| while (++__i != __last) | |
| if (__comp(*__first, *__i)) | |
| __first = __i; | |
| } | |
| return __first; | |
| } | |
| template <class _ForwardIterator, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator | |
| max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { | |
| static_assert( | |
| __is_callable<_Compare&, decltype(*__first), decltype(*__first)>::value, "The comparator has to be callable"); | |
| return std::__max_element<__comp_ref_type<_Compare> >(__first, __last, __comp); | |
| } | |
| template <class _ForwardIterator> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator | |
| max_element(_ForwardIterator __first, _ForwardIterator __last) { | |
| return std::max_element(__first, __last, __less<>()); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/initializer_list" 1 3 | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/initializer_list" 3 | |
| namespace std | |
| { | |
| template <class _Ep> | |
| class [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] initializer_list { | |
| const _Ep* __begin_; | |
| size_t __size_; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr initializer_list(const _Ep* __b, size_t __s) noexcept | |
| : __begin_(__b), | |
| __size_(__s) {} | |
| public: | |
| typedef _Ep value_type; | |
| typedef const _Ep& reference; | |
| typedef const _Ep& const_reference; | |
| typedef size_t size_type; | |
| typedef const _Ep* iterator; | |
| typedef const _Ep* const_iterator; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr initializer_list() noexcept : __begin_(nullptr), __size_(0) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t size() const noexcept { return __size_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Ep* begin() const noexcept { return __begin_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Ep* end() const noexcept { return __begin_ + __size_; } | |
| }; | |
| template <class _Ep> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Ep* begin(initializer_list<_Ep> __il) noexcept { | |
| return __il.begin(); | |
| } | |
| template <class _Ep> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Ep* end(initializer_list<_Ep> __il) noexcept { | |
| return __il.end(); | |
| } | |
| } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 1 3 | |
| # 42 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 1 3 | |
| # 84 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_header_macro.h" 1 3 | |
| # 85 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3 | |
| # 18 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 3 | |
| typedef long int ptrdiff_t; | |
| # 89 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_size_t.h" 1 3 | |
| # 18 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_size_t.h" 3 | |
| typedef long unsigned int size_t; | |
| # 94 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 103 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 | |
| # 104 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_null.h" 1 3 | |
| # 109 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3 | |
| # 114 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 123 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_max_align_t.h" 1 3 | |
| # 19 "//Dev/llvm-project/build/lib/clang/23/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; | |
| # 124 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_offsetof.h" 1 3 | |
| # 129 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 2 3 | |
| typedef decltype(nullptr) nullptr_t; | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 2 3 | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/byte.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/byte.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/byte.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/byte.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| enum class byte : unsigned char; | |
| } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/byte.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/byte.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| enum class byte : unsigned char {}; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte operator|(byte __lhs, byte __rhs) noexcept { | |
| return static_cast<byte>( | |
| static_cast<unsigned char>(static_cast<unsigned int>(__lhs) | static_cast<unsigned int>(__rhs))); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte& operator|=(byte& __lhs, byte __rhs) noexcept { | |
| return __lhs = __lhs | __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte operator&(byte __lhs, byte __rhs) noexcept { | |
| return static_cast<byte>( | |
| static_cast<unsigned char>(static_cast<unsigned int>(__lhs) & static_cast<unsigned int>(__rhs))); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte& operator&=(byte& __lhs, byte __rhs) noexcept { | |
| return __lhs = __lhs & __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte operator^(byte __lhs, byte __rhs) noexcept { | |
| return static_cast<byte>( | |
| static_cast<unsigned char>(static_cast<unsigned int>(__lhs) ^ static_cast<unsigned int>(__rhs))); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte& operator^=(byte& __lhs, byte __rhs) noexcept { | |
| return __lhs = __lhs ^ __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr byte operator~(byte __b) noexcept { | |
| return static_cast<byte>(static_cast<unsigned char>(~static_cast<unsigned int>(__b))); | |
| } | |
| template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr byte& operator<<=(byte& __lhs, _Integer __shift) noexcept { | |
| return __lhs = __lhs << __shift; | |
| } | |
| template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr byte operator<<(byte __lhs, _Integer __shift) noexcept { | |
| return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) << __shift)); | |
| } | |
| template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr byte& operator>>=(byte& __lhs, _Integer __shift) noexcept { | |
| return __lhs = __lhs >> __shift; | |
| } | |
| template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr byte operator>>(byte __lhs, _Integer __shift) noexcept { | |
| return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) >> __shift)); | |
| } | |
| template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Integer to_integer(byte __b) noexcept { | |
| return static_cast<_Integer>(__b); | |
| } | |
| } | |
| # 57 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/max_align_t.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/max_align_t.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 1 3 | |
| # 88 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3 | |
| # 89 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_size_t.h" 1 3 | |
| # 94 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 103 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 | |
| # 104 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 113 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3 | |
| # 114 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 128 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_offsetof.h" 1 3 | |
| # 129 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 2 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/max_align_t.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__cstddef/max_align_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::max_align_t __attribute__((__using_if_exists__)); | |
| } } | |
| # 58 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstddef" 2 3 | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/initializer_list" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& | |
| max([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) { | |
| return __comp(__a, __b) ? __b : __a; | |
| } | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& | |
| max([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) { | |
| return std::max(__a, __b, __less<>()); | |
| } | |
| template <class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp | |
| max(initializer_list<_Tp> __t, _Compare __comp) { | |
| return *std::__max_element<__comp_ref_type<_Compare> >(__t.begin(), __t.end(), __comp); | |
| } | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp max(initializer_list<_Tp> __t) { | |
| return *std::max_element(__t.begin(), __t.end(), __less<>()); | |
| } | |
| } } | |
| # 593 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min_element.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min_element.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/identity.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/identity.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __is_identity : false_type {}; | |
| struct __identity { | |
| template <class _Tp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) 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<reference_wrapper<__identity> > : true_type {}; | |
| template <> | |
| struct __is_identity<reference_wrapper<const __identity> > : true_type {}; | |
| # 63 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/identity.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min_element.h" 2 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min_element.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min_element.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Comp, class _Iter, class _Sent, class _Proj> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter | |
| __min_element(_Iter __first, _Sent __last, _Comp& __comp, _Proj& __proj) { | |
| if (__first == __last) | |
| return __first; | |
| _Iter __i = __first; | |
| while (++__i != __last) | |
| if (std::__invoke(__comp, std::__invoke(__proj, *__i), std::__invoke(__proj, *__first))) | |
| __first = __i; | |
| return __first; | |
| } | |
| template <class _Comp, class _Iter, class _Sent> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter __min_element(_Iter __first, _Sent __last, _Comp __comp) { | |
| auto __proj = __identity(); | |
| return std::__min_element<_Comp>(std::move(__first), std::move(__last), __comp, __proj); | |
| } | |
| template <class _ForwardIterator, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator | |
| min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { | |
| static_assert( | |
| __has_forward_iterator_category<_ForwardIterator>::value, "std::min_element requires a ForwardIterator"); | |
| static_assert( | |
| __is_callable<_Compare&, decltype(*__first), decltype(*__first)>::value, "The comparator has to be callable"); | |
| return std::__min_element<__comp_ref_type<_Compare> >(std::move(__first), std::move(__last), __comp); | |
| } | |
| template <class _ForwardIterator> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator | |
| min_element(_ForwardIterator __first, _ForwardIterator __last) { | |
| return std::min_element(__first, __last, __less<>()); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& | |
| min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) { | |
| return __comp(__b, __a) ? __b : __a; | |
| } | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& | |
| min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) { | |
| return std::min(__a, __b, __less<>()); | |
| } | |
| template <class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp | |
| min(initializer_list<_Tp> __t, _Compare __comp) { | |
| return *std::__min_element<__comp_ref_type<_Compare> >(__t.begin(), __t.end(), __comp); | |
| } | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp min(initializer_list<_Tp> __t) { | |
| return *std::min_element(__t.begin(), __t.end(), __less<>()); | |
| } | |
| } } | |
| # 594 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_segment_if.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_segment_if.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/segmented_iterator.h" 1 3 | |
| # 50 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/segmented_iterator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iterator> | |
| struct __segmented_iterator_traits; | |
| # 69 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/segmented_iterator.h" 3 | |
| template <class _Tp, size_t = 0> | |
| struct __has_specialization : false_type {}; | |
| template <class _Tp> | |
| struct __has_specialization<_Tp, sizeof(_Tp) * 0> : true_type {}; | |
| template <class _Iterator> | |
| using __is_segmented_iterator [[__gnu__::__nodebug__]] = __has_specialization<__segmented_iterator_traits<_Iterator> >; | |
| template <class _SegmentedIterator> | |
| struct __has_random_access_local_iterator | |
| : __has_random_access_iterator_category< | |
| typename __segmented_iterator_traits< _SegmentedIterator >::__local_iterator > {}; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_segment_if.h" 2 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_segment_if.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _SegmentedIterator, class _Pred, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _SegmentedIterator | |
| __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred __pred, _Proj& __proj) { | |
| using _Traits = __segmented_iterator_traits<_SegmentedIterator>; | |
| auto __sfirst = _Traits::__segment(__first); | |
| auto __slast = _Traits::__segment(__last); | |
| if (__sfirst == __slast) | |
| return _Traits::__compose(__sfirst, __pred(_Traits::__local(__first), _Traits::__local(__last), __proj)); | |
| { | |
| auto __llast = _Traits::__end(__sfirst); | |
| auto __liter = __pred(_Traits::__local(__first), __llast, __proj); | |
| if (__liter != __llast) | |
| return _Traits::__compose(__sfirst, __liter); | |
| } | |
| ++__sfirst; | |
| while (__sfirst != __slast) { | |
| auto __llast = _Traits::__end(__sfirst); | |
| auto __liter = __pred(_Traits::__begin(__sfirst), _Traits::__end(__sfirst), __proj); | |
| if (__liter != __llast) | |
| return _Traits::__compose(__sfirst, __liter); | |
| ++__sfirst; | |
| } | |
| return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local(__last), __proj)); | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h" 1 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 36 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Ptr> | |
| struct __pointer_traits_element_type_impl {}; | |
| template <template <class, class...> class _Sp, class _Tp, class... _Args> | |
| struct __pointer_traits_element_type_impl<_Sp<_Tp, _Args...> > { | |
| using type [[__gnu__::__nodebug__]] = _Tp; | |
| }; | |
| template <class _Ptr, class = void> | |
| struct __pointer_traits_element_type : __pointer_traits_element_type_impl<_Ptr> {}; | |
| template <class _Ptr> | |
| struct __pointer_traits_element_type<_Ptr, __void_t<typename _Ptr::element_type> > { | |
| using type [[__gnu__::__nodebug__]] = typename _Ptr::element_type; | |
| }; | |
| template <class _Tp, class _Up> | |
| struct __pointer_traits_rebind_impl { | |
| static_assert(false, "Cannot rebind pointer; did you forget to add a rebind member to your pointer?"); | |
| }; | |
| template <template <class, class...> class _Sp, class _Tp, class... _Args, class _Up> | |
| struct __pointer_traits_rebind_impl<_Sp<_Tp, _Args...>, _Up> { | |
| using type [[__gnu__::__nodebug__]] = _Sp<_Up, _Args...>; | |
| }; | |
| template <class _Tp, class _Up, class = void> | |
| struct __pointer_traits_rebind : __pointer_traits_rebind_impl<_Tp, _Up> {}; | |
| template <class _Tp, class _Up> | |
| struct __pointer_traits_rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up> > > { | |
| using type [[__gnu__::__nodebug__]] = typename _Tp::template rebind<_Up>; | |
| }; | |
| template <class _Tp> | |
| using __difference_type_member [[__gnu__::__nodebug__]] = typename _Tp::difference_type; | |
| template <class _Ptr, class = void> | |
| struct __pointer_traits_impl {}; | |
| template <class _Ptr> | |
| struct __pointer_traits_impl<_Ptr, __void_t<typename __pointer_traits_element_type<_Ptr>::type> > { | |
| typedef _Ptr pointer; | |
| typedef typename __pointer_traits_element_type<pointer>::type element_type; | |
| using difference_type = __detected_or_t<ptrdiff_t, __difference_type_member, pointer>; | |
| template <class _Up> | |
| using rebind = typename __pointer_traits_rebind<pointer, _Up>::type; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static pointer | |
| pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) { | |
| return pointer::pointer_to(__r); | |
| } | |
| }; | |
| template <class _Ptr> | |
| struct pointer_traits : __pointer_traits_impl<_Ptr> {}; | |
| template <class _Tp> | |
| struct pointer_traits<_Tp*> { | |
| typedef _Tp* pointer; | |
| typedef _Tp element_type; | |
| typedef ptrdiff_t difference_type; | |
| template <class _Up> | |
| using rebind = _Up*; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static pointer | |
| pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) noexcept { | |
| return std::addressof(__r); | |
| } | |
| }; | |
| template <class _From, class _To> | |
| using __rebind_pointer_t [[__gnu__::__nodebug__]] = typename pointer_traits<_From>::template rebind<_To>; | |
| template <class _Pointer, class = void> | |
| struct __to_address_helper; | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __to_address(_Tp* __p) noexcept { | |
| static_assert(!is_function<_Tp>::value, "_Tp is a function type"); | |
| return __p; | |
| } | |
| template <class _Pointer, class = void> | |
| struct _HasToAddress : false_type {}; | |
| template <class _Pointer> | |
| struct _HasToAddress<_Pointer, decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>())) > | |
| : true_type {}; | |
| template <class _Pointer, class = void> | |
| struct _HasArrow : false_type {}; | |
| template <class _Pointer> | |
| struct _HasArrow<_Pointer, decltype((void)std::declval<const _Pointer&>().operator->()) > : true_type {}; | |
| template <class _Pointer> | |
| struct _IsFancyPointer { | |
| static const bool value = _HasArrow<_Pointer>::value || _HasToAddress<_Pointer>::value; | |
| }; | |
| template <class _Pointer, __enable_if_t< _And<is_class<_Pointer>, _IsFancyPointer<_Pointer> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr __decay_t<decltype(__to_address_helper<_Pointer>::__call(std::declval<const _Pointer&>()))> | |
| __to_address(const _Pointer& __p) noexcept { | |
| return __to_address_helper<_Pointer>::__call(__p); | |
| } | |
| template <class _Pointer, class> | |
| struct __to_address_helper { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr static decltype(std::__to_address(std::declval<const _Pointer&>().operator->())) | |
| __call(const _Pointer& __p) noexcept { | |
| return std::__to_address(__p.operator->()); | |
| } | |
| }; | |
| template <class _Pointer> | |
| struct __to_address_helper<_Pointer, | |
| decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>()))> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr static decltype(pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>())) | |
| __call(const _Pointer& __p) noexcept { | |
| return pointer_traits<_Pointer>::to_address(__p); | |
| } | |
| }; | |
| # 259 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h" 3 | |
| template <class _PtrTo, class _PtrFrom> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _PtrTo __static_fancy_pointer_cast(const _PtrFrom& __p) { | |
| using __ptr_traits = pointer_traits<_PtrTo>; | |
| using __element_type = typename __ptr_traits::element_type; | |
| return __p ? __ptr_traits::pointer_to(*static_cast<__element_type*>(std::addressof(*__p))) | |
| : static_cast<_PtrTo>(nullptr); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 37 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
| template <class _Iter, bool = __libcpp_is_contiguous_iterator<_Iter>::value> | |
| struct __unwrap_iter_impl { | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter __rewrap(_Iter, _Iter __iter) { return __iter; } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter __unwrap(_Iter __i) noexcept { return __i; } | |
| }; | |
| template <class _Iter> | |
| struct __unwrap_iter_impl<_Iter, true> { | |
| using _ToAddressT [[__gnu__::__nodebug__]] = decltype(std::__to_address(std::declval<_Iter>())); | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter __rewrap(_Iter __orig_iter, _ToAddressT __unwrapped_iter) { | |
| return __orig_iter + (__unwrapped_iter - std::__to_address(__orig_iter)); | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ToAddressT __unwrap(_Iter __i) noexcept { | |
| return std::__to_address(__i); | |
| } | |
| }; | |
| template <class _Iter, | |
| class _Impl = __unwrap_iter_impl<_Iter>, | |
| __enable_if_t<is_copy_constructible<_Iter>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr decltype(_Impl::__unwrap(std::declval<_Iter>())) | |
| __unwrap_iter(_Iter __i) noexcept { | |
| return _Impl::__unwrap(__i); | |
| } | |
| # 76 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
| template <class _OrigIter, class _Iter, class _Impl = __unwrap_iter_impl<_OrigIter> > | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _OrigIter __rewrap_iter(_OrigIter __orig_iter, _Iter __iter) noexcept { | |
| return _Impl::__rewrap(std::move(__orig_iter), std::move(__iter)); | |
| } | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/integer_traits.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/integer_traits.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| inline const bool __is_signed_integer_v = false; | |
| template <> | |
| inline const bool __is_signed_integer_v<signed char> = true; | |
| template <> | |
| inline const bool __is_signed_integer_v<signed short> = true; | |
| template <> | |
| inline const bool __is_signed_integer_v<signed int> = true; | |
| template <> | |
| inline const bool __is_signed_integer_v<signed long> = true; | |
| template <> | |
| inline const bool __is_signed_integer_v<signed long long> = true; | |
| template <> | |
| inline const bool __is_signed_integer_v<__int128_t> = true; | |
| template <class _Tp> | |
| inline const bool __is_unsigned_integer_v = false; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<unsigned char> = true; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<unsigned short> = true; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<unsigned int> = true; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<unsigned long> = true; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<unsigned long long> = true; | |
| template <> | |
| inline const bool __is_unsigned_integer_v<__uint128_t> = true; | |
| # 71 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/integer_traits.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int __countr_zero(_Tp __t) noexcept { | |
| static_assert(__is_unsigned_integer_v<_Tp>, "__countr_zero only works with unsigned types"); | |
| return __builtin_ctzg(__t, numeric_limits<_Tp>::digits); | |
| } | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/countr.h" 3 | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/invert_if.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/invert_if.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <bool _Invert, class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp __invert_if(_Tp __v) { | |
| if (_Invert) | |
| return ~__v; | |
| return __v; | |
| } | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/bit_reference.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/bit_reference.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Cp, bool _IsConst, typename _Cp::__storage_type = 0> | |
| class __bit_iterator; | |
| template <class _Cp> | |
| struct __bit_array; | |
| template <class, class = void> | |
| struct __size_difference_type_traits; | |
| template <class _StoragePointer> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __fill_masked_range(_StoragePointer __word, unsigned __clz, unsigned __ctz, bool __fill_val); | |
| template <class _StorageType> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _StorageType __trailing_mask(unsigned __clz); | |
| template <class _StorageType> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _StorageType __leading_mask(unsigned __ctz); | |
| template <class _StorageType> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _StorageType __middle_mask(unsigned __clz, unsigned __ctz); | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/placement_new_delete.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/placement_new_delete.h" 3 | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void* | |
| operator new(std::size_t, void* __p) noexcept { | |
| return __p; | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void* | |
| operator new[](std::size_t, void* __p) noexcept { | |
| return __p; | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void operator delete(void*, void*) noexcept {} | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void operator delete[](void*, void*) noexcept {} | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 3 | |
| template <class _Tp, class... _Args, class = decltype(::new(std::declval<void*>()) _Tp(std::declval<_Args>()...))> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Tp* __construct_at(_Tp* __location, _Args&&... __args) { | |
| return ((void)0), | |
| ::new (static_cast<void*>(__location)) _Tp(std::forward<_Args>(__args)...); | |
| } | |
| template <class _Tp, __enable_if_t<!is_array<_Tp>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __destroy_at(_Tp* __loc) { | |
| ((void)0); | |
| __loc->~_Tp(); | |
| } | |
| # 75 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 3 | |
| template <class _Tp, enable_if_t<!is_array_v<_Tp>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void destroy_at(_Tp* __loc) { | |
| std::__destroy_at(__loc); | |
| } | |
| # 89 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/datasizeof.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/datasizeof.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct _FirstPaddingByte { | |
| [[__no_unique_address__]] _Tp __v_; | |
| char __first_padding_byte_; | |
| }; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-offsetof" | |
| template <class _Tp> | |
| inline const size_t __datasizeof_v = __builtin_offsetof(_FirstPaddingByte<_Tp>, __first_padding_byte_); | |
| #pragma clang diagnostic pop | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_always_bitcastable.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _From, class _To> | |
| struct __is_always_bitcastable { | |
| using _UnqualFrom [[__gnu__::__nodebug__]] = __remove_cv_t<_From>; | |
| using _UnqualTo [[__gnu__::__nodebug__]] = __remove_cv_t<_To>; | |
| static const bool value = | |
| (is_same<_UnqualFrom, _UnqualTo>::value && is_trivially_copyable<_UnqualFrom>::value) || | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 | |
| ( | |
| sizeof(_From) == sizeof(_To) && | |
| is_integral<_From>::value && | |
| is_integral<_To>::value && | |
| !is_same<_UnqualTo, bool>::value | |
| ); | |
| }; | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_constant_evaluated.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_constant_evaluated.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr bool __libcpp_is_constant_evaluated() noexcept { | |
| return __builtin_is_constant_evaluated(); | |
| } | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_equality_comparable.h" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_equality_comparable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up, class = void> | |
| struct __is_equality_comparable : false_type {}; | |
| template <class _Tp, class _Up> | |
| struct __is_equality_comparable<_Tp, _Up, __void_t<decltype(std::declval<_Tp>() == std::declval<_Up>())> > : true_type { | |
| }; | |
| # 50 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_equality_comparable.h" 3 | |
| template <class _Tp, class _Up, class = void> | |
| struct __libcpp_is_trivially_equality_comparable_impl : false_type {}; | |
| template <class _Tp> | |
| struct __libcpp_is_trivially_equality_comparable_impl<_Tp, _Tp> | |
| : integral_constant<bool, __is_trivially_equality_comparable(_Tp) && __is_equality_comparable<_Tp, _Tp>::value> { | |
| }; | |
| template <class _Tp, class _Up> | |
| struct __libcpp_is_trivially_equality_comparable_impl< | |
| _Tp, | |
| _Up, | |
| __enable_if_t<is_integral<_Tp>::value && is_integral<_Up>::value && !is_same<_Tp, _Up>::value && | |
| is_signed<_Tp>::value == is_signed<_Up>::value && sizeof(_Tp) == sizeof(_Up)> > : true_type {}; | |
| template <class _Tp> | |
| struct __libcpp_is_trivially_equality_comparable_impl<_Tp*, _Tp*> : true_type {}; | |
| template <class _Tp, class _Up> | |
| struct __libcpp_is_trivially_equality_comparable_impl<_Tp*, _Up*> | |
| : integral_constant< | |
| bool, | |
| __is_equality_comparable<_Tp*, _Up*>::value && | |
| (is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value || is_void<_Tp>::value || is_void<_Up>::value)> { | |
| }; | |
| template <class _Tp, class _Up> | |
| using __libcpp_is_trivially_equality_comparable [[__gnu__::__nodebug__]] = | |
| __libcpp_is_trivially_equality_comparable_impl<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >; | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 3 | |
| template <class _Tp> | |
| inline const bool __is_std_byte_v = false; | |
| template <> | |
| inline const bool __is_std_byte_v<byte> = true; | |
| template <class _Tp, class _Up> | |
| inline const bool __is_trivially_lexicographically_comparable_v = | |
| is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value && | |
| sizeof(_Tp) == 1 && | |
| (is_unsigned<_Tp>::value || __is_std_byte_v<_Tp>); | |
| } } | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/element_count.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/element_count.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| enum class __element_count : size_t {}; | |
| } } | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_valid_range.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_valid_range.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("address"))) bool | |
| __is_valid_range(const _Tp* __first, const _Tp* __last) { | |
| if (__libcpp_is_constant_evaluated()) { | |
| return __builtin_constant_p(__first <= __last) && __first <= __last; | |
| } | |
| return !__less<>()(__last, __first); | |
| } | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, class _Up, class = void> | |
| struct __is_less_than_comparable : false_type {}; | |
| template <class _Tp, class _Up> | |
| struct __is_less_than_comparable<_Tp, _Up, __void_t<decltype(std::declval<_Tp>() < std::declval<_Up>())> > : true_type { | |
| }; | |
| template <class _Tp, class _Up, __enable_if_t<__is_less_than_comparable<const _Tp*, const _Up*>::value, int> = 0> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("address"))) bool | |
| __is_pointer_in_range(const _Tp* __begin, const _Tp* __end, const _Up* __ptr) { | |
| ((void)0); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if (!__builtin_constant_p(__begin <= __ptr && __ptr < __end)) | |
| return false; | |
| } | |
| return !__less<>()(__ptr, __begin) && __less<>()(__ptr, __end); | |
| } | |
| template <class _Tp, class _Up, __enable_if_t<!__is_less_than_comparable<const _Tp*, const _Up*>::value, int> = 0> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("address"))) bool | |
| __is_pointer_in_range(const _Tp* __begin, const _Tp* __end, const _Up* __ptr) { | |
| if (__libcpp_is_constant_evaluated()) | |
| return false; | |
| return reinterpret_cast<const char*>(__begin) <= reinterpret_cast<const char*>(__ptr) && | |
| reinterpret_cast<const char*>(__ptr) < reinterpret_cast<const char*>(__end); | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| __is_overlapping_range(const _Tp* __begin, const _Tp* __end, const _Up* __begin2) { | |
| auto __size = __end - __begin; | |
| auto __end2 = __begin2 + __size; | |
| return std::__is_pointer_in_range(__begin, __end, __begin2) || std::__is_pointer_in_range(__begin2, __end2, __begin); | |
| } | |
| } } | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 2 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| inline const bool __is_char_type = false; | |
| template <> | |
| inline const bool __is_char_type<char> = true; | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t __constexpr_strlen(const _Tp* __str) noexcept { | |
| static_assert(__is_char_type<_Tp>, "__constexpr_strlen only works with char and char8_t"); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if constexpr (is_same_v<_Tp, char>) | |
| return __builtin_strlen(__str); | |
| size_t __i = 0; | |
| for (; __str[__i] != '\0'; ++__i) | |
| ; | |
| return __i; | |
| } | |
| return __builtin_strlen(reinterpret_cast<const char*>(__str)); | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| __constexpr_memcmp(const _Tp* __lhs, const _Up* __rhs, __element_count __n) { | |
| static_assert(__is_trivially_lexicographically_comparable_v<_Tp, _Up>, | |
| "_Tp and _Up have to be trivially lexicographically comparable"); | |
| auto __count = static_cast<size_t>(__n); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if (sizeof(_Tp) == 1 && !is_same<_Tp, bool>::value) | |
| return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)); | |
| while (__count != 0) { | |
| if (*__lhs < *__rhs) | |
| return -1; | |
| if (*__rhs < *__lhs) | |
| return 1; | |
| --__count; | |
| ++__lhs; | |
| ++__rhs; | |
| } | |
| return 0; | |
| } else { | |
| return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)); | |
| } | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| __constexpr_memcmp_equal(const _Tp* __lhs, const _Up* __rhs, __element_count __n) { | |
| static_assert(__libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, | |
| "_Tp and _Up have to be trivially equality comparable"); | |
| auto __count = static_cast<size_t>(__n); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if (sizeof(_Tp) == 1 && is_integral<_Tp>::value && !is_same<_Tp, bool>::value) | |
| return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; | |
| while (__count != 0) { | |
| if (*__lhs != *__rhs) | |
| return false; | |
| --__count; | |
| ++__lhs; | |
| ++__rhs; | |
| } | |
| return true; | |
| } else { | |
| return ::__builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; | |
| } | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __constexpr_memchr(_Tp* __str, _Up __value, size_t __count) { | |
| static_assert(sizeof(_Tp) == 1 && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, | |
| "Calling memchr on non-trivially equality comparable types is unsafe."); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if constexpr (is_same_v<remove_cv_t<_Tp>, char> && is_same_v<remove_cv_t<_Up>, char>) | |
| return __builtin_char_memchr(__str, __value, __count); | |
| for (; __count; --__count) { | |
| if (*__str == __value) | |
| return __str; | |
| ++__str; | |
| } | |
| return nullptr; | |
| } else { | |
| char __value_buffer = 0; | |
| __builtin_memcpy(&__value_buffer, std::addressof(__value), sizeof(char)); | |
| return static_cast<_Tp*>(__builtin_memchr(__str, __value_buffer, __count)); | |
| } | |
| } | |
| # 164 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h" 3 | |
| template <class _Tp, class _Up, __enable_if_t<is_assignable<_Tp&, _Up const&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp& __assign_trivially_copyable(_Tp& __dest, _Up const& __src) { | |
| __dest = __src; | |
| return __dest; | |
| } | |
| template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && | |
| is_assignable<_Tp&, _Up&&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp& __assign_trivially_copyable(_Tp& __dest, _Up& __src) { | |
| __dest = | |
| static_cast<_Up&&>(__src); | |
| return __dest; | |
| } | |
| template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && | |
| !is_assignable<_Tp&, _Up&&>::value && | |
| is_constructible<_Tp, _Up const&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Tp& __assign_trivially_copyable(_Tp& __dest, _Up const& __src) { | |
| std::__construct_at(std::addressof(__dest), __src); | |
| return __dest; | |
| } | |
| template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && | |
| !is_assignable<_Tp&, _Up&&>::value && | |
| !is_constructible<_Tp, _Up const&>::value && | |
| is_constructible<_Tp, _Up&&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Tp& __assign_trivially_copyable(_Tp& __dest, _Up& __src) { | |
| std::__construct_at( | |
| std::addressof(__dest), | |
| static_cast<_Up&&>(__src)); | |
| return __dest; | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* | |
| __constexpr_memmove(_Tp* __dest, _Up* __src, __element_count __n) { | |
| static_assert(__is_always_bitcastable<_Up, _Tp>::value); | |
| size_t __count = static_cast<size_t>(__n); | |
| if (__libcpp_is_constant_evaluated()) { | |
| if constexpr (is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value) { | |
| ::__builtin_memmove(__dest, __src, __count * sizeof(_Tp)); | |
| return __dest; | |
| } else | |
| { | |
| if (std::__is_pointer_in_range(__src, __src + __count, __dest)) { | |
| for (; __count > 0; --__count) | |
| std::__assign_trivially_copyable(__dest[__count - 1], __src[__count - 1]); | |
| } else { | |
| for (size_t __i = 0; __i != __count; ++__i) | |
| std::__assign_trivially_copyable(__dest[__i], __src[__i]); | |
| } | |
| } | |
| } else if (__count > 0) { | |
| ::__builtin_memmove(__dest, __src, (__count - 1) * sizeof(_Tp) + __datasizeof_v<_Tp>); | |
| } | |
| return __dest; | |
| } | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 1 3 | |
| # 116 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwctype" 1 3 | |
| # 56 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwctype" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cctype" 1 3 | |
| # 42 "//Dev/emscripten/cache/sysroot/include/c++/v1/cctype" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctype.h" 1 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctype.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/ctype.h" 1 3 | |
| extern "C" { | |
| int isalnum(int); | |
| int isalpha(int); | |
| int isblank(int); | |
| int iscntrl(int); | |
| int isdigit(int); | |
| int isgraph(int); | |
| int islower(int); | |
| int isprint(int); | |
| int ispunct(int); | |
| int isspace(int); | |
| int isupper(int); | |
| int isxdigit(int); | |
| int tolower(int); | |
| int toupper(int); | |
| # 46 "//Dev/emscripten/cache/sysroot/include/ctype.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 47 "//Dev/emscripten/cache/sysroot/include/ctype.h" 2 3 | |
| int isalnum_l(int, locale_t); | |
| int isalpha_l(int, locale_t); | |
| int isblank_l(int, locale_t); | |
| int iscntrl_l(int, locale_t); | |
| int isdigit_l(int, locale_t); | |
| int isgraph_l(int, locale_t); | |
| int islower_l(int, locale_t); | |
| int isprint_l(int, locale_t); | |
| int ispunct_l(int, locale_t); | |
| int isspace_l(int, locale_t); | |
| int isupper_l(int, locale_t); | |
| int isxdigit_l(int, locale_t); | |
| int tolower_l(int, locale_t); | |
| int toupper_l(int, locale_t); | |
| int isascii(int); | |
| int toascii(int); | |
| # 74 "//Dev/emscripten/cache/sysroot/include/ctype.h" 3 | |
| } | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/ctype.h" 2 3 | |
| # 43 "//Dev/emscripten/cache/sysroot/include/c++/v1/cctype" 2 3 | |
| # 53 "//Dev/emscripten/cache/sysroot/include/c++/v1/cctype" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 113 "//Dev/emscripten/cache/sysroot/include/c++/v1/cctype" 3 | |
| using ::isalnum __attribute__((__using_if_exists__)); | |
| using ::isalpha __attribute__((__using_if_exists__)); | |
| using ::isblank __attribute__((__using_if_exists__)); | |
| using ::iscntrl __attribute__((__using_if_exists__)); | |
| using ::isdigit __attribute__((__using_if_exists__)); | |
| using ::isgraph __attribute__((__using_if_exists__)); | |
| using ::islower __attribute__((__using_if_exists__)); | |
| using ::isprint __attribute__((__using_if_exists__)); | |
| using ::ispunct __attribute__((__using_if_exists__)); | |
| using ::isspace __attribute__((__using_if_exists__)); | |
| using ::isupper __attribute__((__using_if_exists__)); | |
| using ::isxdigit __attribute__((__using_if_exists__)); | |
| using ::tolower __attribute__((__using_if_exists__)); | |
| using ::toupper __attribute__((__using_if_exists__)); | |
| } } | |
| # 57 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwctype" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/wctype.h" 1 3 | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/wctype.h" 3 | |
| # 66 "//Dev/emscripten/cache/sysroot/include/c++/v1/wctype.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/wctype.h" 1 3 | |
| extern "C" { | |
| # 18 "//Dev/emscripten/cache/sysroot/include/wctype.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef int wint_t; | |
| # 52 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef unsigned int wctype_t; | |
| # 19 "//Dev/emscripten/cache/sysroot/include/wctype.h" 2 3 | |
| typedef const int * wctrans_t; | |
| int iswalnum(wint_t); | |
| int iswalpha(wint_t); | |
| int iswblank(wint_t); | |
| int iswcntrl(wint_t); | |
| int iswdigit(wint_t); | |
| int iswgraph(wint_t); | |
| int iswlower(wint_t); | |
| int iswprint(wint_t); | |
| int iswpunct(wint_t); | |
| int iswspace(wint_t); | |
| int iswupper(wint_t); | |
| int iswxdigit(wint_t); | |
| int iswctype(wint_t, wctype_t); | |
| wint_t towctrans(wint_t, wctrans_t); | |
| wint_t towlower(wint_t); | |
| wint_t towupper(wint_t); | |
| wctrans_t wctrans(const char *); | |
| wctype_t wctype(const char *); | |
| # 54 "//Dev/emscripten/cache/sysroot/include/wctype.h" 3 | |
| int iswalnum_l(wint_t, locale_t); | |
| int iswalpha_l(wint_t, locale_t); | |
| int iswblank_l(wint_t, locale_t); | |
| int iswcntrl_l(wint_t, locale_t); | |
| int iswdigit_l(wint_t, locale_t); | |
| int iswgraph_l(wint_t, locale_t); | |
| int iswlower_l(wint_t, locale_t); | |
| int iswprint_l(wint_t, locale_t); | |
| int iswpunct_l(wint_t, locale_t); | |
| int iswspace_l(wint_t, locale_t); | |
| int iswupper_l(wint_t, locale_t); | |
| int iswxdigit_l(wint_t, locale_t); | |
| int iswctype_l(wint_t, wctype_t, locale_t); | |
| wint_t towlower_l(wint_t, locale_t); | |
| wint_t towupper_l(wint_t, locale_t); | |
| wint_t towctrans_l(wint_t, wctrans_t, locale_t); | |
| wctrans_t wctrans_l(const char *, locale_t); | |
| wctype_t wctype_l(const char *, locale_t); | |
| } | |
| # 67 "//Dev/emscripten/cache/sysroot/include/c++/v1/wctype.h" 2 3 | |
| # 59 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwctype" 2 3 | |
| # 70 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwctype" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::wint_t __attribute__((__using_if_exists__)); | |
| using ::wctrans_t __attribute__((__using_if_exists__)); | |
| using ::wctype_t __attribute__((__using_if_exists__)); | |
| using ::iswalnum __attribute__((__using_if_exists__)); | |
| using ::iswalpha __attribute__((__using_if_exists__)); | |
| using ::iswblank __attribute__((__using_if_exists__)); | |
| using ::iswcntrl __attribute__((__using_if_exists__)); | |
| using ::iswdigit __attribute__((__using_if_exists__)); | |
| using ::iswgraph __attribute__((__using_if_exists__)); | |
| using ::iswlower __attribute__((__using_if_exists__)); | |
| using ::iswprint __attribute__((__using_if_exists__)); | |
| using ::iswpunct __attribute__((__using_if_exists__)); | |
| using ::iswspace __attribute__((__using_if_exists__)); | |
| using ::iswupper __attribute__((__using_if_exists__)); | |
| using ::iswxdigit __attribute__((__using_if_exists__)); | |
| using ::iswctype __attribute__((__using_if_exists__)); | |
| using ::wctype __attribute__((__using_if_exists__)); | |
| using ::towlower __attribute__((__using_if_exists__)); | |
| using ::towupper __attribute__((__using_if_exists__)); | |
| using ::towctrans __attribute__((__using_if_exists__)); | |
| using ::wctrans __attribute__((__using_if_exists__)); | |
| } } | |
| # 117 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 1 3 | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 3 | |
| # 116 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/wchar.h" 1 3 | |
| extern "C" { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/wchar.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 370 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| struct _IO_FILE { char __x; }; | |
| typedef struct _IO_FILE FILE; | |
| typedef __builtin_va_list va_list; | |
| typedef __builtin_va_list __isoc_va_list; | |
| typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; | |
| # 32 "//Dev/emscripten/cache/sysroot/include/wchar.h" 2 3 | |
| # 52 "//Dev/emscripten/cache/sysroot/include/wchar.h" 3 | |
| wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); | |
| wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); | |
| wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict); | |
| wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t); | |
| int wcscmp (const wchar_t *, const wchar_t *); | |
| int wcsncmp (const wchar_t *, const wchar_t *, size_t); | |
| int wcscoll(const wchar_t *, const wchar_t *); | |
| size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t); | |
| wchar_t *wcschr (const wchar_t *, wchar_t); | |
| wchar_t *wcsrchr (const wchar_t *, wchar_t); | |
| size_t wcscspn (const wchar_t *, const wchar_t *); | |
| size_t wcsspn (const wchar_t *, const wchar_t *); | |
| wchar_t *wcspbrk (const wchar_t *, const wchar_t *); | |
| wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict); | |
| size_t wcslen (const wchar_t *); | |
| wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict); | |
| wchar_t *wcswcs (const wchar_t *, const wchar_t *); | |
| wchar_t *wmemchr (const wchar_t *, wchar_t, size_t); | |
| int wmemcmp (const wchar_t *, const wchar_t *, size_t); | |
| wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); | |
| wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t); | |
| wchar_t *wmemset (wchar_t *, wchar_t, size_t); | |
| wint_t btowc (int); | |
| int wctob (wint_t); | |
| int mbsinit (const mbstate_t *); | |
| size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); | |
| size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict); | |
| size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict); | |
| size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict); | |
| size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict); | |
| float wcstof (const wchar_t *__restrict, wchar_t **__restrict); | |
| double wcstod (const wchar_t *__restrict, wchar_t **__restrict); | |
| long double wcstold (const wchar_t *__restrict, wchar_t **__restrict); | |
| long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int); | |
| unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int); | |
| long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int); | |
| unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int); | |
| int fwide (FILE *, int); | |
| int wprintf (const wchar_t *__restrict, ...); | |
| int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...); | |
| int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...); | |
| int vwprintf (const wchar_t *__restrict, __isoc_va_list); | |
| int vfwprintf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); | |
| int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, __isoc_va_list); | |
| int wscanf (const wchar_t *__restrict, ...); | |
| int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...); | |
| int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...); | |
| int vwscanf (const wchar_t *__restrict, __isoc_va_list); | |
| int vfwscanf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); | |
| int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, __isoc_va_list); | |
| wint_t fgetwc (FILE *); | |
| wint_t getwc (FILE *); | |
| wint_t getwchar (void); | |
| wint_t fputwc (wchar_t, FILE *); | |
| wint_t putwc (wchar_t, FILE *); | |
| wint_t putwchar (wchar_t); | |
| wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict); | |
| int fputws (const wchar_t *__restrict, FILE *__restrict); | |
| wint_t ungetwc (wint_t, FILE *); | |
| struct tm; | |
| size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict); | |
| wint_t fgetwc_unlocked (FILE *); | |
| wint_t getwc_unlocked (FILE *); | |
| wint_t getwchar_unlocked (void); | |
| wint_t fputwc_unlocked (wchar_t, FILE *); | |
| wint_t putwc_unlocked (wchar_t, FILE *); | |
| wint_t putwchar_unlocked (wchar_t); | |
| wchar_t *fgetws_unlocked (wchar_t *__restrict, int, FILE *__restrict); | |
| int fputws_unlocked (const wchar_t *__restrict, FILE *__restrict); | |
| size_t wcsftime_l (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict, locale_t); | |
| FILE *open_wmemstream(wchar_t **, size_t *); | |
| size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict); | |
| size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict); | |
| wchar_t *wcsdup(const wchar_t *); | |
| size_t wcsnlen (const wchar_t *, size_t); | |
| wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict); | |
| wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); | |
| int wcscasecmp(const wchar_t *, const wchar_t *); | |
| int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); | |
| int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); | |
| int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); | |
| int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); | |
| size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t, locale_t); | |
| int wcwidth (wchar_t); | |
| int wcswidth (const wchar_t *, size_t); | |
| int iswalnum(wint_t); | |
| int iswalpha(wint_t); | |
| int iswblank(wint_t); | |
| int iswcntrl(wint_t); | |
| int iswdigit(wint_t); | |
| int iswgraph(wint_t); | |
| int iswlower(wint_t); | |
| int iswprint(wint_t); | |
| int iswpunct(wint_t); | |
| int iswspace(wint_t); | |
| int iswupper(wint_t); | |
| int iswxdigit(wint_t); | |
| int iswctype(wint_t, wctype_t); | |
| wint_t towlower(wint_t); | |
| wint_t towupper(wint_t); | |
| wctype_t wctype(const char *); | |
| # 204 "//Dev/emscripten/cache/sysroot/include/wchar.h" 3 | |
| } | |
| # 117 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__mbstate_t.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__mbstate_t.h" 3 | |
| # 40 "//Dev/emscripten/cache/sysroot/include/c++/v1/__mbstate_t.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__mbstate_t.h" 2 3 | |
| # 123 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 1 3 | |
| # 88 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3 | |
| # 89 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_size_t.h" 1 3 | |
| # 94 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 103 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 | |
| # 104 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 113 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3 | |
| # 114 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 128 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_offsetof.h" 1 3 | |
| # 129 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 2 3 | |
| # 124 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 2 3 | |
| # 140 "//Dev/emscripten/cache/sysroot/include/c++/v1/wchar.h" 3 | |
| extern "C++" { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) wchar_t* __libcpp_wcschr(const wchar_t* __s, wchar_t __c) { | |
| return (wchar_t*)wcschr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcschr(const wchar_t* __s, wchar_t __c) { | |
| return __libcpp_wcschr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcschr(wchar_t* __s, wchar_t __c) { | |
| return __libcpp_wcschr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) wchar_t* __libcpp_wcspbrk(const wchar_t* __s1, const wchar_t* __s2) { | |
| return (wchar_t*)wcspbrk(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const wchar_t* | |
| wcspbrk(const wchar_t* __s1, const wchar_t* __s2) { | |
| return __libcpp_wcspbrk(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcspbrk(wchar_t* __s1, const wchar_t* __s2) { | |
| return __libcpp_wcspbrk(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) wchar_t* __libcpp_wcsrchr(const wchar_t* __s, wchar_t __c) { | |
| return (wchar_t*)wcsrchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcsrchr(const wchar_t* __s, wchar_t __c) { | |
| return __libcpp_wcsrchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcsrchr(wchar_t* __s, wchar_t __c) { | |
| return __libcpp_wcsrchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) wchar_t* __libcpp_wcsstr(const wchar_t* __s1, const wchar_t* __s2) { | |
| return (wchar_t*)wcsstr(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const wchar_t* | |
| wcsstr(const wchar_t* __s1, const wchar_t* __s2) { | |
| return __libcpp_wcsstr(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcsstr(wchar_t* __s1, const wchar_t* __s2) { | |
| return __libcpp_wcsstr(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) wchar_t* __libcpp_wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) { | |
| return (wchar_t*)wmemchr(__s, __c, __n); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const wchar_t* | |
| wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) { | |
| return __libcpp_wmemchr(__s, __c, __n); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) wchar_t* wmemchr(wchar_t* __s, wchar_t __c, size_t __n) { | |
| return __libcpp_wmemchr(__s, __c, __n); | |
| } | |
| } | |
| # 119 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 2 3 | |
| # 130 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::mbstate_t __attribute__((__using_if_exists__)); | |
| using ::tm __attribute__((__using_if_exists__)); | |
| using ::wint_t __attribute__((__using_if_exists__)); | |
| using ::FILE __attribute__((__using_if_exists__)); | |
| using ::fwprintf __attribute__((__using_if_exists__)); | |
| using ::fwscanf __attribute__((__using_if_exists__)); | |
| using ::swprintf __attribute__((__using_if_exists__)); | |
| using ::vfwprintf __attribute__((__using_if_exists__)); | |
| using ::vswprintf __attribute__((__using_if_exists__)); | |
| using ::swscanf __attribute__((__using_if_exists__)); | |
| using ::vfwscanf __attribute__((__using_if_exists__)); | |
| using ::vswscanf __attribute__((__using_if_exists__)); | |
| using ::fgetwc __attribute__((__using_if_exists__)); | |
| using ::fgetws __attribute__((__using_if_exists__)); | |
| using ::fputwc __attribute__((__using_if_exists__)); | |
| using ::fputws __attribute__((__using_if_exists__)); | |
| using ::fwide __attribute__((__using_if_exists__)); | |
| using ::getwc __attribute__((__using_if_exists__)); | |
| using ::putwc __attribute__((__using_if_exists__)); | |
| using ::ungetwc __attribute__((__using_if_exists__)); | |
| using ::wcstod __attribute__((__using_if_exists__)); | |
| using ::wcstof __attribute__((__using_if_exists__)); | |
| using ::wcstold __attribute__((__using_if_exists__)); | |
| using ::wcstol __attribute__((__using_if_exists__)); | |
| using ::wcstoll __attribute__((__using_if_exists__)); | |
| using ::wcstoul __attribute__((__using_if_exists__)); | |
| using ::wcstoull __attribute__((__using_if_exists__)); | |
| using ::wcscpy __attribute__((__using_if_exists__)); | |
| using ::wcsncpy __attribute__((__using_if_exists__)); | |
| using ::wcscat __attribute__((__using_if_exists__)); | |
| using ::wcsncat __attribute__((__using_if_exists__)); | |
| using ::wcscmp __attribute__((__using_if_exists__)); | |
| using ::wcscoll __attribute__((__using_if_exists__)); | |
| using ::wcsncmp __attribute__((__using_if_exists__)); | |
| using ::wcsxfrm __attribute__((__using_if_exists__)); | |
| using ::wcschr __attribute__((__using_if_exists__)); | |
| using ::wcspbrk __attribute__((__using_if_exists__)); | |
| using ::wcsrchr __attribute__((__using_if_exists__)); | |
| using ::wcsstr __attribute__((__using_if_exists__)); | |
| using ::wmemchr __attribute__((__using_if_exists__)); | |
| using ::wcscspn __attribute__((__using_if_exists__)); | |
| using ::wcslen __attribute__((__using_if_exists__)); | |
| using ::wcsspn __attribute__((__using_if_exists__)); | |
| using ::wcstok __attribute__((__using_if_exists__)); | |
| using ::wmemcmp __attribute__((__using_if_exists__)); | |
| using ::wmemcpy __attribute__((__using_if_exists__)); | |
| using ::wmemmove __attribute__((__using_if_exists__)); | |
| using ::wmemset __attribute__((__using_if_exists__)); | |
| using ::wcsftime __attribute__((__using_if_exists__)); | |
| using ::btowc __attribute__((__using_if_exists__)); | |
| using ::wctob __attribute__((__using_if_exists__)); | |
| using ::mbsinit __attribute__((__using_if_exists__)); | |
| using ::mbrlen __attribute__((__using_if_exists__)); | |
| using ::mbrtowc __attribute__((__using_if_exists__)); | |
| using ::wcrtomb __attribute__((__using_if_exists__)); | |
| using ::mbsrtowcs __attribute__((__using_if_exists__)); | |
| using ::wcsrtombs __attribute__((__using_if_exists__)); | |
| using ::getwchar __attribute__((__using_if_exists__)); | |
| using ::vwscanf __attribute__((__using_if_exists__)); | |
| using ::wscanf __attribute__((__using_if_exists__)); | |
| using ::putwchar __attribute__((__using_if_exists__)); | |
| using ::vwprintf __attribute__((__using_if_exists__)); | |
| using ::wprintf __attribute__((__using_if_exists__)); | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t __constexpr_wcslen(const wchar_t* __str) { | |
| return __builtin_wcslen(__str); | |
| # 212 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 3 | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| __constexpr_wmemcmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __count) { | |
| return __builtin_wmemcmp(__lhs, __rhs, __count); | |
| # 230 "//Dev/emscripten/cache/sysroot/include/c++/v1/cwchar" 3 | |
| } | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __constexpr_wmemchr(_Tp* __str, _Up __value, size_t __count) { | |
| static_assert(sizeof(_Tp) == sizeof(wchar_t)&& alignof(_Tp) >= alignof(wchar_t) && | |
| __libcpp_is_trivially_equality_comparable<_Tp, _Tp>::value, | |
| "Calling wmemchr on non-trivially equality comparable types is unsafe."); | |
| if (!__libcpp_is_constant_evaluated()) { | |
| wchar_t __value_buffer = 0; | |
| __builtin_memcpy(&__value_buffer, std::addressof(__value), sizeof(wchar_t)); | |
| return reinterpret_cast<_Tp*>( | |
| __builtin_wmemchr(reinterpret_cast<__copy_cv_t<_Tp, wchar_t>*>(__str), __value_buffer, __count)); | |
| } | |
| else if constexpr (is_same_v<remove_cv_t<_Tp>, wchar_t>) | |
| return __builtin_wmemchr(__str, __value, __count); | |
| for (; __count; --__count) { | |
| if (*__str == __value) | |
| return __str; | |
| ++__str; | |
| } | |
| return nullptr; | |
| } | |
| } } | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| # 37 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter, class _Sent, class _Tp, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter | |
| __find(_Iter __first, _Sent __last, const _Tp& __value, _Proj& __proj) { | |
| for (; __first != __last; ++__first) | |
| if (std::__invoke(__proj, *__first) == __value) | |
| break; | |
| return __first; | |
| } | |
| template <class _Tp, | |
| class _Up, | |
| class _Proj, | |
| __enable_if_t<__is_identity<_Proj>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && | |
| sizeof(_Tp) == 1, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __find(_Tp* __first, _Tp* __last, const _Up& __value, _Proj&) { | |
| if (auto __ret = std::__constexpr_memchr(__first, __value, __last - __first)) | |
| return __ret; | |
| return __last; | |
| } | |
| template <class _Tp, | |
| class _Up, | |
| class _Proj, | |
| __enable_if_t<__is_identity<_Proj>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && | |
| sizeof(_Tp) == sizeof(wchar_t) && alignof(_Tp) >= alignof(wchar_t), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __find(_Tp* __first, _Tp* __last, const _Up& __value, _Proj&) { | |
| if (auto __ret = std::__constexpr_wmemchr(__first, __value, __last - __first)) | |
| return __ret; | |
| return __last; | |
| } | |
| template <class _Tp, | |
| class _Up, | |
| class _Proj, | |
| __enable_if_t<__is_identity<_Proj>::value && !__libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && | |
| is_integral<_Tp>::value && is_integral<_Up>::value && | |
| is_signed<_Tp>::value == is_signed<_Up>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* | |
| __find(_Tp* __first, _Tp* __last, const _Up& __value, _Proj& __proj) { | |
| if (__value < numeric_limits<_Tp>::min() || __value > numeric_limits<_Tp>::max()) | |
| return __last; | |
| return std::__find(__first, __last, _Tp(__value), __proj); | |
| } | |
| template <bool _ToFind, class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, _IsConst> | |
| __find_bool(__bit_iterator<_Cp, _IsConst> __first, typename __size_difference_type_traits<_Cp>::size_type __n) { | |
| using _It = __bit_iterator<_Cp, _IsConst>; | |
| using __storage_type = typename _It::__storage_type; | |
| const int __bits_per_word = _It::__bits_per_word; | |
| if (__first.__ctz_ != 0) { | |
| __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_); | |
| __storage_type __dn = std::min(__clz_f, __n); | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz_f - __dn, __first.__ctz_); | |
| __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_) & __m; | |
| if (__b) | |
| return _It(__first.__seg_, static_cast<unsigned>(std::__countr_zero(__b))); | |
| if (__n == __dn) | |
| return __first + __n; | |
| __n -= __dn; | |
| ++__first.__seg_; | |
| } | |
| for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word) { | |
| __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_); | |
| if (__b) | |
| return _It(__first.__seg_, static_cast<unsigned>(std::__countr_zero(__b))); | |
| } | |
| if (__n > 0) { | |
| __storage_type __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_) & __m; | |
| if (__b) | |
| return _It(__first.__seg_, static_cast<unsigned>(std::__countr_zero(__b))); | |
| } | |
| return _It(__first.__seg_, static_cast<unsigned>(__n)); | |
| } | |
| template <class _Cp, bool _IsConst, class _Tp, class _Proj, __enable_if_t<__is_identity<_Proj>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, _IsConst> | |
| __find(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value, _Proj&) { | |
| if (static_cast<bool>(__value)) | |
| return std::__find_bool<true>( | |
| __first, static_cast<typename __size_difference_type_traits<_Cp>::size_type>(__last - __first)); | |
| return std::__find_bool<false>( | |
| __first, static_cast<typename __size_difference_type_traits<_Cp>::size_type>(__last - __first)); | |
| } | |
| template <class> | |
| struct __find_segment; | |
| template <class _SegmentedIterator, | |
| class _Tp, | |
| class _Proj, | |
| __enable_if_t<__is_segmented_iterator<_SegmentedIterator>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _SegmentedIterator | |
| __find(_SegmentedIterator __first, _SegmentedIterator __last, const _Tp& __value, _Proj& __proj) { | |
| return std::__find_segment_if(std::move(__first), std::move(__last), __find_segment<_Tp>(__value), __proj); | |
| } | |
| template <class _Tp> | |
| struct __find_segment { | |
| const _Tp& __value_; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __find_segment(const _Tp& __value) : __value_(__value) {} | |
| template <class _InputIterator, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _InputIterator | |
| operator()(_InputIterator __first, _InputIterator __last, _Proj& __proj) const { | |
| return std::__find(__first, __last, __value_, __proj); | |
| } | |
| }; | |
| template <class _InputIterator, class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _InputIterator | |
| find(_InputIterator __first, _InputIterator __last, const _Tp& __value) { | |
| __identity __proj; | |
| return std::__rewrap_iter( | |
| __first, std::__find(std::__unwrap_iter(__first), std::__unwrap_iter(__last), __value, __proj)); | |
| } | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_if.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_if.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, class _Predicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _InputIterator | |
| find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { | |
| for (; __first != __last; ++__first) | |
| if (__pred(*__first)) | |
| break; | |
| return __first; | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Tp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| __first = std::find(__first, __last, __value); | |
| if (__first != __last) { | |
| _ForwardIterator __i = __first; | |
| while (++__i != __last) { | |
| if (!(*__i == __value)) { | |
| *__first = std::move(*__i); | |
| ++__first; | |
| } | |
| } | |
| } | |
| return __first; | |
| } | |
| } } | |
| # 595 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove_if.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove_if.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/remove_if.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Predicate> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { | |
| __first = std::find_if<_ForwardIterator, _Predicate&>(__first, __last, __pred); | |
| if (__first != __last) { | |
| _ForwardIterator __i = __first; | |
| while (++__i != __last) { | |
| if (!__pred(*__i)) { | |
| *__first = std::move(*__i); | |
| ++__first; | |
| } | |
| } | |
| } | |
| return __first; | |
| } | |
| } } | |
| # 596 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__debug_utils/sanitizers.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__debug_utils/sanitizers.h" 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__debug_utils/sanitizers.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 52 "//Dev/emscripten/cache/sysroot/include/c++/v1/__debug_utils/sanitizers.h" 3 | |
| template <class _Allocator> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __annotate_double_ended_contiguous_container( | |
| const void* __first_storage, | |
| const void* __last_storage, | |
| const void* __first_old_contained, | |
| const void* __last_old_contained, | |
| const void* __first_new_contained, | |
| const void* __last_new_contained) { | |
| (void)__first_storage; | |
| (void)__last_storage; | |
| (void)__first_old_contained; | |
| (void)__last_old_contained; | |
| (void)__first_new_contained; | |
| (void)__last_new_contained; | |
| # 77 "//Dev/emscripten/cache/sysroot/include/c++/v1/__debug_utils/sanitizers.h" 3 | |
| } | |
| template <class _Allocator> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void __annotate_contiguous_container( | |
| const void* __first_storage, | |
| const void* __last_storage, | |
| const void* __old_last_contained, | |
| const void* __new_last_contained) { | |
| (void)__first_storage; | |
| (void)__last_storage; | |
| (void)__old_last_contained; | |
| (void)__new_last_contained; | |
| } | |
| } } | |
| # 599 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__format/enable_insertable.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__format/enable_insertable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__format/enable_insertable.h" 3 | |
| } } | |
| # 600 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_unqualified.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_unqualified.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| inline const bool __is_unqualified_v = __is_same(_Tp, __remove_cvref(_Tp)); | |
| } } | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/synth_three_way.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/synth_three_way.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 51 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/synth_three_way.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/different_from.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/different_from.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/different_from.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/array.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/array.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, size_t _Size> | |
| struct array; | |
| template <size_t _Ip, class _Tp, size_t _Size> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp& get(array<_Tp, _Size>&) noexcept; | |
| template <size_t _Ip, class _Tp, size_t _Size> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& get(const array<_Tp, _Size>&) noexcept; | |
| template <size_t _Ip, class _Tp, size_t _Size> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp&& get(array<_Tp, _Size>&&) noexcept; | |
| template <size_t _Ip, class _Tp, size_t _Size> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp&& get(const array<_Tp, _Size>&&) noexcept; | |
| template <class _Tp> | |
| inline const bool __is_std_array_v = false; | |
| template <class _Tp, size_t _Size> | |
| inline const bool __is_std_array_v<array<_Tp, _Size> > = true; | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/complex.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/complex.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| class complex; | |
| # 40 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/complex.h" 3 | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_size.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_size.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct tuple_size; | |
| template <class _Tp, class...> | |
| using __enable_if_tuple_size_imp [[__gnu__::__nodebug__]] = _Tp; | |
| template <class _Tp> | |
| struct tuple_size< | |
| __enable_if_tuple_size_imp<const _Tp, __enable_if_t<!is_volatile<_Tp>::value>, decltype(tuple_size<_Tp>::value)>> | |
| : public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
| template <class _Tp> | |
| struct tuple_size< | |
| __enable_if_tuple_size_imp<volatile _Tp, __enable_if_t<!is_const<_Tp>::value>, decltype(tuple_size<_Tp>::value)>> | |
| : public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
| template <class _Tp> | |
| struct tuple_size<__enable_if_tuple_size_imp<const volatile _Tp, decltype(tuple_size<_Tp>::value)>> | |
| : public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
| # 59 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_size.h" 3 | |
| template <class... _Tp> | |
| struct tuple_size<tuple<_Tp...> > : public integral_constant<size_t, sizeof...(_Tp)> {}; | |
| template <class... _Tp> | |
| struct tuple_size<__tuple_types<_Tp...> > : public integral_constant<size_t, sizeof...(_Tp)> {}; | |
| template <class _Tp> | |
| inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 2 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 59 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_no_subrange.h" 3 | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| void __test_implicit_default_constructible(_Tp); | |
| template <class _Tp, class = void, class = typename is_default_constructible<_Tp>::type> | |
| struct __is_implicitly_default_constructible : false_type {}; | |
| template <class _Tp> | |
| struct __is_implicitly_default_constructible<_Tp, | |
| decltype(std::__test_implicit_default_constructible<_Tp const&>({})), | |
| true_type> : true_type {}; | |
| template <class _Tp> | |
| struct __is_implicitly_default_constructible<_Tp, | |
| decltype(std::__test_implicit_default_constructible<_Tp const&>({})), | |
| false_type> : false_type {}; | |
| } } | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_replaceable.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_replaceable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 35 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_replaceable.h" 3 | |
| template <class _Tp, class = void> | |
| struct __is_replaceable : is_trivially_copyable<_Tp> {}; | |
| template <class _Tp> | |
| struct __is_replaceable<_Tp, __enable_if_t<is_same<_Tp, typename _Tp::__replaceable>::value> > : true_type {}; | |
| template <class _Tp> | |
| inline const bool __is_replaceable_v = __is_replaceable<_Tp>::value; | |
| # 51 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_replaceable.h" 3 | |
| template <class _AllocatorTraits> | |
| struct __container_allocator_is_replaceable | |
| : integral_constant<bool, | |
| __is_replaceable_v<typename _AllocatorTraits::allocator_type> && | |
| (_AllocatorTraits::is_always_equal::value || | |
| (_AllocatorTraits::propagate_on_container_move_assignment::value && | |
| _AllocatorTraits::propagate_on_container_copy_assignment::value))> {}; | |
| } } | |
| # 36 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_relocatable.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_relocatable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_trivially_relocatable.h" 3 | |
| template <class _Tp, class = void> | |
| struct __libcpp_is_trivially_relocatable : is_trivially_copyable<_Tp> {}; | |
| template <class _Tp> | |
| struct __libcpp_is_trivially_relocatable<_Tp, | |
| __enable_if_t<is_same<_Tp, typename _Tp::__trivially_relocatable>::value> > | |
| : true_type {}; | |
| } } | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/unwrap_ref.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/unwrap_ref.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __unwrap_reference { | |
| using type [[__gnu__::__nodebug__]] = _Tp; | |
| }; | |
| template <class _Tp> | |
| struct __unwrap_reference<reference_wrapper<_Tp> > { | |
| using type [[__gnu__::__nodebug__]] = _Tp&; | |
| }; | |
| template <class _Tp> | |
| using __unwrap_ref_decay_t [[__gnu__::__nodebug__]] = typename __unwrap_reference<__decay_t<_Tp> >::type; | |
| # 49 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/unwrap_ref.h" 3 | |
| } } | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/piecewise_construct.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/piecewise_construct.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct piecewise_construct_t { | |
| explicit piecewise_construct_t() = default; | |
| }; | |
| inline constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); | |
| } } | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| # 48 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 52 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _T1, class _T2> | |
| struct __check_pair_construction { | |
| template <int&...> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_implicit_default() { | |
| return __is_implicitly_default_constructible<_T1>::value && __is_implicitly_default_constructible<_T2>::value; | |
| } | |
| template <int&...> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_default() { | |
| return is_default_constructible<_T1>::value && is_default_constructible<_T2>::value; | |
| } | |
| template <class _U1, class _U2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __is_pair_constructible() { | |
| return is_constructible<_T1, _U1>::value && is_constructible<_T2, _U2>::value; | |
| } | |
| template <class _U1, class _U2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __is_implicit() { | |
| return is_convertible<_U1, _T1>::value && is_convertible<_U2, _T2>::value; | |
| } | |
| }; | |
| template <class, class> | |
| struct __non_trivially_copyable_base { | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __non_trivially_copyable_base() noexcept {} | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __non_trivially_copyable_base(__non_trivially_copyable_base const&) noexcept {} | |
| }; | |
| template <class _T1, class _T2> | |
| struct pair | |
| { | |
| using first_type = _T1; | |
| using second_type = _T2; | |
| _T1 first; | |
| _T2 second; | |
| using __trivially_relocatable [[__gnu__::__nodebug__]] = | |
| __conditional_t<__libcpp_is_trivially_relocatable<_T1>::value && __libcpp_is_trivially_relocatable<_T2>::value, | |
| pair, | |
| void>; | |
| using __replaceable [[__gnu__::__nodebug__]] = __conditional_t<__is_replaceable_v<_T1> && __is_replaceable_v<_T2>, pair, void>; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair(pair const&) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair(pair&&) = default; | |
| # 138 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class _CheckArgsDep = __check_pair_construction<_T1, _T2>, | |
| __enable_if_t<_CheckArgsDep::__enable_default(), int> = 0> | |
| explicit(!_CheckArgsDep::__enable_implicit_default()) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair() noexcept( | |
| is_nothrow_default_constructible<first_type>::value && is_nothrow_default_constructible<second_type>::value) | |
| : first(), second() {} | |
| template <class _CheckArgsDep = __check_pair_construction<_T1, _T2>, | |
| __enable_if_t<_CheckArgsDep::template __is_pair_constructible<_T1 const&, _T2 const&>(), int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(!_CheckArgsDep::template __is_implicit<_T1 const&, _T2 const&>()) | |
| pair(_T1 const& __t1, _T2 const& __t2) noexcept(is_nothrow_copy_constructible<first_type>::value && | |
| is_nothrow_copy_constructible<second_type>::value) | |
| : first(__t1), second(__t2) {} | |
| template < | |
| class _U1, | |
| class _U2, | |
| __enable_if_t<__check_pair_construction<_T1, _T2>::template __is_pair_constructible<_U1, _U2>(), int> = 0 > | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1, _U2>()) | |
| pair(_U1&& __u1, _U2&& __u2) noexcept(is_nothrow_constructible<first_type, _U1>::value && | |
| is_nothrow_constructible<second_type, _U2>::value) | |
| : first(std::forward<_U1>(__u1)), second(std::forward<_U2>(__u2)) { | |
| } | |
| # 178 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template < | |
| class _U1, | |
| class _U2, | |
| __enable_if_t<__check_pair_construction<_T1, _T2>::template __is_pair_constructible<_U1 const&, _U2 const&>(), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit( | |
| !__check_pair_construction<_T1, _T2>::template __is_implicit<_U1 const&, _U2 const&>()) | |
| pair(pair<_U1, _U2> const& __p) noexcept(is_nothrow_constructible<first_type, _U1 const&>::value && | |
| is_nothrow_constructible<second_type, _U2 const&>::value) | |
| : first(__p.first), second(__p.second) {} | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<__check_pair_construction<_T1, _T2>::template __is_pair_constructible<_U1, _U2>(), int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1, _U2>()) | |
| pair(pair<_U1, _U2>&& __p) noexcept(is_nothrow_constructible<first_type, _U1&&>::value && | |
| is_nothrow_constructible<second_type, _U2&&>::value) | |
| : first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) {} | |
| # 221 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class... _Args1, class... _Args2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args, tuple<_Args2...> __second_args) noexcept( | |
| is_nothrow_constructible<first_type, _Args1...>::value && is_nothrow_constructible<second_type, _Args2...>::value) | |
| : pair(__pc, | |
| __first_args, | |
| __second_args, | |
| typename __make_tuple_indices<sizeof...(_Args1)>::type(), | |
| typename __make_tuple_indices<sizeof...(_Args2) >::type()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair& | |
| operator=(__conditional_t<is_copy_assignable<first_type>::value && is_copy_assignable<second_type>::value, | |
| pair, | |
| __nat> const& __p) noexcept(is_nothrow_copy_assignable<first_type>::value && | |
| is_nothrow_copy_assignable<second_type>::value) { | |
| first = __p.first; | |
| second = __p.second; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair& operator=( | |
| __conditional_t<is_move_assignable<first_type>::value && is_move_assignable<second_type>::value, pair, __nat>&& | |
| __p) noexcept(is_nothrow_move_assignable<first_type>::value && | |
| is_nothrow_move_assignable<second_type>::value) { | |
| first = std::forward<first_type>(__p.first); | |
| second = std::forward<second_type>(__p.second); | |
| return *this; | |
| } | |
| template < | |
| class _U1, | |
| class _U2, | |
| __enable_if_t<is_assignable<first_type&, _U1 const&>::value && is_assignable<second_type&, _U2 const&>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair& operator=(pair<_U1, _U2> const& __p) { | |
| first = __p.first; | |
| second = __p.second; | |
| return *this; | |
| } | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_assignable<first_type&, _U1>::value && is_assignable<second_type&, _U2>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair& operator=(pair<_U1, _U2>&& __p) { | |
| first = std::forward<_U1>(__p.first); | |
| second = std::forward<_U2>(__p.second); | |
| return *this; | |
| } | |
| # 335 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_convertible<_U1 const&, _T1>::value && is_convertible<_U2 const&, _T2>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair(tuple<_U1, _U2> const& __p) | |
| : first(std::get<0>(__p)), second(std::get<1>(__p)) {} | |
| template < class _U1, | |
| class _U2, | |
| __enable_if_t<is_constructible<_T1, _U1 const&>::value && is_constructible<_T2, _U2 const&>::value && | |
| !(is_convertible<_U1 const&, _T1>::value && is_convertible<_U2 const&, _T2>::value), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit pair(tuple<_U1, _U2> const& __p) | |
| : first(std::get<0>(__p)), second(std::get<1>(__p)) {} | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_convertible<_U1, _T1>::value && is_convertible<_U2, _T2>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair(tuple<_U1, _U2>&& __p) | |
| : first(std::get<0>(std::move(__p))), second(std::get<1>(std::move(__p))) {} | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_constructible<_T1, _U1>::value && is_constructible<_T2, _U2>::value && | |
| !(is_convertible<_U1, _T1>::value && is_convertible<_U2, _T2>::value) > = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit pair(tuple<_U1, _U2>&& __p) | |
| : first(std::get<0>(std::move(__p))), second(std::get<1>(std::move(__p))) {} | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_assignable<_T1&, _U1 const&>::value && is_assignable<_T2&, _U2 const&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair& operator=(tuple<_U1, _U2> const& __p) { | |
| first = std::get<0>(__p); | |
| second = std::get<1>(__p); | |
| return *this; | |
| } | |
| template <class _U1, | |
| class _U2, | |
| __enable_if_t<is_assignable<_T1&, _U1&&>::value && is_assignable<_T2&, _U2&&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair& operator=(tuple<_U1, _U2>&& __p) { | |
| first = std::get<0>(std::move(__p)); | |
| second = std::get<1>(std::move(__p)); | |
| return *this; | |
| } | |
| template <class _Up, | |
| __enable_if_t<is_convertible<_Up const&, _T1>::value && is_convertible<_Up const&, _T2>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair(array<_Up, 2> const& __p) : first(__p[0]), second(__p[1]) {} | |
| template <class _Up, | |
| __enable_if_t<is_constructible<_T1, _Up const&>::value && is_constructible<_T2, _Up const&>::value && | |
| !(is_convertible<_Up const&, _T1>::value && is_convertible<_Up const&, _T2>::value), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit pair(array<_Up, 2> const& __p) | |
| : first(__p[0]), second(__p[1]) {} | |
| template <class _Up, __enable_if_t< is_convertible<_Up, _T1>::value && is_convertible<_Up, _T2>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair(array<_Up, 2>&& __p) | |
| : first(std::move(__p)[0]), second(std::move(__p)[1]) {} | |
| template <class _Up, | |
| __enable_if_t<is_constructible<_T1, _Up>::value && is_constructible<_T2, _Up>::value && | |
| !(is_convertible<_Up, _T1>::value && is_convertible<_Up, _T2>::value), | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit pair(array<_Up, 2>&& __p) | |
| : first(std::move(__p)[0]), second(std::move(__p)[1]) {} | |
| template <class _Up, | |
| __enable_if_t<is_assignable<_T1&, _Up const&>::value && is_assignable<_T2&, _Up const&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair& operator=(array<_Up, 2> const& __p) { | |
| first = std::get<0>(__p); | |
| second = std::get<1>(__p); | |
| return *this; | |
| } | |
| template <class _Up, __enable_if_t<is_assignable<_T1&, _Up>::value && is_assignable<_T2&, _Up>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair& operator=(array<_Up, 2>&& __p) { | |
| first = std::get<0>(std::move(__p)); | |
| second = std::get<1>(std::move(__p)); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void swap(pair& __p) | |
| noexcept(__is_nothrow_swappable_v<first_type>&& __is_nothrow_swappable_v<second_type>) { | |
| using std::swap; | |
| swap(first, __p.first); | |
| swap(second, __p.second); | |
| } | |
| # 436 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| private: | |
| template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| pair(piecewise_construct_t, | |
| tuple<_Args1...>& __first_args, | |
| tuple<_Args2...>& __second_args, | |
| __tuple_indices<_I1...>, | |
| __tuple_indices<_I2...>) | |
| : first(std::forward<_Args1>(std::get<_I1>(__first_args))...), | |
| second(std::forward<_Args2>(std::get<_I2>(__second_args))...) {} | |
| }; | |
| template <class _T1, class _T2> | |
| pair(_T1, _T2) -> pair<_T1, _T2>; | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) | |
| { | |
| return __x.first == __y.first && __x.second == __y.second; | |
| } | |
| # 484 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { | |
| return !(__x == __y); | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { | |
| return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { | |
| return __y < __x; | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { | |
| return !(__x < __y); | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { | |
| return !(__y < __x); | |
| } | |
| # 533 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class _T1, class _T2, __enable_if_t<__is_swappable_v<_T1> && __is_swappable_v<_T2>, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) | |
| noexcept(__is_nothrow_swappable_v<_T1>&& __is_nothrow_swappable_v<_T2>) { | |
| __x.swap(__y); | |
| } | |
| # 548 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h" 3 | |
| template <class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<__unwrap_ref_decay_t<_T1>, __unwrap_ref_decay_t<_T2> > | |
| make_pair(_T1&& __t1, _T2&& __t2) { | |
| return pair<__unwrap_ref_decay_t<_T1>, __unwrap_ref_decay_t<_T2> >(std::forward<_T1>(__t1), std::forward<_T2>(__t2)); | |
| } | |
| template <class _T1, class _T2> | |
| struct tuple_size<pair<_T1, _T2> > : public integral_constant<size_t, 2> {}; | |
| template <size_t _Ip, class _T1, class _T2> | |
| struct tuple_element<_Ip, pair<_T1, _T2> > { | |
| static_assert(_Ip < 2, "Index out of bounds in std::tuple_element<std::pair<T1, T2>>"); | |
| }; | |
| template <class _T1, class _T2> | |
| struct tuple_element<0, pair<_T1, _T2> > { | |
| using type [[__gnu__::__nodebug__]] = _T1; | |
| }; | |
| template <class _T1, class _T2> | |
| struct tuple_element<1, pair<_T1, _T2> > { | |
| using type [[__gnu__::__nodebug__]] = _T2; | |
| }; | |
| template <size_t _Ip> | |
| struct __get_pair; | |
| template <> | |
| struct __get_pair<0> { | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1& get(pair<_T1, _T2>& __p) noexcept { | |
| return __p.first; | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _T1& get(const pair<_T1, _T2>& __p) noexcept { | |
| return __p.first; | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1&& get(pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<_T1>(__p.first); | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _T1&& get(const pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<const _T1>(__p.first); | |
| } | |
| }; | |
| template <> | |
| struct __get_pair<1> { | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2& get(pair<_T1, _T2>& __p) noexcept { | |
| return __p.second; | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _T2& get(const pair<_T1, _T2>& __p) noexcept { | |
| return __p.second; | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2&& get(pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<_T2>(__p.second); | |
| } | |
| template <class _T1, class _T2> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _T2&& get(const pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<const _T2>(__p.second); | |
| } | |
| }; | |
| template <size_t _Ip, class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
| get(pair<_T1, _T2>& __p) noexcept { | |
| return __get_pair<_Ip>::get(__p); | |
| } | |
| template <size_t _Ip, class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
| get(const pair<_T1, _T2>& __p) noexcept { | |
| return __get_pair<_Ip>::get(__p); | |
| } | |
| template <size_t _Ip, class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
| get(pair<_T1, _T2>&& __p) noexcept { | |
| return __get_pair<_Ip>::get(std::move(__p)); | |
| } | |
| template <size_t _Ip, class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
| get(const pair<_T1, _T2>&& __p) noexcept { | |
| return __get_pair<_Ip>::get(std::move(__p)); | |
| } | |
| template <class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1& get(pair<_T1, _T2>& __p) noexcept { | |
| return __p.first; | |
| } | |
| template <class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1 const& get(pair<_T1, _T2> const& __p) noexcept { | |
| return __p.first; | |
| } | |
| template <class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1&& get(pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<_T1&&>(__p.first); | |
| } | |
| template <class _T1, class _T2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1 const&& get(pair<_T1, _T2> const&& __p) noexcept { | |
| return std::forward<_T1 const&&>(__p.first); | |
| } | |
| template <class _T2, class _T1> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2& get(pair<_T1, _T2>& __p) noexcept { | |
| return __p.second; | |
| } | |
| template <class _T2, class _T1> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2 const& get(pair<_T1, _T2> const& __p) noexcept { | |
| return __p.second; | |
| } | |
| template <class _T2, class _T1> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2&& get(pair<_T1, _T2>&& __p) noexcept { | |
| return std::forward<_T2&&>(__p.second); | |
| } | |
| template <class _T2, class _T1> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T2 const&& get(pair<_T1, _T2> const&& __p) noexcept { | |
| return std::forward<_T2 const&&>(__p.second); | |
| } | |
| } } | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| using __swap_result_t [[__gnu__::__nodebug__]] = | |
| __enable_if_t<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>; | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __swap_result_t<_Tp> 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 <class _Tp, size_t _Np, __enable_if_t<__is_swappable_v<_Tp>, int> > | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) 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]); | |
| } | |
| } | |
| } } | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstring" 1 3 | |
| # 66 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstring" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/compat/string.h" 1 3 | |
| extern "C" { | |
| extern char* strlwr(char *); | |
| extern char* strupr(char *); | |
| } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/string.h" 1 3 | |
| # 61 "//Dev/emscripten/cache/sysroot/include/c++/v1/string.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/string.h" 1 3 | |
| extern "C" { | |
| # 25 "//Dev/emscripten/cache/sysroot/include/string.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/string.h" 2 3 | |
| void *memcpy (void *__restrict, const void *__restrict, size_t); | |
| void *memmove (void *, const void *, size_t); | |
| void *memset (void *, int, size_t); | |
| int memcmp (const void *, const void *, size_t); | |
| void *memchr (const void *, int, size_t); | |
| char *strcpy (char *__restrict, const char *__restrict); | |
| char *strncpy (char *__restrict, const char *__restrict, size_t); | |
| char *strcat (char *__restrict, const char *__restrict); | |
| char *strncat (char *__restrict, const char *__restrict, size_t); | |
| int strcmp (const char *, const char *); | |
| int strncmp (const char *, const char *, size_t); | |
| int strcoll (const char *, const char *); | |
| size_t strxfrm (char *__restrict, const char *__restrict, size_t); | |
| char *strchr (const char *, int); | |
| char *strrchr (const char *, int); | |
| size_t strcspn (const char *, const char *); | |
| size_t strspn (const char *, const char *); | |
| char *strpbrk (const char *, const char *); | |
| char *strstr (const char *, const char *); | |
| char *strtok (char *__restrict, const char *__restrict); | |
| size_t strlen (const char *); | |
| char *strerror (int); | |
| # 1 "//Dev/emscripten/cache/sysroot/include/strings.h" 1 3 | |
| extern "C" { | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/strings.h" 2 3 | |
| int bcmp (const void *, const void *, size_t); | |
| void bcopy (const void *, void *, size_t); | |
| void bzero (void *, size_t); | |
| char *index (const char *, int); | |
| char *rindex (const char *, int); | |
| int ffs (int); | |
| int ffsl (long); | |
| int ffsll (long long); | |
| int strcasecmp (const char *, const char *); | |
| int strncasecmp (const char *, const char *, size_t); | |
| int strcasecmp_l (const char *, const char *, locale_t); | |
| int strncasecmp_l (const char *, const char *, size_t, locale_t); | |
| } | |
| # 60 "//Dev/emscripten/cache/sysroot/include/string.h" 2 3 | |
| char *strtok_r (char *__restrict, const char *__restrict, char **__restrict); | |
| int strerror_r (int, char *, size_t); | |
| char *stpcpy(char *__restrict, const char *__restrict); | |
| char *stpncpy(char *__restrict, const char *__restrict, size_t); | |
| size_t strnlen (const char *, size_t); | |
| char *strdup (const char *); | |
| char *strndup (const char *, size_t); | |
| char *strsignal(int); | |
| char *strerror_l (int, locale_t); | |
| int strcoll_l (const char *, const char *, locale_t); | |
| size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t); | |
| void *memmem(const void *, size_t, const void *, size_t); | |
| void *memccpy (void *__restrict, const void *__restrict, int, size_t); | |
| char *strsep(char **, const char *); | |
| size_t strlcat (char *, const char *, size_t); | |
| size_t strlcpy (char *, const char *, size_t); | |
| void explicit_bzero (void *, size_t); | |
| int strverscmp (const char *, const char *); | |
| char *strchrnul(const char *, int); | |
| char *strcasestr(const char *, const char *); | |
| void *memrchr(const void *, int, size_t); | |
| void *mempcpy(void *, const void *, size_t); | |
| } | |
| # 65 "//Dev/emscripten/cache/sysroot/include/c++/v1/string.h" 2 3 | |
| # 76 "//Dev/emscripten/cache/sysroot/include/c++/v1/string.h" 3 | |
| extern "C++" { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const char* strchr(const char* __s, int __c) { | |
| return __builtin_strchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) char* strchr(char* __s, int __c) { | |
| return __builtin_strchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const char* strpbrk(const char* __s1, const char* __s2) { | |
| return __builtin_strpbrk(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) char* strpbrk(char* __s1, const char* __s2) { | |
| return __builtin_strpbrk(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const char* strrchr(const char* __s, int __c) { | |
| return __builtin_strrchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) char* strrchr(char* __s, int __c) { | |
| return __builtin_strrchr(__s, __c); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const void* memchr(const void* __s, int __c, size_t __n) { | |
| return __builtin_memchr(__s, __c, __n); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) void* memchr(void* __s, int __c, size_t __n) { | |
| return __builtin_memchr(__s, __c, __n); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) const char* strstr(const char* __s1, const char* __s2) { | |
| return __builtin_strstr(__s1, __s2); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__enable_if__(true, ""))) char* strstr(char* __s1, const char* __s2) { | |
| return __builtin_strstr(__s1, __s2); | |
| } | |
| } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/compat/string.h" 2 3 | |
| # 67 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstring" 2 3 | |
| # 78 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstring" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::memcpy __attribute__((__using_if_exists__)); | |
| using ::memmove __attribute__((__using_if_exists__)); | |
| using ::strcpy __attribute__((__using_if_exists__)); | |
| using ::strncpy __attribute__((__using_if_exists__)); | |
| using ::strcat __attribute__((__using_if_exists__)); | |
| using ::strncat __attribute__((__using_if_exists__)); | |
| using ::memcmp __attribute__((__using_if_exists__)); | |
| using ::strcmp __attribute__((__using_if_exists__)); | |
| using ::strncmp __attribute__((__using_if_exists__)); | |
| using ::strcoll __attribute__((__using_if_exists__)); | |
| using ::strxfrm __attribute__((__using_if_exists__)); | |
| using ::memchr __attribute__((__using_if_exists__)); | |
| using ::strchr __attribute__((__using_if_exists__)); | |
| using ::strcspn __attribute__((__using_if_exists__)); | |
| using ::strpbrk __attribute__((__using_if_exists__)); | |
| using ::strrchr __attribute__((__using_if_exists__)); | |
| using ::strspn __attribute__((__using_if_exists__)); | |
| using ::strstr __attribute__((__using_if_exists__)); | |
| using ::strtok __attribute__((__using_if_exists__)); | |
| using ::memset __attribute__((__using_if_exists__)); | |
| using ::strerror __attribute__((__using_if_exists__)); | |
| using ::strlen __attribute__((__using_if_exists__)); | |
| } } | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 2 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Size> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Size __loadword(const void* __p) { | |
| _Size __r; | |
| std::memcpy(std::addressof(__r), __p, sizeof(__r)); | |
| return __r; | |
| } | |
| template <class _Size, size_t = sizeof(_Size) * 8> | |
| struct __murmur2_or_cityhash; | |
| template <class _Size> | |
| struct __murmur2_or_cityhash<_Size, 32> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) _Size | |
| operator()(const void* __key, _Size __len) const { | |
| const _Size __m = 0x5bd1e995; | |
| const _Size __r = 24; | |
| _Size __h = __len; | |
| const unsigned char* __data = static_cast<const unsigned char*>(__key); | |
| for (; __len >= 4; __data += 4, __len -= 4) { | |
| _Size __k = std::__loadword<_Size>(__data); | |
| __k *= __m; | |
| __k ^= __k >> __r; | |
| __k *= __m; | |
| __h *= __m; | |
| __h ^= __k; | |
| } | |
| switch (__len) { | |
| case 3: | |
| __h ^= static_cast<_Size>(__data[2] << 16); | |
| [[__fallthrough__]]; | |
| case 2: | |
| __h ^= static_cast<_Size>(__data[1] << 8); | |
| [[__fallthrough__]]; | |
| case 1: | |
| __h ^= __data[0]; | |
| __h *= __m; | |
| } | |
| __h ^= __h >> 13; | |
| __h *= __m; | |
| __h ^= __h >> 15; | |
| return __h; | |
| } | |
| }; | |
| template <class _Size> | |
| struct __murmur2_or_cityhash<_Size, 64> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) _Size | |
| operator()(const void* __key, _Size __len) const { | |
| const char* __s = static_cast<const char*>(__key); | |
| if (__len <= 32) { | |
| if (__len <= 16) { | |
| return __hash_len_0_to_16(__s, __len); | |
| } else { | |
| return __hash_len_17_to_32(__s, __len); | |
| } | |
| } else if (__len <= 64) { | |
| return __hash_len_33_to_64(__s, __len); | |
| } | |
| _Size __x = std::__loadword<_Size>(__s + __len - 40); | |
| _Size __y = std::__loadword<_Size>(__s + __len - 16) + std::__loadword<_Size>(__s + __len - 56); | |
| _Size __z = | |
| __hash_len_16(std::__loadword<_Size>(__s + __len - 48) + __len, std::__loadword<_Size>(__s + __len - 24)); | |
| pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z); | |
| pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x); | |
| __x = __x * __k1 + std::__loadword<_Size>(__s); | |
| __len = (__len - 1) & ~static_cast<_Size>(63); | |
| do { | |
| __x = __rotate(__x + __y + __v.first + std::__loadword<_Size>(__s + 8), 37) * __k1; | |
| __y = __rotate(__y + __v.second + std::__loadword<_Size>(__s + 48), 42) * __k1; | |
| __x ^= __w.second; | |
| __y += __v.first + std::__loadword<_Size>(__s + 40); | |
| __z = __rotate(__z + __w.first, 33) * __k1; | |
| __v = __weak_hash_len_32_with_seeds(__s, __v.second * __k1, __x + __w.first); | |
| __w = __weak_hash_len_32_with_seeds(__s + 32, __z + __w.second, __y + std::__loadword<_Size>(__s + 16)); | |
| std::swap(__z, __x); | |
| __s += 64; | |
| __len -= 64; | |
| } while (__len != 0); | |
| return __hash_len_16(__hash_len_16(__v.first, __w.first) + __shift_mix(__y) * __k1 + __z, | |
| __hash_len_16(__v.second, __w.second) + __x); | |
| } | |
| private: | |
| static const _Size __k0 = 0xc3a5c85c97cb3127ULL; | |
| static const _Size __k1 = 0xb492b66fbe98f273ULL; | |
| static const _Size __k2 = 0x9ae16a3b2f90404fULL; | |
| static const _Size __k3 = 0xc949d7c7509e6557ULL; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static _Size __rotate(_Size __val, int __shift) { | |
| return __shift == 0 ? __val : ((__val >> __shift) | (__val << (64 - __shift))); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static _Size __rotate_by_at_least_1(_Size __val, int __shift) { | |
| return (__val >> __shift) | (__val << (64 - __shift)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static _Size __shift_mix(_Size __val) { return __val ^ (__val >> 47); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size __hash_len_16(_Size __u, _Size __v) { | |
| const _Size __mul = 0x9ddfea08eb382d69ULL; | |
| _Size __a = (__u ^ __v) * __mul; | |
| __a ^= (__a >> 47); | |
| _Size __b = (__v ^ __a) * __mul; | |
| __b ^= (__b >> 47); | |
| __b *= __mul; | |
| return __b; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size | |
| __hash_len_0_to_16(const char* __s, _Size __len) { | |
| if (__len > 8) { | |
| const _Size __a = std::__loadword<_Size>(__s); | |
| const _Size __b = std::__loadword<_Size>(__s + __len - 8); | |
| return __hash_len_16(__a, __rotate_by_at_least_1(__b + __len, __len)) ^ __b; | |
| } | |
| if (__len >= 4) { | |
| const uint32_t __a = std::__loadword<uint32_t>(__s); | |
| const uint32_t __b = std::__loadword<uint32_t>(__s + __len - 4); | |
| return __hash_len_16(__len + (static_cast<_Size>(__a) << 3), __b); | |
| } | |
| if (__len > 0) { | |
| const unsigned char __a = static_cast<unsigned char>(__s[0]); | |
| const unsigned char __b = static_cast<unsigned char>(__s[__len >> 1]); | |
| const unsigned char __c = static_cast<unsigned char>(__s[__len - 1]); | |
| const uint32_t __y = static_cast<uint32_t>(__a) + (static_cast<uint32_t>(__b) << 8); | |
| const uint32_t __z = __len + (static_cast<uint32_t>(__c) << 2); | |
| return __shift_mix(__y * __k2 ^ __z * __k3) * __k2; | |
| } | |
| return __k2; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size | |
| __hash_len_17_to_32(const char* __s, _Size __len) { | |
| const _Size __a = std::__loadword<_Size>(__s) * __k1; | |
| const _Size __b = std::__loadword<_Size>(__s + 8); | |
| const _Size __c = std::__loadword<_Size>(__s + __len - 8) * __k2; | |
| const _Size __d = std::__loadword<_Size>(__s + __len - 16) * __k0; | |
| return __hash_len_16( | |
| __rotate(__a - __b, 43) + __rotate(__c, 30) + __d, __a + __rotate(__b ^ __k3, 20) - __c + __len); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static pair<_Size, _Size> | |
| __weak_hash_len_32_with_seeds(_Size __w, _Size __x, _Size __y, _Size __z, _Size __a, _Size __b) { | |
| __a += __w; | |
| __b = __rotate(__b + __a + __z, 21); | |
| const _Size __c = __a; | |
| __a += __x; | |
| __a += __y; | |
| __b += __rotate(__a, 44); | |
| return pair<_Size, _Size>(__a + __z, __b + __c); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static pair<_Size, _Size> | |
| __weak_hash_len_32_with_seeds(const char* __s, _Size __a, _Size __b) { | |
| return __weak_hash_len_32_with_seeds( | |
| std::__loadword<_Size>(__s), | |
| std::__loadword<_Size>(__s + 8), | |
| std::__loadword<_Size>(__s + 16), | |
| std::__loadword<_Size>(__s + 24), | |
| __a, | |
| __b); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size | |
| __hash_len_33_to_64(const char* __s, size_t __len) { | |
| _Size __z = std::__loadword<_Size>(__s + 24); | |
| _Size __a = std::__loadword<_Size>(__s) + (__len + std::__loadword<_Size>(__s + __len - 16)) * __k0; | |
| _Size __b = __rotate(__a + __z, 52); | |
| _Size __c = __rotate(__a, 37); | |
| __a += std::__loadword<_Size>(__s + 8); | |
| __c += __rotate(__a, 7); | |
| __a += std::__loadword<_Size>(__s + 16); | |
| _Size __vf = __a + __z; | |
| _Size __vs = __b + __rotate(__a, 31) + __c; | |
| __a = std::__loadword<_Size>(__s + 16) + std::__loadword<_Size>(__s + __len - 32); | |
| __z += std::__loadword<_Size>(__s + __len - 8); | |
| __b = __rotate(__a + __z, 52); | |
| __c = __rotate(__a, 37); | |
| __a += std::__loadword<_Size>(__s + __len - 24); | |
| __c += __rotate(__a, 7); | |
| __a += std::__loadword<_Size>(__s + __len - 16); | |
| _Size __wf = __a + __z; | |
| _Size __ws = __b + __rotate(__a, 31) + __c; | |
| _Size __r = __shift_mix((__vf + __ws) * __k2 + (__wf + __vs) * __k0); | |
| return __shift_mix(__r * __k0 + __vs) * __k2; | |
| } | |
| }; | |
| [[__gnu__::__pure__]] __attribute__((__visibility__("default"))) size_t __hash_memory([[_Clang::__noescape__]] const void*, size_t) noexcept; | |
| template <class _Tp, size_t = sizeof(_Tp) / sizeof(size_t)> | |
| struct __scalar_hash; | |
| template <class _Tp> | |
| struct __scalar_hash<_Tp, 0> : public __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| union { | |
| _Tp __t; | |
| size_t __a; | |
| } __u; | |
| __u.__a = 0; | |
| __u.__t = __v; | |
| return __u.__a; | |
| } | |
| }; | |
| template <class _Tp> | |
| struct __scalar_hash<_Tp, 1> : public __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| union { | |
| _Tp __t; | |
| size_t __a; | |
| } __u; | |
| __u.__t = __v; | |
| return __u.__a; | |
| } | |
| }; | |
| template <class _Tp> | |
| struct __scalar_hash<_Tp, 2> : public __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| union { | |
| _Tp __t; | |
| struct { | |
| size_t __a; | |
| size_t __b; | |
| } __s; | |
| } __u; | |
| __u.__t = __v; | |
| return std::__hash_memory(std::addressof(__u), sizeof(__u)); | |
| } | |
| }; | |
| template <class _Tp> | |
| struct __scalar_hash<_Tp, 3> : public __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| union { | |
| _Tp __t; | |
| struct { | |
| size_t __a; | |
| size_t __b; | |
| size_t __c; | |
| } __s; | |
| } __u; | |
| __u.__t = __v; | |
| return std::__hash_memory(std::addressof(__u), sizeof(__u)); | |
| } | |
| }; | |
| template <class _Tp> | |
| struct __scalar_hash<_Tp, 4> : public __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| union { | |
| _Tp __t; | |
| struct { | |
| size_t __a; | |
| size_t __b; | |
| size_t __c; | |
| size_t __d; | |
| } __s; | |
| } __u; | |
| __u.__t = __v; | |
| return std::__hash_memory(std::addressof(__u), sizeof(__u)); | |
| } | |
| }; | |
| struct _PairT { | |
| size_t first; | |
| size_t second; | |
| }; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline size_t __hash_combine(size_t __lhs, size_t __rhs) noexcept { | |
| typedef __scalar_hash<_PairT> _HashT; | |
| const _PairT __p = {__lhs, __rhs}; | |
| return _HashT()(__p); | |
| } | |
| template <class _Tp> | |
| struct hash<_Tp*> : public __unary_function<_Tp*, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp* __v) const noexcept { | |
| union { | |
| _Tp* __t; | |
| size_t __a; | |
| } __u; | |
| __u.__t = __v; | |
| return std::__hash_memory(std::addressof(__u), sizeof(__u)); | |
| } | |
| }; | |
| template <class _Tp, class = void> | |
| struct __hash_impl { | |
| __hash_impl() = delete; | |
| __hash_impl(__hash_impl const&) = delete; | |
| __hash_impl& operator=(__hash_impl const&) = delete; | |
| }; | |
| template <class _Tp> | |
| struct __hash_impl<_Tp, __enable_if_t<is_enum<_Tp>::value && __is_unqualified_v<_Tp> > > | |
| : __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| using type = __underlying_type_t<_Tp>; | |
| return hash<type>()(static_cast<type>(__v)); | |
| } | |
| }; | |
| template <class _Tp> | |
| struct __hash_impl< | |
| _Tp, | |
| __enable_if_t<is_integral<_Tp>::value && __is_unqualified_v<_Tp> && (sizeof(_Tp) <= sizeof(size_t))> > | |
| : __unary_function<_Tp, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { return static_cast<size_t>(__v); } | |
| }; | |
| template <class _Tp> | |
| struct __hash_impl<_Tp, | |
| __enable_if_t<is_integral<_Tp>::value && __is_unqualified_v<_Tp> && (sizeof(_Tp) > sizeof(size_t))> > | |
| : __scalar_hash<_Tp> {}; | |
| template <class _Tp> | |
| struct __hash_impl<_Tp, __enable_if_t<is_floating_point<_Tp>::value && __is_unqualified_v<_Tp> > > | |
| : __scalar_hash<_Tp> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(_Tp __v) const noexcept { | |
| if (__v == 0.0f) | |
| return 0; | |
| return __scalar_hash<_Tp>::operator()(__v); | |
| } | |
| }; | |
| template <> | |
| struct __hash_impl<long double> : __scalar_hash<long double> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(long double __v) const noexcept { | |
| if (__v == 0.0L) | |
| return 0; | |
| # 428 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/hash.h" 3 | |
| return __scalar_hash<long double>::operator()(__v); | |
| } | |
| }; | |
| template <class _Tp> | |
| struct hash : public __hash_impl<_Tp> {}; | |
| template <> | |
| struct hash<nullptr_t> : public __unary_function<nullptr_t, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(nullptr_t) const noexcept { return 662607004ull; } | |
| }; | |
| template <class _Key, class _Hash> | |
| using __check_hash_requirements [[__gnu__::__nodebug__]] = | |
| integral_constant<bool, | |
| is_copy_constructible<_Hash>::value && is_move_constructible<_Hash>::value && | |
| __is_invocable_r_v<size_t, _Hash, _Key const&> >; | |
| template <class _Key, class _Hash = hash<_Key> > | |
| using __has_enabled_hash [[__gnu__::__nodebug__]] = | |
| integral_constant<bool, __check_hash_requirements<_Key, _Hash>::value && is_default_constructible<_Hash>::value >; | |
| template <class _Type, class> | |
| using __enable_hash_helper_imp [[__gnu__::__nodebug__]] = _Type; | |
| template <class _Type, class... _Keys> | |
| using __enable_hash_helper [[__gnu__::__nodebug__]] = | |
| __enable_hash_helper_imp<_Type, __enable_if_t<__all<__has_enabled_hash<_Keys>::value...>::value> >; | |
| } } | |
| # 601 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/memory.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/memory.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| class allocator; | |
| template <class _Tp> | |
| class shared_ptr; | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/memory_resource.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/memory_resource.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace pmr { | |
| template <class _ValueType> | |
| class polymorphic_allocator; | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT> | |
| struct char_traits; | |
| template <> | |
| struct char_traits<char>; | |
| template <> | |
| struct char_traits<char16_t>; | |
| template <> | |
| struct char_traits<char32_t>; | |
| template <> | |
| struct char_traits<wchar_t>; | |
| template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
| class basic_string; | |
| using string = basic_string<char>; | |
| using wstring = basic_string<wchar_t>; | |
| using u16string = basic_string<char16_t>; | |
| using u32string = basic_string<char32_t>; | |
| namespace pmr { | |
| template <class _CharT, class _Traits = char_traits<_CharT>> | |
| using basic_string = std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; | |
| using string = basic_string<char>; | |
| using wstring = basic_string<wchar_t>; | |
| using u16string = basic_string<char16_t>; | |
| using u32string = basic_string<char32_t>; | |
| } | |
| template <class _CharT, class _Traits, class _Allocator> | |
| class [[_Clang::__preferred_name__(string)]] | |
| [[_Clang::__preferred_name__(wstring)]] | |
| [[_Clang::__preferred_name__(u16string)]] | |
| [[_Clang::__preferred_name__(u32string)]] | |
| [[_Clang::__preferred_name__(pmr::string)]] | |
| [[_Clang::__preferred_name__(pmr::wstring)]] | |
| [[_Clang::__preferred_name__(pmr::u16string)]] | |
| [[_Clang::__preferred_name__(pmr::u32string)]] | |
| basic_string; | |
| } } | |
| # 603 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/ios.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/ios.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| class __attribute__((__visibility__("default"))) ios_base; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_ios; | |
| using ios = basic_ios<char>; | |
| using wios = basic_ios<wchar_t>; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(ios)]] [[_Clang::__preferred_name__(wios)]] basic_ios; | |
| using streamoff = long long; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _StateT> | |
| class fpos { | |
| private: | |
| _StateT __st_; | |
| streamoff __off_; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) fpos(streamoff __off = streamoff()) : __st_(), __off_(__off) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) operator streamoff() const { return __off_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _StateT state() const { return __st_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void state(_StateT __st) { __st_ = __st; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) fpos& operator+=(streamoff __off) { | |
| __off_ += __off; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) fpos operator+(streamoff __off) const { | |
| fpos __t(*this); | |
| __t += __off; | |
| return __t; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) fpos& operator-=(streamoff __off) { | |
| __off_ -= __off; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) fpos operator-(streamoff __off) const { | |
| fpos __t(*this); | |
| __t -= __off; | |
| return __t; | |
| } | |
| }; | |
| template <class _StateT> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) streamoff operator-(const fpos<_StateT>& __x, const fpos<_StateT>& __y) { | |
| return streamoff(__x) - streamoff(__y); | |
| } | |
| template <class _StateT> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y) { | |
| return streamoff(__x) == streamoff(__y); | |
| } | |
| template <class _StateT> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) { | |
| return streamoff(__x) != streamoff(__y); | |
| } | |
| } } | |
| # 604 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 1 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 3 | |
| template <class _Iterator> | |
| struct __bounded_iter { | |
| static_assert(__libcpp_is_contiguous_iterator<_Iterator>::value, | |
| "Only contiguous iterators can be adapted by __bounded_iter."); | |
| using value_type = typename iterator_traits<_Iterator>::value_type; | |
| using difference_type = typename iterator_traits<_Iterator>::difference_type; | |
| using pointer = typename iterator_traits<_Iterator>::pointer; | |
| using reference = typename iterator_traits<_Iterator>::reference; | |
| using iterator_category = typename iterator_traits<_Iterator>::iterator_category; | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bounded_iter() = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bounded_iter(__bounded_iter const&) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bounded_iter(__bounded_iter&&) = default; | |
| template < class _OtherIterator, | |
| __enable_if_t< | |
| _And< is_convertible<const _OtherIterator&, _Iterator>, | |
| _Or<is_same<reference, __iter_reference<_OtherIterator> >, | |
| is_same<reference, __make_const_lvalue_ref<__iter_reference<_OtherIterator> > > > >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter(__bounded_iter<_OtherIterator> const& __other) noexcept | |
| : __current_(__other.__current_), | |
| __begin_(__other.__begin_), | |
| __end_(__other.__end_) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bounded_iter& operator=(__bounded_iter const&) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bounded_iter& operator=(__bounded_iter&&) = default; | |
| private: | |
| # 101 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __bounded_iter(_Iterator __current, _Iterator __begin, _Iterator __end) | |
| : __current_(__current), __begin_(__begin), __end_(__end) { | |
| ((void)0); | |
| ((void)0); | |
| } | |
| template <class _It> | |
| friend constexpr __bounded_iter<_It> __make_bounded_iter(_It, _It, _It); | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator*() const noexcept { | |
| ((void)0); | |
| return *__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pointer operator->() const noexcept { | |
| ((void)0); | |
| return std::__to_address(__current_); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator[](difference_type __n) const noexcept { | |
| ((void)0); | |
| ((void)0); | |
| return __current_[__n]; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter& operator++() noexcept { | |
| ((void)0); | |
| ++__current_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter operator++(int) noexcept { | |
| __bounded_iter __tmp(*this); | |
| ++*this; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter& operator--() noexcept { | |
| ((void)0); | |
| --__current_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter operator--(int) noexcept { | |
| __bounded_iter __tmp(*this); | |
| --*this; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter& operator+=(difference_type __n) noexcept { | |
| ((void)0); | |
| ((void)0); | |
| __current_ += __n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend __bounded_iter | |
| operator+(__bounded_iter const& __self, difference_type __n) noexcept { | |
| __bounded_iter __tmp(__self); | |
| __tmp += __n; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend __bounded_iter | |
| operator+(difference_type __n, __bounded_iter const& __self) noexcept { | |
| __bounded_iter __tmp(__self); | |
| __tmp += __n; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter& operator-=(difference_type __n) noexcept { | |
| ((void)0); | |
| ((void)0); | |
| __current_ -= __n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend __bounded_iter | |
| operator-(__bounded_iter const& __self, difference_type __n) noexcept { | |
| __bounded_iter __tmp(__self); | |
| __tmp -= __n; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend difference_type | |
| operator-(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ - __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator==(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ == __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator!=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ != __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator<(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ < __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator>(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ > __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator<=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ <= __y.__current_; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr friend bool | |
| operator>=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { | |
| return __x.__current_ >= __y.__current_; | |
| } | |
| # 259 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/bounded_iter.h" 3 | |
| private: | |
| template <class> | |
| friend struct pointer_traits; | |
| template <class> | |
| friend struct __bounded_iter; | |
| _Iterator __current_; | |
| _Iterator __begin_, __end_; | |
| }; | |
| template <class _It> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __bounded_iter<_It> __make_bounded_iter(_It __it, _It __begin, _It __end) { | |
| return __bounded_iter<_It>(std::move(__it), std::move(__begin), std::move(__end)); | |
| } | |
| template <class _Iterator> | |
| struct __libcpp_is_contiguous_iterator<__bounded_iter<_Iterator> > : true_type {}; | |
| template <class _Iterator> | |
| struct pointer_traits<__bounded_iter<_Iterator> > { | |
| using pointer = __bounded_iter<_Iterator>; | |
| using element_type = typename pointer_traits<_Iterator>::element_type; | |
| using difference_type = typename pointer_traits<_Iterator>::difference_type; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static element_type* to_address(pointer __it) noexcept { | |
| return std::__to_address(__it.__current_); | |
| } | |
| }; | |
| } } | |
| # 605 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/derived_from.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/derived_from.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/derived_from.h" 3 | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/invocable.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/invocable.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/invoke.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/invoke.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Fn, class... _Args> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) 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)...); | |
| } | |
| # 53 "//Dev/emscripten/cache/sysroot/include/c++/v1/__functional/invoke.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/invocable.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/invocable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 38 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/invocable.h" 3 | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/predicate.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/predicate.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/predicate.h" 3 | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/regular.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/regular.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/semiregular.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/semiregular.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/semiregular.h" 3 | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/regular.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/regular.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/regular.h" 3 | |
| } } | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/relation.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/relation.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 41 "//Dev/emscripten/cache/sysroot/include/c++/v1/__concepts/relation.h" 3 | |
| } } | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_move.h" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_move.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_move.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 100 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_move.h" 3 | |
| } } | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 2 3 | |
| # 51 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 317 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/concepts.h" 3 | |
| template <class _Tp> | |
| using __has_random_access_iterator_category_or_concept [[__gnu__::__nodebug__]] | |
| = __has_random_access_iterator_category<_Tp>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_borrowed_range.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_borrowed_range.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 38 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_borrowed_range.h" 3 | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/auto_cast.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/auto_cast.h" 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 2 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 208 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/access.h" 3 | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/data.h" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/data.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 100 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/data.h" 3 | |
| } } | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_view.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_view.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 48 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/enable_view.h" 3 | |
| } } | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/size.h" 1 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/size.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 136 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/size.h" 3 | |
| } } | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 2 3 | |
| # 40 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 180 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/concepts.h" 3 | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename iterator_traits<_InputIter>::difference_type | |
| __distance(_InputIter __first, _InputIter __last, input_iterator_tag) { | |
| typename iterator_traits<_InputIter>::difference_type __r(0); | |
| for (; __first != __last; ++__first) | |
| ++__r; | |
| return __r; | |
| } | |
| template <class _RandIter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename iterator_traits<_RandIter>::difference_type | |
| __distance(_RandIter __first, _RandIter __last, random_access_iterator_tag) { | |
| return __last - __first; | |
| } | |
| template <class _InputIter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename iterator_traits<_InputIter>::difference_type | |
| distance(_InputIter __first, _InputIter __last) { | |
| return std::__distance(__first, __last, typename iterator_traits<_InputIter>::iterator_category()); | |
| } | |
| # 93 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h" 3 | |
| } } | |
| # 606 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/compare_three_way_result.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/compare_three_way_result.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 44 "//Dev/emscripten/cache/sysroot/include/c++/v1/__compare/compare_three_way_result.h" 3 | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int __convert_to_integral(int __val) { return __val; } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr unsigned __convert_to_integral(unsigned __val) { return __val; } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr long __convert_to_integral(long __val) { return __val; } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr unsigned long __convert_to_integral(unsigned long __val) { | |
| return __val; | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr long long __convert_to_integral(long long __val) { return __val; } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr unsigned long long __convert_to_integral(unsigned long long __val) { | |
| return __val; | |
| } | |
| template <typename _Fp, __enable_if_t<is_floating_point<_Fp>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr long long __convert_to_integral(_Fp __val) { | |
| return __val; | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __int128_t __convert_to_integral(__int128_t __val) { return __val; } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __uint128_t __convert_to_integral(__uint128_t __val) { return __val; } | |
| template <class _Tp, bool = is_enum<_Tp>::value> | |
| struct __sfinae_underlying_type { | |
| using type = __underlying_type_t<_Tp>; | |
| typedef decltype(((type)1) + 0) __promoted_type; | |
| }; | |
| template <class _Tp> | |
| struct __sfinae_underlying_type<_Tp, false> {}; | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename __sfinae_underlying_type<_Tp>::__promoted_type | |
| __convert_to_integral(_Tp __val) { | |
| return __val; | |
| } | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/unreachable.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/unreachable.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| [[__noreturn__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline void __libcpp_unreachable() { | |
| ((void)0); | |
| __builtin_unreachable(); | |
| } | |
| } } | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 2 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag) { | |
| for (; __n > 0; --__n) | |
| ++__i; | |
| } | |
| template <class _BiDirIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __advance(_BiDirIter& __i, typename iterator_traits<_BiDirIter>::difference_type __n, bidirectional_iterator_tag) { | |
| if (__n >= 0) | |
| for (; __n > 0; --__n) | |
| ++__i; | |
| else | |
| for (; __n < 0; ++__n) | |
| --__i; | |
| } | |
| template <class _RandIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __advance(_RandIter& __i, typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag) { | |
| __i += __n; | |
| } | |
| template < class _InputIter, | |
| class _Distance, | |
| class _IntegralDistance = decltype(std::__convert_to_integral(std::declval<_Distance>())), | |
| __enable_if_t<is_integral<_IntegralDistance>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void advance(_InputIter& __i, _Distance __orig_n) { | |
| typedef typename iterator_traits<_InputIter>::difference_type _Difference; | |
| _Difference __n = static_cast<_Difference>(std::__convert_to_integral(__orig_n)); | |
| ((void)0); | |
| std::__advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category()); | |
| } | |
| # 195 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h" 3 | |
| } } | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_swap.h" 1 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_swap.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_swap.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/iter_swap.h" 3 | |
| } } | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _InputIter | |
| next(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = 1) { | |
| std::advance(__x, __n); | |
| return __x; | |
| } | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h" 3 | |
| } } | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _InputIter | |
| prev(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n) { | |
| std::advance(__x, -__n); | |
| return __x; | |
| } | |
| template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _InputIter prev(_InputIter __it) { | |
| static_assert(__has_bidirectional_iterator_category<_InputIter>::value, | |
| "Attempt to prev(it) with a non-bidirectional iterator"); | |
| return std::prev(std::move(__it), 1); | |
| } | |
| # 80 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h" 3 | |
| } } | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/subrange.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/subrange.h" 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/dangling.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/dangling.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 40 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/dangling.h" 3 | |
| } } | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/view_interface.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/view_interface.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/empty.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/empty.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 69 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/empty.h" 3 | |
| } } | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/view_interface.h" 2 3 | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/view_interface.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 168 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/view_interface.h" 3 | |
| } } | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 2 3 | |
| # 47 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 51 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 270 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/subrange.h" 3 | |
| } } | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
| # 45 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| #pragma GCC diagnostic push | |
| # 49 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 49 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Iter> | |
| class reverse_iterator | |
| { | |
| #pragma GCC diagnostic pop | |
| private: | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| protected: | |
| _Iter current; | |
| public: | |
| using iterator_type = _Iter; | |
| using iterator_category = | |
| _If<__has_random_access_iterator_category<_Iter>::value, | |
| random_access_iterator_tag, | |
| typename iterator_traits<_Iter>::iterator_category>; | |
| using pointer = typename iterator_traits<_Iter>::pointer; | |
| using value_type = typename iterator_traits<_Iter>::value_type; | |
| using difference_type = typename iterator_traits<_Iter>::difference_type; | |
| using reference = typename iterator_traits<_Iter>::reference; | |
| # 112 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator() : current() {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit reverse_iterator(_Iter __x) : current(__x) {} | |
| template <class _Up, __enable_if_t<!is_same<_Up, _Iter>::value && is_convertible<_Up const&, _Iter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator(const reverse_iterator<_Up>& __u) | |
| : current(__u.base()) {} | |
| template <class _Up, | |
| __enable_if_t<!is_same<_Up, _Iter>::value && is_convertible<_Up const&, _Iter>::value && | |
| is_assignable<_Iter&, _Up const&>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator& operator=(const reverse_iterator<_Up>& __u) { | |
| current = __u.base(); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter base() const { return current; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator*() const { | |
| _Iter __tmp = current; | |
| return *--__tmp; | |
| } | |
| # 148 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pointer operator->() const { return std::addressof(operator*()); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator& operator++() { | |
| --current; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator operator++(int) { | |
| reverse_iterator __tmp(*this); | |
| --current; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator& operator--() { | |
| ++current; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator operator--(int) { | |
| reverse_iterator __tmp(*this); | |
| ++current; | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator operator+(difference_type __n) const { | |
| return reverse_iterator(current - __n); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator& operator+=(difference_type __n) { | |
| current -= __n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator operator-(difference_type __n) const { | |
| return reverse_iterator(current + __n); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator& operator-=(difference_type __n) { | |
| current += __n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator[](difference_type __n) const { | |
| return *(*this + __n); | |
| } | |
| # 204 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| }; | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() == __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() > __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() != __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() < __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() <= __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
| { | |
| return __x.base() >= __y.base(); | |
| } | |
| # 287 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| template <class _Iter1, class _Iter2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto | |
| operator-(const reverse_iterator<_Iter1>& __x, | |
| const reverse_iterator<_Iter2>& __y) -> decltype(__y.base() - __x.base()) { | |
| return __y.base() - __x.base(); | |
| } | |
| # 301 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| template <class _Iter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<_Iter> | |
| operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) { | |
| return reverse_iterator<_Iter>(__x.base() - __n); | |
| } | |
| # 314 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| template <class _Iter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<_Iter> make_reverse_iterator(_Iter __i) { | |
| return reverse_iterator<_Iter>(__i); | |
| } | |
| # 330 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
| template <class _Iter, bool __b> | |
| struct __unwrap_iter_impl<reverse_iterator<reverse_iterator<_Iter> >, __b> { | |
| using _UnwrappedIter [[__gnu__::__nodebug__]] = decltype(__unwrap_iter_impl<_Iter>::__unwrap(std::declval<_Iter>())); | |
| using _ReverseWrapper [[__gnu__::__nodebug__]] = reverse_iterator<reverse_iterator<_Iter> >; | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ReverseWrapper | |
| __rewrap(_ReverseWrapper __orig_iter, _UnwrappedIter __unwrapped_iter) { | |
| return _ReverseWrapper( | |
| reverse_iterator<_Iter>(__unwrap_iter_impl<_Iter>::__rewrap(__orig_iter.base().base(), __unwrapped_iter))); | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _UnwrappedIter __unwrap(_ReverseWrapper __i) noexcept { | |
| return __unwrap_iter_impl<_Iter>::__unwrap(__i.base().base()); | |
| } | |
| }; | |
| } } | |
| # 608 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h" 1 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter> | |
| class __wrap_iter { | |
| public: | |
| typedef _Iter iterator_type; | |
| typedef typename iterator_traits<iterator_type>::value_type value_type; | |
| typedef typename iterator_traits<iterator_type>::difference_type difference_type; | |
| typedef typename iterator_traits<iterator_type>::pointer pointer; | |
| typedef typename iterator_traits<iterator_type>::reference reference; | |
| typedef typename iterator_traits<iterator_type>::iterator_category iterator_category; | |
| private: | |
| iterator_type __i_; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter() noexcept : __i_() {} | |
| template < | |
| class _OtherIter, | |
| __enable_if_t< _And< is_convertible<const _OtherIter&, _Iter>, | |
| _Or<is_same<reference, __iter_reference<_OtherIter> >, | |
| is_same<reference, __make_const_lvalue_ref<__iter_reference<_OtherIter> > > > >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter(const __wrap_iter<_OtherIter>& __u) noexcept | |
| : __i_(__u.__i_) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator*() const noexcept { return *__i_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pointer operator->() const noexcept { | |
| return std::__to_address(__i_); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter& operator++() noexcept { | |
| ++__i_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter operator++(int) noexcept { | |
| __wrap_iter __tmp(*this); | |
| ++(*this); | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter& operator--() noexcept { | |
| --__i_; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter operator--(int) noexcept { | |
| __wrap_iter __tmp(*this); | |
| --(*this); | |
| return __tmp; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter operator+(difference_type __n) const noexcept { | |
| __wrap_iter __w(*this); | |
| __w += __n; | |
| return __w; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter& operator+=(difference_type __n) noexcept { | |
| __i_ += __n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter operator-(difference_type __n) const noexcept { | |
| return *this + (-__n); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter& operator-=(difference_type __n) noexcept { | |
| *this += -__n; | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reference operator[](difference_type __n) const noexcept { | |
| return __i_[__n]; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr iterator_type base() const noexcept { return __i_; } | |
| private: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __wrap_iter(iterator_type __x) noexcept : __i_(__x) {} | |
| template <class _Up> | |
| friend class __wrap_iter; | |
| template <class _CharT, class _Traits, class _Alloc> | |
| friend class basic_string; | |
| template <class _CharT, class _Traits> | |
| friend class basic_string_view; | |
| template <class _Tp, class _Alloc> | |
| friend class vector; | |
| template <class _Tp, size_t> | |
| friend class span; | |
| template <class _Tp, size_t _Size> | |
| friend struct array; | |
| }; | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return __x.base() == __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return __x.base() == __y.base(); | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return __x.base() < __y.base(); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return __x.base() < __y.base(); | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return !(__x == __y); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return !(__x == __y); | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return __y < __x; | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return __y < __x; | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return !(__x < __y); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return !(__x < __y); | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { | |
| return !(__y < __x); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { | |
| return !(__y < __x); | |
| } | |
| # 212 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h" 3 | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| auto | |
| operator-(const __wrap_iter<_Iter1>& __x, | |
| const __wrap_iter<_Iter2>& __y) noexcept->decltype(__x.base() - __y.base()) | |
| { | |
| return __x.base() - __y.base(); | |
| } | |
| template <class _Iter1> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __wrap_iter<_Iter1> | |
| operator+(typename __wrap_iter<_Iter1>::difference_type __n, __wrap_iter<_Iter1> __x) noexcept { | |
| __x += __n; | |
| return __x; | |
| } | |
| template <class _It> | |
| struct __libcpp_is_contiguous_iterator<__wrap_iter<_It> > : true_type {}; | |
| template <class _It> | |
| struct pointer_traits<__wrap_iter<_It> > { | |
| typedef __wrap_iter<_It> pointer; | |
| typedef typename pointer_traits<_It>::element_type element_type; | |
| typedef typename pointer_traits<_It>::difference_type difference_type; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static element_type* to_address(pointer __w) noexcept { | |
| return std::__to_address(__w.base()); | |
| } | |
| }; | |
| } } | |
| # 609 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 1 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 36 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| #pragma GCC diagnostic push | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Tp> | |
| using __pointer_member [[__gnu__::__nodebug__]] = typename _Tp::pointer; | |
| template <class _Tp, class _Alloc> | |
| using __pointer [[__gnu__::__nodebug__]] = __detected_or_t<_Tp*, __pointer_member, __libcpp_remove_reference_t<_Alloc> >; | |
| template <class _Alloc, template <class> class _Alias, class _Ptr, class _Tp, class = void> | |
| struct __rebind_or_alias_pointer { | |
| using type [[__gnu__::__nodebug__]] = typename pointer_traits<_Ptr>::template rebind<_Tp>; | |
| }; | |
| template <class _Ptr, class _Alloc, class _Tp, template <class> class _Alias> | |
| struct __rebind_or_alias_pointer<_Alloc, _Alias, _Ptr, _Tp, __void_t<_Alias<_Alloc> > > { | |
| using type [[__gnu__::__nodebug__]] = _Alias<_Alloc>; | |
| }; | |
| template <class _Alloc> | |
| using __const_pointer_member [[__gnu__::__nodebug__]] = typename _Alloc::const_pointer; | |
| template <class _Tp, class _Ptr, class _Alloc> | |
| using __const_pointer_t [[__gnu__::__nodebug__]] = | |
| typename __rebind_or_alias_pointer<_Alloc, __const_pointer_member, _Ptr, const _Tp>::type; | |
| #pragma GCC diagnostic pop | |
| template <class _Alloc> | |
| using __void_pointer_member [[__gnu__::__nodebug__]] = typename _Alloc::void_pointer; | |
| template <class _Ptr, class _Alloc> | |
| using __void_pointer_t [[__gnu__::__nodebug__]] = | |
| typename __rebind_or_alias_pointer<_Alloc, __void_pointer_member, _Ptr, void>::type; | |
| template <class _Alloc> | |
| using __const_void_pointer_member [[__gnu__::__nodebug__]] = typename _Alloc::const_void_pointer; | |
| template <class _Ptr, class _Alloc> | |
| using __const_void_pointer_t [[__gnu__::__nodebug__]] = | |
| typename __rebind_or_alias_pointer<_Alloc, __const_void_pointer_member, _Ptr, const void>::type; | |
| template <class _Tp> | |
| using __size_type_member [[__gnu__::__nodebug__]] = typename _Tp::size_type; | |
| template <class _Alloc, class _DiffType> | |
| using __size_type [[__gnu__::__nodebug__]] = __detected_or_t<__make_unsigned_t<_DiffType>, __size_type_member, _Alloc>; | |
| template <class _Alloc, class _Ptr, class = void> | |
| struct __alloc_traits_difference_type { | |
| using type [[__gnu__::__nodebug__]] = typename pointer_traits<_Ptr>::difference_type; | |
| }; | |
| template <class _Alloc, class _Ptr> | |
| struct __alloc_traits_difference_type<_Alloc, _Ptr, __void_t<typename _Alloc::difference_type> > { | |
| using type [[__gnu__::__nodebug__]] = typename _Alloc::difference_type; | |
| }; | |
| template <class _Tp> | |
| using __propagate_on_container_copy_assignment_member [[__gnu__::__nodebug__]] = | |
| typename _Tp::propagate_on_container_copy_assignment; | |
| template <class _Alloc> | |
| using __propagate_on_container_copy_assignment [[__gnu__::__nodebug__]] = | |
| __detected_or_t<false_type, __propagate_on_container_copy_assignment_member, _Alloc>; | |
| template <class _Tp> | |
| using __propagate_on_container_move_assignment_member [[__gnu__::__nodebug__]] = | |
| typename _Tp::propagate_on_container_move_assignment; | |
| template <class _Alloc> | |
| using __propagate_on_container_move_assignment [[__gnu__::__nodebug__]] = | |
| __detected_or_t<false_type, __propagate_on_container_move_assignment_member, _Alloc>; | |
| template <class _Tp> | |
| using __propagate_on_container_swap_member [[__gnu__::__nodebug__]] = typename _Tp::propagate_on_container_swap; | |
| template <class _Alloc> | |
| using __propagate_on_container_swap [[__gnu__::__nodebug__]] = | |
| __detected_or_t<false_type, __propagate_on_container_swap_member, _Alloc>; | |
| #pragma GCC diagnostic push | |
| # 131 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 131 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Tp> | |
| using __is_always_equal_member [[__gnu__::__nodebug__]] = typename _Tp::is_always_equal; | |
| template <class _Alloc> | |
| using __is_always_equal [[__gnu__::__nodebug__]] = | |
| __detected_or_t<typename is_empty<_Alloc>::type, __is_always_equal_member, _Alloc>; | |
| template <class _Tp, class _Up, class = void> | |
| inline const bool __has_rebind_other_v = false; | |
| template <class _Tp, class _Up> | |
| inline const bool __has_rebind_other_v<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>::other> > = true; | |
| template <class _Tp, class _Up, bool = __has_rebind_other_v<_Tp, _Up> > | |
| struct __allocator_traits_rebind { | |
| static_assert(__has_rebind_other_v<_Tp, _Up>, "This allocator has to implement rebind"); | |
| using type [[__gnu__::__nodebug__]] = typename _Tp::template rebind<_Up>::other; | |
| }; | |
| template <template <class, class...> class _Alloc, class _Tp, class... _Args, class _Up> | |
| struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true> { | |
| using type [[__gnu__::__nodebug__]] = typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other; | |
| }; | |
| template <template <class, class...> class _Alloc, class _Tp, class... _Args, class _Up> | |
| struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false> { | |
| using type [[__gnu__::__nodebug__]] = _Alloc<_Up, _Args...>; | |
| }; | |
| #pragma GCC diagnostic pop | |
| template <class _Alloc, class _Tp> | |
| using __allocator_traits_rebind_t [[__gnu__::__nodebug__]] = typename __allocator_traits_rebind<_Alloc, _Tp>::type; | |
| #pragma GCC diagnostic push | |
| # 164 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 164 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| template <class _Alloc, class _SizeType, class _ConstVoidPtr, class = void> | |
| inline const bool __has_allocate_hint_v = false; | |
| template <class _Alloc, class _SizeType, class _ConstVoidPtr> | |
| inline const bool __has_allocate_hint_v< | |
| _Alloc, | |
| _SizeType, | |
| _ConstVoidPtr, | |
| decltype((void)std::declval<_Alloc>().allocate(std::declval<_SizeType>(), std::declval<_ConstVoidPtr>()))> = true; | |
| template <class, class _Alloc, class... _Args> | |
| inline const bool __has_construct_impl = false; | |
| template <class _Alloc, class... _Args> | |
| inline const bool | |
| __has_construct_impl<decltype((void)std::declval<_Alloc>().construct(std::declval<_Args>()...)), _Alloc, _Args...> = | |
| true; | |
| template <class _Alloc, class... _Args> | |
| inline const bool __has_construct_v = __has_construct_impl<void, _Alloc, _Args...>; | |
| template <class _Alloc, class _Pointer, class = void> | |
| inline const bool __has_destroy_v = false; | |
| template <class _Alloc, class _Pointer> | |
| inline const bool | |
| __has_destroy_v<_Alloc, _Pointer, decltype((void)std::declval<_Alloc>().destroy(std::declval<_Pointer>()))> = true; | |
| template <class _Alloc, class = void> | |
| inline const bool __has_max_size_v = false; | |
| template <class _Alloc> | |
| inline const bool __has_max_size_v<_Alloc, decltype((void)std::declval<_Alloc&>().max_size())> = true; | |
| template <class _Alloc, class = void> | |
| inline const bool __has_select_on_container_copy_construction_v = false; | |
| template <class _Alloc> | |
| inline const bool __has_select_on_container_copy_construction_v< | |
| _Alloc, | |
| decltype((void)std::declval<_Alloc>().select_on_container_copy_construction())> = true; | |
| #pragma GCC diagnostic pop | |
| # 226 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| template <class _Alloc> | |
| struct allocator_traits { | |
| using allocator_type = _Alloc; | |
| using value_type = typename allocator_type::value_type; | |
| using pointer = __pointer<value_type, allocator_type>; | |
| using const_pointer = __const_pointer_t<value_type, pointer, allocator_type>; | |
| using void_pointer = __void_pointer_t<pointer, allocator_type>; | |
| using const_void_pointer = __const_void_pointer_t<pointer, allocator_type>; | |
| using difference_type = typename __alloc_traits_difference_type<allocator_type, pointer>::type; | |
| using size_type = __size_type<allocator_type, difference_type>; | |
| using propagate_on_container_copy_assignment = __propagate_on_container_copy_assignment<allocator_type>; | |
| using propagate_on_container_move_assignment = __propagate_on_container_move_assignment<allocator_type>; | |
| using propagate_on_container_swap = __propagate_on_container_swap<allocator_type>; | |
| using is_always_equal = __is_always_equal<allocator_type>; | |
| template <class _Tp> | |
| using rebind_alloc = __allocator_traits_rebind_t<allocator_type, _Tp>; | |
| template <class _Tp> | |
| using rebind_traits = allocator_traits<rebind_alloc<_Tp> >; | |
| # 257 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static pointer | |
| allocate(allocator_type& __a, size_type __n) { | |
| return __a.allocate(__n); | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<__has_allocate_hint_v<_Ap, size_type, const_void_pointer>, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static pointer | |
| allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) { | |
| #pragma GCC diagnostic push | |
| # 265 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 265 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| return __a.allocate(__n, __hint); | |
| #pragma GCC diagnostic pop | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<!__has_allocate_hint_v<_Ap, size_type, const_void_pointer>, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static pointer | |
| allocate(allocator_type& __a, size_type __n, const_void_pointer) { | |
| return __a.allocate(__n); | |
| } | |
| # 287 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void | |
| deallocate(allocator_type& __a, pointer __p, size_type __n) noexcept { | |
| __a.deallocate(__p, __n); | |
| } | |
| template <class _Tp, class... _Args, __enable_if_t<__has_construct_v<allocator_type, _Tp*, _Args...>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void | |
| construct(allocator_type& __a, _Tp* __p, _Args&&... __args) { | |
| #pragma GCC diagnostic push | |
| # 295 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 295 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| __a.construct(__p, std::forward<_Args>(__args)...); | |
| #pragma GCC diagnostic pop | |
| } | |
| template <class _Tp, class... _Args, __enable_if_t<!__has_construct_v<allocator_type, _Tp*, _Args...>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void | |
| construct(allocator_type&, _Tp* __p, _Args&&... __args) { | |
| std::__construct_at(__p, std::forward<_Args>(__args)...); | |
| } | |
| template <class _Tp, __enable_if_t<__has_destroy_v<allocator_type, _Tp*>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void destroy(allocator_type& __a, _Tp* __p) { | |
| #pragma GCC diagnostic push | |
| # 307 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 307 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| __a.destroy(__p); | |
| #pragma GCC diagnostic pop | |
| } | |
| template <class _Tp, __enable_if_t<!__has_destroy_v<allocator_type, _Tp*>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static void destroy(allocator_type&, _Tp* __p) { | |
| std::__destroy_at(__p); | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<__has_max_size_v<const _Ap>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static size_type max_size(const allocator_type& __a) noexcept { | |
| #pragma GCC diagnostic push | |
| # 318 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated" | |
| # 318 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h" 3 | |
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
| return __a.max_size(); | |
| #pragma GCC diagnostic pop | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<!__has_max_size_v<const _Ap>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static size_type max_size(const allocator_type&) noexcept { | |
| return numeric_limits<size_type>::max() / sizeof(value_type); | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<__has_select_on_container_copy_construction_v<const _Ap>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static allocator_type | |
| select_on_container_copy_construction(const allocator_type& __a) { | |
| return __a.select_on_container_copy_construction(); | |
| } | |
| template <class _Ap = _Alloc, __enable_if_t<!__has_select_on_container_copy_construction_v<const _Ap>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static allocator_type | |
| select_on_container_copy_construction(const allocator_type& __a) { | |
| return __a; | |
| } | |
| }; | |
| template <class _Traits, class _Tp> | |
| using __rebind_alloc [[__gnu__::__nodebug__]] = typename _Traits::template rebind_alloc<_Tp>; | |
| template <class _Alloc> | |
| struct __check_valid_allocator : true_type { | |
| using _Traits [[__gnu__::__nodebug__]] = std::allocator_traits<_Alloc>; | |
| static_assert(is_same<_Alloc, __rebind_alloc<_Traits, typename _Traits::value_type> >::value, | |
| "[allocator.requirements] states that rebinding an allocator to the same type should result in the " | |
| "original allocator"); | |
| }; | |
| template <class _Tp> | |
| inline const bool __is_std_allocator_v = false; | |
| template <class _Tp> | |
| inline const bool __is_std_allocator_v<allocator<_Tp> > = true; | |
| template <class _Alloc> | |
| inline const bool __is_cpp17_move_insertable_v = | |
| is_move_constructible<typename _Alloc::value_type>::value || | |
| (!__is_std_allocator_v<_Alloc> && | |
| __has_construct_v<_Alloc, typename _Alloc::value_type*, typename _Alloc::value_type&&>); | |
| template <class _Alloc> | |
| inline const bool __is_cpp17_copy_insertable_v = | |
| __is_cpp17_move_insertable_v<_Alloc> && | |
| (is_copy_constructible<typename _Alloc::value_type>::value || | |
| (!__is_std_allocator_v<_Alloc> && | |
| __has_construct_v<_Alloc, typename _Alloc::value_type*, const typename _Alloc::value_type&>)); | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h" 3 | |
| template <class _Pointer> | |
| struct __allocation_result { | |
| _Pointer ptr; | |
| size_t count; | |
| }; | |
| template <class _Alloc> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr __allocation_result<typename allocator_traits<_Alloc>::pointer> | |
| __allocate_at_least(_Alloc& __alloc, size_t __n) { | |
| return {__alloc.allocate(__n), __n}; | |
| } | |
| } } | |
| # 611 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/align_val_t.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/align_val_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| enum class align_val_t : size_t {}; | |
| } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 1 3 | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| # 72 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h" 3 | |
| class __attribute__((__visibility__("default"))) exception { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception() noexcept {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception(const exception&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception& operator=(const exception&) noexcept = default; | |
| virtual ~exception() noexcept; | |
| virtual const char* what() const noexcept; | |
| }; | |
| class __attribute__((__visibility__("default"))) bad_exception : public exception { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_exception() noexcept {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_exception(const bad_exception&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_exception& operator=(const bad_exception&) noexcept = default; | |
| ~bad_exception() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h" 2 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| class __attribute__((__visibility__("default"))) bad_alloc : public exception { | |
| public: | |
| bad_alloc() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_alloc(const bad_alloc&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_alloc& operator=(const bad_alloc&) noexcept = default; | |
| ~bad_alloc() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) bad_array_new_length : public bad_alloc { | |
| public: | |
| bad_array_new_length() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_array_new_length(const bad_array_new_length&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_array_new_length& operator=(const bad_array_new_length&) noexcept = default; | |
| ~bad_array_new_length() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| # 62 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h" 3 | |
| [[__noreturn__]] __attribute__((__visibility__("default"))) void __throw_bad_alloc(); | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_bad_array_new_length() { | |
| throw bad_array_new_length(); | |
| } | |
| } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/nothrow_t.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/nothrow_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| struct __attribute__((__visibility__("default"))) nothrow_t { | |
| explicit nothrow_t() = default; | |
| }; | |
| extern __attribute__((__visibility__("default"))) const nothrow_t nothrow; | |
| } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 2 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 3 | |
| # 37 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/global_new_delete.h" 3 | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz) ; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, const std::nothrow_t&) noexcept | |
| __attribute__((__malloc__)); | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p, const std::nothrow_t&) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz) noexcept; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz) ; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, const std::nothrow_t&) noexcept | |
| __attribute__((__malloc__)); | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p, const std::nothrow_t&) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz) noexcept; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, std::align_val_t) ; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* | |
| operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz, std::align_val_t) noexcept; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* | |
| operator new[](std::size_t __sz, std::align_val_t) ; | |
| [[__nodiscard__]] __attribute__((__visibility__("default"))) void* | |
| operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) noexcept; | |
| __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz, std::align_val_t) noexcept; | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __is_overaligned_for_new(size_t __align) noexcept { | |
| return __align > 8UL; | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__no_sanitize__("cfi"))) _Tp* | |
| __libcpp_allocate(__element_count __n, [[__maybe_unused__]] size_t __align = alignof(_Tp)) { | |
| size_t __size = static_cast<size_t>(__n) * sizeof(_Tp); | |
| if (__is_overaligned_for_new(__align)) | |
| return static_cast<_Tp*>(__builtin_operator_new(__size, static_cast<align_val_t>(__align))); | |
| return static_cast<_Tp*>(__builtin_operator_new(__size)); | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __libcpp_deallocate(__type_identity_t<_Tp>* __ptr, | |
| __element_count __n, | |
| [[__maybe_unused__]] size_t __align = alignof(_Tp)) noexcept { | |
| [[__maybe_unused__]] size_t __size = static_cast<size_t>(__n) * sizeof(_Tp); | |
| if (__is_overaligned_for_new(__align)) | |
| return __builtin_operator_delete( | |
| __ptr , __size, static_cast<align_val_t>(__align)); | |
| return __builtin_operator_delete(__ptr , __size); | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __libcpp_deallocate_unsized( | |
| __type_identity_t<_Tp>* __ptr, [[__maybe_unused__]] size_t __align = alignof(_Tp)) noexcept { | |
| if (__is_overaligned_for_new(__align)) | |
| return __builtin_operator_delete(__ptr, static_cast<align_val_t>(__align)); | |
| return __builtin_operator_delete(__ptr); | |
| } | |
| } } | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 2 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| class allocator; | |
| template <> | |
| class allocator<void> { | |
| public: | |
| __attribute__((__deprecated__)) typedef void* pointer; | |
| __attribute__((__deprecated__)) typedef const void* const_pointer; | |
| __attribute__((__deprecated__)) typedef void value_type; | |
| template <class _Up> | |
| struct __attribute__((__deprecated__)) rebind { | |
| typedef allocator<_Up> other; | |
| }; | |
| }; | |
| # 66 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 3 | |
| template <bool _Cond, class _Unique> | |
| struct __non_trivial_if {}; | |
| template <class _Unique> | |
| struct __non_trivial_if<true, _Unique> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __non_trivial_if() noexcept {} | |
| }; | |
| template <class _Tp> | |
| class allocator : private __non_trivial_if<!is_void<_Tp>::value, allocator<_Tp> > { | |
| static_assert(!is_const<_Tp>::value, "std::allocator does not support const types"); | |
| static_assert(!is_volatile<_Tp>::value, "std::allocator does not support volatile types"); | |
| public: | |
| typedef size_t size_type; | |
| typedef ptrdiff_t difference_type; | |
| typedef _Tp value_type; | |
| typedef true_type propagate_on_container_move_assignment; | |
| typedef true_type is_always_equal; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) allocator() noexcept = default; | |
| template <class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) allocator(const allocator<_Up>&) noexcept {} | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Tp* allocate(size_t __n) { | |
| static_assert(sizeof(_Tp) >= 0, "cannot allocate memory for an incomplete type"); | |
| if (__n > allocator_traits<allocator>::max_size(*this)) | |
| std::__throw_bad_array_new_length(); | |
| if (__libcpp_is_constant_evaluated()) { | |
| return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); | |
| } else { | |
| return std::__libcpp_allocate<_Tp>(__element_count(__n)); | |
| } | |
| } | |
| # 116 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void deallocate(_Tp* __p, size_t __n) noexcept { | |
| if (__libcpp_is_constant_evaluated()) { | |
| ::operator delete(__p); | |
| } else { | |
| std::__libcpp_deallocate<_Tp>(__p, __element_count(__n)); | |
| } | |
| } | |
| __attribute__((__deprecated__)) typedef _Tp* pointer; | |
| __attribute__((__deprecated__)) typedef const _Tp* const_pointer; | |
| __attribute__((__deprecated__)) typedef _Tp& reference; | |
| __attribute__((__deprecated__)) typedef const _Tp& const_reference; | |
| template <class _Up> | |
| struct __attribute__((__deprecated__)) rebind { | |
| typedef allocator<_Up> other; | |
| }; | |
| __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pointer address(reference __x) const noexcept { | |
| return std::addressof(__x); | |
| } | |
| __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_pointer address(const_reference __x) const noexcept { | |
| return std::addressof(__x); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__deprecated__)) _Tp* allocate(size_t __n, const void*) { | |
| return allocate(__n); | |
| } | |
| __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type max_size() const noexcept { | |
| return size_type(~0) / sizeof(_Tp); | |
| } | |
| template <class _Up, class... _Args> | |
| __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(_Up* __p, _Args&&... __args) { | |
| ::new ((void*)__p) _Up(std::forward<_Args>(__args)...); | |
| } | |
| __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void destroy(pointer __p) { __p->~_Tp(); } | |
| }; | |
| template <class _Tp, class _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(const allocator<_Tp>&, const allocator<_Up>&) noexcept { | |
| return true; | |
| } | |
| template <class _Tp, class _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) noexcept { | |
| return false; | |
| } | |
| } } | |
| # 612 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/compressed_pair.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/compressed_pair.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 134 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/compressed_pair.h" 3 | |
| } } | |
| # 614 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/noexcept_move_assign_container.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/noexcept_move_assign_container.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <typename _Alloc, typename _Traits = allocator_traits<_Alloc> > | |
| struct __noexcept_move_assign_container | |
| : public integral_constant<bool, | |
| _Traits::propagate_on_container_move_assignment::value | |
| || _Traits::is_always_equal::value | |
| > { | |
| }; | |
| } } | |
| # 616 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/swap_allocator.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/swap_allocator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <typename _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void __swap_allocator(_Alloc& __a1, _Alloc& __a2, true_type) | |
| noexcept | |
| { | |
| using std::swap; | |
| swap(__a1, __a2); | |
| } | |
| template <typename _Alloc> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __swap_allocator(_Alloc&, _Alloc&, false_type) noexcept {} | |
| template <typename _Alloc> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void __swap_allocator(_Alloc& __a1, _Alloc& __a2) | |
| noexcept | |
| { | |
| std::__swap_allocator( | |
| __a1, __a2, integral_constant<bool, allocator_traits<_Alloc>::propagate_on_container_swap::value>()); | |
| } | |
| } } | |
| # 618 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/memory_resource.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/memory_resource.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace pmr { | |
| class __attribute__((__visibility__("default"))) memory_resource { | |
| static const size_t __max_align = alignof(max_align_t); | |
| public: | |
| virtual ~memory_resource(); | |
| [[nodiscard]] [[using __gnu__: __returns_nonnull__, __alloc_size__(2), __alloc_align__(3)]] | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void* allocate(size_t __bytes, size_t __align = __max_align) { | |
| return do_allocate(__bytes, __align); | |
| } | |
| [[__gnu__::__nonnull__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| deallocate(void* __p, size_t __bytes, size_t __align = __max_align) { | |
| do_deallocate(__p, __bytes, __align); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool is_equal(const memory_resource& __other) const noexcept { return do_is_equal(__other); } | |
| private: | |
| virtual void* do_allocate(size_t, size_t) = 0; | |
| virtual void do_deallocate(void*, size_t, size_t) = 0; | |
| virtual bool do_is_equal(memory_resource const&) const noexcept = 0; | |
| }; | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(const memory_resource& __lhs, const memory_resource& __rhs) noexcept { | |
| return &__lhs == &__rhs || __lhs.is_equal(__rhs); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator!=(const memory_resource& __lhs, const memory_resource& __rhs) noexcept { | |
| return !(__lhs == __rhs); | |
| } | |
| [[__gnu__::__returns_nonnull__]] __attribute__((__visibility__("default"))) memory_resource* | |
| get_default_resource() noexcept; | |
| [[__gnu__::__returns_nonnull__]] __attribute__((__visibility__("default"))) memory_resource* | |
| set_default_resource(memory_resource*) noexcept; | |
| [[using __gnu__: __returns_nonnull__, __const__]] __attribute__((__visibility__("default"))) memory_resource* | |
| new_delete_resource() noexcept; | |
| [[using __gnu__: __returns_nonnull__, __const__]] __attribute__((__visibility__("default"))) memory_resource* | |
| null_memory_resource() noexcept; | |
| } | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 63 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h" 3 | |
| template <class _Rollback> | |
| struct __exception_guard_exceptions { | |
| __exception_guard_exceptions() = delete; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit __exception_guard_exceptions(_Rollback __rollback) | |
| : __rollback_(std::move(__rollback)), __completed_(false) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __exception_guard_exceptions(__exception_guard_exceptions&& __other) | |
| noexcept(is_nothrow_move_constructible<_Rollback>::value) | |
| : __rollback_(std::move(__other.__rollback_)), __completed_(__other.__completed_) { | |
| __other.__completed_ = true; | |
| } | |
| __exception_guard_exceptions(__exception_guard_exceptions const&) = delete; | |
| __exception_guard_exceptions& operator=(__exception_guard_exceptions const&) = delete; | |
| __exception_guard_exceptions& operator=(__exception_guard_exceptions&&) = delete; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __complete() noexcept { __completed_ = true; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ~__exception_guard_exceptions() { | |
| if (!__completed_) | |
| __rollback_(); | |
| } | |
| private: | |
| _Rollback __rollback_; | |
| bool __completed_; | |
| }; | |
| template <class... _Tag> [[maybe_unused]] __exception_guard_exceptions(typename _Tag::__allow_ctad...)->__exception_guard_exceptions<_Tag...>; | |
| template <class _Rollback> | |
| struct __exception_guard_noexceptions { | |
| __exception_guard_noexceptions() = delete; | |
| [[__gnu__::__nodebug__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| explicit __exception_guard_noexceptions(_Rollback) {} | |
| [[__gnu__::__nodebug__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __exception_guard_noexceptions(__exception_guard_noexceptions&& __other) | |
| noexcept(is_nothrow_move_constructible<_Rollback>::value) | |
| : __completed_(__other.__completed_) { | |
| __other.__completed_ = true; | |
| } | |
| __exception_guard_noexceptions(__exception_guard_noexceptions const&) = delete; | |
| __exception_guard_noexceptions& operator=(__exception_guard_noexceptions const&) = delete; | |
| __exception_guard_noexceptions& operator=(__exception_guard_noexceptions&&) = delete; | |
| [[__gnu__::__nodebug__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __complete() noexcept { | |
| __completed_ = true; | |
| } | |
| [[__gnu__::__nodebug__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ~__exception_guard_noexceptions() { | |
| ((void)0); | |
| } | |
| private: | |
| bool __completed_ = false; | |
| }; | |
| template <class... _Tag> [[maybe_unused]] __exception_guard_noexceptions(typename _Tag::__allow_ctad...)->__exception_guard_noexceptions<_Tag...>; | |
| template <class _Rollback> | |
| using __exception_guard [[__gnu__::__nodebug__]] = __exception_guard_exceptions<_Rollback>; | |
| template <class _Rollback> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __exception_guard<_Rollback> __make_exception_guard(_Rollback __rollback) { | |
| return __exception_guard<_Rollback>(std::move(__rollback)); | |
| } | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 1 3 | |
| # 225 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_arg_t.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_arg_t.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/uses_allocator.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/uses_allocator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __has_allocator_type { | |
| private: | |
| template <class _Up> | |
| static false_type __test(...); | |
| template <class _Up> | |
| static true_type __test(typename _Up::allocator_type* = 0); | |
| public: | |
| static const bool value = decltype(__test<_Tp>(0))::value; | |
| }; | |
| template <class _Tp, class _Alloc, bool = __has_allocator_type<_Tp>::value> | |
| struct __uses_allocator : public integral_constant<bool, is_convertible<_Alloc, typename _Tp::allocator_type>::value> { | |
| }; | |
| template <class _Tp, class _Alloc> | |
| struct __uses_allocator<_Tp, _Alloc, false> : public false_type {}; | |
| template <class _Tp, class _Alloc> | |
| struct uses_allocator : public __uses_allocator<_Tp, _Alloc> {}; | |
| template <class _Tp, class _Alloc> | |
| inline constexpr bool uses_allocator_v = uses_allocator<_Tp, _Alloc>::value; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_arg_t.h" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_arg_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct allocator_arg_t { | |
| explicit allocator_arg_t() = default; | |
| }; | |
| inline constexpr allocator_arg_t allocator_arg = allocator_arg_t(); | |
| # 40 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_arg_t.h" 3 | |
| template <class _Tp, class _Alloc, class... _Args> | |
| struct __uses_alloc_ctor_imp { | |
| using _RawAlloc [[__gnu__::__nodebug__]] = __remove_cvref_t<_Alloc>; | |
| static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value; | |
| static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value; | |
| static const int value = __ua ? 2 - __ic : 0; | |
| }; | |
| template <class _Tp, class _Alloc, class... _Args> | |
| struct __uses_alloc_ctor : integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value> {}; | |
| template <class _Tp, class _Allocator, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __user_alloc_construct_impl(integral_constant<int, 0>, _Tp* __storage, const _Allocator&, _Args&&... __args) { | |
| new (__storage) _Tp(std::forward<_Args>(__args)...); | |
| } | |
| template <class _Tp, class _Allocator, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __user_alloc_construct_impl(integral_constant<int, 1>, _Tp* __storage, const _Allocator& __a, _Args&&... __args) { | |
| new (__storage) _Tp(allocator_arg, __a, std::forward<_Args>(__args)...); | |
| } | |
| template <class _Tp, class _Allocator, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __user_alloc_construct_impl(integral_constant<int, 2>, _Tp* __storage, const _Allocator& __a, _Args&&... __args) { | |
| new (__storage) _Tp(std::forward<_Args>(__args)..., __a); | |
| } | |
| } } | |
| # 226 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/find_index.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/find_index.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __find_detail { | |
| static constexpr size_t __not_found = static_cast<size_t>(-1); | |
| static constexpr size_t __ambiguous = __not_found - 1; | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t __find_idx_return(size_t __curr_i, size_t __res, bool __matches) { | |
| return !__matches ? __res : (__res == __not_found ? __curr_i : __ambiguous); | |
| } | |
| template <size_t _Nx> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t __find_idx(size_t __i, const bool (&__matches)[_Nx]) { | |
| return __i == _Nx | |
| ? __not_found | |
| : __find_detail::__find_idx_return(__i, __find_detail::__find_idx(__i + 1, __matches), __matches[__i]); | |
| } | |
| template <class _T1, class... _Args> | |
| struct __find_exactly_one_checked { | |
| static constexpr bool __matches[sizeof...(_Args)] = {is_same<_T1, _Args>::value...}; | |
| static constexpr size_t value = __find_detail::__find_idx(0, __matches); | |
| static_assert(value != __not_found, "type not found in type list"); | |
| static_assert(value != __ambiguous, "type occurs more than once in type list"); | |
| }; | |
| template <class _T1> | |
| struct __find_exactly_one_checked<_T1> { | |
| static_assert(!is_same<_T1, _T1>::value, "type not in empty type list"); | |
| }; | |
| } | |
| template <typename _T1, typename... _Args> | |
| struct __find_exactly_one_t : public __find_detail::__find_exactly_one_checked<_T1, _Args...> {}; | |
| } } | |
| # 228 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/ignore.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/ignore.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __ignore_type { | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const __ignore_type& operator=(const _Tp&) const noexcept { | |
| return *this; | |
| } | |
| }; | |
| inline constexpr __ignore_type ignore; | |
| } } | |
| # 229 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/make_tuple_types.h" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/make_tuple_types.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _TupleTypes, class _TupleIndices> | |
| struct __make_tuple_types_flat; | |
| template <template <class...> class _Tuple, class... _Types, size_t... _Idx> | |
| struct __make_tuple_types_flat<_Tuple<_Types...>, __tuple_indices<_Idx...>> { | |
| template <class _Tp> | |
| using __apply_quals [[__gnu__::__nodebug__]] = __tuple_types<__copy_cvref_t<_Tp, __type_pack_element<_Idx, _Types...>>...>; | |
| }; | |
| template <class _Vt, size_t _Np, size_t... _Idx> | |
| struct __make_tuple_types_flat<array<_Vt, _Np>, __tuple_indices<_Idx...>> { | |
| template <size_t> | |
| using __value_type [[__gnu__::__nodebug__]] = _Vt; | |
| template <class _Tp> | |
| using __apply_quals [[__gnu__::__nodebug__]] = __tuple_types<__copy_cvref_t<_Tp, __value_type<_Idx>>...>; | |
| }; | |
| template <class _Tp, | |
| size_t _Ep = tuple_size<__libcpp_remove_reference_t<_Tp> >::value, | |
| size_t _Sp = 0, | |
| bool _SameSize = (_Ep == tuple_size<__libcpp_remove_reference_t<_Tp> >::value)> | |
| struct __make_tuple_types { | |
| static_assert(_Sp <= _Ep, "__make_tuple_types input error"); | |
| using _RawTp [[__gnu__::__nodebug__]] = __remove_cvref_t<_Tp>; | |
| using _Maker [[__gnu__::__nodebug__]] = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>; | |
| using type [[__gnu__::__nodebug__]] = typename _Maker::template __apply_quals<_Tp>; | |
| }; | |
| template <class... _Types, size_t _Ep> | |
| struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> { | |
| using type [[__gnu__::__nodebug__]] = __tuple_types<_Types...>; | |
| }; | |
| template <class... _Types, size_t _Ep> | |
| struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> { | |
| using type [[__gnu__::__nodebug__]] = __tuple_types<_Types...>; | |
| }; | |
| } } | |
| # 230 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/sfinae_helpers.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/sfinae_helpers.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_ext.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/tuple_like_ext.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| struct __tuple_like_ext : false_type {}; | |
| template <class _Tp> | |
| struct __tuple_like_ext<const _Tp> : public __tuple_like_ext<_Tp> {}; | |
| template <class _Tp> | |
| struct __tuple_like_ext<volatile _Tp> : public __tuple_like_ext<_Tp> {}; | |
| template <class _Tp> | |
| struct __tuple_like_ext<const volatile _Tp> : public __tuple_like_ext<_Tp> {}; | |
| template <class... _Tp> | |
| struct __tuple_like_ext<tuple<_Tp...> > : true_type {}; | |
| template <class _T1, class _T2> | |
| struct __tuple_like_ext<pair<_T1, _T2> > : true_type {}; | |
| template <class _Tp, size_t _Size> | |
| struct __tuple_like_ext<array<_Tp, _Size> > : true_type {}; | |
| template <class... _Tp> | |
| struct __tuple_like_ext<__tuple_types<_Tp...> > : true_type {}; | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/sfinae_helpers.h" 2 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__tuple/sfinae_helpers.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __tuple_sfinae_base { | |
| template <template <class, class...> class _Trait, class... _LArgs, class... _RArgs> | |
| static auto __do_test(__tuple_types<_LArgs...>, | |
| __tuple_types<_RArgs...>) -> __all<__enable_if_t<_Trait<_LArgs, _RArgs>::value, bool>{true}...>; | |
| template <template <class...> class> | |
| static auto __do_test(...) -> false_type; | |
| template <class _FromArgs, class _ToArgs> | |
| using __constructible [[__gnu__::__nodebug__]] = decltype(__do_test<is_constructible>(_ToArgs{}, _FromArgs{})); | |
| }; | |
| template <class _Tp, | |
| class _Up, | |
| bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, | |
| bool = __tuple_like_ext<_Up>::value> | |
| struct __tuple_constructible : public false_type {}; | |
| template <class _Tp, class _Up> | |
| struct __tuple_constructible<_Tp, _Up, true, true> | |
| : public __tuple_sfinae_base::__constructible< typename __make_tuple_types<_Tp>::type, | |
| typename __make_tuple_types<_Up>::type > {}; | |
| template <size_t _Ip, class... _Tp> | |
| struct tuple_element<_Ip, tuple<_Tp...> > { | |
| using type [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, __tuple_types<_Tp...> >::type; | |
| }; | |
| struct __attribute__((__visibility__("default"))) __check_tuple_constructor_fail { | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_explicit_default() { return false; } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_implicit_default() { return false; } | |
| template <class...> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_explicit() { | |
| return false; | |
| } | |
| template <class...> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_implicit() { | |
| return false; | |
| } | |
| template <class...> | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __enable_assign() { | |
| return false; | |
| } | |
| }; | |
| template <bool _CanCopy, bool _CanMove> | |
| struct __sfinae_ctor_base {}; | |
| template <> | |
| struct __sfinae_ctor_base<false, false> { | |
| __sfinae_ctor_base() = default; | |
| __sfinae_ctor_base(__sfinae_ctor_base const&) = delete; | |
| __sfinae_ctor_base(__sfinae_ctor_base&&) = delete; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
| }; | |
| template <> | |
| struct __sfinae_ctor_base<true, false> { | |
| __sfinae_ctor_base() = default; | |
| __sfinae_ctor_base(__sfinae_ctor_base const&) = default; | |
| __sfinae_ctor_base(__sfinae_ctor_base&&) = delete; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
| }; | |
| template <> | |
| struct __sfinae_ctor_base<false, true> { | |
| __sfinae_ctor_base() = default; | |
| __sfinae_ctor_base(__sfinae_ctor_base const&) = delete; | |
| __sfinae_ctor_base(__sfinae_ctor_base&&) = default; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
| __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
| }; | |
| template <bool _CanCopy, bool _CanMove> | |
| struct __sfinae_assign_base {}; | |
| template <> | |
| struct __sfinae_assign_base<false, false> { | |
| __sfinae_assign_base() = default; | |
| __sfinae_assign_base(__sfinae_assign_base const&) = default; | |
| __sfinae_assign_base(__sfinae_assign_base&&) = default; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; | |
| }; | |
| template <> | |
| struct __sfinae_assign_base<true, false> { | |
| __sfinae_assign_base() = default; | |
| __sfinae_assign_base(__sfinae_assign_base const&) = default; | |
| __sfinae_assign_base(__sfinae_assign_base&&) = default; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base const&) = default; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; | |
| }; | |
| template <> | |
| struct __sfinae_assign_base<false, true> { | |
| __sfinae_assign_base() = default; | |
| __sfinae_assign_base(__sfinae_assign_base const&) = default; | |
| __sfinae_assign_base(__sfinae_assign_base&&) = default; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; | |
| __sfinae_assign_base& operator=(__sfinae_assign_base&&) = default; | |
| }; | |
| } } | |
| # 231 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 258 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/lazy.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/lazy.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <template <class...> class _Func, class... _Args> | |
| struct _Lazy : _Func<_Args...> {}; | |
| } } | |
| # 259 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/maybe_const.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/maybe_const.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <bool _Const, class _Tp> | |
| using __maybe_const [[__gnu__::__nodebug__]] = __conditional_t<_Const, const _Tp, _Tp>; | |
| } } | |
| # 260 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/reference_constructs_from_temporary.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/reference_constructs_from_temporary.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/reference_constructs_from_temporary.h" 3 | |
| template <class _Tp, class _Up> | |
| inline const bool __reference_constructs_from_temporary_v = __reference_constructs_from_temporary(_Tp, _Up); | |
| } } | |
| # 263 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 278 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/compare" 1 3 | |
| # 168 "//Dev/emscripten/cache/sysroot/include/c++/v1/compare" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 1 3 | |
| # 319 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/abs.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/abs.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fabs(float __x) noexcept { return __builtin_fabsf(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fabs(double __x) noexcept { | |
| return __builtin_fabs(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fabs(long double __x) noexcept { | |
| return __builtin_fabsl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fabs(_A1 __x) noexcept { | |
| return __builtin_fabs((double)__x); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline float abs(float __x) noexcept { return __builtin_fabsf(__x); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline double abs(double __x) noexcept { return __builtin_fabs(__x); } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline long double abs(long double __x) noexcept { | |
| return __builtin_fabsl(__x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline int abs(int __x) noexcept { | |
| return __builtin_abs(__x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline long abs(long __x) noexcept { | |
| return __builtin_labs(__x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline long long abs(long long __x) noexcept { | |
| return __builtin_llabs(__x); | |
| } | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/promote.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/promote.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| float __promote_impl(float); | |
| double __promote_impl(char); | |
| double __promote_impl(int); | |
| double __promote_impl(unsigned); | |
| double __promote_impl(long); | |
| double __promote_impl(unsigned long); | |
| double __promote_impl(long long); | |
| double __promote_impl(unsigned long long); | |
| double __promote_impl(__int128_t); | |
| double __promote_impl(__uint128_t); | |
| double __promote_impl(double); | |
| long double __promote_impl(long double); | |
| template <class... _Args> | |
| using __promote_t [[__gnu__::__nodebug__]] = | |
| decltype((__enable_if_t<(is_arithmetic<_Args>::value && ...)>)0, (std::__promote_impl(_Args()) + ...)); | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h" 2 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float exp(float __x) noexcept { return __builtin_expf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double exp(double __x) noexcept { | |
| return __builtin_exp(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double exp(long double __x) noexcept { return __builtin_expl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double exp(_A1 __x) noexcept { | |
| return __builtin_exp((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float frexp(float __x, int* __e) noexcept { return __builtin_frexpf(__x, __e); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double frexp(double __x, int* __e) noexcept { | |
| return __builtin_frexp(__x, __e); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double frexp(long double __x, int* __e) noexcept { | |
| return __builtin_frexpl(__x, __e); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double frexp(_A1 __x, int* __e) noexcept { | |
| return __builtin_frexp((double)__x, __e); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float ldexp(float __x, int __e) noexcept { return __builtin_ldexpf(__x, __e); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double ldexp(double __x, int __e) noexcept { | |
| return __builtin_ldexp(__x, __e); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double ldexp(long double __x, int __e) noexcept { | |
| return __builtin_ldexpl(__x, __e); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double ldexp(_A1 __x, int __e) noexcept { | |
| return __builtin_ldexp((double)__x, __e); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float exp2(float __x) noexcept { return __builtin_exp2f(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double exp2(double __x) noexcept { | |
| return __builtin_exp2(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double exp2(long double __x) noexcept { return __builtin_exp2l(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double exp2(_A1 __x) noexcept { | |
| return __builtin_exp2((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float expm1(float __x) noexcept { return __builtin_expm1f(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double expm1(double __x) noexcept { | |
| return __builtin_expm1(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double expm1(long double __x) noexcept { return __builtin_expm1l(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double expm1(_A1 __x) noexcept { | |
| return __builtin_expm1((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float scalbln(float __x, long __y) noexcept { return __builtin_scalblnf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double scalbln(double __x, long __y) noexcept { | |
| return __builtin_scalbln(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double scalbln(long double __x, long __y) noexcept { | |
| return __builtin_scalblnl(__x, __y); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double scalbln(_A1 __x, long __y) noexcept { | |
| return __builtin_scalbln((double)__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float scalbn(float __x, int __y) noexcept { return __builtin_scalbnf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double scalbn(double __x, int __y) noexcept { | |
| return __builtin_scalbn(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double scalbn(long double __x, int __y) noexcept { | |
| return __builtin_scalbnl(__x, __y); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double scalbn(_A1 __x, int __y) noexcept { | |
| return __builtin_scalbn((double)__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float pow(float __x, float __y) noexcept { return __builtin_powf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double pow(double __x, double __y) noexcept { | |
| return __builtin_pow(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double pow(long double __x, long double __y) noexcept { | |
| return __builtin_powl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> pow(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::pow((__result_type)__x, (__result_type)__y); | |
| } | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/min_max.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/min_max.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fmax(float __x, float __y) noexcept { | |
| return __builtin_fmaxf(__x, __y); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fmax(double __x, double __y) noexcept { | |
| return __builtin_fmax(__x, __y); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fmax(long double __x, long double __y) noexcept { | |
| return __builtin_fmaxl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> fmax(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::fmax((__result_type)__x, (__result_type)__y); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fmin(float __x, float __y) noexcept { | |
| return __builtin_fminf(__x, __y); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fmin(double __x, double __y) noexcept { | |
| return __builtin_fmin(__x, __y); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fmin(long double __x, long double __y) noexcept { | |
| return __builtin_fminl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> fmin(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::fmin((__result_type)__x, (__result_type)__y); | |
| } | |
| } | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/roots.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/roots.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float sqrt(float __x) noexcept { return __builtin_sqrtf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sqrt(double __x) noexcept { | |
| return __builtin_sqrt(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double sqrt(long double __x) noexcept { return __builtin_sqrtl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sqrt(_A1 __x) noexcept { | |
| return __builtin_sqrt((double)__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float cbrt(float __x) noexcept { return __builtin_cbrtf(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cbrt(double __x) noexcept { | |
| return __builtin_cbrt(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double cbrt(long double __x) noexcept { | |
| return __builtin_cbrtl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cbrt(_A1 __x) noexcept { | |
| return __builtin_cbrt((double)__x); | |
| } | |
| } | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hypot.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float hypot(float __x, float __y) noexcept { return __builtin_hypotf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double hypot(double __x, double __y) noexcept { | |
| return __builtin_hypot(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double hypot(long double __x, long double __y) noexcept { | |
| return __builtin_hypotl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> hypot(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::hypot((__result_type)__x, (__result_type)__y); | |
| } | |
| template <class _Real> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Real __hypot(_Real __x, _Real __y, _Real __z) { | |
| constexpr int __exp = std::numeric_limits<_Real>::max_exponent / 2; | |
| const _Real __overflow_threshold = __math::ldexp(_Real(1), __exp); | |
| const _Real __overflow_scale = __math::ldexp(_Real(1), -(__exp + 20)); | |
| const _Real __max_abs = __math::fmax(__math::fabs(__x), __math::fmax(__math::fabs(__y), __math::fabs(__z))); | |
| _Real __scale; | |
| if (__max_abs > __overflow_threshold) { | |
| __scale = __overflow_scale; | |
| } else if (__max_abs < 1 / __overflow_threshold) { | |
| __scale = 1 / __overflow_scale; | |
| } else { | |
| __scale = 1; | |
| } | |
| __x *= __scale; | |
| __y *= __scale; | |
| __z *= __scale; | |
| return __math::sqrt(__x * __x + __y * __y + __z * __z) / __scale; | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float hypot(float __x, float __y, float __z) { return __math::__hypot(__x, __y, __z); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double hypot(double __x, double __y, double __z) { return __math::__hypot(__x, __y, __z); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double hypot(long double __x, long double __y, long double __z) { | |
| return __math::__hypot(__x, __y, __z); | |
| } | |
| template <class _A1, | |
| class _A2, | |
| class _A3, | |
| std::enable_if_t< is_arithmetic_v<_A1> && is_arithmetic_v<_A2> && is_arithmetic_v<_A3>, int> = 0 > | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2, _A3> hypot(_A1 __x, _A2 __y, _A3 __z) noexcept { | |
| using __result_type = __promote_t<_A1, _A2, _A3>; | |
| static_assert(!( | |
| std::is_same_v<_A1, __result_type> && std::is_same_v<_A2, __result_type> && std::is_same_v<_A3, __result_type>)); | |
| return __math::__hypot( | |
| static_cast<__result_type>(__x), static_cast<__result_type>(__y), static_cast<__result_type>(__z)); | |
| } | |
| } | |
| } } | |
| # 320 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 2 3 | |
| # 330 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/special_functions.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/special_functions.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/copysign.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/copysign.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float copysign(float __x, float __y) noexcept { | |
| return ::__builtin_copysignf(__x, __y); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double copysign(long double __x, long double __y) noexcept { | |
| return ::__builtin_copysignl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> copysign(_A1 __x, _A2 __y) noexcept { | |
| return ::__builtin_copysign(__x, __y); | |
| } | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/special_functions.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/traits.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/traits.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| # 38 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/traits.h" 3 | |
| template <class = void> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool signbit(float __x) noexcept { | |
| return __builtin_signbit(__x); | |
| } | |
| template <class = void> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool signbit(double __x) noexcept { | |
| return __builtin_signbit(__x); | |
| } | |
| template <class = void> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool signbit(long double __x) noexcept { | |
| return __builtin_signbit(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool signbit(_A1 __x) noexcept { | |
| return __x < 0; | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isfinite(_A1) noexcept { | |
| return true; | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isfinite(float __x) noexcept { | |
| return __builtin_isfinite(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isfinite(double __x) noexcept { | |
| return __builtin_isfinite(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isfinite(long double __x) noexcept { | |
| return __builtin_isfinite(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isinf(_A1) noexcept { | |
| return false; | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isinf(float __x) noexcept { | |
| return __builtin_isinf(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __attribute__((__enable_if__(true, ""))) | |
| bool | |
| isinf(double __x) noexcept { | |
| return __builtin_isinf(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isinf(long double __x) noexcept { | |
| return __builtin_isinf(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnan(_A1) noexcept { | |
| return false; | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnan(float __x) noexcept { | |
| return __builtin_isnan(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __attribute__((__enable_if__(true, ""))) | |
| bool | |
| isnan(double __x) noexcept { | |
| return __builtin_isnan(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnan(long double __x) noexcept { | |
| return __builtin_isnan(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnormal(_A1 __x) noexcept { | |
| return __x != 0; | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnormal(float __x) noexcept { | |
| return __builtin_isnormal(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnormal(double __x) noexcept { | |
| return __builtin_isnormal(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isnormal(long double __x) noexcept { | |
| return __builtin_isnormal(__x); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isgreater(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_isgreater((type)__x, (type)__y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isgreaterequal(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_isgreaterequal((type)__x, (type)__y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isless(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_isless((type)__x, (type)__y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool islessequal(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_islessequal((type)__x, (type)__y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool islessgreater(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_islessgreater((type)__x, (type)__y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool isunordered(_A1 __x, _A2 __y) noexcept { | |
| using type = __promote_t<_A1, _A2>; | |
| return __builtin_isunordered((type)__x, (type)__y); | |
| } | |
| } | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/special_functions.h" 2 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/special_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Real> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Real __hermite(unsigned __n, _Real __x) { | |
| if (__math::isnan(__x)) | |
| return __x; | |
| _Real __H_0{1}; | |
| if (__n == 0) | |
| return __H_0; | |
| _Real __H_n_prev = __H_0; | |
| _Real __H_n = 2 * __x; | |
| for (unsigned __i = 1; __i < __n; ++__i) { | |
| _Real __H_n_next = 2 * (__x * __H_n - __i * __H_n_prev); | |
| __H_n_prev = __H_n; | |
| __H_n = __H_n_next; | |
| } | |
| if (!__math::isfinite(__H_n)) { | |
| _Real __inf = std::numeric_limits<_Real>::infinity(); | |
| return (__n & 1) ? __math::copysign(__inf, __x) : __inf; | |
| } | |
| return __H_n; | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double hermite(unsigned __n, double __x) { return std::__hermite(__n, __x); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float hermite(unsigned __n, float __x) { | |
| return static_cast<float>(std::hermite(__n, static_cast<double>(__x))); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double hermite(unsigned __n, long double __x) { return std::__hermite(__n, __x); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float hermitef(unsigned __n, float __x) { return std::hermite(__n, __x); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double hermitel(unsigned __n, long double __x) { return std::hermite(__n, __x); } | |
| template <class _Integer, std::enable_if_t<std::is_integral_v<_Integer>, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double hermite(unsigned __n, _Integer __x) { | |
| return std::hermite(__n, static_cast<double>(__x)); | |
| } | |
| } } | |
| # 331 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/compat/math.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/compat/math.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 1 3 | |
| # 301 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/math.h" 1 3 | |
| extern "C" { | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 58 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef float float_t; | |
| typedef double double_t; | |
| # 13 "//Dev/emscripten/cache/sysroot/include/math.h" 2 3 | |
| # 51 "//Dev/emscripten/cache/sysroot/include/math.h" 3 | |
| int __fpclassify(double); | |
| int __fpclassifyf(float); | |
| int __fpclassifyl(long double); | |
| static inline unsigned __FLOAT_BITS(float __f) | |
| { | |
| union {float __f; unsigned __i;} __u; | |
| __u.__f = __f; | |
| return __u.__i; | |
| } | |
| static inline unsigned long long __DOUBLE_BITS(double __f) | |
| { | |
| union {double __f; unsigned long long __i;} __u; | |
| __u.__f = __f; | |
| return __u.__i; | |
| } | |
| # 93 "//Dev/emscripten/cache/sysroot/include/math.h" 3 | |
| int __signbit(double); | |
| int __signbitf(float); | |
| int __signbitl(long double); | |
| # 108 "//Dev/emscripten/cache/sysroot/include/math.h" 3 | |
| static inline int __islessf(float_t __x, float_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x < __y; } | |
| static inline int __isless(double_t __x, double_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x < __y; } | |
| static inline int __islessl(long double __x, long double __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x < __y; } | |
| static inline int __islessequalf(float_t __x, float_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x <= __y; } | |
| static inline int __islessequal(double_t __x, double_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x <= __y; } | |
| static inline int __islessequall(long double __x, long double __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x <= __y; } | |
| static inline int __islessgreaterf(float_t __x, float_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x != __y; } | |
| static inline int __islessgreater(double_t __x, double_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x != __y; } | |
| static inline int __islessgreaterl(long double __x, long double __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x != __y; } | |
| static inline int __isgreaterf(float_t __x, float_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x > __y; } | |
| static inline int __isgreater(double_t __x, double_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x > __y; } | |
| static inline int __isgreaterl(long double __x, long double __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x > __y; } | |
| static inline int __isgreaterequalf(float_t __x, float_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x >= __y; } | |
| static inline int __isgreaterequal(double_t __x, double_t __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x >= __y; } | |
| static inline int __isgreaterequall(long double __x, long double __y) { return !(( sizeof((__x)) == sizeof(float) ? (__FLOAT_BITS((__x)) & 0x7fffffff) > 0x7f800000 : sizeof((__x)) == sizeof(double) ? (__DOUBLE_BITS((__x)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__x)) == 0) ? ((void)(__y),1) : ( sizeof((__y)) == sizeof(float) ? (__FLOAT_BITS((__y)) & 0x7fffffff) > 0x7f800000 : sizeof((__y)) == sizeof(double) ? (__DOUBLE_BITS((__y)) & -1ULL>>1) > 0x7ffULL<<52 : __fpclassifyl((__y)) == 0)) && __x >= __y; } | |
| # 135 "//Dev/emscripten/cache/sysroot/include/math.h" 3 | |
| double acos(double); | |
| float acosf(float); | |
| long double acosl(long double); | |
| double acosh(double); | |
| float acoshf(float); | |
| long double acoshl(long double); | |
| double asin(double); | |
| float asinf(float); | |
| long double asinl(long double); | |
| double asinh(double); | |
| float asinhf(float); | |
| long double asinhl(long double); | |
| double atan(double); | |
| float atanf(float); | |
| long double atanl(long double); | |
| double atan2(double, double); | |
| float atan2f(float, float); | |
| long double atan2l(long double, long double); | |
| double atanh(double); | |
| float atanhf(float); | |
| long double atanhl(long double); | |
| double cbrt(double); | |
| float cbrtf(float); | |
| long double cbrtl(long double); | |
| double ceil(double); | |
| float ceilf(float); | |
| long double ceill(long double); | |
| double copysign(double, double); | |
| float copysignf(float, float); | |
| long double copysignl(long double, long double); | |
| double cos(double); | |
| float cosf(float); | |
| long double cosl(long double); | |
| double cosh(double); | |
| float coshf(float); | |
| long double coshl(long double); | |
| double erf(double); | |
| float erff(float); | |
| long double erfl(long double); | |
| double erfc(double); | |
| float erfcf(float); | |
| long double erfcl(long double); | |
| double exp(double); | |
| float expf(float); | |
| long double expl(long double); | |
| double exp2(double); | |
| float exp2f(float); | |
| long double exp2l(long double); | |
| double expm1(double); | |
| float expm1f(float); | |
| long double expm1l(long double); | |
| double fabs(double); | |
| float fabsf(float); | |
| long double fabsl(long double); | |
| double fdim(double, double); | |
| float fdimf(float, float); | |
| long double fdiml(long double, long double); | |
| double floor(double); | |
| float floorf(float); | |
| long double floorl(long double); | |
| double fma(double, double, double); | |
| float fmaf(float, float, float); | |
| long double fmal(long double, long double, long double); | |
| double fmax(double, double); | |
| float fmaxf(float, float); | |
| long double fmaxl(long double, long double); | |
| double fmin(double, double); | |
| float fminf(float, float); | |
| long double fminl(long double, long double); | |
| double fmod(double, double); | |
| float fmodf(float, float); | |
| long double fmodl(long double, long double); | |
| double frexp(double, int *); | |
| float frexpf(float, int *); | |
| long double frexpl(long double, int *); | |
| double hypot(double, double); | |
| float hypotf(float, float); | |
| long double hypotl(long double, long double); | |
| int ilogb(double); | |
| int ilogbf(float); | |
| int ilogbl(long double); | |
| double ldexp(double, int); | |
| float ldexpf(float, int); | |
| long double ldexpl(long double, int); | |
| double lgamma(double); | |
| float lgammaf(float); | |
| long double lgammal(long double); | |
| long long llrint(double); | |
| long long llrintf(float); | |
| long long llrintl(long double); | |
| long long llround(double); | |
| long long llroundf(float); | |
| long long llroundl(long double); | |
| double log(double); | |
| float logf(float); | |
| long double logl(long double); | |
| double log10(double); | |
| float log10f(float); | |
| long double log10l(long double); | |
| double log1p(double); | |
| float log1pf(float); | |
| long double log1pl(long double); | |
| double log2(double); | |
| float log2f(float); | |
| long double log2l(long double); | |
| double logb(double); | |
| float logbf(float); | |
| long double logbl(long double); | |
| long lrint(double); | |
| long lrintf(float); | |
| long lrintl(long double); | |
| long lround(double); | |
| long lroundf(float); | |
| long lroundl(long double); | |
| double modf(double, double *); | |
| float modff(float, float *); | |
| long double modfl(long double, long double *); | |
| double nan(const char *); | |
| float nanf(const char *); | |
| long double nanl(const char *); | |
| double nearbyint(double); | |
| float nearbyintf(float); | |
| long double nearbyintl(long double); | |
| double nextafter(double, double); | |
| float nextafterf(float, float); | |
| long double nextafterl(long double, long double); | |
| double nexttoward(double, long double); | |
| float nexttowardf(float, long double); | |
| long double nexttowardl(long double, long double); | |
| double pow(double, double); | |
| float powf(float, float); | |
| long double powl(long double, long double); | |
| double remainder(double, double); | |
| float remainderf(float, float); | |
| long double remainderl(long double, long double); | |
| double remquo(double, double, int *); | |
| float remquof(float, float, int *); | |
| long double remquol(long double, long double, int *); | |
| double rint(double); | |
| float rintf(float); | |
| long double rintl(long double); | |
| double round(double); | |
| float roundf(float); | |
| long double roundl(long double); | |
| double scalbln(double, long); | |
| float scalblnf(float, long); | |
| long double scalblnl(long double, long); | |
| double scalbn(double, int); | |
| float scalbnf(float, int); | |
| long double scalbnl(long double, int); | |
| double sin(double); | |
| float sinf(float); | |
| long double sinl(long double); | |
| double sinh(double); | |
| float sinhf(float); | |
| long double sinhl(long double); | |
| double sqrt(double); | |
| float sqrtf(float); | |
| long double sqrtl(long double); | |
| double tan(double); | |
| float tanf(float); | |
| long double tanl(long double); | |
| double tanh(double); | |
| float tanhf(float); | |
| long double tanhl(long double); | |
| double tgamma(double); | |
| float tgammaf(float); | |
| long double tgammal(long double); | |
| double trunc(double); | |
| float truncf(float); | |
| long double truncl(long double); | |
| # 384 "//Dev/emscripten/cache/sysroot/include/math.h" 3 | |
| extern int signgam; | |
| double j0(double); | |
| double j1(double); | |
| double jn(int, double); | |
| double y0(double); | |
| double y1(double); | |
| double yn(int, double); | |
| double drem(double, double); | |
| float dremf(float, float); | |
| int finite(double); | |
| int finitef(float); | |
| double scalb(double, double); | |
| float scalbf(float, float); | |
| double significand(double); | |
| float significandf(float); | |
| double lgamma_r(double, int*); | |
| float lgammaf_r(float, int*); | |
| float j0f(float); | |
| float j1f(float); | |
| float jnf(int, float); | |
| float y0f(float); | |
| float y1f(float); | |
| float ynf(int, float); | |
| long double lgammal_r(long double, int*); | |
| void sincos(double, double*, double*); | |
| void sincosf(float, float*, float*); | |
| void sincosl(long double, long double*, long double*); | |
| double exp10(double); | |
| float exp10f(float); | |
| long double exp10l(long double); | |
| double pow10(double); | |
| float pow10f(float); | |
| long double pow10l(long double); | |
| } | |
| # 305 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| extern "C++" { | |
| # 363 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/error_functions.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/error_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float erf(float __x) noexcept { return __builtin_erff(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double erf(double __x) noexcept { | |
| return __builtin_erf(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double erf(long double __x) noexcept { return __builtin_erfl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double erf(_A1 __x) noexcept { | |
| return __builtin_erf((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float erfc(float __x) noexcept { return __builtin_erfcf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double erfc(double __x) noexcept { | |
| return __builtin_erfc(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double erfc(long double __x) noexcept { return __builtin_erfcl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double erfc(_A1 __x) noexcept { | |
| return __builtin_erfc((double)__x); | |
| } | |
| } | |
| } } | |
| # 364 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/fdim.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/fdim.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fdim(float __x, float __y) noexcept { return __builtin_fdimf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fdim(double __x, double __y) noexcept { | |
| return __builtin_fdim(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fdim(long double __x, long double __y) noexcept { | |
| return __builtin_fdiml(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> fdim(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::fdim((__result_type)__x, (__result_type)__y); | |
| } | |
| } | |
| } } | |
| # 366 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/fma.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/fma.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fma(float __x, float __y, float __z) noexcept { | |
| return __builtin_fmaf(__x, __y, __z); | |
| } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fma(double __x, double __y, double __z) noexcept { | |
| return __builtin_fma(__x, __y, __z); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fma(long double __x, long double __y, long double __z) noexcept { | |
| return __builtin_fmal(__x, __y, __z); | |
| } | |
| template <class _A1, | |
| class _A2, | |
| class _A3, | |
| __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value && is_arithmetic<_A3>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2, _A3> fma(_A1 __x, _A2 __y, _A3 __z) noexcept { | |
| using __result_type = __promote_t<_A1, _A2, _A3>; | |
| static_assert( | |
| !(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value && _IsSame<_A3, __result_type>::value), | |
| ""); | |
| return __builtin_fma((__result_type)__x, (__result_type)__y, (__result_type)__z); | |
| } | |
| } | |
| } } | |
| # 367 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/gamma.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/gamma.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float lgamma(float __x) noexcept { return __builtin_lgammaf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double lgamma(double __x) noexcept { | |
| return __builtin_lgamma(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double lgamma(long double __x) noexcept { return __builtin_lgammal(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double lgamma(_A1 __x) noexcept { | |
| return __builtin_lgamma((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float tgamma(float __x) noexcept { return __builtin_tgammaf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tgamma(double __x) noexcept { | |
| return __builtin_tgamma(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double tgamma(long double __x) noexcept { return __builtin_tgammal(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tgamma(_A1 __x) noexcept { | |
| return __builtin_tgamma((double)__x); | |
| } | |
| } | |
| } } | |
| # 368 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hyperbolic_functions.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/hyperbolic_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float cosh(float __x) noexcept { return __builtin_coshf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cosh(double __x) noexcept { | |
| return __builtin_cosh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double cosh(long double __x) noexcept { return __builtin_coshl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cosh(_A1 __x) noexcept { | |
| return __builtin_cosh((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float sinh(float __x) noexcept { return __builtin_sinhf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sinh(double __x) noexcept { | |
| return __builtin_sinh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double sinh(long double __x) noexcept { return __builtin_sinhl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sinh(_A1 __x) noexcept { | |
| return __builtin_sinh((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float tanh(float __x) noexcept { return __builtin_tanhf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tanh(double __x) noexcept { | |
| return __builtin_tanh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double tanh(long double __x) noexcept { return __builtin_tanhl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tanh(_A1 __x) noexcept { | |
| return __builtin_tanh((double)__x); | |
| } | |
| } | |
| } } | |
| # 369 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/inverse_hyperbolic_functions.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/inverse_hyperbolic_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float acosh(float __x) noexcept { return __builtin_acoshf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double acosh(double __x) noexcept { | |
| return __builtin_acosh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double acosh(long double __x) noexcept { return __builtin_acoshl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double acosh(_A1 __x) noexcept { | |
| return __builtin_acosh((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float asinh(float __x) noexcept { return __builtin_asinhf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double asinh(double __x) noexcept { | |
| return __builtin_asinh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double asinh(long double __x) noexcept { return __builtin_asinhl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double asinh(_A1 __x) noexcept { | |
| return __builtin_asinh((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float atanh(float __x) noexcept { return __builtin_atanhf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double atanh(double __x) noexcept { | |
| return __builtin_atanh(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double atanh(long double __x) noexcept { return __builtin_atanhl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double atanh(_A1 __x) noexcept { | |
| return __builtin_atanh((double)__x); | |
| } | |
| } | |
| } } | |
| # 371 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/inverse_trigonometric_functions.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/inverse_trigonometric_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float acos(float __x) noexcept { return __builtin_acosf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double acos(double __x) noexcept { | |
| return __builtin_acos(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double acos(long double __x) noexcept { return __builtin_acosl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double acos(_A1 __x) noexcept { | |
| return __builtin_acos((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float asin(float __x) noexcept { return __builtin_asinf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double asin(double __x) noexcept { | |
| return __builtin_asin(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double asin(long double __x) noexcept { return __builtin_asinl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double asin(_A1 __x) noexcept { | |
| return __builtin_asin((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float atan(float __x) noexcept { return __builtin_atanf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double atan(double __x) noexcept { | |
| return __builtin_atan(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double atan(long double __x) noexcept { return __builtin_atanl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double atan(_A1 __x) noexcept { | |
| return __builtin_atan((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float atan2(float __y, float __x) noexcept { return __builtin_atan2f(__y, __x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double atan2(double __x, double __y) noexcept { | |
| return __builtin_atan2(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double atan2(long double __y, long double __x) noexcept { | |
| return __builtin_atan2l(__y, __x); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> atan2(_A1 __y, _A2 __x) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::atan2((__result_type)__y, (__result_type)__x); | |
| } | |
| } | |
| } } | |
| # 372 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/logarithms.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/logarithms.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float log(float __x) noexcept { return __builtin_logf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log(double __x) noexcept { | |
| return __builtin_log(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double log(long double __x) noexcept { return __builtin_logl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log(_A1 __x) noexcept { | |
| return __builtin_log((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float log10(float __x) noexcept { return __builtin_log10f(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log10(double __x) noexcept { | |
| return __builtin_log10(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double log10(long double __x) noexcept { return __builtin_log10l(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log10(_A1 __x) noexcept { | |
| return __builtin_log10((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int ilogb(float __x) noexcept { return __builtin_ilogbf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double ilogb(double __x) noexcept { | |
| return __builtin_ilogb(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int ilogb(long double __x) noexcept { return __builtin_ilogbl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int ilogb(_A1 __x) noexcept { | |
| return __builtin_ilogb((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float log1p(float __x) noexcept { return __builtin_log1pf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log1p(double __x) noexcept { | |
| return __builtin_log1p(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double log1p(long double __x) noexcept { return __builtin_log1pl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log1p(_A1 __x) noexcept { | |
| return __builtin_log1p((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float log2(float __x) noexcept { return __builtin_log2f(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log2(double __x) noexcept { | |
| return __builtin_log2(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double log2(long double __x) noexcept { return __builtin_log2l(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double log2(_A1 __x) noexcept { | |
| return __builtin_log2((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float logb(float __x) noexcept { return __builtin_logbf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double logb(double __x) noexcept { | |
| return __builtin_logb(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double logb(long double __x) noexcept { return __builtin_logbl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double logb(_A1 __x) noexcept { | |
| return __builtin_logb((double)__x); | |
| } | |
| } | |
| } } | |
| # 373 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/modulo.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/modulo.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float fmod(float __x, float __y) noexcept { return __builtin_fmodf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double fmod(double __x, double __y) noexcept { | |
| return __builtin_fmod(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double fmod(long double __x, long double __y) noexcept { | |
| return __builtin_fmodl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> fmod(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::fmod((__result_type)__x, (__result_type)__y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float modf(float __x, float* __y) noexcept { return __builtin_modff(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double modf(double __x, double* __y) noexcept { | |
| return __builtin_modf(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double modf(long double __x, long double* __y) noexcept { | |
| return __builtin_modfl(__x, __y); | |
| } | |
| } | |
| } } | |
| # 375 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/remainder.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/remainder.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float remainder(float __x, float __y) noexcept { return __builtin_remainderf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double remainder(double __x, double __y) noexcept { | |
| return __builtin_remainder(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double remainder(long double __x, long double __y) noexcept { | |
| return __builtin_remainderl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> remainder(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::remainder((__result_type)__x, (__result_type)__y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float remquo(float __x, float __y, int* __z) noexcept { | |
| return __builtin_remquof(__x, __y, __z); | |
| } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double remquo(double __x, double __y, int* __z) noexcept { | |
| return __builtin_remquo(__x, __y, __z); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double remquo(long double __x, long double __y, int* __z) noexcept { | |
| return __builtin_remquol(__x, __y, __z); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> remquo(_A1 __x, _A2 __y, int* __z) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::remquo((__result_type)__x, (__result_type)__y, __z); | |
| } | |
| } | |
| } } | |
| # 376 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/rounding_functions.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/rounding_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float ceil(float __x) noexcept { return __builtin_ceilf(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double ceil(double __x) noexcept { | |
| return __builtin_ceil(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double ceil(long double __x) noexcept { | |
| return __builtin_ceill(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double ceil(_A1 __x) noexcept { | |
| return __builtin_ceil((double)__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float floor(float __x) noexcept { return __builtin_floorf(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double floor(double __x) noexcept { | |
| return __builtin_floor(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double floor(long double __x) noexcept { | |
| return __builtin_floorl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double floor(_A1 __x) noexcept { | |
| return __builtin_floor((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llrint(float __x) noexcept { return __builtin_llrintf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llrint(double __x) noexcept { | |
| return __builtin_llrint(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llrint(long double __x) noexcept { return __builtin_llrintl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llrint(_A1 __x) noexcept { | |
| return __builtin_llrint((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llround(float __x) noexcept { return __builtin_llroundf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llround(double __x) noexcept { | |
| return __builtin_llround(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llround(long double __x) noexcept { return __builtin_llroundl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long long llround(_A1 __x) noexcept { | |
| return __builtin_llround((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lrint(float __x) noexcept { return __builtin_lrintf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lrint(double __x) noexcept { | |
| return __builtin_lrint(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lrint(long double __x) noexcept { return __builtin_lrintl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lrint(_A1 __x) noexcept { | |
| return __builtin_lrint((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lround(float __x) noexcept { return __builtin_lroundf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lround(double __x) noexcept { | |
| return __builtin_lround(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lround(long double __x) noexcept { return __builtin_lroundl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long lround(_A1 __x) noexcept { | |
| return __builtin_lround((double)__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float nearbyint(float __x) noexcept { | |
| return __builtin_nearbyintf(__x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double nearbyint(double __x) noexcept { | |
| return __builtin_nearbyint(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double nearbyint(long double __x) noexcept { | |
| return __builtin_nearbyintl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double nearbyint(_A1 __x) noexcept { | |
| return __builtin_nearbyint((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float nextafter(float __x, float __y) noexcept { return __builtin_nextafterf(__x, __y); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double nextafter(double __x, double __y) noexcept { | |
| return __builtin_nextafter(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double nextafter(long double __x, long double __y) noexcept { | |
| return __builtin_nextafterl(__x, __y); | |
| } | |
| template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __promote_t<_A1, _A2> nextafter(_A1 __x, _A2 __y) noexcept { | |
| using __result_type = __promote_t<_A1, _A2>; | |
| static_assert(!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value), ""); | |
| return __math::nextafter((__result_type)__x, (__result_type)__y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float nexttoward(float __x, long double __y) noexcept { | |
| return __builtin_nexttowardf(__x, __y); | |
| } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double nexttoward(double __x, long double __y) noexcept { | |
| return __builtin_nexttoward(__x, __y); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double nexttoward(long double __x, long double __y) noexcept { | |
| return __builtin_nexttowardl(__x, __y); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double nexttoward(_A1 __x, long double __y) noexcept { | |
| return __builtin_nexttoward((double)__x, __y); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float rint(float __x) noexcept { return __builtin_rintf(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double rint(double __x) noexcept { | |
| return __builtin_rint(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double rint(long double __x) noexcept { | |
| return __builtin_rintl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double rint(_A1 __x) noexcept { | |
| return __builtin_rint((double)__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float round(float __x) noexcept { return __builtin_round(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double round(double __x) noexcept { | |
| return __builtin_round(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double round(long double __x) noexcept { | |
| return __builtin_roundl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double round(_A1 __x) noexcept { | |
| return __builtin_round((double)__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float trunc(float __x) noexcept { return __builtin_trunc(__x); } | |
| template <class = int> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double trunc(double __x) noexcept { | |
| return __builtin_trunc(__x); | |
| } | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double trunc(long double __x) noexcept { | |
| return __builtin_truncl(__x); | |
| } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double trunc(_A1 __x) noexcept { | |
| return __builtin_trunc((double)__x); | |
| } | |
| } | |
| } } | |
| # 378 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/trigonometric_functions.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__math/trigonometric_functions.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float cos(float __x) noexcept { return __builtin_cosf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cos(double __x) noexcept { | |
| return __builtin_cos(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double cos(long double __x) noexcept { return __builtin_cosl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double cos(_A1 __x) noexcept { | |
| return __builtin_cos((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float sin(float __x) noexcept { return __builtin_sinf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sin(double __x) noexcept { | |
| return __builtin_sin(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double sin(long double __x) noexcept { return __builtin_sinl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double sin(_A1 __x) noexcept { | |
| return __builtin_sin((double)__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) float tan(float __x) noexcept { return __builtin_tanf(__x); } | |
| template <class = int> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tan(double __x) noexcept { | |
| return __builtin_tan(__x); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) long double tan(long double __x) noexcept { return __builtin_tanl(__x); } | |
| template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) double tan(_A1 __x) noexcept { | |
| return __builtin_tan((double)__x); | |
| } | |
| } | |
| } } | |
| # 380 "//Dev/emscripten/cache/sysroot/include/c++/v1/math.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace __math { | |
| template <class = int> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int fpclassify(float __x) noexcept { | |
| return __builtin_fpclassify(0, 1, 4, 3, 2, __x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int fpclassify(double __x) noexcept { | |
| return __builtin_fpclassify(0, 1, 4, 3, 2, __x); | |
| } | |
| template <class = int> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int fpclassify(long double __x) noexcept { | |
| return __builtin_fpclassify(0, 1, 4, 3, 2, __x); | |
| } | |
| template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int fpclassify(_A1 __x) noexcept { | |
| return __x == 0 ? 2 : 4; | |
| } | |
| } | |
| } } | |
| using std::__math::fpclassify; | |
| using std::__math::signbit; | |
| using std::__math::isfinite; | |
| using std::__math::isgreater; | |
| using std::__math::isgreaterequal; | |
| using std::__math::isinf; | |
| using std::__math::isless; | |
| using std::__math::islessequal; | |
| using std::__math::islessgreater; | |
| using std::__math::isnan; | |
| using std::__math::isnormal; | |
| using std::__math::isunordered; | |
| using std::__math::abs; | |
| using std::__math::acos; | |
| using std::__math::acosh; | |
| using std::__math::asin; | |
| using std::__math::asinh; | |
| using std::__math::atan; | |
| using std::__math::atan2; | |
| using std::__math::atanh; | |
| using std::__math::cbrt; | |
| using std::__math::ceil; | |
| using std::__math::copysign; | |
| using std::__math::cos; | |
| using std::__math::cosh; | |
| using std::__math::erf; | |
| using std::__math::erfc; | |
| using std::__math::exp; | |
| using std::__math::exp2; | |
| using std::__math::expm1; | |
| using std::__math::fabs; | |
| using std::__math::fdim; | |
| using std::__math::floor; | |
| using std::__math::fma; | |
| using std::__math::fmax; | |
| using std::__math::fmin; | |
| using std::__math::fmod; | |
| using std::__math::frexp; | |
| using std::__math::hypot; | |
| using std::__math::ilogb; | |
| using std::__math::ldexp; | |
| using std::__math::lgamma; | |
| using std::__math::llrint; | |
| using std::__math::llround; | |
| using std::__math::log; | |
| using std::__math::log10; | |
| using std::__math::log1p; | |
| using std::__math::log2; | |
| using std::__math::logb; | |
| using std::__math::lrint; | |
| using std::__math::lround; | |
| using std::__math::modf; | |
| using std::__math::nearbyint; | |
| using std::__math::nextafter; | |
| using std::__math::nexttoward; | |
| using std::__math::pow; | |
| using std::__math::remainder; | |
| using std::__math::remquo; | |
| using std::__math::rint; | |
| using std::__math::round; | |
| using std::__math::scalbln; | |
| using std::__math::scalbn; | |
| using std::__math::signbit; | |
| using std::__math::sin; | |
| using std::__math::sinh; | |
| using std::__math::sqrt; | |
| using std::__math::tan; | |
| using std::__math::tanh; | |
| using std::__math::tgamma; | |
| using std::__math::trunc; | |
| } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/compat/math.h" 2 3 | |
| # 332 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 2 3 | |
| # 343 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 347 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::signbit __attribute__((__using_if_exists__)); | |
| using ::fpclassify __attribute__((__using_if_exists__)); | |
| using ::isfinite __attribute__((__using_if_exists__)); | |
| using ::isinf __attribute__((__using_if_exists__)); | |
| using ::isnan __attribute__((__using_if_exists__)); | |
| using ::isnormal __attribute__((__using_if_exists__)); | |
| using ::isgreater __attribute__((__using_if_exists__)); | |
| using ::isgreaterequal __attribute__((__using_if_exists__)); | |
| using ::isless __attribute__((__using_if_exists__)); | |
| using ::islessequal __attribute__((__using_if_exists__)); | |
| using ::islessgreater __attribute__((__using_if_exists__)); | |
| using ::isunordered __attribute__((__using_if_exists__)); | |
| using ::isunordered __attribute__((__using_if_exists__)); | |
| using ::float_t __attribute__((__using_if_exists__)); | |
| using ::double_t __attribute__((__using_if_exists__)); | |
| using ::abs __attribute__((__using_if_exists__)); | |
| using ::acos __attribute__((__using_if_exists__)); | |
| using ::acosf __attribute__((__using_if_exists__)); | |
| using ::asin __attribute__((__using_if_exists__)); | |
| using ::asinf __attribute__((__using_if_exists__)); | |
| using ::atan __attribute__((__using_if_exists__)); | |
| using ::atanf __attribute__((__using_if_exists__)); | |
| using ::atan2 __attribute__((__using_if_exists__)); | |
| using ::atan2f __attribute__((__using_if_exists__)); | |
| using ::ceil __attribute__((__using_if_exists__)); | |
| using ::ceilf __attribute__((__using_if_exists__)); | |
| using ::cos __attribute__((__using_if_exists__)); | |
| using ::cosf __attribute__((__using_if_exists__)); | |
| using ::cosh __attribute__((__using_if_exists__)); | |
| using ::coshf __attribute__((__using_if_exists__)); | |
| using ::exp __attribute__((__using_if_exists__)); | |
| using ::expf __attribute__((__using_if_exists__)); | |
| using ::fabs __attribute__((__using_if_exists__)); | |
| using ::fabsf __attribute__((__using_if_exists__)); | |
| using ::floor __attribute__((__using_if_exists__)); | |
| using ::floorf __attribute__((__using_if_exists__)); | |
| using ::fmod __attribute__((__using_if_exists__)); | |
| using ::fmodf __attribute__((__using_if_exists__)); | |
| using ::frexp __attribute__((__using_if_exists__)); | |
| using ::frexpf __attribute__((__using_if_exists__)); | |
| using ::ldexp __attribute__((__using_if_exists__)); | |
| using ::ldexpf __attribute__((__using_if_exists__)); | |
| using ::log __attribute__((__using_if_exists__)); | |
| using ::logf __attribute__((__using_if_exists__)); | |
| using ::log10 __attribute__((__using_if_exists__)); | |
| using ::log10f __attribute__((__using_if_exists__)); | |
| using ::modf __attribute__((__using_if_exists__)); | |
| using ::modff __attribute__((__using_if_exists__)); | |
| using ::pow __attribute__((__using_if_exists__)); | |
| using ::powf __attribute__((__using_if_exists__)); | |
| using ::sin __attribute__((__using_if_exists__)); | |
| using ::sinf __attribute__((__using_if_exists__)); | |
| using ::sinh __attribute__((__using_if_exists__)); | |
| using ::sinhf __attribute__((__using_if_exists__)); | |
| using ::sqrt __attribute__((__using_if_exists__)); | |
| using ::sqrtf __attribute__((__using_if_exists__)); | |
| using ::tan __attribute__((__using_if_exists__)); | |
| using ::tanf __attribute__((__using_if_exists__)); | |
| using ::tanh __attribute__((__using_if_exists__)); | |
| using ::tanhf __attribute__((__using_if_exists__)); | |
| using ::acosh __attribute__((__using_if_exists__)); | |
| using ::acoshf __attribute__((__using_if_exists__)); | |
| using ::asinh __attribute__((__using_if_exists__)); | |
| using ::asinhf __attribute__((__using_if_exists__)); | |
| using ::atanh __attribute__((__using_if_exists__)); | |
| using ::atanhf __attribute__((__using_if_exists__)); | |
| using ::cbrt __attribute__((__using_if_exists__)); | |
| using ::cbrtf __attribute__((__using_if_exists__)); | |
| using ::copysign __attribute__((__using_if_exists__)); | |
| using ::copysignf __attribute__((__using_if_exists__)); | |
| using ::erf __attribute__((__using_if_exists__)); | |
| using ::erff __attribute__((__using_if_exists__)); | |
| using ::erfc __attribute__((__using_if_exists__)); | |
| using ::erfcf __attribute__((__using_if_exists__)); | |
| using ::exp2 __attribute__((__using_if_exists__)); | |
| using ::exp2f __attribute__((__using_if_exists__)); | |
| using ::expm1 __attribute__((__using_if_exists__)); | |
| using ::expm1f __attribute__((__using_if_exists__)); | |
| using ::fdim __attribute__((__using_if_exists__)); | |
| using ::fdimf __attribute__((__using_if_exists__)); | |
| using ::fmaf __attribute__((__using_if_exists__)); | |
| using ::fma __attribute__((__using_if_exists__)); | |
| using ::fmax __attribute__((__using_if_exists__)); | |
| using ::fmaxf __attribute__((__using_if_exists__)); | |
| using ::fmin __attribute__((__using_if_exists__)); | |
| using ::fminf __attribute__((__using_if_exists__)); | |
| using ::hypot __attribute__((__using_if_exists__)); | |
| using ::hypotf __attribute__((__using_if_exists__)); | |
| using ::ilogb __attribute__((__using_if_exists__)); | |
| using ::ilogbf __attribute__((__using_if_exists__)); | |
| using ::lgamma __attribute__((__using_if_exists__)); | |
| using ::lgammaf __attribute__((__using_if_exists__)); | |
| using ::llrint __attribute__((__using_if_exists__)); | |
| using ::llrintf __attribute__((__using_if_exists__)); | |
| using ::llround __attribute__((__using_if_exists__)); | |
| using ::llroundf __attribute__((__using_if_exists__)); | |
| using ::log1p __attribute__((__using_if_exists__)); | |
| using ::log1pf __attribute__((__using_if_exists__)); | |
| using ::log2 __attribute__((__using_if_exists__)); | |
| using ::log2f __attribute__((__using_if_exists__)); | |
| using ::logb __attribute__((__using_if_exists__)); | |
| using ::logbf __attribute__((__using_if_exists__)); | |
| using ::lrint __attribute__((__using_if_exists__)); | |
| using ::lrintf __attribute__((__using_if_exists__)); | |
| using ::lround __attribute__((__using_if_exists__)); | |
| using ::lroundf __attribute__((__using_if_exists__)); | |
| using ::nan __attribute__((__using_if_exists__)); | |
| using ::nanf __attribute__((__using_if_exists__)); | |
| using ::nearbyint __attribute__((__using_if_exists__)); | |
| using ::nearbyintf __attribute__((__using_if_exists__)); | |
| using ::nextafter __attribute__((__using_if_exists__)); | |
| using ::nextafterf __attribute__((__using_if_exists__)); | |
| using ::nexttoward __attribute__((__using_if_exists__)); | |
| using ::nexttowardf __attribute__((__using_if_exists__)); | |
| using ::remainder __attribute__((__using_if_exists__)); | |
| using ::remainderf __attribute__((__using_if_exists__)); | |
| using ::remquo __attribute__((__using_if_exists__)); | |
| using ::remquof __attribute__((__using_if_exists__)); | |
| using ::rint __attribute__((__using_if_exists__)); | |
| using ::rintf __attribute__((__using_if_exists__)); | |
| using ::round __attribute__((__using_if_exists__)); | |
| using ::roundf __attribute__((__using_if_exists__)); | |
| using ::scalbln __attribute__((__using_if_exists__)); | |
| using ::scalblnf __attribute__((__using_if_exists__)); | |
| using ::scalbn __attribute__((__using_if_exists__)); | |
| using ::scalbnf __attribute__((__using_if_exists__)); | |
| using ::tgamma __attribute__((__using_if_exists__)); | |
| using ::tgammaf __attribute__((__using_if_exists__)); | |
| using ::trunc __attribute__((__using_if_exists__)); | |
| using ::truncf __attribute__((__using_if_exists__)); | |
| using ::acosl __attribute__((__using_if_exists__)); | |
| using ::asinl __attribute__((__using_if_exists__)); | |
| using ::atanl __attribute__((__using_if_exists__)); | |
| using ::atan2l __attribute__((__using_if_exists__)); | |
| using ::ceill __attribute__((__using_if_exists__)); | |
| using ::cosl __attribute__((__using_if_exists__)); | |
| using ::coshl __attribute__((__using_if_exists__)); | |
| using ::expl __attribute__((__using_if_exists__)); | |
| using ::fabsl __attribute__((__using_if_exists__)); | |
| using ::floorl __attribute__((__using_if_exists__)); | |
| using ::fmodl __attribute__((__using_if_exists__)); | |
| using ::frexpl __attribute__((__using_if_exists__)); | |
| using ::ldexpl __attribute__((__using_if_exists__)); | |
| using ::logl __attribute__((__using_if_exists__)); | |
| using ::log10l __attribute__((__using_if_exists__)); | |
| using ::modfl __attribute__((__using_if_exists__)); | |
| using ::powl __attribute__((__using_if_exists__)); | |
| using ::sinl __attribute__((__using_if_exists__)); | |
| using ::sinhl __attribute__((__using_if_exists__)); | |
| using ::sqrtl __attribute__((__using_if_exists__)); | |
| using ::tanl __attribute__((__using_if_exists__)); | |
| using ::tanhl __attribute__((__using_if_exists__)); | |
| using ::acoshl __attribute__((__using_if_exists__)); | |
| using ::asinhl __attribute__((__using_if_exists__)); | |
| using ::atanhl __attribute__((__using_if_exists__)); | |
| using ::cbrtl __attribute__((__using_if_exists__)); | |
| using ::copysignl __attribute__((__using_if_exists__)); | |
| using ::erfl __attribute__((__using_if_exists__)); | |
| using ::erfcl __attribute__((__using_if_exists__)); | |
| using ::exp2l __attribute__((__using_if_exists__)); | |
| using ::expm1l __attribute__((__using_if_exists__)); | |
| using ::fdiml __attribute__((__using_if_exists__)); | |
| using ::fmal __attribute__((__using_if_exists__)); | |
| using ::fmaxl __attribute__((__using_if_exists__)); | |
| using ::fminl __attribute__((__using_if_exists__)); | |
| using ::hypotl __attribute__((__using_if_exists__)); | |
| using ::ilogbl __attribute__((__using_if_exists__)); | |
| using ::lgammal __attribute__((__using_if_exists__)); | |
| using ::llrintl __attribute__((__using_if_exists__)); | |
| using ::llroundl __attribute__((__using_if_exists__)); | |
| using ::log1pl __attribute__((__using_if_exists__)); | |
| using ::log2l __attribute__((__using_if_exists__)); | |
| using ::logbl __attribute__((__using_if_exists__)); | |
| using ::lrintl __attribute__((__using_if_exists__)); | |
| using ::lroundl __attribute__((__using_if_exists__)); | |
| using ::nanl __attribute__((__using_if_exists__)); | |
| using ::nearbyintl __attribute__((__using_if_exists__)); | |
| using ::nextafterl __attribute__((__using_if_exists__)); | |
| using ::nexttowardl __attribute__((__using_if_exists__)); | |
| using ::remainderl __attribute__((__using_if_exists__)); | |
| using ::remquol __attribute__((__using_if_exists__)); | |
| using ::rintl __attribute__((__using_if_exists__)); | |
| using ::roundl __attribute__((__using_if_exists__)); | |
| using ::scalblnl __attribute__((__using_if_exists__)); | |
| using ::scalbnl __attribute__((__using_if_exists__)); | |
| using ::tgammal __attribute__((__using_if_exists__)); | |
| using ::truncl __attribute__((__using_if_exists__)); | |
| template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __constexpr_isinf(_A1 __lcpp_x) noexcept { | |
| return __builtin_isinf(__lcpp_x); | |
| } | |
| template <class _A1, __enable_if_t<!is_floating_point<_A1>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool __constexpr_isinf(_A1 __lcpp_x) noexcept { | |
| return std::isinf(__lcpp_x); | |
| } | |
| # 611 "//Dev/emscripten/cache/sysroot/include/c++/v1/cmath" 3 | |
| } } | |
| # 172 "//Dev/emscripten/cache/sysroot/include/c++/v1/compare" 2 3 | |
| # 279 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 282 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 286 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <size_t _Ip, class _Hp, bool = is_empty<_Hp>::value && !__libcpp_is_final<_Hp>::value > | |
| class __tuple_leaf; | |
| template <size_t _Ip, class _Hp, bool _Ep> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| swap(__tuple_leaf<_Ip, _Hp, _Ep>& __x, __tuple_leaf<_Ip, _Hp, _Ep>& __y) noexcept(__is_nothrow_swappable_v<_Hp>) { | |
| swap(__x.get(), __y.get()); | |
| } | |
| template <size_t _Ip, class _Hp, bool _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| swap(const __tuple_leaf<_Ip, _Hp, _Ep>& __x, | |
| const __tuple_leaf<_Ip, _Hp, _Ep>& __y) noexcept(__is_nothrow_swappable_v<const _Hp>) { | |
| swap(__x.get(), __y.get()); | |
| } | |
| template <size_t _Ip, class _Hp, bool> | |
| class __tuple_leaf { | |
| _Hp __value_; | |
| public: | |
| constexpr __tuple_leaf& operator=(const __tuple_leaf&) = delete; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf() noexcept(is_nothrow_default_constructible<_Hp>::value) : __value_() { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); | |
| } | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 0>, const _Alloc&) : __value_() { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); | |
| } | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a) | |
| : __value_(allocator_arg_t(), __a) { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); | |
| } | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a) : __value_(__a) { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); | |
| } | |
| template < | |
| class _Tp, | |
| __enable_if_t<_And<_IsNotSame<__remove_cvref_t<_Tp>, __tuple_leaf>, is_constructible<_Hp, _Tp> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __tuple_leaf(_Tp&& __t) noexcept(is_nothrow_constructible<_Hp, _Tp>::value) | |
| : __value_(std::forward<_Tp>(__t)) { | |
| static_assert(!__reference_constructs_from_temporary_v<_Hp, _Tp&&>, | |
| "Attempted construction of reference element binds to a temporary whose lifetime has ended"); | |
| } | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __tuple_leaf(integral_constant<int, 0>, const _Alloc&, _Tp&& __t) | |
| : __value_(std::forward<_Tp>(__t)) { | |
| static_assert(!__reference_constructs_from_temporary_v<_Hp, _Tp&&>, | |
| "Attempted construction of reference element binds to a temporary whose lifetime has ended"); | |
| } | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t) | |
| : __value_(allocator_arg_t(), __a, std::forward<_Tp>(__t)) { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to uses-allocator construct a reference element in a tuple"); | |
| } | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t) | |
| : __value_(std::forward<_Tp>(__t), __a) { | |
| static_assert(!is_reference<_Hp>::value, "Attempted to uses-allocator construct a reference element in a tuple"); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __tuple_leaf(const __tuple_leaf& __t) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __tuple_leaf(__tuple_leaf&& __t) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable_v<__tuple_leaf>) { | |
| std::swap(*this, __t); | |
| return 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int swap(const __tuple_leaf& __t) const | |
| noexcept(__is_nothrow_swappable_v<const __tuple_leaf>) { | |
| std::swap(*this, __t); | |
| return 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Hp& get() noexcept { return __value_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Hp& get() const noexcept { return __value_; } | |
| }; | |
| template <size_t _Ip, class _Hp> | |
| class __tuple_leaf<_Ip, _Hp, true> : private __remove_cv_t<_Hp> { | |
| public: | |
| constexpr __tuple_leaf& operator=(const __tuple_leaf&) = delete; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf() noexcept(is_nothrow_default_constructible<_Hp>::value) {} | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 0>, const _Alloc&) {} | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a) | |
| : _Hp(allocator_arg_t(), __a) {} | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a) : _Hp(__a) {} | |
| template <class _Tp, | |
| __enable_if_t< _And< _IsNotSame<__remove_cvref_t<_Tp>, __tuple_leaf>, is_constructible<_Hp, _Tp> >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit __tuple_leaf(_Tp&& __t) noexcept(is_nothrow_constructible<_Hp, _Tp>::value) | |
| : _Hp(std::forward<_Tp>(__t)) {} | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __tuple_leaf(integral_constant<int, 0>, const _Alloc&, _Tp&& __t) | |
| : _Hp(std::forward<_Tp>(__t)) {} | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t) | |
| : _Hp(allocator_arg_t(), __a, std::forward<_Tp>(__t)) {} | |
| template <class _Tp, class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t) | |
| : _Hp(std::forward<_Tp>(__t), __a) {} | |
| __tuple_leaf(__tuple_leaf const&) = default; | |
| __tuple_leaf(__tuple_leaf&&) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable_v<__tuple_leaf>) { | |
| std::swap(*this, __t); | |
| return 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int swap(const __tuple_leaf& __rhs) const | |
| noexcept(__is_nothrow_swappable_v<const __tuple_leaf>) { | |
| std::swap(*this, __rhs); | |
| return 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Hp& get() noexcept { return static_cast<_Hp&>(*this); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Hp& get() const noexcept { | |
| return static_cast<const _Hp&>(*this); | |
| } | |
| }; | |
| template <class... _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void __swallow(_Tp&&...) noexcept {} | |
| template <class _Tp> | |
| struct __all_default_constructible; | |
| template <class... _Tp> | |
| struct __all_default_constructible<__tuple_types<_Tp...>> : __all<is_default_constructible<_Tp>::value...> {}; | |
| template <class _Indx, class... _Tp> | |
| struct __tuple_impl; | |
| template <size_t... _Indx, class... _Tp> | |
| struct | |
| __tuple_impl<__tuple_indices<_Indx...>, _Tp...> : public __tuple_leaf<_Indx, _Tp>... { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_impl() noexcept( | |
| __all<is_nothrow_default_constructible<_Tp>::value...>::value) {} | |
| template <size_t... _Uf, class... _Tf, size_t... _Ul, class... _Tl, class... _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __tuple_impl( | |
| __tuple_indices<_Uf...>, | |
| __tuple_types<_Tf...>, | |
| __tuple_indices<_Ul...>, | |
| __tuple_types<_Tl...>, | |
| _Up&&... __u) noexcept(__all<is_nothrow_constructible<_Tf, _Up>::value...>::value && | |
| __all<is_nothrow_default_constructible<_Tl>::value...>::value) | |
| : __tuple_leaf<_Uf, _Tf>(std::forward<_Up>(__u))..., __tuple_leaf<_Ul, _Tl>()... {} | |
| template <class _Alloc, size_t... _Uf, class... _Tf, size_t... _Ul, class... _Tl, class... _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __tuple_impl( | |
| allocator_arg_t, | |
| const _Alloc& __a, | |
| __tuple_indices<_Uf...>, | |
| __tuple_types<_Tf...>, | |
| __tuple_indices<_Ul...>, | |
| __tuple_types<_Tl...>, | |
| _Up&&... __u) | |
| : __tuple_leaf<_Uf, _Tf>(__uses_alloc_ctor<_Tf, _Alloc, _Up>(), __a, std::forward<_Up>(__u))..., | |
| __tuple_leaf<_Ul, _Tl>(__uses_alloc_ctor<_Tl, _Alloc>(), __a)... {} | |
| template <class _Tuple, __enable_if_t<__tuple_constructible<_Tuple, tuple<_Tp...> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_impl(_Tuple&& __t) noexcept( | |
| (__all<is_nothrow_constructible< | |
| _Tp, | |
| typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>::value...>::value)) | |
| : __tuple_leaf<_Indx, _Tp>( | |
| std::forward<typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>( | |
| std::get<_Indx>(__t)))... {} | |
| template <class _Alloc, class _Tuple, __enable_if_t<__tuple_constructible<_Tuple, tuple<_Tp...> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t) | |
| : __tuple_leaf<_Indx, _Tp>( | |
| __uses_alloc_ctor<_Tp, | |
| _Alloc, | |
| typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>(), | |
| __a, | |
| std::forward<typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>( | |
| std::get<_Indx>(__t)))... {} | |
| __tuple_impl(const __tuple_impl&) = default; | |
| __tuple_impl(__tuple_impl&&) = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| swap(__tuple_impl& __t) noexcept(__all<__is_nothrow_swappable_v<_Tp>...>::value) { | |
| std::__swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t))...); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void swap(const __tuple_impl& __t) const | |
| noexcept(__all<__is_nothrow_swappable_v<const _Tp>...>::value) { | |
| std::__swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<const __tuple_leaf<_Indx, _Tp>&>(__t))...); | |
| } | |
| }; | |
| template <class _Dest, class _Source, size_t... _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __memberwise_copy_assign(_Dest& __dest, _Source const& __source, __tuple_indices<_Np...>) { | |
| std::__swallow(((std::get<_Np>(__dest) = std::get<_Np>(__source)), void(), 0)...); | |
| } | |
| template <class _Dest, class _Source, class... _Up, size_t... _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __memberwise_forward_assign(_Dest& __dest, _Source&& __source, __tuple_types<_Up...>, __tuple_indices<_Np...>) { | |
| std::__swallow(((std::get<_Np>(__dest) = std::forward<_Up>(std::get<_Np>(__source))), void(), 0)...); | |
| } | |
| template <class... _Tp> | |
| class [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]] tuple { | |
| typedef __tuple_impl<typename __make_tuple_indices<sizeof...(_Tp)>::type, _Tp...> _BaseT; | |
| _BaseT __base_; | |
| template <size_t _Jp, class... _Up> | |
| friend constexpr typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&) noexcept; | |
| template <size_t _Jp, class... _Up> | |
| friend constexpr const typename tuple_element<_Jp, tuple<_Up...> >::type& | |
| get(const tuple<_Up...>&) noexcept; | |
| template <size_t _Jp, class... _Up> | |
| friend constexpr typename tuple_element<_Jp, tuple<_Up...> >::type&& | |
| get(tuple<_Up...>&&) noexcept; | |
| template <size_t _Jp, class... _Up> | |
| friend constexpr const typename tuple_element<_Jp, tuple<_Up...> >::type&& | |
| get(const tuple<_Up...>&&) noexcept; | |
| public: | |
| using __trivially_relocatable [[__gnu__::__nodebug__]] = | |
| __conditional_t<_And<__libcpp_is_trivially_relocatable<_Tp>...>::value, tuple, void>; | |
| using __replaceable [[__gnu__::__nodebug__]] = __conditional_t<_And<__is_replaceable<_Tp>...>::value, tuple, void>; | |
| template <template <class...> class _IsImpDefault = __is_implicitly_default_constructible, | |
| template <class...> class _IsDefault = is_default_constructible, | |
| __enable_if_t< _And< _IsDefault<_Tp>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value) | |
| tuple() noexcept(_And<is_nothrow_default_constructible<_Tp>...>::value) {} | |
| template <class _Alloc, | |
| template <class...> class _IsImpDefault = __is_implicitly_default_constructible, | |
| template <class...> class _IsDefault = is_default_constructible, | |
| __enable_if_t< _And< _IsDefault<_Tp>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value) | |
| tuple(allocator_arg_t, _Alloc const& __a) | |
| : __base_(allocator_arg_t(), | |
| __a, | |
| __tuple_indices<>(), | |
| __tuple_types<>(), | |
| typename __make_tuple_indices<sizeof...(_Tp), 0>::type(), | |
| __tuple_types<_Tp...>()) {} | |
| template <template <class...> class _And = _And, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) >= 1>, is_copy_constructible<_Tp>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(_Not<_Lazy<_And, is_convertible<const _Tp&, _Tp>...> >::value) | |
| tuple(const _Tp&... __t) noexcept(_And<is_nothrow_copy_constructible<_Tp>...>::value) | |
| : __base_(typename __make_tuple_indices<sizeof...(_Tp)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(), | |
| typename __make_tuple_indices<0>::type(), | |
| typename __make_tuple_types<tuple, 0>::type(), | |
| __t...) {} | |
| template <class _Alloc, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) >= 1>, is_copy_constructible<_Tp>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| explicit(_Not<_Lazy<_And, is_convertible<const _Tp&, _Tp>...> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, const _Tp&... __t) | |
| : __base_(allocator_arg_t(), | |
| __a, | |
| typename __make_tuple_indices<sizeof...(_Tp)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(), | |
| typename __make_tuple_indices<0>::type(), | |
| typename __make_tuple_types<tuple, 0>::type(), | |
| __t...) {} | |
| template <class... _Up> | |
| struct _IsThisTuple : false_type {}; | |
| template <class _Up> | |
| struct _IsThisTuple<_Up> : is_same<__remove_cvref_t<_Up>, tuple> {}; | |
| template <class... _Up> | |
| struct _EnableUTypesCtor | |
| : _And< _BoolConstant<sizeof...(_Tp) >= 1>, | |
| _Not<_IsThisTuple<_Up...> >, | |
| is_constructible<_Tp, _Up>... > {}; | |
| template <class... _Up, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Up) == sizeof...(_Tp)>, _EnableUTypesCtor<_Up...> >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) | |
| tuple(_Up&&... __u) noexcept(_And<is_nothrow_constructible<_Tp, _Up>...>::value) | |
| : __base_(typename __make_tuple_indices<sizeof...(_Up)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Up)>::type(), | |
| typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(), | |
| std::forward<_Up>(__u)...) {} | |
| template <class _Alloc, | |
| class... _Up, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Up) == sizeof...(_Tp)>, _EnableUTypesCtor<_Up...> >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u) | |
| : __base_(allocator_arg_t(), | |
| __a, | |
| typename __make_tuple_indices<sizeof...(_Up)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Up)>::type(), | |
| typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(), | |
| typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(), | |
| std::forward<_Up>(__u)...) {} | |
| tuple(const tuple&) = default; | |
| tuple(tuple&&) = default; | |
| template <class _Alloc, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And<is_copy_constructible<_Tp>...>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(allocator_arg_t, const _Alloc& __alloc, const tuple& __t) | |
| : __base_(allocator_arg_t(), __alloc, __t) {} | |
| template <class _Alloc, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And<is_move_constructible<_Tp>...>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(allocator_arg_t, const _Alloc& __alloc, tuple&& __t) | |
| : __base_(allocator_arg_t(), __alloc, std::move(__t)) {} | |
| template <class _OtherTuple, class _DecayedOtherTuple = __remove_cvref_t<_OtherTuple>, class = void> | |
| struct _EnableCtorFromUTypesTuple : false_type {}; | |
| template <class _OtherTuple, class... _Up> | |
| struct _EnableCtorFromUTypesTuple< | |
| _OtherTuple, | |
| tuple<_Up...>, | |
| __enable_if_t<sizeof...(_Up) == sizeof...(_Tp)>> | |
| : _And< | |
| _Not<is_same<_OtherTuple, const tuple&> >, | |
| _Not<is_same<_OtherTuple, tuple&&> >, | |
| is_constructible<_Tp, __copy_cvref_t<_OtherTuple, _Up> >..., | |
| _Lazy<_Or, | |
| _BoolConstant<sizeof...(_Tp) != 1>, | |
| _Lazy<_And, | |
| _Not<is_same<_Tp, _Up> >..., | |
| _Not<is_convertible<_OtherTuple, _Tp> >..., | |
| _Not<is_constructible<_Tp, _OtherTuple> >... > > > {}; | |
| template <class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<const tuple<_Up...>&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(_Not<_Lazy<_And, is_convertible<const _Up&, _Tp>...> >::value) | |
| tuple(const tuple<_Up...>& __t) noexcept(_And<is_nothrow_constructible<_Tp, const _Up&>...>::value) | |
| : __base_(__t) {} | |
| template <class... _Up, | |
| class _Alloc, | |
| __enable_if_t< _And< _EnableCtorFromUTypesTuple<const tuple<_Up...>&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| explicit(_Not<_Lazy<_And, is_convertible<const _Up&, _Tp>...> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, const tuple<_Up...>& __t) | |
| : __base_(allocator_arg_t(), __a, __t) {} | |
| # 710 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<tuple<_Up...>&&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) | |
| tuple(tuple<_Up...>&& __t) noexcept(_And<is_nothrow_constructible<_Tp, _Up>...>::value) | |
| : __base_(std::move(__t)) {} | |
| template <class _Alloc, | |
| class... _Up, | |
| __enable_if_t< _And< _EnableCtorFromUTypesTuple<tuple<_Up...>&&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, tuple<_Up...>&& __t) | |
| : __base_(allocator_arg_t(), __a, std::move(__t)) {} | |
| # 740 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <template <class...> class _Pred, | |
| class _Pair, | |
| class _DecayedPair = __remove_cvref_t<_Pair>, | |
| class _Tuple = tuple> | |
| struct _CtorPredicateFromPair : false_type {}; | |
| template <template <class...> class _Pred, class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> | |
| struct _CtorPredicateFromPair<_Pred, _Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > | |
| : _And< _Pred<_Tp1, __copy_cvref_t<_Pair, _Up1> >, _Pred<_Tp2, __copy_cvref_t<_Pair, _Up2> > > {}; | |
| template <class _Pair> | |
| struct _EnableCtorFromPair : _CtorPredicateFromPair<is_constructible, _Pair> {}; | |
| template <class _Pair> | |
| struct _NothrowConstructibleFromPair : _CtorPredicateFromPair<is_nothrow_constructible, _Pair> {}; | |
| template <class _Pair, class _DecayedPair = __remove_cvref_t<_Pair>, class _Tuple = tuple> | |
| struct _BothImplicitlyConvertible : false_type {}; | |
| template <class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> | |
| struct _BothImplicitlyConvertible<_Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > | |
| : _And< is_convertible<__copy_cvref_t<_Pair, _Up1>, _Tp1>, is_convertible<__copy_cvref_t<_Pair, _Up2>, _Tp2> > {}; | |
| template <class _Up1, | |
| class _Up2, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And< _EnableCtorFromPair<const pair<_Up1, _Up2>&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(_Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value) | |
| tuple(const pair<_Up1, _Up2>& __p) noexcept(_NothrowConstructibleFromPair<const pair<_Up1, _Up2>&>::value) | |
| : __base_(__p) {} | |
| template <class _Alloc, | |
| class _Up1, | |
| class _Up2, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And< _EnableCtorFromPair<const pair<_Up1, _Up2>&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| explicit(_Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, const pair<_Up1, _Up2>& __p) | |
| : __base_(allocator_arg_t(), __a, __p) {} | |
| # 801 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class _Up1, | |
| class _Up2, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And< _EnableCtorFromPair<pair<_Up1, _Up2>&&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| constexpr explicit(_Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value) | |
| tuple(pair<_Up1, _Up2>&& __p) noexcept(_NothrowConstructibleFromPair<pair<_Up1, _Up2>&&>::value) | |
| : __base_(std::move(__p)) {} | |
| template <class _Alloc, | |
| class _Up1, | |
| class _Up2, | |
| template <class...> class _And = _And, | |
| __enable_if_t< _And< _EnableCtorFromPair<pair<_Up1, _Up2>&&> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| explicit(_Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value) | |
| tuple(allocator_arg_t, const _Alloc& __a, pair<_Up1, _Up2>&& __p) | |
| : __base_(allocator_arg_t(), __a, std::move(__p)) {} | |
| # 838 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(_If<_And<is_copy_assignable<_Tp>...>::value, tuple, __nat> const& __tuple) noexcept( | |
| _And<is_nothrow_copy_assignable<_Tp>...>::value) { | |
| std::__memberwise_copy_assign(*this, __tuple, typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| # 862 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(_If<_And<is_move_assignable<_Tp>...>::value, tuple, __nat>&& __tuple) noexcept( | |
| _And<is_nothrow_move_assignable<_Tp>...>::value) { | |
| std::__memberwise_forward_assign( | |
| *this, std::move(__tuple), __tuple_types<_Tp...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| template < | |
| class... _Up, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) == sizeof...(_Up)>, is_assignable<_Tp&, _Up const&>... >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(tuple<_Up...> const& __tuple) noexcept(_And<is_nothrow_assignable<_Tp&, _Up const&>...>::value) { | |
| std::__memberwise_copy_assign(*this, __tuple, typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| template <class... _Up, | |
| __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) == sizeof...(_Up)>, is_assignable<_Tp&, _Up>... >::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(tuple<_Up...>&& __tuple) noexcept(_And<is_nothrow_assignable<_Tp&, _Up>...>::value) { | |
| std::__memberwise_forward_assign( | |
| *this, std::move(__tuple), __tuple_types<_Up...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| # 909 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <template <class...> class _Pred, | |
| bool _Const, | |
| class _Pair, | |
| class _DecayedPair = __remove_cvref_t<_Pair>, | |
| class _Tuple = tuple> | |
| struct _AssignPredicateFromPair : false_type {}; | |
| template <template <class...> class _Pred, bool _Const, class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> | |
| struct _AssignPredicateFromPair<_Pred, _Const, _Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > | |
| : _And<_Pred<__maybe_const<_Const, _Tp1>&, __copy_cvref_t<_Pair, _Up1> >, | |
| _Pred<__maybe_const<_Const, _Tp2>&, __copy_cvref_t<_Pair, _Up2> > > {}; | |
| template <bool _Const, class _Pair> | |
| struct _EnableAssignFromPair : _AssignPredicateFromPair<is_assignable, _Const, _Pair> {}; | |
| template <bool _Const, class _Pair> | |
| struct _NothrowAssignFromPair : _AssignPredicateFromPair<is_nothrow_assignable, _Const, _Pair> {}; | |
| # 945 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class _Up1, | |
| class _Up2, | |
| __enable_if_t< _EnableAssignFromPair<false, pair<_Up1, _Up2> const&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(pair<_Up1, _Up2> const& __pair) noexcept(_NothrowAssignFromPair<false, pair<_Up1, _Up2> const&>::value) { | |
| std::get<0>(*this) = __pair.first; | |
| std::get<1>(*this) = __pair.second; | |
| return *this; | |
| } | |
| template <class _Up1, class _Up2, __enable_if_t< _EnableAssignFromPair<false, pair<_Up1, _Up2>&&>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(pair<_Up1, _Up2>&& __pair) noexcept(_NothrowAssignFromPair<false, pair<_Up1, _Up2>&&>::value) { | |
| std::get<0>(*this) = std::forward<_Up1>(__pair.first); | |
| std::get<1>(*this) = std::forward<_Up2>(__pair.second); | |
| return *this; | |
| } | |
| template < | |
| class _Up, | |
| size_t _Np, | |
| __enable_if_t< _And< _BoolConstant<_Np == sizeof...(_Tp)>, is_assignable<_Tp&, _Up const&>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(array<_Up, _Np> const& __array) noexcept(_And<is_nothrow_assignable<_Tp&, _Up const&>...>::value) { | |
| std::__memberwise_copy_assign(*this, __array, typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| template <class _Up, | |
| size_t _Np, | |
| class = void, | |
| __enable_if_t< _And< _BoolConstant<_Np == sizeof...(_Tp)>, is_assignable<_Tp&, _Up>... >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple& | |
| operator=(array<_Up, _Np>&& __array) noexcept(_And<is_nothrow_assignable<_Tp&, _Up>...>::value) { | |
| std::__memberwise_forward_assign( | |
| *this, | |
| std::move(__array), | |
| __tuple_types<_If<true, _Up, _Tp>...>(), | |
| typename __make_tuple_indices<sizeof...(_Tp)>::type()); | |
| return *this; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| swap(tuple& __t) noexcept(__all<__is_nothrow_swappable_v<_Tp>...>::value) { | |
| __base_.swap(__t.__base_); | |
| } | |
| }; | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Winvalid-specialization" | |
| template <> | |
| class tuple<> { | |
| public: | |
| constexpr tuple() noexcept = default; | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(allocator_arg_t, const _Alloc&) noexcept {} | |
| template <class _Alloc> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept {} | |
| template <class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(array<_Up, 0>) noexcept {} | |
| template <class _Alloc, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) noexcept {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void swap(tuple&) noexcept {} | |
| }; | |
| #pragma clang diagnostic pop | |
| # 1041 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class... _Tp> | |
| tuple(_Tp...) -> tuple<_Tp...>; | |
| template <class _Tp1, class _Tp2> | |
| tuple(pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>; | |
| template <class _Alloc, class... _Tp> | |
| tuple(allocator_arg_t, _Alloc, _Tp...) -> tuple<_Tp...>; | |
| template <class _Alloc, class _Tp1, class _Tp2> | |
| tuple(allocator_arg_t, _Alloc, pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>; | |
| template <class _Alloc, class... _Tp> | |
| tuple(allocator_arg_t, _Alloc, tuple<_Tp...>) -> tuple<_Tp...>; | |
| template <class... _Tp, __enable_if_t<__all<__is_swappable_v<_Tp>...>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u) noexcept(__all<__is_nothrow_swappable_v<_Tp>...>::value) { | |
| __t.swap(__u); | |
| } | |
| # 1070 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <size_t _Ip, class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
| get(tuple<_Tp...>& __t) noexcept { | |
| using type [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, tuple<_Tp...> >::type; | |
| return static_cast<__tuple_leaf<_Ip, type>&>(__t.__base_).get(); | |
| } | |
| template <size_t _Ip, class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
| get(const tuple<_Tp...>& __t) noexcept { | |
| using type [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, tuple<_Tp...> >::type; | |
| return static_cast<const __tuple_leaf<_Ip, type>&>(__t.__base_).get(); | |
| } | |
| template <size_t _Ip, class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
| get(tuple<_Tp...>&& __t) noexcept { | |
| using type [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, tuple<_Tp...> >::type; | |
| return static_cast<type&&>(static_cast<__tuple_leaf<_Ip, type>&&>(__t.__base_).get()); | |
| } | |
| template <size_t _Ip, class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
| get(const tuple<_Tp...>&& __t) noexcept { | |
| using type [[__gnu__::__nodebug__]] = typename tuple_element<_Ip, tuple<_Tp...> >::type; | |
| return static_cast<const type&&>(static_cast<const __tuple_leaf<_Ip, type>&&>(__t.__base_).get()); | |
| } | |
| template <class _T1, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1& get(tuple<_Args...>& __tup) noexcept { | |
| return std::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup); | |
| } | |
| template <class _T1, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1 const& get(tuple<_Args...> const& __tup) noexcept { | |
| return std::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup); | |
| } | |
| template <class _T1, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept { | |
| return std::get<__find_exactly_one_t<_T1, _Args...>::value>(std::move(__tup)); | |
| } | |
| template <class _T1, class... _Args> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _T1 const&& get(tuple<_Args...> const&& __tup) noexcept { | |
| return std::get<__find_exactly_one_t<_T1, _Args...>::value>(std::move(__tup)); | |
| } | |
| template <class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr tuple<_Tp&...> tie(_Tp&... __t) noexcept { | |
| return tuple<_Tp&...>(__t...); | |
| } | |
| template <class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr tuple<__unwrap_ref_decay_t<_Tp>...> | |
| make_tuple(_Tp&&... __t) { | |
| return tuple<__unwrap_ref_decay_t<_Tp>...>(std::forward<_Tp>(__t)...); | |
| } | |
| template <class... _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr tuple<_Tp&&...> forward_as_tuple(_Tp&&... __t) noexcept { | |
| return tuple<_Tp&&...>(std::forward<_Tp>(__t)...); | |
| } | |
| template <size_t _Ip> | |
| struct __tuple_equal { | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _Tp& __x, const _Up& __y) { | |
| return __tuple_equal<_Ip - 1>()(__x, __y) && std::get<_Ip - 1>(__x) == std::get<_Ip - 1>(__y); | |
| } | |
| }; | |
| template <> | |
| struct __tuple_equal<0> { | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _Tp&, const _Up&) { | |
| return true; | |
| } | |
| }; | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| static_assert(sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes"); | |
| return __tuple_equal<sizeof...(_Tp)>()(__x, __y); | |
| } | |
| # 1190 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| return !(__x == __y); | |
| } | |
| template <size_t _Ip> | |
| struct __tuple_less { | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _Tp& __x, const _Up& __y) { | |
| const size_t __idx = tuple_size<_Tp>::value - _Ip; | |
| if (std::get<__idx>(__x) < std::get<__idx>(__y)) | |
| return true; | |
| if (std::get<__idx>(__y) < std::get<__idx>(__x)) | |
| return false; | |
| return __tuple_less<_Ip - 1>()(__x, __y); | |
| } | |
| }; | |
| template <> | |
| struct __tuple_less<0> { | |
| template <class _Tp, class _Up> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool operator()(const _Tp&, const _Up&) { | |
| return false; | |
| } | |
| }; | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| static_assert(sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes"); | |
| return __tuple_less<sizeof...(_Tp)>()(__x, __y); | |
| } | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| return __y < __x; | |
| } | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| return !(__x < __y); | |
| } | |
| template <class... _Tp, class... _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { | |
| return !(__y < __x); | |
| } | |
| template <class _Tp, class _Up> | |
| struct __tuple_cat_type; | |
| template <class... _Ttypes, class... _Utypes> | |
| struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> > { | |
| using type [[__gnu__::__nodebug__]] = tuple<_Ttypes..., _Utypes...>; | |
| }; | |
| template <class _ResultTuple, bool _Is_Tuple0TupleLike, class... _Tuples> | |
| struct __tuple_cat_return_1 {}; | |
| template <class... _Types, class _Tuple0> | |
| struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0> { | |
| using type [[__gnu__::__nodebug__]] = | |
| typename __tuple_cat_type< tuple<_Types...>, | |
| typename __make_tuple_types<__remove_cvref_t<_Tuple0> >::type >::type; | |
| }; | |
| template <class... _Types, class _Tuple0, class _Tuple1, class... _Tuples> | |
| struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0, _Tuple1, _Tuples...> | |
| : public __tuple_cat_return_1< | |
| typename __tuple_cat_type< tuple<_Types...>, | |
| typename __make_tuple_types<__remove_cvref_t<_Tuple0> >::type >::type, | |
| __tuple_like_ext<__libcpp_remove_reference_t<_Tuple1> >::value, | |
| _Tuple1, | |
| _Tuples...> {}; | |
| template <class... _Tuples> | |
| struct __tuple_cat_return; | |
| template <class _Tuple0, class... _Tuples> | |
| struct __tuple_cat_return<_Tuple0, _Tuples...> | |
| : public __tuple_cat_return_1<tuple<>, | |
| __tuple_like_ext<__libcpp_remove_reference_t<_Tuple0> >::value, | |
| _Tuple0, | |
| _Tuples...> {}; | |
| template <> | |
| struct __tuple_cat_return<> { | |
| using type [[__gnu__::__nodebug__]] = tuple<>; | |
| }; | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr tuple<> tuple_cat() { return tuple<>(); } | |
| template <class _Rp, class _Indices, class _Tuple0, class... _Tuples> | |
| struct __tuple_cat_return_ref_imp; | |
| template <class... _Types, size_t... _I0, class _Tuple0> | |
| struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0> { | |
| using _T0 [[__gnu__::__nodebug__]] = __libcpp_remove_reference_t<_Tuple0>; | |
| typedef tuple<_Types..., __copy_cvref_t<_Tuple0, typename tuple_element<_I0, _T0>::type>&&...> type; | |
| }; | |
| template <class... _Types, size_t... _I0, class _Tuple0, class _Tuple1, class... _Tuples> | |
| struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0, _Tuple1, _Tuples...> | |
| : public __tuple_cat_return_ref_imp< | |
| tuple<_Types..., | |
| __copy_cvref_t<_Tuple0, typename tuple_element<_I0, __libcpp_remove_reference_t<_Tuple0>>::type>&&...>, | |
| typename __make_tuple_indices<tuple_size<__libcpp_remove_reference_t<_Tuple1> >::value>::type, | |
| _Tuple1, | |
| _Tuples...> {}; | |
| template <class _Tuple0, class... _Tuples> | |
| struct __tuple_cat_return_ref | |
| : public __tuple_cat_return_ref_imp< | |
| tuple<>, | |
| typename __make_tuple_indices< tuple_size<__libcpp_remove_reference_t<_Tuple0> >::value >::type, | |
| _Tuple0, | |
| _Tuples...> {}; | |
| template <class _Types, class _I0, class _J0> | |
| struct __tuple_cat; | |
| template <class... _Types, size_t... _I0, size_t... _J0> | |
| struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...> > { | |
| template <class _Tuple0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&>::type | |
| operator()(tuple<_Types...> __t, _Tuple0&& __t0) { | |
| (void)__t; | |
| return std::forward_as_tuple( | |
| std::forward<_Types>(std::get<_I0>(__t))..., std::get<_J0>(std::forward<_Tuple0>(__t0))...); | |
| } | |
| template <class _Tuple0, class _Tuple1, class... _Tuples> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type | |
| operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&&... __tpls) { | |
| (void)__t; | |
| using _T0 [[__gnu__::__nodebug__]] = __libcpp_remove_reference_t<_Tuple0>; | |
| using _T1 [[__gnu__::__nodebug__]] = __libcpp_remove_reference_t<_Tuple1>; | |
| return __tuple_cat<tuple<_Types..., __copy_cvref_t<_Tuple0, typename tuple_element<_J0, _T0>::type>&&...>, | |
| typename __make_tuple_indices<sizeof...(_Types) + tuple_size<_T0>::value>::type, | |
| typename __make_tuple_indices<tuple_size<_T1>::value>::type>()( | |
| std::forward_as_tuple( | |
| std::forward<_Types>(std::get<_I0>(__t))..., std::get<_J0>(std::forward<_Tuple0>(__t0))...), | |
| std::forward<_Tuple1>(__t1), | |
| std::forward<_Tuples>(__tpls)...); | |
| } | |
| }; | |
| template <class _TupleDst, class _TupleSrc, size_t... _Indices> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _TupleDst | |
| __tuple_cat_select_element_wise(_TupleSrc&& __src, __tuple_indices<_Indices...>) { | |
| static_assert(tuple_size<_TupleDst>::value == tuple_size<_TupleSrc>::value, | |
| "misuse of __tuple_cat_select_element_wise with tuples of different sizes"); | |
| return _TupleDst(std::get<_Indices>(std::forward<_TupleSrc>(__src))...); | |
| } | |
| template <class _Tuple0, class... _Tuples> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr typename __tuple_cat_return<_Tuple0, _Tuples...>::type | |
| tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls) { | |
| using _T0 [[__gnu__::__nodebug__]] = __libcpp_remove_reference_t<_Tuple0>; | |
| using _TRet [[__gnu__::__nodebug__]] = typename __tuple_cat_return<_Tuple0, _Tuples...>::type; | |
| using _T0Indices [[__gnu__::__nodebug__]] = typename __make_tuple_indices<tuple_size<_T0>::value>::type; | |
| using _TRetIndices [[__gnu__::__nodebug__]] = typename __make_tuple_indices<tuple_size<_TRet>::value>::type; | |
| return std::__tuple_cat_select_element_wise<_TRet>( | |
| __tuple_cat<tuple<>, __tuple_indices<>, _T0Indices>()( | |
| tuple<>(), std::forward<_Tuple0>(__t0), std::forward<_Tuples>(__tpls)...), | |
| _TRetIndices()); | |
| } | |
| template <class... _Tp, class _Alloc> | |
| struct uses_allocator<tuple<_Tp...>, _Alloc> : true_type {}; | |
| template <class _Fn, class _Tuple, size_t... _Id> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr decltype(auto) | |
| __apply_tuple_impl(_Fn&& __f, _Tuple&& __t, __tuple_indices<_Id...>) | |
| noexcept(noexcept(std::__invoke(std::forward<_Fn>(__f), std::get<_Id>(std::forward<_Tuple>(__t))...))) { return std::__invoke(std::forward<_Fn>(__f), std::get<_Id>(std::forward<_Tuple>(__t))...); } | |
| template <class _Fn, class _Tuple> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr decltype(auto) apply(_Fn&& __f, _Tuple&& __t) | |
| noexcept(noexcept(std::__apply_tuple_impl( std::forward<_Fn>(__f), std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}))) { return std::__apply_tuple_impl( std::forward<_Fn>(__f), std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}); } | |
| # 1397 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class _Tp, class _Tuple, size_t... _Idx> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp __make_from_tuple_impl(_Tuple&& __t, __tuple_indices<_Idx...>, | |
| enable_if_t<is_constructible_v<_Tp, decltype(std::get<_Idx>(std::forward<_Tuple>(__t)))...>> * = nullptr) | |
| noexcept(noexcept(_Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...))) { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } | |
| template <class _Tp, class _Tuple, | |
| class _Seq = typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type, class = void> | |
| inline constexpr bool __can_make_from_tuple = false; | |
| template <class _Tp, class _Tuple, size_t... _Idx> | |
| inline constexpr bool __can_make_from_tuple<_Tp, _Tuple, __tuple_indices<_Idx...>, | |
| enable_if_t<is_constructible_v<_Tp, decltype(std::get<_Idx>(std::declval<_Tuple>()))...>>> = true; | |
| # 1419 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 3 | |
| template <class _Tp, class _Tuple, class = enable_if_t<__can_make_from_tuple<_Tp, _Tuple>>> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp make_from_tuple(_Tuple&& __t) | |
| noexcept(noexcept(std::__make_from_tuple_impl<_Tp>( std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}))) { return std::__make_from_tuple_impl<_Tp>( std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}); } | |
| } } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 1 3 | |
| # 84 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/operations.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/operations.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/operations.h" 3 | |
| using terminate_handler = void (*)(); | |
| __attribute__((__visibility__("default"))) terminate_handler set_terminate(terminate_handler) noexcept; | |
| __attribute__((__visibility__("default"))) terminate_handler get_terminate() noexcept; | |
| __attribute__((__visibility__("default"))) __attribute__((__deprecated__)) bool uncaught_exception() noexcept; | |
| __attribute__((__visibility__("default"))) int uncaught_exceptions() noexcept; | |
| class __attribute__((__visibility__("default"))) exception_ptr; | |
| __attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; | |
| [[__noreturn__]] __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); | |
| } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdlib" 1 3 | |
| # 90 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdlib" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/compat/stdlib.h" 1 3 | |
| extern "C" { | |
| int getloadavg(double loadavg[], int nelem); | |
| } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdlib.h" 1 3 | |
| # 83 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdlib.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 1 3 | |
| extern "C" { | |
| # 21 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 2 3 | |
| int atoi (const char *); | |
| long atol (const char *); | |
| long long atoll (const char *); | |
| double atof (const char *); | |
| float strtof (const char *__restrict, char **__restrict); | |
| double strtod (const char *__restrict, char **__restrict); | |
| long double strtold (const char *__restrict, char **__restrict); | |
| long strtol (const char *__restrict, char **__restrict, int); | |
| unsigned long strtoul (const char *__restrict, char **__restrict, int); | |
| long long strtoll (const char *__restrict, char **__restrict, int); | |
| unsigned long long strtoull (const char *__restrict, char **__restrict, int); | |
| int rand (void); | |
| void srand (unsigned); | |
| void *malloc (size_t); | |
| void *calloc (size_t, size_t); | |
| void *realloc (void *, size_t); | |
| void free (void *); | |
| void *aligned_alloc(size_t, size_t); | |
| __attribute__((__noreturn__)) void abort (void); | |
| int atexit (void (*) (void)); | |
| __attribute__((__noreturn__)) void exit (int); | |
| __attribute__((__noreturn__)) void _Exit (int); | |
| int at_quick_exit (void (*) (void)); | |
| __attribute__((__noreturn__)) void quick_exit (int); | |
| char *getenv (const char *); | |
| int system (const char *); | |
| void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); | |
| void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); | |
| int abs (int); | |
| long labs (long); | |
| long long llabs (long long); | |
| typedef struct { int quot, rem; } div_t; | |
| typedef struct { long quot, rem; } ldiv_t; | |
| typedef struct { long long quot, rem; } lldiv_t; | |
| div_t div (int, int); | |
| ldiv_t ldiv (long, long); | |
| lldiv_t lldiv (long long, long long); | |
| int mblen (const char *, size_t); | |
| int mbtowc (wchar_t *__restrict, const char *__restrict, size_t); | |
| int wctomb (char *, wchar_t); | |
| size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t); | |
| size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); | |
| size_t __ctype_get_mb_cur_max(void); | |
| # 101 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 3 | |
| int posix_memalign (void **, size_t, size_t); | |
| int setenv (const char *, const char *, int); | |
| int unsetenv (const char *); | |
| int mkstemp (char *); | |
| int mkostemp (char *, int); | |
| char *mkdtemp (char *); | |
| int getsubopt (char **, char *const *, char **); | |
| int rand_r (unsigned *); | |
| char *realpath (const char *__restrict, char *__restrict); | |
| long int random (void); | |
| void srandom (unsigned int); | |
| char *initstate (unsigned int, char *, size_t); | |
| char *setstate (char *); | |
| int putenv (char *); | |
| int posix_openpt (int); | |
| int grantpt (int); | |
| int unlockpt (int); | |
| char *ptsname (int); | |
| char *l64a (long); | |
| long a64l (const char *); | |
| void setkey (const char *); | |
| double drand48 (void); | |
| double erand48 (unsigned short [3]); | |
| long int lrand48 (void); | |
| long int nrand48 (unsigned short [3]); | |
| long mrand48 (void); | |
| long jrand48 (unsigned short [3]); | |
| void srand48 (long); | |
| unsigned short *seed48 (unsigned short [3]); | |
| void lcong48 (unsigned short [7]); | |
| # 1 "//Dev/emscripten/cache/sysroot/include/alloca.h" 1 3 | |
| extern "C" { | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 10 "//Dev/emscripten/cache/sysroot/include/alloca.h" 2 3 | |
| void *alloca(size_t); | |
| } | |
| # 141 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 2 3 | |
| char *mktemp (char *); | |
| int mkstemps (char *, int); | |
| int mkostemps (char *, int, int); | |
| void *valloc (size_t); | |
| void *memalign(size_t, size_t); | |
| int getloadavg(double *, int); | |
| int clearenv(void); | |
| void *reallocarray (void *, size_t, size_t); | |
| void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *); | |
| int ptsname_r(int, char *, size_t); | |
| char *ecvt(double, int, int *, int *); | |
| char *fcvt(double, int, int *, int *); | |
| char *gcvt(double, int, char *); | |
| char *secure_getenv(const char *); | |
| struct __locale_struct; | |
| float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *); | |
| double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); | |
| long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *); | |
| # 176 "//Dev/emscripten/cache/sysroot/include/stdlib.h" 3 | |
| } | |
| # 90 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdlib.h" 2 3 | |
| extern "C++" { | |
| # 110 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdlib.h" 3 | |
| using std::__math::abs; | |
| # 126 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdlib.h" 3 | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ldiv_t div(long __x, long __y) noexcept { return ::ldiv(__x, __y); } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) lldiv_t div(long long __x, long long __y) noexcept { return ::lldiv(__x, __y); } | |
| } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/compat/stdlib.h" 2 3 | |
| # 91 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdlib" 2 3 | |
| # 102 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdlib" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::div_t __attribute__((__using_if_exists__)); | |
| using ::ldiv_t __attribute__((__using_if_exists__)); | |
| using ::lldiv_t __attribute__((__using_if_exists__)); | |
| using ::atof __attribute__((__using_if_exists__)); | |
| using ::atoi __attribute__((__using_if_exists__)); | |
| using ::atol __attribute__((__using_if_exists__)); | |
| using ::atoll __attribute__((__using_if_exists__)); | |
| using ::strtod __attribute__((__using_if_exists__)); | |
| using ::strtof __attribute__((__using_if_exists__)); | |
| using ::strtold __attribute__((__using_if_exists__)); | |
| using ::strtol __attribute__((__using_if_exists__)); | |
| using ::strtoll __attribute__((__using_if_exists__)); | |
| using ::strtoul __attribute__((__using_if_exists__)); | |
| using ::strtoull __attribute__((__using_if_exists__)); | |
| using ::rand __attribute__((__using_if_exists__)); | |
| using ::srand __attribute__((__using_if_exists__)); | |
| using ::calloc __attribute__((__using_if_exists__)); | |
| using ::free __attribute__((__using_if_exists__)); | |
| using ::malloc __attribute__((__using_if_exists__)); | |
| using ::realloc __attribute__((__using_if_exists__)); | |
| using ::abort __attribute__((__using_if_exists__)); | |
| using ::atexit __attribute__((__using_if_exists__)); | |
| using ::exit __attribute__((__using_if_exists__)); | |
| using ::_Exit __attribute__((__using_if_exists__)); | |
| using ::getenv __attribute__((__using_if_exists__)); | |
| using ::system __attribute__((__using_if_exists__)); | |
| using ::bsearch __attribute__((__using_if_exists__)); | |
| using ::qsort __attribute__((__using_if_exists__)); | |
| using ::abs __attribute__((__using_if_exists__)); | |
| using ::labs __attribute__((__using_if_exists__)); | |
| using ::llabs __attribute__((__using_if_exists__)); | |
| using ::div __attribute__((__using_if_exists__)); | |
| using ::ldiv __attribute__((__using_if_exists__)); | |
| using ::lldiv __attribute__((__using_if_exists__)); | |
| using ::mblen __attribute__((__using_if_exists__)); | |
| using ::mbtowc __attribute__((__using_if_exists__)); | |
| using ::wctomb __attribute__((__using_if_exists__)); | |
| using ::mbstowcs __attribute__((__using_if_exists__)); | |
| using ::wcstombs __attribute__((__using_if_exists__)); | |
| using ::at_quick_exit __attribute__((__using_if_exists__)); | |
| using ::quick_exit __attribute__((__using_if_exists__)); | |
| using ::aligned_alloc __attribute__((__using_if_exists__)); | |
| } } | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/typeinfo" 1 3 | |
| # 73 "//Dev/emscripten/cache/sysroot/include/c++/v1/typeinfo" 3 | |
| namespace std | |
| { | |
| # 189 "//Dev/emscripten/cache/sysroot/include/c++/v1/typeinfo" 3 | |
| struct __type_info_implementations { | |
| struct __string_impl_base { | |
| typedef const char* __type_name_t; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) constexpr static const char* | |
| __type_name_to_string(__type_name_t __v) noexcept { | |
| return __v; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) constexpr static __type_name_t | |
| __string_to_type_name(const char* __v) noexcept { | |
| return __v; | |
| } | |
| }; | |
| struct __unique_impl : __string_impl_base { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __v) noexcept { | |
| return reinterpret_cast<size_t>(__v); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| return __lhs == __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| return __lhs < __rhs; | |
| } | |
| }; | |
| struct __non_unique_impl : __string_impl_base { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __ptr) noexcept { | |
| size_t __hash = 5381; | |
| while (unsigned char __c = static_cast<unsigned char>(*__ptr++)) | |
| __hash = (__hash * 33) ^ __c; | |
| return __hash; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| return __lhs == __rhs || __builtin_strcmp(__lhs, __rhs) == 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| return __builtin_strcmp(__lhs, __rhs) < 0; | |
| } | |
| }; | |
| struct __non_unique_arm_rtti_bit_impl { | |
| typedef uintptr_t __type_name_t; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static const char* __type_name_to_string(__type_name_t __v) noexcept { | |
| return reinterpret_cast<const char*>(__v & ~__non_unique_rtti_bit::value); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static __type_name_t __string_to_type_name(const char* __v) noexcept { | |
| return reinterpret_cast<__type_name_t>(__v); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __v) noexcept { | |
| if (__is_type_name_unique(__v)) | |
| return __v; | |
| return __non_unique_impl::__hash(__type_name_to_string(__v)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| if (__lhs == __rhs) | |
| return true; | |
| if (__is_type_name_unique(__lhs) || __is_type_name_unique(__rhs)) | |
| return false; | |
| return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) == 0; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { | |
| if (__is_type_name_unique(__lhs) || __is_type_name_unique(__rhs)) | |
| return __lhs < __rhs; | |
| return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) < 0; | |
| } | |
| private: | |
| typedef integral_constant<__type_name_t, (1ULL << ((8 * sizeof(__type_name_t)) - 1))> | |
| __non_unique_rtti_bit; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static bool __is_type_name_unique(__type_name_t __lhs) noexcept { | |
| return !(__lhs & __non_unique_rtti_bit::value); | |
| } | |
| }; | |
| typedef | |
| __unique_impl | |
| __impl; | |
| }; | |
| # 296 "//Dev/emscripten/cache/sysroot/include/c++/v1/typeinfo" 3 | |
| class __attribute__((__visibility__("default"))) [[_Clang::__ptrauth_vtable_pointer__( process_independent, no_address_discrimination, no_extra_discrimination)]] type_info { | |
| type_info& operator=(const type_info&); | |
| type_info(const type_info&); | |
| protected: | |
| typedef __type_info_implementations::__impl __impl; | |
| __impl::__type_name_t __type_name; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit type_info(const char* __n) : __type_name(__impl::__string_to_type_name(__n)) {} | |
| public: | |
| virtual ~type_info(); | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const char* name() const noexcept { return __impl::__type_name_to_string(__type_name); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool before(const type_info& __arg) const noexcept { | |
| return __impl::__lt(__type_name, __arg.__type_name); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t hash_code() const noexcept { return __impl::__hash(__type_name); } | |
| __attribute__((always_inline)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(const type_info& __arg) const noexcept { | |
| if (__libcpp_is_constant_evaluated()) { | |
| return this == &__arg; | |
| } | |
| return __impl::__eq(__type_name, __arg.__type_name); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator!=(const type_info& __arg) const noexcept { return !operator==(__arg); } | |
| }; | |
| class __attribute__((__visibility__("default"))) bad_cast : public exception { | |
| public: | |
| bad_cast() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_cast(const bad_cast&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_cast& operator=(const bad_cast&) noexcept = default; | |
| ~bad_cast() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) bad_typeid : public exception { | |
| public: | |
| bad_typeid() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_typeid(const bad_typeid&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bad_typeid& operator=(const bad_typeid&) noexcept = default; | |
| ~bad_typeid() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| } | |
| # 382 "//Dev/emscripten/cache/sysroot/include/c++/v1/typeinfo" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_bad_cast() { | |
| throw bad_cast(); | |
| } | |
| } } | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 2 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 3 | |
| namespace __cxxabiv1 { | |
| extern "C" { | |
| __attribute__((__visibility__("default"))) void* __cxa_allocate_exception(size_t) throw(); | |
| __attribute__((__visibility__("default"))) void __cxa_free_exception(void*) throw(); | |
| struct __cxa_exception; | |
| __attribute__((__visibility__("default"))) __cxa_exception* __cxa_init_primary_exception( | |
| void*, | |
| std::type_info*, | |
| void* (*)(void*)) throw(); | |
| } | |
| } | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| class __attribute__((__visibility__("default"))) exception_ptr { | |
| void* __ptr_; | |
| static exception_ptr __from_native_exception_pointer(void*) noexcept; | |
| template <class _Ep> | |
| friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr __make_exception_ptr_explicit(_Ep&) noexcept; | |
| public: | |
| using __trivially_relocatable [[__gnu__::__nodebug__]] = exception_ptr; | |
| using __replaceable [[__gnu__::__nodebug__]] = exception_ptr; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr() noexcept : __ptr_() {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr(nullptr_t) noexcept : __ptr_() {} | |
| exception_ptr(const exception_ptr&) noexcept; | |
| exception_ptr& operator=(const exception_ptr&) noexcept; | |
| ~exception_ptr() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit operator bool() const noexcept { return __ptr_ != nullptr; } | |
| friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator==(const exception_ptr& __x, const exception_ptr& __y) noexcept { | |
| return __x.__ptr_ == __y.__ptr_; | |
| } | |
| friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator!=(const exception_ptr& __x, const exception_ptr& __y) noexcept { | |
| return !(__x == __y); | |
| } | |
| friend __attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; | |
| friend __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); | |
| }; | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr __make_exception_ptr_explicit(_Ep& __e) noexcept { | |
| using _Ep2 = __decay_t<_Ep>; | |
| void* __ex = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ep)); | |
| auto __cleanup = [](void* __p) -> void* { | |
| std::__destroy_at(static_cast<_Ep2*>(__p)); | |
| return __p; | |
| }; | |
| (void)__cxxabiv1::__cxa_init_primary_exception(__ex, const_cast<std::type_info*>(&typeid(_Ep)), __cleanup); | |
| try { | |
| ::new (__ex) _Ep2(__e); | |
| return exception_ptr::__from_native_exception_pointer(__ex); | |
| } catch (...) { | |
| __cxxabiv1::__cxa_free_exception(__ex); | |
| return current_exception(); | |
| } | |
| } | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr __make_exception_ptr_via_throw(_Ep& __e) noexcept { | |
| try { | |
| throw __e; | |
| } catch (...) { | |
| return current_exception(); | |
| } | |
| } | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr make_exception_ptr(_Ep __e) noexcept { | |
| # 143 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 3 | |
| if constexpr (is_pointer<_Ep>::value) { | |
| return std::__make_exception_ptr_via_throw(__e); | |
| } | |
| return std::__make_exception_ptr_explicit(__e); | |
| } | |
| # 202 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/exception_ptr.h" 3 | |
| } | |
| # 85 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/nested_exception.h" 1 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/nested_exception.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| class __attribute__((__visibility__("default"))) nested_exception { | |
| exception_ptr __ptr_; | |
| public: | |
| nested_exception() noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) nested_exception(const nested_exception&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) nested_exception& operator=(const nested_exception&) noexcept = default; | |
| virtual ~nested_exception() noexcept; | |
| [[__noreturn__]] void rethrow_nested() const; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) exception_ptr nested_ptr() const noexcept { return __ptr_; } | |
| }; | |
| template <class _Tp> | |
| struct __nested : public _Tp, public nested_exception { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit __nested(const _Tp& __t) : _Tp(__t) {} | |
| }; | |
| template <class _Tp, class _Up, bool> | |
| struct __throw_with_nested; | |
| template <class _Tp, class _Up> | |
| struct __throw_with_nested<_Tp, _Up, true> { | |
| [[__noreturn__]] static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __do_throw(_Tp&& __t) { | |
| throw __nested<_Up>(std::forward<_Tp>(__t)); | |
| } | |
| }; | |
| template <class _Tp, class _Up> | |
| struct __throw_with_nested<_Tp, _Up, false> { | |
| [[__noreturn__]] static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __do_throw(_Tp&& __t) { throw std::forward<_Tp>(__t); } | |
| }; | |
| template <class _Tp> | |
| [[__noreturn__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void throw_with_nested(_Tp&& __t) { | |
| using _Up = __decay_t<_Tp>; | |
| static_assert(is_copy_constructible<_Up>::value, "type thrown must be CopyConstructible"); | |
| __throw_with_nested<_Tp, | |
| _Up, | |
| is_class<_Up>::value && !is_base_of<nested_exception, _Up>::value && | |
| !__libcpp_is_final<_Up>::value>::__do_throw(std::forward<_Tp>(__t)); | |
| } | |
| template <class _From, class _To> | |
| struct __can_dynamic_cast | |
| : _BoolConstant< is_polymorphic<_From>::value && | |
| (!is_base_of<_To, _From>::value || is_convertible<const _From*, const _To*>::value)> {}; | |
| template <class _Ep, __enable_if_t< __can_dynamic_cast<_Ep, nested_exception>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void rethrow_if_nested(const _Ep& __e) { | |
| const nested_exception* __nep = dynamic_cast<const nested_exception*>(std::addressof(__e)); | |
| if (__nep) | |
| __nep->rethrow_nested(); | |
| } | |
| template <class _Ep, __enable_if_t<!__can_dynamic_cast<_Ep, nested_exception>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void rethrow_if_nested(const _Ep&) {} | |
| } | |
| # 86 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/terminate.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__exception/terminate.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| [[__noreturn__]] __attribute__((__visibility__("default"))) void terminate() noexcept; | |
| } | |
| # 88 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 2 3 | |
| # 92 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 1 3 | |
| # 97 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/new_handler.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/new_handler.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { | |
| typedef void (*new_handler)(); | |
| __attribute__((__visibility__("default"))) new_handler set_new_handler(new_handler) noexcept; | |
| __attribute__((__visibility__("default"))) new_handler get_new_handler() noexcept; | |
| } | |
| # 98 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/interference_size.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/interference_size.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| inline constexpr size_t hardware_destructive_interference_size = 64; | |
| inline constexpr size_t hardware_constructive_interference_size = 64; | |
| } } | |
| # 103 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/launder.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__new/launder.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* __launder(_Tp* __p) noexcept { | |
| static_assert(!(is_function<_Tp>::value), "can't launder functions"); | |
| static_assert(!is_void<_Tp>::value, "can't launder cv-void"); | |
| return __builtin_launder(__p); | |
| } | |
| template <class _Tp> | |
| [[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* launder(_Tp* __p) noexcept { | |
| return std::__launder(__p); | |
| } | |
| } } | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 2 3 | |
| # 115 "//Dev/emscripten/cache/sysroot/include/c++/v1/new" 3 | |
| # 98 "//Dev/emscripten/cache/sysroot/include/c++/v1/exception" 2 3 | |
| # 1439 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 1 3 | |
| # 112 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/fstream.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/fstream.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_filebuf; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_ifstream; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_ofstream; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_fstream; | |
| using filebuf = basic_filebuf<char>; | |
| using ifstream = basic_ifstream<char>; | |
| using ofstream = basic_ofstream<char>; | |
| using fstream = basic_fstream<char>; | |
| using wfilebuf = basic_filebuf<wchar_t>; | |
| using wifstream = basic_ifstream<wchar_t>; | |
| using wofstream = basic_ofstream<wchar_t>; | |
| using wfstream = basic_fstream<wchar_t>; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(filebuf)]] [[_Clang::__preferred_name__(wfilebuf)]] basic_filebuf; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(ifstream)]] [[_Clang::__preferred_name__(wifstream)]] basic_ifstream; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(ofstream)]] [[_Clang::__preferred_name__(wofstream)]] basic_ofstream; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(fstream)]] [[_Clang::__preferred_name__(wfstream)]] basic_fstream; | |
| } } | |
| # 113 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/istream.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/istream.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_istream; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_iostream; | |
| using istream = basic_istream<char>; | |
| using iostream = basic_iostream<char>; | |
| using wistream = basic_istream<wchar_t>; | |
| using wiostream = basic_iostream<wchar_t>; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(istream)]] [[_Clang::__preferred_name__(wistream)]] basic_istream; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(iostream)]] [[_Clang::__preferred_name__(wiostream)]] basic_iostream; | |
| } } | |
| # 115 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/ostream.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/ostream.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_ostream; | |
| using ostream = basic_ostream<char>; | |
| using wostream = basic_ostream<wchar_t>; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(ostream)]] [[_Clang::__preferred_name__(wostream)]] basic_ostream; | |
| } } | |
| # 117 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/sstream.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/sstream.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
| class basic_stringbuf; | |
| template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
| class basic_istringstream; | |
| template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
| class basic_ostringstream; | |
| template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
| class basic_stringstream; | |
| using stringbuf = basic_stringbuf<char>; | |
| using istringstream = basic_istringstream<char>; | |
| using ostringstream = basic_ostringstream<char>; | |
| using stringstream = basic_stringstream<char>; | |
| using wstringbuf = basic_stringbuf<wchar_t>; | |
| using wistringstream = basic_istringstream<wchar_t>; | |
| using wostringstream = basic_ostringstream<wchar_t>; | |
| using wstringstream = basic_stringstream<wchar_t>; | |
| template <class _CharT, class _Traits, class _Allocator> | |
| class [[_Clang::__preferred_name__(stringbuf)]] [[_Clang::__preferred_name__(wstringbuf)]] basic_stringbuf; | |
| template <class _CharT, class _Traits, class _Allocator> | |
| class [[_Clang::__preferred_name__(istringstream)]] | |
| [[_Clang::__preferred_name__(wistringstream)]] basic_istringstream; | |
| template <class _CharT, class _Traits, class _Allocator> | |
| class [[_Clang::__preferred_name__(ostringstream)]] | |
| [[_Clang::__preferred_name__(wostringstream)]] basic_ostringstream; | |
| template <class _CharT, class _Traits, class _Allocator> | |
| class [[_Clang::__preferred_name__(stringstream)]] | |
| [[_Clang::__preferred_name__(wstringstream)]] basic_stringstream; | |
| } } | |
| # 118 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/streambuf.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/streambuf.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_streambuf; | |
| using streambuf = basic_streambuf<char>; | |
| using wstreambuf = basic_streambuf<wchar_t>; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(streambuf)]] [[_Clang::__preferred_name__(wstreambuf)]] basic_streambuf; | |
| } } | |
| # 119 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__std_mbstate_t.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__std_mbstate_t.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::mbstate_t __attribute__((__using_if_exists__)); | |
| } } | |
| # 121 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 2 3 | |
| # 125 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class istreambuf_iterator; | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class ostreambuf_iterator; | |
| template <class _State> | |
| class fpos; | |
| typedef fpos<mbstate_t> streampos; | |
| typedef fpos<mbstate_t> wstreampos; | |
| typedef fpos<mbstate_t> u16streampos; | |
| typedef fpos<mbstate_t> u32streampos; | |
| # 166 "//Dev/emscripten/cache/sysroot/include/c++/v1/iosfwd" 3 | |
| template <class _CharT, class _Traits> | |
| 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__)) __attribute__((__abi_tag__("ne210108"))) explicit __save_flags(__stream_type& __stream) | |
| : __stream_(__stream), __fmtflags_(__stream.flags()), __fill_(__stream.fill()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ~__save_flags() { | |
| __stream_.flags(__fmtflags_); | |
| __stream_.fill(__fill_); | |
| } | |
| }; | |
| } } | |
| # 1440 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 1 3 | |
| # 259 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/rel_ops.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/rel_ops.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace rel_ops { | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator!=(const _Tp& __x, const _Tp& __y) { | |
| return !(__x == __y); | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator>(const _Tp& __x, const _Tp& __y) { | |
| return __y < __x; | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator<=(const _Tp& __x, const _Tp& __y) { | |
| return !(__y < __x); | |
| } | |
| template <class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool operator>=(const _Tp& __x, const _Tp& __y) { | |
| return !(__x < __y); | |
| } | |
| } | |
| } } | |
| # 260 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/as_const.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/as_const.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Tp& as_const(_Tp& __t) noexcept { | |
| return __t; | |
| } | |
| template <class _Tp> | |
| void as_const(const _Tp&&) = delete; | |
| } } | |
| # 269 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/in_place.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/in_place.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| struct __attribute__((__visibility__("default"))) in_place_t { | |
| explicit in_place_t() = default; | |
| }; | |
| inline constexpr in_place_t in_place{}; | |
| template <class _Tp> | |
| struct in_place_type_t { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit in_place_type_t() = default; | |
| }; | |
| template <class _Tp> | |
| inline constexpr in_place_type_t<_Tp> in_place_type{}; | |
| template <size_t _Idx> | |
| struct in_place_index_t { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit in_place_index_t() = default; | |
| }; | |
| template <size_t _Idx> | |
| inline constexpr in_place_index_t<_Idx> in_place_index{}; | |
| template <class _Tp> | |
| struct __is_inplace_type_imp : false_type {}; | |
| template <class _Tp> | |
| struct __is_inplace_type_imp<in_place_type_t<_Tp>> : true_type {}; | |
| template <class _Tp> | |
| using __is_inplace_type [[__gnu__::__nodebug__]] = __is_inplace_type_imp<__remove_cvref_t<_Tp>>; | |
| template <class _Tp> | |
| struct __is_inplace_index_imp : false_type {}; | |
| template <size_t _Idx> | |
| struct __is_inplace_index_imp<in_place_index_t<_Idx>> : true_type {}; | |
| template <class _Tp> | |
| using __is_inplace_index [[__gnu__::__nodebug__]] = __is_inplace_index_imp<__remove_cvref_t<_Tp>>; | |
| } } | |
| # 270 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 2 3 | |
| # 304 "//Dev/emscripten/cache/sysroot/include/c++/v1/utility" 3 | |
| # 1444 "//Dev/emscripten/cache/sysroot/include/c++/v1/tuple" 2 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 2 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| namespace pmr { | |
| template <class _ValueType | |
| > | |
| class polymorphic_allocator { | |
| public: | |
| using value_type = _ValueType; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) polymorphic_allocator() noexcept : __res_(std::pmr::get_default_resource()) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) polymorphic_allocator(memory_resource* __r) noexcept : __res_(__r) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) polymorphic_allocator(const polymorphic_allocator&) = default; | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) polymorphic_allocator(const polymorphic_allocator<_Tp>& __other) noexcept | |
| : __res_(__other.resource()) {} | |
| polymorphic_allocator& operator=(const polymorphic_allocator&) = delete; | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ValueType* allocate(size_t __n) { | |
| if (__n > __max_size()) { | |
| std::__throw_bad_array_new_length(); | |
| } | |
| return static_cast<_ValueType*>(__res_->allocate(__n * sizeof(_ValueType), alignof(_ValueType))); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void deallocate(_ValueType* __p, size_t __n) { | |
| ((void)0); | |
| __res_->deallocate(__p, __n * sizeof(_ValueType), alignof(_ValueType)); | |
| } | |
| # 120 "//Dev/emscripten/cache/sysroot/include/c++/v1/__memory_resource/polymorphic_allocator.h" 3 | |
| template <class _Tp, class... _Ts> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(_Tp* __p, _Ts&&... __args) { | |
| std::__user_alloc_construct_impl( | |
| typename __uses_alloc_ctor<_Tp, polymorphic_allocator&, _Ts...>::type(), | |
| __p, | |
| *this, | |
| std::forward<_Ts>(__args)...); | |
| } | |
| template <class _T1, class _T2, class... _Args1, class... _Args2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| construct(pair<_T1, _T2>* __p, piecewise_construct_t, tuple<_Args1...> __x, tuple<_Args2...> __y) { | |
| ::new ((void*)__p) pair<_T1, _T2>( | |
| piecewise_construct, | |
| __transform_tuple(typename __uses_alloc_ctor< _T1, polymorphic_allocator&, _Args1... >::type(), | |
| std::move(__x), | |
| typename __make_tuple_indices<sizeof...(_Args1)>::type{}), | |
| __transform_tuple(typename __uses_alloc_ctor< _T2, polymorphic_allocator&, _Args2... >::type(), | |
| std::move(__y), | |
| typename __make_tuple_indices<sizeof...(_Args2)>::type{})); | |
| } | |
| template <class _T1, class _T2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(pair<_T1, _T2>* __p) { | |
| construct(__p, piecewise_construct, tuple<>(), tuple<>()); | |
| } | |
| template <class _T1, class _T2, class _Up, class _Vp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(pair<_T1, _T2>* __p, _Up&& __u, _Vp&& __v) { | |
| construct(__p, | |
| piecewise_construct, | |
| std::forward_as_tuple(std::forward<_Up>(__u)), | |
| std::forward_as_tuple(std::forward<_Vp>(__v))); | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(pair<_T1, _T2>* __p, const pair<_U1, _U2>& __pr) { | |
| construct(__p, piecewise_construct, std::forward_as_tuple(__pr.first), std::forward_as_tuple(__pr.second)); | |
| } | |
| template <class _T1, class _T2, class _U1, class _U2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void construct(pair<_T1, _T2>* __p, pair<_U1, _U2>&& __pr) { | |
| construct(__p, | |
| piecewise_construct, | |
| std::forward_as_tuple(std::forward<_U1>(__pr.first)), | |
| std::forward_as_tuple(std::forward<_U2>(__pr.second))); | |
| } | |
| template <class _Tp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void destroy(_Tp* __p) { | |
| __p->~_Tp(); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) polymorphic_allocator select_on_container_copy_construction() const noexcept { | |
| return polymorphic_allocator(); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) memory_resource* resource() const noexcept { return __res_; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) friend bool | |
| operator==(const polymorphic_allocator& __lhs, const polymorphic_allocator& __rhs) noexcept { | |
| return *__lhs.resource() == *__rhs.resource(); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) friend bool | |
| operator!=(const polymorphic_allocator& __lhs, const polymorphic_allocator& __rhs) noexcept { | |
| return *__lhs.resource() != *__rhs.resource(); | |
| } | |
| private: | |
| template <class... _Args, size_t... _Is> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple<_Args&&...> | |
| __transform_tuple(integral_constant<int, 0>, tuple<_Args...>&& __t, __tuple_indices<_Is...>) { | |
| return std::forward_as_tuple(std::get<_Is>(std::move(__t))...); | |
| } | |
| template <class... _Args, size_t... _Is> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple<allocator_arg_t const&, polymorphic_allocator&, _Args&&...> | |
| __transform_tuple(integral_constant<int, 1>, tuple<_Args...>&& __t, __tuple_indices<_Is...>) { | |
| using _Tup = tuple<allocator_arg_t const&, polymorphic_allocator&, _Args&&...>; | |
| return _Tup(allocator_arg, *this, std::get<_Is>(std::move(__t))...); | |
| } | |
| template <class... _Args, size_t... _Is> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) tuple<_Args&&..., polymorphic_allocator&> | |
| __transform_tuple(integral_constant<int, 2>, tuple<_Args...>&& __t, __tuple_indices<_Is...>) { | |
| using _Tup = tuple<_Args&&..., polymorphic_allocator&>; | |
| return _Tup(std::get<_Is>(std::move(__t))..., *this); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t __max_size() const noexcept { | |
| return numeric_limits<size_t>::max() / sizeof(value_type); | |
| } | |
| memory_resource* __res_; | |
| }; | |
| template <class _Tp, class _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(const polymorphic_allocator<_Tp>& __lhs, const polymorphic_allocator<_Up>& __rhs) noexcept { | |
| return *__lhs.resource() == *__rhs.resource(); | |
| } | |
| template <class _Tp, class _Up> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator!=(const polymorphic_allocator<_Tp>& __lhs, const polymorphic_allocator<_Up>& __rhs) noexcept { | |
| return !(__lhs == __rhs); | |
| } | |
| } | |
| } } | |
| # 619 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/container_compatible_range.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/container_compatible_range.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/container_compatible_range.h" 3 | |
| } } | |
| # 622 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/from_range.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/from_range.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__ranges/from_range.h" 3 | |
| } } | |
| # 623 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill_n.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill_n.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill_n.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _OutputIterator, class _Size, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| __fill_n(_OutputIterator __first, _Size __n, const _Tp& __value); | |
| template <bool _FillVal, class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __fill_n_bool(__bit_iterator<_Cp, false> __first, typename __size_difference_type_traits<_Cp>::size_type __n) { | |
| using _It = __bit_iterator<_Cp, false>; | |
| using __storage_type = typename _It::__storage_type; | |
| const int __bits_per_word = _It::__bits_per_word; | |
| if (__first.__ctz_ != 0) { | |
| __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_); | |
| __storage_type __dn = std::min(__clz_f, __n); | |
| std::__fill_masked_range(std::__to_address(__first.__seg_), __clz_f - __dn, __first.__ctz_, _FillVal); | |
| __n -= __dn; | |
| ++__first.__seg_; | |
| } | |
| __storage_type __nw = __n / __bits_per_word; | |
| std::__fill_n(std::__to_address(__first.__seg_), __nw, _FillVal ? static_cast<__storage_type>(-1) : 0); | |
| __n -= __nw * __bits_per_word; | |
| if (__n > 0) { | |
| __first.__seg_ += __nw; | |
| std::__fill_masked_range(std::__to_address(__first.__seg_), __bits_per_word - __n, 0u, _FillVal); | |
| } | |
| } | |
| template <class _Cp, class _Size> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, false> | |
| __fill_n(__bit_iterator<_Cp, false> __first, _Size __n, const bool& __value) { | |
| if (__n > 0) { | |
| if (__value) | |
| std::__fill_n_bool<true>(__first, __n); | |
| else | |
| std::__fill_n_bool<false>(__first, __n); | |
| } | |
| return __first + __n; | |
| } | |
| template <class _OutputIterator, class _Size, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| __fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) { | |
| for (; __n > 0; ++__first, (void)--__n) | |
| *__first = __value; | |
| return __first; | |
| } | |
| template <class _OutputIterator, class _Size, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) { | |
| return std::__fill_n(__first, std::__convert_to_integral(__n), __value); | |
| } | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_end.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_end.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iter_swap.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iter_swap.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator1, class _ForwardIterator2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
| noexcept(noexcept(swap(*std::declval<_ForwardIterator1>(), *std::declval<_ForwardIterator2>()))) { | |
| swap(*__a, *__b); | |
| } | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/ranges_iterator_concept.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/ranges_iterator_concept.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/ranges_iterator_concept.h" 2 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
| # 35 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy> | |
| struct _IterOps; | |
| # 70 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
| struct _ClassicAlgPolicy {}; | |
| template <> | |
| struct _IterOps<_ClassicAlgPolicy> { | |
| template <class _Iter> | |
| using __value_type [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::value_type; | |
| template <class _Iter> | |
| using __iterator_category [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::iterator_category; | |
| template <class _Iter> | |
| using __difference_type [[__gnu__::__nodebug__]] = typename iterator_traits<_Iter>::difference_type; | |
| template <class _Iter, class _Distance> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static void advance(_Iter& __iter, _Distance __count) { | |
| std::advance(__iter, __count); | |
| } | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static typename iterator_traits<_Iter>::difference_type | |
| distance(_Iter __first, _Iter __last) { | |
| return std::distance(__first, __last); | |
| } | |
| template <class _Iter> | |
| using __deref_t [[__gnu__::__nodebug__]] = decltype(*std::declval<_Iter&>()); | |
| template <class _Iter> | |
| using __move_t [[__gnu__::__nodebug__]] = decltype(std::move(*std::declval<_Iter&>())); | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static void __validate_iter_reference() { | |
| static_assert( | |
| is_same<__deref_t<_Iter>, typename iterator_traits<__remove_cvref_t<_Iter> >::reference>::value, | |
| "It looks like your iterator's `iterator_traits<It>::reference` does not match the return type of " | |
| "dereferencing the iterator, i.e., calling `*it`. This is undefined behavior according to [input.iterators] " | |
| "and can lead to dangling reference issues at runtime, so we are flagging this."); | |
| } | |
| template <class _Iter, __enable_if_t<is_reference<__deref_t<_Iter> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static | |
| __move_t<_Iter> | |
| __iter_move(_Iter&& __i) { | |
| __validate_iter_reference<_Iter>(); | |
| return std::move(*std::forward<_Iter>(__i)); | |
| } | |
| template <class _Iter, __enable_if_t<!is_reference<__deref_t<_Iter> >::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static | |
| __deref_t<_Iter> | |
| __iter_move(_Iter&& __i) { | |
| __validate_iter_reference<_Iter>(); | |
| return *std::forward<_Iter>(__i); | |
| } | |
| template <class _Iter1, class _Iter2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static void iter_swap(_Iter1&& __a, _Iter2&& __b) { | |
| std::iter_swap(std::forward<_Iter1>(__a), std::forward<_Iter2>(__b)); | |
| } | |
| template <class _Iterator> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr _Iterator next(_Iterator, _Iterator __last) { | |
| return __last; | |
| } | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr __remove_cvref_t<_Iter> | |
| next(_Iter&& __it, typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { | |
| return std::next(std::forward<_Iter>(__it), __n); | |
| } | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr __remove_cvref_t<_Iter> | |
| prev(_Iter&& __iter, typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { | |
| return std::prev(std::forward<_Iter>(__iter), __n); | |
| } | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr void __advance_to(_Iter& __first, _Iter __last) { | |
| __first = __last; | |
| } | |
| template <class _Iter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static __difference_type<_Iter> | |
| __advance_to(_Iter& __iter, __difference_type<_Iter> __count, const _Iter& __sentinel) { | |
| return _IterOps::__advance_to(__iter, __count, __sentinel, typename iterator_traits<_Iter>::iterator_category()); | |
| } | |
| private: | |
| template <class _InputIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static __difference_type<_InputIter> __advance_to( | |
| _InputIter& __iter, __difference_type<_InputIter> __count, const _InputIter& __sentinel, input_iterator_tag) { | |
| __difference_type<_InputIter> __dist = 0; | |
| for (; __dist < __count && __iter != __sentinel; ++__dist) | |
| ++__iter; | |
| return __count - __dist; | |
| } | |
| template <class _BiDirIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static __difference_type<_BiDirIter> | |
| __advance_to(_BiDirIter& __iter, | |
| __difference_type<_BiDirIter> __count, | |
| const _BiDirIter& __sentinel, | |
| bidirectional_iterator_tag) { | |
| __difference_type<_BiDirIter> __dist = 0; | |
| if (__count >= 0) | |
| for (; __dist < __count && __iter != __sentinel; ++__dist) | |
| ++__iter; | |
| else | |
| for (__count = -__count; __dist < __count && __iter != __sentinel; ++__dist) | |
| --__iter; | |
| return __count - __dist; | |
| } | |
| template <class _RandIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr static __difference_type<_RandIter> | |
| __advance_to(_RandIter& __iter, | |
| __difference_type<_RandIter> __count, | |
| const _RandIter& __sentinel, | |
| random_access_iterator_tag) { | |
| auto __dist = _IterOps::distance(__iter, __sentinel); | |
| ((void)0); | |
| if (__count < 0) | |
| __dist = __dist > __count ? __dist : __count; | |
| else | |
| __dist = __dist < __count ? __dist : __count; | |
| __iter += __dist; | |
| return __count - __dist; | |
| } | |
| }; | |
| template <class _AlgPolicy, class _Iter> | |
| using __policy_iter_diff_t [[__gnu__::__nodebug__]] = typename _IterOps<_AlgPolicy>::template __difference_type<_Iter>; | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_end.h" 2 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_end.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template < class _AlgPolicy, | |
| class _Iter1, | |
| class _Sent1, | |
| class _Iter2, | |
| class _Sent2, | |
| class _Pred, | |
| class _Proj1, | |
| class _Proj2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr pair<_Iter1, _Iter1> __find_end_impl( | |
| _Iter1 __first1, | |
| _Sent1 __last1, | |
| _Iter2 __first2, | |
| _Sent2 __last2, | |
| _Pred& __pred, | |
| _Proj1& __proj1, | |
| _Proj2& __proj2, | |
| forward_iterator_tag, | |
| forward_iterator_tag) { | |
| _Iter1 __match_first = _IterOps<_AlgPolicy>::next(__first1, __last1); | |
| _Iter1 __match_last = __match_first; | |
| if (__first2 == __last2) | |
| return pair<_Iter1, _Iter1>(__match_last, __match_last); | |
| while (true) { | |
| while (true) { | |
| if (__first1 == __last1) | |
| return pair<_Iter1, _Iter1>(__match_first, __match_last); | |
| if (std::__invoke(__pred, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) | |
| break; | |
| ++__first1; | |
| } | |
| _Iter1 __m1 = __first1; | |
| _Iter2 __m2 = __first2; | |
| while (true) { | |
| if (++__m2 == __last2) { | |
| __match_first = __first1; | |
| __match_last = ++__m1; | |
| ++__first1; | |
| break; | |
| } | |
| if (++__m1 == __last1) | |
| return pair<_Iter1, _Iter1>(__match_first, __match_last); | |
| if (!std::__invoke(__pred, std::__invoke(__proj1, *__m1), std::__invoke(__proj2, *__m2))) { | |
| ++__first1; | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator1 __find_end_classic( | |
| _ForwardIterator1 __first1, | |
| _ForwardIterator1 __last1, | |
| _ForwardIterator2 __first2, | |
| _ForwardIterator2 __last2, | |
| _BinaryPredicate& __pred) { | |
| auto __proj = __identity(); | |
| return std::__find_end_impl<_ClassicAlgPolicy>( | |
| __first1, | |
| __last1, | |
| __first2, | |
| __last2, | |
| __pred, | |
| __proj, | |
| __proj, | |
| typename iterator_traits<_ForwardIterator1>::iterator_category(), | |
| typename iterator_traits<_ForwardIterator2>::iterator_category()) | |
| .first; | |
| } | |
| template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator1 find_end( | |
| _ForwardIterator1 __first1, | |
| _ForwardIterator1 __last1, | |
| _ForwardIterator2 __first2, | |
| _ForwardIterator2 __last2, | |
| _BinaryPredicate __pred) { | |
| return std::__find_end_classic(__first1, __last1, __first2, __last2, __pred); | |
| } | |
| template <class _ForwardIterator1, class _ForwardIterator2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator1 | |
| find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { | |
| return std::find_end(__first1, __last1, __first2, __last2, __equal_to()); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_first_of.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_first_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _ForwardIterator1 __find_first_of_ce( | |
| _ForwardIterator1 __first1, | |
| _ForwardIterator1 __last1, | |
| _ForwardIterator2 __first2, | |
| _ForwardIterator2 __last2, | |
| _BinaryPredicate&& __pred) { | |
| for (; __first1 != __last1; ++__first1) | |
| for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j) | |
| if (__pred(*__first1, *__j)) | |
| return __first1; | |
| return __last1; | |
| } | |
| template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator1 find_first_of( | |
| _ForwardIterator1 __first1, | |
| _ForwardIterator1 __last1, | |
| _ForwardIterator2 __first2, | |
| _ForwardIterator2 __last2, | |
| _BinaryPredicate __pred) { | |
| return std::__find_first_of_ce(__first1, __last1, __first2, __last2, __pred); | |
| } | |
| template <class _ForwardIterator1, class _ForwardIterator2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator1 find_first_of( | |
| _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { | |
| return std::__find_first_of_ce(__first1, __last1, __first2, __last2, __equal_to()); | |
| } | |
| } } | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 2 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdio" 1 3 | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdio" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdio.h" 1 3 | |
| # 97 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdio.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/stdio.h" 1 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 1 3 | |
| # 88 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3 | |
| # 89 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_size_t.h" 1 3 | |
| # 94 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 103 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 | |
| # 104 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 113 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3 | |
| # 114 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 128 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 3 | |
| # 1 "//Dev/llvm-project/build/lib/clang/23/include/__stddef_offsetof.h" 1 3 | |
| # 129 "//Dev/llvm-project/build/lib/clang/23/include/stddef.h" 2 3 | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/stddef.h" 2 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 2 3 | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| extern "C" { | |
| typedef long unsigned int __wasi_size_t; | |
| ; | |
| ; | |
| typedef uint64_t __wasi_filesize_t; | |
| ; | |
| ; | |
| typedef uint64_t __wasi_timestamp_t; | |
| ; | |
| ; | |
| typedef uint32_t __wasi_clockid_t; | |
| # 102 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint16_t __wasi_errno_t; | |
| # 498 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint64_t __wasi_rights_t; | |
| # 663 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint32_t __wasi_fd_t; | |
| ; | |
| ; | |
| typedef struct __wasi_iovec_t { | |
| uint8_t * buf; | |
| __wasi_size_t buf_len; | |
| } __wasi_iovec_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef struct __wasi_ciovec_t { | |
| const uint8_t * buf; | |
| __wasi_size_t buf_len; | |
| } __wasi_ciovec_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef int64_t __wasi_filedelta_t; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_whence_t; | |
| # 744 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint64_t __wasi_dircookie_t; | |
| ; | |
| ; | |
| typedef uint32_t __wasi_dirnamlen_t; | |
| ; | |
| ; | |
| typedef uint64_t __wasi_inode_t; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_filetype_t; | |
| # 818 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef struct __wasi_dirent_t { | |
| __wasi_dircookie_t d_next; | |
| __wasi_inode_t d_ino; | |
| __wasi_dirnamlen_t d_namlen; | |
| __wasi_filetype_t d_type; | |
| } __wasi_dirent_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_advice_t; | |
| # 889 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint16_t __wasi_fdflags_t; | |
| # 924 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef struct __wasi_fdstat_t { | |
| __wasi_filetype_t fs_filetype; | |
| __wasi_fdflags_t fs_flags; | |
| __wasi_rights_t fs_rights_base; | |
| __wasi_rights_t fs_rights_inheriting; | |
| } __wasi_fdstat_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef uint64_t __wasi_device_t; | |
| ; | |
| ; | |
| typedef uint16_t __wasi_fstflags_t; | |
| # 995 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint32_t __wasi_lookupflags_t; | |
| ; | |
| ; | |
| typedef uint16_t __wasi_oflags_t; | |
| # 1036 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint64_t __wasi_linkcount_t; | |
| ; | |
| ; | |
| typedef struct __wasi_filestat_t { | |
| __wasi_device_t dev; | |
| __wasi_inode_t ino; | |
| __wasi_filetype_t filetype; | |
| __wasi_linkcount_t nlink; | |
| __wasi_filesize_t size; | |
| __wasi_timestamp_t atim; | |
| __wasi_timestamp_t mtim; | |
| __wasi_timestamp_t ctim; | |
| } __wasi_filestat_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef uint64_t __wasi_userdata_t; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_eventtype_t; | |
| # 1136 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint16_t __wasi_eventrwflags_t; | |
| ; | |
| ; | |
| typedef struct __wasi_event_fd_readwrite_t { | |
| __wasi_filesize_t nbytes; | |
| __wasi_eventrwflags_t flags; | |
| } __wasi_event_fd_readwrite_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef union __wasi_event_u_t { | |
| __wasi_event_fd_readwrite_t fd_readwrite; | |
| } __wasi_event_u_t; | |
| ; | |
| ; | |
| typedef struct __wasi_event_t { | |
| __wasi_userdata_t userdata; | |
| __wasi_errno_t error; | |
| __wasi_eventtype_t type; | |
| __wasi_event_u_t u; | |
| } __wasi_event_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef uint16_t __wasi_subclockflags_t; | |
| # 1237 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef struct __wasi_subscription_clock_t { | |
| __wasi_clockid_t id; | |
| __wasi_timestamp_t timeout; | |
| __wasi_timestamp_t precision; | |
| __wasi_subclockflags_t flags; | |
| } __wasi_subscription_clock_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef struct __wasi_subscription_fd_readwrite_t { | |
| __wasi_fd_t file_descriptor; | |
| } __wasi_subscription_fd_readwrite_t; | |
| ; | |
| ; | |
| ; | |
| typedef union __wasi_subscription_u_t { | |
| __wasi_subscription_clock_t clock; | |
| __wasi_subscription_fd_readwrite_t fd_readwrite; | |
| } __wasi_subscription_u_t; | |
| ; | |
| ; | |
| typedef struct __wasi_subscription_t { | |
| __wasi_userdata_t userdata; | |
| __wasi_eventtype_t type; | |
| __wasi_subscription_u_t u; | |
| } __wasi_subscription_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| ; | |
| typedef uint32_t __wasi_exitcode_t; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_signal_t; | |
| # 1536 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint16_t __wasi_riflags_t; | |
| # 1554 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint16_t __wasi_roflags_t; | |
| ; | |
| ; | |
| typedef uint16_t __wasi_siflags_t; | |
| ; | |
| ; | |
| typedef uint8_t __wasi_sdflags_t; | |
| # 1594 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| ; | |
| ; | |
| typedef uint8_t __wasi_preopentype_t; | |
| ; | |
| ; | |
| typedef struct __wasi_prestat_dir_t { | |
| __wasi_size_t pr_name_len; | |
| } __wasi_prestat_dir_t; | |
| ; | |
| ; | |
| ; | |
| typedef union __wasi_prestat_u_t { | |
| __wasi_prestat_dir_t dir; | |
| } __wasi_prestat_u_t; | |
| ; | |
| ; | |
| typedef struct __wasi_prestat_t { | |
| __wasi_preopentype_t pr_type; | |
| __wasi_prestat_u_t u; | |
| } __wasi_prestat_t; | |
| ; | |
| ; | |
| ; | |
| ; | |
| # 1669 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_errno_t __wasi_args_get( | |
| uint8_t * * argv, | |
| uint8_t * argv_buf | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("args_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_args_sizes_get( | |
| __wasi_size_t *argc, | |
| __wasi_size_t *argv_buf_size | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("args_sizes_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_environ_get( | |
| uint8_t * * environ, | |
| uint8_t * environ_buf | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("environ_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_environ_sizes_get( | |
| __wasi_size_t *argc, | |
| __wasi_size_t *argv_buf_size | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("environ_sizes_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_clock_res_get( | |
| __wasi_clockid_t id, | |
| __wasi_timestamp_t *resolution | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("clock_res_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_clock_time_get( | |
| __wasi_clockid_t id, | |
| __wasi_timestamp_t precision, | |
| __wasi_timestamp_t *time | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("clock_time_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_advise( | |
| __wasi_fd_t fd, | |
| __wasi_filesize_t offset, | |
| __wasi_filesize_t len, | |
| __wasi_advice_t advice | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_advise"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_allocate( | |
| __wasi_fd_t fd, | |
| __wasi_filesize_t offset, | |
| __wasi_filesize_t len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_allocate"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_close( | |
| __wasi_fd_t fd | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_close"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_datasync( | |
| __wasi_fd_t fd | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_datasync"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_fdstat_get( | |
| __wasi_fd_t fd, | |
| __wasi_fdstat_t *stat | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_fdstat_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_fdstat_set_flags( | |
| __wasi_fd_t fd, | |
| __wasi_fdflags_t flags | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_fdstat_set_flags"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_fdstat_set_rights( | |
| __wasi_fd_t fd, | |
| __wasi_rights_t fs_rights_base, | |
| __wasi_rights_t fs_rights_inheriting | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_fdstat_set_rights"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_filestat_get( | |
| __wasi_fd_t fd, | |
| __wasi_filestat_t *buf | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_filestat_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_filestat_set_size( | |
| __wasi_fd_t fd, | |
| __wasi_filesize_t size | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_filestat_set_size"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_filestat_set_times( | |
| __wasi_fd_t fd, | |
| __wasi_timestamp_t atim, | |
| __wasi_timestamp_t mtim, | |
| __wasi_fstflags_t fst_flags | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_filestat_set_times"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_pread( | |
| __wasi_fd_t fd, | |
| const __wasi_iovec_t *iovs, | |
| size_t iovs_len, | |
| __wasi_filesize_t offset, | |
| __wasi_size_t *nread | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_pread"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_prestat_get( | |
| __wasi_fd_t fd, | |
| __wasi_prestat_t *buf | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_prestat_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_prestat_dir_name( | |
| __wasi_fd_t fd, | |
| uint8_t * path, | |
| __wasi_size_t path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_prestat_dir_name"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_pwrite( | |
| __wasi_fd_t fd, | |
| const __wasi_ciovec_t *iovs, | |
| size_t iovs_len, | |
| __wasi_filesize_t offset, | |
| __wasi_size_t *nwritten | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_pwrite"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_read( | |
| __wasi_fd_t fd, | |
| const __wasi_iovec_t *iovs, | |
| size_t iovs_len, | |
| __wasi_size_t *nread | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_read"), | |
| __warn_unused_result__ | |
| )); | |
| # 2098 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_errno_t __wasi_fd_readdir( | |
| __wasi_fd_t fd, | |
| uint8_t * buf, | |
| __wasi_size_t buf_len, | |
| __wasi_dircookie_t cookie, | |
| __wasi_size_t *bufused | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_readdir"), | |
| __warn_unused_result__ | |
| )); | |
| # 2133 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_errno_t __wasi_fd_renumber( | |
| __wasi_fd_t fd, | |
| __wasi_fd_t to | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_renumber"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_seek( | |
| __wasi_fd_t fd, | |
| __wasi_filedelta_t offset, | |
| __wasi_whence_t whence, | |
| __wasi_filesize_t *newoffset | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_seek"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_sync( | |
| __wasi_fd_t fd | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_sync"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_tell( | |
| __wasi_fd_t fd, | |
| __wasi_filesize_t *offset | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_tell"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_fd_write( | |
| __wasi_fd_t fd, | |
| const __wasi_ciovec_t *iovs, | |
| size_t iovs_len, | |
| __wasi_size_t *nwritten | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("fd_write"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_create_directory( | |
| __wasi_fd_t fd, | |
| const char *path, | |
| size_t path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_create_directory"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_filestat_get( | |
| __wasi_fd_t fd, | |
| __wasi_lookupflags_t flags, | |
| const char *path, | |
| size_t path_len, | |
| __wasi_filestat_t *buf | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_filestat_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_filestat_set_times( | |
| __wasi_fd_t fd, | |
| __wasi_lookupflags_t flags, | |
| const char *path, | |
| size_t path_len, | |
| __wasi_timestamp_t atim, | |
| __wasi_timestamp_t mtim, | |
| __wasi_fstflags_t fst_flags | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_filestat_set_times"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_link( | |
| __wasi_fd_t old_fd, | |
| __wasi_lookupflags_t old_flags, | |
| const char *old_path, | |
| size_t old_path_len, | |
| __wasi_fd_t new_fd, | |
| const char *new_path, | |
| size_t new_path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_link"), | |
| __warn_unused_result__ | |
| )); | |
| # 2376 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_errno_t __wasi_path_open( | |
| __wasi_fd_t fd, | |
| __wasi_lookupflags_t dirflags, | |
| const char *path, | |
| size_t path_len, | |
| __wasi_oflags_t oflags, | |
| # 2409 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_rights_t fs_rights_base, | |
| __wasi_rights_t fs_rights_inheriting, | |
| __wasi_fdflags_t fdflags, | |
| __wasi_fd_t *opened_fd | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_open"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_readlink( | |
| __wasi_fd_t fd, | |
| const char *path, | |
| size_t path_len, | |
| uint8_t * buf, | |
| __wasi_size_t buf_len, | |
| __wasi_size_t *bufused | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_readlink"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_remove_directory( | |
| __wasi_fd_t fd, | |
| const char *path, | |
| size_t path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_remove_directory"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_rename( | |
| __wasi_fd_t fd, | |
| const char *old_path, | |
| size_t old_path_len, | |
| __wasi_fd_t new_fd, | |
| const char *new_path, | |
| size_t new_path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_rename"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_symlink( | |
| const char *old_path, | |
| size_t old_path_len, | |
| __wasi_fd_t fd, | |
| const char *new_path, | |
| size_t new_path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_symlink"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_path_unlink_file( | |
| __wasi_fd_t fd, | |
| const char *path, | |
| size_t path_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("path_unlink_file"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_poll_oneoff( | |
| const __wasi_subscription_t * in, | |
| __wasi_event_t * out, | |
| __wasi_size_t nsubscriptions, | |
| __wasi_size_t *nevents | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("poll_oneoff"), | |
| __warn_unused_result__ | |
| )); | |
| __attribute__((__noreturn__)) void __wasi_proc_exit( | |
| __wasi_exitcode_t rval | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("proc_exit"))); | |
| __wasi_errno_t __wasi_proc_raise( | |
| __wasi_signal_t sig | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("proc_raise"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_sched_yield( | |
| void | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("sched_yield"), | |
| __warn_unused_result__ | |
| )); | |
| # 2652 "//Dev/emscripten/cache/sysroot/include/wasi/api.h" 3 | |
| __wasi_errno_t __wasi_random_get( | |
| uint8_t * buf, | |
| __wasi_size_t buf_len | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("random_get"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_sock_recv( | |
| __wasi_fd_t fd, | |
| const __wasi_iovec_t *ri_data, | |
| size_t ri_data_len, | |
| __wasi_riflags_t ri_flags, | |
| __wasi_size_t *ro_datalen, | |
| __wasi_roflags_t *ro_flags | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("sock_recv"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_sock_send( | |
| __wasi_fd_t fd, | |
| const __wasi_ciovec_t *si_data, | |
| size_t si_data_len, | |
| __wasi_siflags_t si_flags, | |
| __wasi_size_t *so_datalen | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("sock_send"), | |
| __warn_unused_result__ | |
| )); | |
| __wasi_errno_t __wasi_sock_shutdown( | |
| __wasi_fd_t fd, | |
| __wasi_sdflags_t how | |
| ) __attribute__(( | |
| __import_module__("wasi_snapshot_preview1"), | |
| __import_name__("sock_shutdown"), | |
| __warn_unused_result__ | |
| )); | |
| } | |
| # 6 "//Dev/emscripten/cache/sysroot/include/stdio.h" 2 3 | |
| extern "C" { | |
| # 30 "//Dev/emscripten/cache/sysroot/include/stdio.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 1 3 | |
| # 120 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef long int ssize_t; | |
| # 217 "//Dev/emscripten/cache/sysroot/include/bits/alltypes.h" 3 | |
| typedef long long int off_t; | |
| # 31 "//Dev/emscripten/cache/sysroot/include/stdio.h" 2 3 | |
| # 66 "//Dev/emscripten/cache/sysroot/include/stdio.h" 3 | |
| typedef union _G_fpos64_t { | |
| char __opaque[16]; | |
| long long __lldata; | |
| double __align; | |
| } fpos_t; | |
| extern FILE *const stdin; | |
| extern FILE *const stdout; | |
| extern FILE *const stderr; | |
| FILE *fopen(const char *__restrict, const char *__restrict); | |
| FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict); | |
| int fclose(FILE *); | |
| int remove(const char *); | |
| int rename(const char *, const char *); | |
| int feof(FILE *); | |
| int ferror(FILE *); | |
| int fflush(FILE *); | |
| void clearerr(FILE *); | |
| int fseek(FILE *, long, int); | |
| long ftell(FILE *); | |
| void rewind(FILE *); | |
| int fgetpos(FILE *__restrict, fpos_t *__restrict); | |
| int fsetpos(FILE *, const fpos_t *); | |
| size_t fread(void *__restrict, size_t, size_t, FILE *__restrict); | |
| size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict); | |
| int fgetc(FILE *); | |
| int getc(FILE *); | |
| int getchar(void); | |
| int ungetc(int, FILE *); | |
| int fputc(int, FILE *); | |
| int putc(int, FILE *); | |
| int putchar(int); | |
| char *fgets(char *__restrict, int, FILE *__restrict); | |
| char *gets(char *); | |
| int fputs(const char *__restrict, FILE *__restrict); | |
| int puts(const char *); | |
| int printf(const char *__restrict, ...); | |
| int fprintf(FILE *__restrict, const char *__restrict, ...); | |
| int sprintf(char *__restrict, const char *__restrict, ...); | |
| int snprintf(char *__restrict, size_t, const char *__restrict, ...); | |
| int vprintf(const char *__restrict, __isoc_va_list); | |
| int vfprintf(FILE *__restrict, const char *__restrict, __isoc_va_list); | |
| int vsprintf(char *__restrict, const char *__restrict, __isoc_va_list); | |
| int vsnprintf(char *__restrict, size_t, const char *__restrict, __isoc_va_list); | |
| int scanf(const char *__restrict, ...); | |
| int fscanf(FILE *__restrict, const char *__restrict, ...); | |
| int sscanf(const char *__restrict, const char *__restrict, ...); | |
| int vscanf(const char *__restrict, __isoc_va_list); | |
| int vfscanf(FILE *__restrict, const char *__restrict, __isoc_va_list); | |
| int vsscanf(const char *__restrict, const char *__restrict, __isoc_va_list); | |
| void perror(const char *); | |
| int setvbuf(FILE *__restrict, char *__restrict, int, size_t); | |
| void setbuf(FILE *__restrict, char *__restrict); | |
| char *tmpnam(char *); | |
| FILE *tmpfile(void); | |
| FILE *fmemopen(void *__restrict, size_t, const char *__restrict); | |
| FILE *open_memstream(char **, size_t *); | |
| FILE *fdopen(int, const char *); | |
| FILE *popen(const char *, const char *); | |
| int pclose(FILE *); | |
| int fileno(FILE *); | |
| int fseeko(FILE *, off_t, int); | |
| off_t ftello(FILE *); | |
| int dprintf(int, const char *__restrict, ...); | |
| int vdprintf(int, const char *__restrict, __isoc_va_list); | |
| void flockfile(FILE *); | |
| int ftrylockfile(FILE *); | |
| void funlockfile(FILE *); | |
| int getc_unlocked(FILE *); | |
| int getchar_unlocked(void); | |
| int putc_unlocked(int, FILE *); | |
| int putchar_unlocked(int); | |
| ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict); | |
| ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict); | |
| int renameat(int, const char *, int, const char *); | |
| char *ctermid(char *); | |
| char *tempnam(const char *, const char *); | |
| char *cuserid(char *); | |
| void setlinebuf(FILE *); | |
| void setbuffer(FILE *, char *, size_t); | |
| int fgetc_unlocked(FILE *); | |
| int fputc_unlocked(int, FILE *); | |
| int fflush_unlocked(FILE *); | |
| size_t fread_unlocked(void *, size_t, size_t, FILE *); | |
| size_t fwrite_unlocked(const void *, size_t, size_t, FILE *); | |
| void clearerr_unlocked(FILE *); | |
| int feof_unlocked(FILE *); | |
| int ferror_unlocked(FILE *); | |
| int fileno_unlocked(FILE *); | |
| int getw(FILE *); | |
| int putw(int, FILE *); | |
| char *fgetln(FILE *, size_t *); | |
| int asprintf(char **, const char *, ...); | |
| int vasprintf(char **, const char *, __isoc_va_list); | |
| char *fgets_unlocked(char *, int, FILE *); | |
| int fputs_unlocked(const char *, FILE *); | |
| typedef ssize_t (cookie_read_function_t)(void *, char *, size_t); | |
| typedef ssize_t (cookie_write_function_t)(void *, const char *, size_t); | |
| typedef int (cookie_seek_function_t)(void *, off_t *, int); | |
| typedef int (cookie_close_function_t)(void *); | |
| typedef struct _IO_cookie_io_functions_t { | |
| cookie_read_function_t *read; | |
| cookie_write_function_t *write; | |
| cookie_seek_function_t *seek; | |
| cookie_close_function_t *close; | |
| } cookie_io_functions_t; | |
| FILE *fopencookie(void *, const char *, cookie_io_functions_t); | |
| # 231 "//Dev/emscripten/cache/sysroot/include/stdio.h" 3 | |
| } | |
| # 104 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdio.h" 2 3 | |
| # 105 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdio" 2 3 | |
| # 116 "//Dev/emscripten/cache/sysroot/include/c++/v1/cstdio" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| using ::FILE __attribute__((__using_if_exists__)); | |
| using ::fpos_t __attribute__((__using_if_exists__)); | |
| using ::fclose __attribute__((__using_if_exists__)); | |
| using ::fflush __attribute__((__using_if_exists__)); | |
| using ::setbuf __attribute__((__using_if_exists__)); | |
| using ::setvbuf __attribute__((__using_if_exists__)); | |
| using ::fprintf __attribute__((__using_if_exists__)); | |
| using ::fscanf __attribute__((__using_if_exists__)); | |
| using ::snprintf __attribute__((__using_if_exists__)); | |
| using ::sprintf __attribute__((__using_if_exists__)); | |
| using ::sscanf __attribute__((__using_if_exists__)); | |
| using ::vfprintf __attribute__((__using_if_exists__)); | |
| using ::vfscanf __attribute__((__using_if_exists__)); | |
| using ::vsscanf __attribute__((__using_if_exists__)); | |
| using ::vsnprintf __attribute__((__using_if_exists__)); | |
| using ::vsprintf __attribute__((__using_if_exists__)); | |
| using ::fgetc __attribute__((__using_if_exists__)); | |
| using ::fgets __attribute__((__using_if_exists__)); | |
| using ::fputc __attribute__((__using_if_exists__)); | |
| using ::fputs __attribute__((__using_if_exists__)); | |
| using ::getc __attribute__((__using_if_exists__)); | |
| using ::putc __attribute__((__using_if_exists__)); | |
| using ::ungetc __attribute__((__using_if_exists__)); | |
| using ::fread __attribute__((__using_if_exists__)); | |
| using ::fwrite __attribute__((__using_if_exists__)); | |
| using ::fgetpos __attribute__((__using_if_exists__)); | |
| using ::fseek __attribute__((__using_if_exists__)); | |
| using ::fsetpos __attribute__((__using_if_exists__)); | |
| using ::ftell __attribute__((__using_if_exists__)); | |
| using ::rewind __attribute__((__using_if_exists__)); | |
| using ::clearerr __attribute__((__using_if_exists__)); | |
| using ::feof __attribute__((__using_if_exists__)); | |
| using ::ferror __attribute__((__using_if_exists__)); | |
| using ::perror __attribute__((__using_if_exists__)); | |
| using ::fopen __attribute__((__using_if_exists__)); | |
| using ::freopen __attribute__((__using_if_exists__)); | |
| using ::remove __attribute__((__using_if_exists__)); | |
| using ::rename __attribute__((__using_if_exists__)); | |
| using ::tmpfile __attribute__((__using_if_exists__)); | |
| using ::tmpnam __attribute__((__using_if_exists__)); | |
| using ::getchar __attribute__((__using_if_exists__)); | |
| using ::scanf __attribute__((__using_if_exists__)); | |
| using ::vscanf __attribute__((__using_if_exists__)); | |
| using ::printf __attribute__((__using_if_exists__)); | |
| using ::putchar __attribute__((__using_if_exists__)); | |
| using ::puts __attribute__((__using_if_exists__)); | |
| using ::vprintf __attribute__((__using_if_exists__)); | |
| } } | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 2 3 | |
| # 38 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 42 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT> | |
| struct char_traits; | |
| # 80 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| template <> | |
| struct char_traits<char> { | |
| using char_type = char; | |
| using int_type = int; | |
| using off_type = streamoff; | |
| using pos_type = streampos; | |
| using state_type = mbstate_t; | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| assign(char_type& __c1, const char_type& __c2) noexcept { | |
| __c1 = __c2; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) constexpr bool eq(char_type __c1, char_type __c2) noexcept { | |
| return __c1 == __c2; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool lt(char_type __c1, char_type __c2) noexcept { | |
| return (unsigned char)__c1 < (unsigned char)__c2; | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| compare(const char_type* __lhs, const char_type* __rhs, size_t __count) noexcept { | |
| if (__libcpp_is_constant_evaluated()) { | |
| return __builtin_memcmp(__lhs, __rhs, __count); | |
| # 124 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| } else { | |
| return __builtin_memcmp(__lhs, __rhs, __count); | |
| } | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t constexpr length(const char_type* __s) noexcept { | |
| return std::__constexpr_strlen(__s); | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const char_type* | |
| find(const char_type* __s, size_t __n, const char_type& __a) noexcept { | |
| return std::__constexpr_memchr(__s, __a, __n); | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) char_type* | |
| move(char_type* __s1, const char_type* __s2, size_t __n) noexcept { | |
| return std::__constexpr_memmove(__s1, __s2, __element_count(__n)); | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) char_type* | |
| copy(char_type* __s1, const char_type* __s2, size_t __n) noexcept { | |
| ((void)0); | |
| std::__constexpr_memmove(__s1, __s2, __element_count(__n)); | |
| return __s1; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) char_type* | |
| assign(char_type* __s, size_t __n, char_type __a) noexcept { | |
| std::fill_n(__s, __n, __a); | |
| return __s; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int_type not_eof(int_type __c) noexcept { | |
| return eq_int_type(__c, eof()) ? ~eof() : __c; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr char_type to_char_type(int_type __c) noexcept { | |
| return char_type(__c); | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int_type to_int_type(char_type __c) noexcept { | |
| return int_type((unsigned char)__c); | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool eq_int_type(int_type __c1, int_type __c2) noexcept { | |
| return __c1 == __c2; | |
| } | |
| static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int_type eof() noexcept { return int_type((-1)); } | |
| }; | |
| template <class _CharT, class _IntT, _IntT _EOFVal> | |
| struct __char_traits_base { | |
| using char_type = _CharT; | |
| using int_type = _IntT; | |
| using off_type = streamoff; | |
| using state_type = mbstate_t; | |
| using pos_type = fpos<mbstate_t>; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static inline constexpr void | |
| assign(char_type& __lhs, const char_type& __rhs) noexcept { | |
| __lhs = __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr bool eq(char_type __lhs, char_type __rhs) noexcept { | |
| return __lhs == __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr bool lt(char_type __lhs, char_type __rhs) noexcept { | |
| return __lhs < __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static char_type* | |
| move(char_type* __dest, const char_type* __src, size_t __n) noexcept { | |
| return std::__constexpr_memmove(__dest, __src, __element_count(__n)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static char_type* | |
| copy(char_type* __dest, const char_type* __src, size_t __n) noexcept { | |
| ((void)0); | |
| return std::__constexpr_memmove(__dest, __src, __element_count(__n)); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static char_type* | |
| assign(char_type* __str, size_t __n, char_type __fill_char) noexcept { | |
| std::fill_n(__str, __n, __fill_char); | |
| return __str; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr char_type to_char_type(int_type __c) noexcept { | |
| return char_type(__c); | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr int_type to_int_type(char_type __c) noexcept { return int_type(__c); } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr bool eq_int_type(int_type __lhs, int_type __rhs) noexcept { | |
| return __lhs == __rhs; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr int_type eof() noexcept { return _EOFVal; } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr int_type not_eof(int_type __c) noexcept { | |
| return eq_int_type(__c, eof()) ? static_cast<int_type>(~eof()) : __c; | |
| } | |
| }; | |
| template <> | |
| struct char_traits<wchar_t> : __char_traits_base<wchar_t, wint_t, static_cast<wint_t>(0xffffffffU)> { | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int | |
| compare(const char_type* __s1, const char_type* __s2, size_t __n) noexcept { | |
| if (__n == 0) | |
| return 0; | |
| return std::__constexpr_wmemcmp(__s1, __s2, __n); | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t length(const char_type* __s) noexcept { | |
| return std::__constexpr_wcslen(__s); | |
| } | |
| static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const char_type* | |
| find(const char_type* __s, size_t __n, const char_type& __a) noexcept { | |
| return std::__constexpr_wmemchr(__s, __a, __n); | |
| } | |
| }; | |
| # 277 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h" 3 | |
| template <> | |
| struct char_traits<char16_t> : __char_traits_base<char16_t, uint_least16_t, static_cast<uint_least16_t>(0xFFFF)> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr int | |
| compare(const char_type* __s1, const char_type* __s2, size_t __n) noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr size_t length(const char_type* __s) noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr const char_type* | |
| find(const char_type* __s, size_t __n, const char_type& __a) noexcept { | |
| __identity __proj; | |
| const char_type* __match = std::__find(__s, __s + __n, __a, __proj); | |
| if (__match == __s + __n) | |
| return nullptr; | |
| return __match; | |
| } | |
| }; | |
| inline constexpr int | |
| char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) noexcept { | |
| for (; __n; --__n, ++__s1, ++__s2) { | |
| if (lt(*__s1, *__s2)) | |
| return -1; | |
| if (lt(*__s2, *__s1)) | |
| return 1; | |
| } | |
| return 0; | |
| } | |
| inline constexpr size_t char_traits<char16_t>::length(const char_type* __s) noexcept { | |
| size_t __len = 0; | |
| for (; !eq(*__s, char_type(0)); ++__s) | |
| ++__len; | |
| return __len; | |
| } | |
| template <> | |
| struct char_traits<char32_t> : __char_traits_base<char32_t, uint_least32_t, static_cast<uint_least32_t>(0xFFFFFFFF)> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr int | |
| compare(const char_type* __s1, const char_type* __s2, size_t __n) noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr size_t length(const char_type* __s) noexcept; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) static constexpr const char_type* | |
| find(const char_type* __s, size_t __n, const char_type& __a) noexcept { | |
| __identity __proj; | |
| const char_type* __match = std::__find(__s, __s + __n, __a, __proj); | |
| if (__match == __s + __n) | |
| return nullptr; | |
| return __match; | |
| } | |
| }; | |
| inline constexpr int | |
| char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) noexcept { | |
| for (; __n; --__n, ++__s1, ++__s2) { | |
| if (lt(*__s1, *__s2)) | |
| return -1; | |
| if (lt(*__s2, *__s1)) | |
| return 1; | |
| } | |
| return 0; | |
| } | |
| inline constexpr size_t char_traits<char32_t>::length(const char_type* __s) noexcept { | |
| size_t __len = 0; | |
| for (; !eq(*__s, char_type(0)); ++__s) | |
| ++__len; | |
| return __len; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find(const _CharT* __p, _SizeT __sz, _CharT __c, _SizeT __pos) noexcept { | |
| if (__pos > __sz) | |
| return __npos; | |
| const _CharT* __r = _Traits::find(__p + __pos, __sz - __pos, __c); | |
| if (__r == nullptr) | |
| return __npos; | |
| return static_cast<_SizeT>(__r - __p); | |
| } | |
| template <class _CharT, class _Traits> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) inline constexpr const _CharT* __search_substring( | |
| const _CharT* __first1, const _CharT* __last1, const _CharT* __first2, const _CharT* __last2) noexcept { | |
| const ptrdiff_t __len2 = __last2 - __first2; | |
| if (__len2 == 0) | |
| return __first1; | |
| ptrdiff_t __len1 = __last1 - __first1; | |
| if (__len1 < __len2) | |
| return __last1; | |
| _CharT __f2 = *__first2; | |
| while (true) { | |
| __len1 = __last1 - __first1; | |
| if (__len1 < __len2) | |
| return __last1; | |
| __first1 = _Traits::find(__first1, __len1 - __len2 + 1, __f2); | |
| if (__first1 == nullptr) | |
| return __last1; | |
| if (_Traits::compare(__first1, __first2, __len2) == 0) | |
| return __first1; | |
| ++__first1; | |
| } | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| if (__pos > __sz) | |
| return __npos; | |
| if (__n == 0) | |
| return __pos; | |
| const _CharT* __r = std::__search_substring<_CharT, _Traits>(__p + __pos, __p + __sz, __s, __s + __n); | |
| if (__r == __p + __sz) | |
| return __npos; | |
| return static_cast<_SizeT>(__r - __p); | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_rfind(const _CharT* __p, _SizeT __sz, _CharT __c, _SizeT __pos) noexcept { | |
| if (__sz < 1) | |
| return __npos; | |
| if (__pos < __sz) | |
| ++__pos; | |
| else | |
| __pos = __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __p;) { | |
| if (_Traits::eq(*--__ps, __c)) | |
| return static_cast<_SizeT>(__ps - __p); | |
| } | |
| return __npos; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_rfind(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| __pos = std::min(__pos, __sz); | |
| if (__n < __sz - __pos) | |
| __pos += __n; | |
| else | |
| __pos = __sz; | |
| const _CharT* __r = std::__find_end_classic(__p, __p + __pos, __s, __s + __n, _Traits::eq); | |
| if (__n > 0 && __r == __p + __pos) | |
| return __npos; | |
| return static_cast<_SizeT>(__r - __p); | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_first_of(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| if (__pos >= __sz || __n == 0) | |
| return __npos; | |
| const _CharT* __r = std::__find_first_of_ce(__p + __pos, __p + __sz, __s, __s + __n, _Traits::eq); | |
| if (__r == __p + __sz) | |
| return __npos; | |
| return static_cast<_SizeT>(__r - __p); | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_last_of(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| if (__n != 0) { | |
| if (__pos < __sz) | |
| ++__pos; | |
| else | |
| __pos = __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __p;) { | |
| const _CharT* __r = _Traits::find(__s, __n, *--__ps); | |
| if (__r) | |
| return static_cast<_SizeT>(__ps - __p); | |
| } | |
| } | |
| return __npos; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_first_not_of(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| if (__pos < __sz) { | |
| const _CharT* __pe = __p + __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __pe; ++__ps) | |
| if (_Traits::find(__s, __n, *__ps) == nullptr) | |
| return static_cast<_SizeT>(__ps - __p); | |
| } | |
| return __npos; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_first_not_of(const _CharT* __p, _SizeT __sz, _CharT __c, _SizeT __pos) noexcept { | |
| if (__pos < __sz) { | |
| const _CharT* __pe = __p + __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __pe; ++__ps) | |
| if (!_Traits::eq(*__ps, __c)) | |
| return static_cast<_SizeT>(__ps - __p); | |
| } | |
| return __npos; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_last_not_of(const _CharT* __p, _SizeT __sz, const _CharT* __s, _SizeT __pos, _SizeT __n) noexcept { | |
| if (__pos < __sz) | |
| ++__pos; | |
| else | |
| __pos = __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __p;) | |
| if (_Traits::find(__s, __n, *--__ps) == nullptr) | |
| return static_cast<_SizeT>(__ps - __p); | |
| return __npos; | |
| } | |
| template <class _CharT, class _SizeT, class _Traits, _SizeT __npos> | |
| inline _SizeT constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| __str_find_last_not_of(const _CharT* __p, _SizeT __sz, _CharT __c, _SizeT __pos) noexcept { | |
| if (__pos < __sz) | |
| ++__pos; | |
| else | |
| __pos = __sz; | |
| for (const _CharT* __ps = __p + __pos; __ps != __p;) | |
| if (!_Traits::eq(*--__ps, __c)) | |
| return static_cast<_SizeT>(__ps - __p); | |
| return __npos; | |
| } | |
| template <class _Ptr> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t __do_string_hash(_Ptr __p, _Ptr __e) { | |
| typedef typename iterator_traits<_Ptr>::value_type value_type; | |
| return std::__hash_memory(__p, (__e - __p) * sizeof(value_type)); | |
| } | |
| } } | |
| # 625 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/extern_template_lists.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__string/extern_template_lists.h" 3 | |
| # 626 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_allocator.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__type_traits/is_allocator.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <typename _Alloc, typename = void, typename = void> | |
| struct __is_allocator : false_type {}; | |
| template <typename _Alloc> | |
| struct __is_allocator<_Alloc, | |
| __void_t<typename _Alloc::value_type>, | |
| __void_t<decltype(std::declval<_Alloc&>().allocate(size_t(0)))> > : true_type {}; | |
| } } | |
| # 629 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 646 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/scope_guard.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/scope_guard.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__utility/scope_guard.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Func> | |
| class __scope_guard { | |
| _Func __func_; | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit __scope_guard(_Func __func) : __func_(std::move(__func)) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) ~__scope_guard() { __func_(); } | |
| __scope_guard(const __scope_guard&) = delete; | |
| __scope_guard& operator=(const __scope_guard&) = delete; | |
| __scope_guard& operator=(__scope_guard&&) = delete; | |
| __scope_guard(__scope_guard&&) = delete; | |
| }; | |
| template <class _Func> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __scope_guard<_Func> __make_scope_guard(_Func __func) { | |
| return __scope_guard<_Func>(std::move(__func)); | |
| } | |
| } } | |
| # 647 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdexcept" 1 3 | |
| # 54 "//Dev/emscripten/cache/sysroot/include/c++/v1/stdexcept" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| class __attribute__((__visibility__("hidden"))) __libcpp_refstring { | |
| const char* __imp_; | |
| bool __uses_refcount() const; | |
| public: | |
| explicit __libcpp_refstring(const char* __msg); | |
| __libcpp_refstring(const __libcpp_refstring& __s) noexcept; | |
| __libcpp_refstring& operator=(const __libcpp_refstring& __s) noexcept; | |
| ~__libcpp_refstring(); | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const char* c_str() const noexcept { return __imp_; } | |
| }; | |
| } } | |
| namespace std | |
| { | |
| class __attribute__((__visibility__("default"))) logic_error : public exception { | |
| private: | |
| std::__libcpp_refstring __imp_; | |
| public: | |
| explicit logic_error(const string&); | |
| explicit logic_error(const char*); | |
| logic_error(const logic_error&) noexcept; | |
| logic_error& operator=(const logic_error&) noexcept; | |
| ~logic_error() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) runtime_error : public exception { | |
| private: | |
| std::__libcpp_refstring __imp_; | |
| public: | |
| explicit runtime_error(const string&); | |
| explicit runtime_error(const char*); | |
| runtime_error(const runtime_error&) noexcept; | |
| runtime_error& operator=(const runtime_error&) noexcept; | |
| ~runtime_error() noexcept override; | |
| const char* what() const noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) domain_error : public logic_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit domain_error(const string& __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit domain_error(const char* __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) domain_error(const domain_error&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) domain_error& operator=(const domain_error&) noexcept = default; | |
| ~domain_error() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) invalid_argument : public logic_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit invalid_argument(const string& __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit invalid_argument(const char* __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) invalid_argument(const invalid_argument&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) invalid_argument& operator=(const invalid_argument&) noexcept = default; | |
| ~invalid_argument() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) length_error : public logic_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit length_error(const string& __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit length_error(const char* __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) length_error(const length_error&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) length_error& operator=(const length_error&) noexcept = default; | |
| ~length_error() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) out_of_range : public logic_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit out_of_range(const string& __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit out_of_range(const char* __s) : logic_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) out_of_range(const out_of_range&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) out_of_range& operator=(const out_of_range&) noexcept = default; | |
| ~out_of_range() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) range_error : public runtime_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit range_error(const string& __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit range_error(const char* __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) range_error(const range_error&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) range_error& operator=(const range_error&) noexcept = default; | |
| ~range_error() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) overflow_error : public runtime_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit overflow_error(const string& __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit overflow_error(const char* __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) overflow_error(const overflow_error&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) overflow_error& operator=(const overflow_error&) noexcept = default; | |
| ~overflow_error() noexcept override; | |
| }; | |
| class __attribute__((__visibility__("default"))) underflow_error : public runtime_error { | |
| public: | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit underflow_error(const string& __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) explicit underflow_error(const char* __s) : runtime_error(__s) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) underflow_error(const underflow_error&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) underflow_error& operator=(const underflow_error&) noexcept = default; | |
| ~underflow_error() noexcept override; | |
| }; | |
| } | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| [[__noreturn__]] __attribute__((__visibility__("default"))) void __throw_runtime_error(const char*); | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_logic_error(const char* __msg) { | |
| throw logic_error(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_domain_error(const char* __msg) { | |
| throw domain_error(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_invalid_argument(const char* __msg) { | |
| throw invalid_argument(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_length_error(const char* __msg) { | |
| throw length_error(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_out_of_range(const char* __msg) { | |
| throw out_of_range(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_range_error(const char* __msg) { | |
| throw range_error(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_overflow_error(const char* __msg) { | |
| throw overflow_error(__msg); | |
| } | |
| [[__noreturn__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void __throw_underflow_error(const char* __msg) { | |
| throw underflow_error(__msg); | |
| } | |
| } } | |
| # 654 "//Dev/emscripten/cache/sysroot/include/c++/v1/string" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 1 3 | |
| # 221 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string_view.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__fwd/string_view.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _CharT, class _Traits = char_traits<_CharT> > | |
| class basic_string_view; | |
| typedef basic_string_view<char> string_view; | |
| typedef basic_string_view<char16_t> u16string_view; | |
| typedef basic_string_view<char32_t> u32string_view; | |
| typedef basic_string_view<wchar_t> wstring_view; | |
| template <class _CharT, class _Traits> | |
| class [[_Clang::__preferred_name__(string_view)]] | |
| [[_Clang::__preferred_name__(wstring_view)]] | |
| [[_Clang::__preferred_name__(u16string_view)]] | |
| [[_Clang::__preferred_name__(u32string_view)]] | |
| basic_string_view; | |
| } } | |
| # 222 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 251 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/access.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/access.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, size_t _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* begin(_Tp (&__array)[_Np]) noexcept { | |
| return __array; | |
| } | |
| template <class _Tp, size_t _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* end(_Tp (&__array)[_Np]) noexcept { | |
| return __array + _Np; | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto begin(_Cp& __c) -> decltype(__c.begin()) { | |
| return __c.begin(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto begin(const _Cp& __c) -> decltype(__c.begin()) { | |
| return __c.begin(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto end(_Cp& __c) -> decltype(__c.end()) { | |
| return __c.end(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto end(const _Cp& __c) -> decltype(__c.end()) { | |
| return __c.end(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto | |
| cbegin(const _Cp& __c) noexcept(noexcept(std::begin(__c))) -> decltype(std::begin(__c)) { | |
| return std::begin(__c); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto cend(const _Cp& __c) noexcept(noexcept(std::end(__c))) -> decltype(std::end(__c)) { | |
| return std::end(__c); | |
| } | |
| # 93 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/access.h" 3 | |
| } } | |
| # 252 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/data.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/data.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Cont> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) auto data(_Cont& __c) noexcept(noexcept(__c.data())) -> decltype(__c.data()) { | |
| return __c.data(); | |
| } | |
| template <class _Cont> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) auto data(const _Cont& __c) noexcept(noexcept(__c.data())) -> decltype(__c.data()) { | |
| return __c.data(); | |
| } | |
| template <class _Tp, size_t _Sz> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp* data(_Tp (&__array)[_Sz]) noexcept { | |
| return __array; | |
| } | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr const _Ep* data(initializer_list<_Ep> __il) noexcept { | |
| return __il.begin(); | |
| } | |
| } } | |
| # 253 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/empty.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/empty.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Cont> | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto | |
| empty(const _Cont& __c) noexcept(noexcept(__c.empty())) -> decltype(__c.empty()) { | |
| return __c.empty(); | |
| } | |
| template <class _Tp, size_t _Sz> | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool empty(const _Tp (&)[_Sz]) noexcept { | |
| return false; | |
| } | |
| template <class _Ep> | |
| [[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool empty(initializer_list<_Ep> __il) noexcept { | |
| return __il.size() == 0; | |
| } | |
| } } | |
| # 254 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_access.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_access.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp, size_t _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np]) { | |
| return reverse_iterator<_Tp*>(__array + _Np); | |
| } | |
| template <class _Tp, size_t _Np> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np]) { | |
| return reverse_iterator<_Tp*>(__array); | |
| } | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il) { | |
| return reverse_iterator<const _Ep*>(__il.end()); | |
| } | |
| template <class _Ep> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il) { | |
| return reverse_iterator<const _Ep*>(__il.begin()); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto rbegin(_Cp& __c) -> decltype(__c.rbegin()) { | |
| return __c.rbegin(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto rbegin(const _Cp& __c) -> decltype(__c.rbegin()) { | |
| return __c.rbegin(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto rend(_Cp& __c) -> decltype(__c.rend()) { | |
| return __c.rend(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto rend(const _Cp& __c) -> decltype(__c.rend()) { | |
| return __c.rend(); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto crbegin(const _Cp& __c) -> decltype(std::rbegin(__c)) { | |
| return std::rbegin(__c); | |
| } | |
| template <class _Cp> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto crend(const _Cp& __c) -> decltype(std::rend(__c)) { | |
| return std::rend(__c); | |
| } | |
| } } | |
| # 255 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/size.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/size.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Cont> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr auto size(const _Cont& __c) noexcept(noexcept(__c.size())) -> decltype(__c.size()) { | |
| return __c.size(); | |
| } | |
| template <class _Tp, size_t _Sz> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr size_t size(const _Tp (&)[_Sz]) noexcept { | |
| return _Sz; | |
| } | |
| # 58 "//Dev/emscripten/cache/sysroot/include/c++/v1/__iterator/size.h" 3 | |
| } } | |
| # 256 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| # 262 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 266 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Traits> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr inline size_t | |
| __char_traits_length_checked(const typename _Traits::char_type* __s) noexcept { | |
| return ((void)0), | |
| _Traits::length(__s); | |
| } | |
| template <class _CharT, class _Traits> | |
| class basic_string_view { | |
| public: | |
| using traits_type = _Traits; | |
| using value_type = _CharT; | |
| using pointer = _CharT*; | |
| using const_pointer = const _CharT*; | |
| using reference = _CharT&; | |
| using const_reference = const _CharT&; | |
| using const_iterator = __wrap_iter<const_pointer>; | |
| using iterator = const_iterator; | |
| using const_reverse_iterator = std::reverse_iterator<const_iterator>; | |
| using reverse_iterator = const_reverse_iterator; | |
| using size_type = size_t; | |
| using difference_type = ptrdiff_t; | |
| static constexpr const size_type npos = -1; | |
| static_assert(!is_array<value_type>::value, "Character type of basic_string_view must not be an array"); | |
| static_assert(is_standard_layout<value_type>::value, "Character type of basic_string_view must be standard-layout"); | |
| static_assert(is_trivially_default_constructible<value_type>::value, | |
| "Character type of basic_string_view must be trivially default constructible"); | |
| static_assert(is_trivially_copyable<value_type>::value, | |
| "Character type of basic_string_view must be trivially copyable"); | |
| static_assert(is_same<_CharT, typename traits_type::char_type>::value, | |
| "traits_type::char_type must be the same type as CharT"); | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view() noexcept : __data_(nullptr), __size_(0) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view(const basic_string_view&) noexcept = default; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view& operator=(const basic_string_view&) noexcept = default; | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view(const _CharT* __s, size_type __len) noexcept | |
| : __data_(__s), | |
| __size_(__len) { | |
| ((void)0); | |
| ((void)0); | |
| } | |
| # 355 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view(const _CharT* __s) | |
| : __data_(__s), __size_(std::__char_traits_length_checked<_Traits>(__s)) {} | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_iterator begin() const noexcept { return cbegin(); } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_iterator end() const noexcept { return cend(); } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_iterator cbegin() const noexcept { | |
| return const_iterator(__data_); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_iterator cend() const noexcept { | |
| return const_iterator(__data_ + __size_); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reverse_iterator rbegin() const noexcept { | |
| return const_reverse_iterator(cend()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reverse_iterator rend() const noexcept { | |
| return const_reverse_iterator(cbegin()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reverse_iterator crbegin() const noexcept { | |
| return const_reverse_iterator(cend()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reverse_iterator crend() const noexcept { | |
| return const_reverse_iterator(cbegin()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type size() const noexcept { return __size_; } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type length() const noexcept { return __size_; } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type max_size() const noexcept { | |
| return numeric_limits<size_type>::max() / sizeof(value_type); | |
| } | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool empty() const noexcept { return __size_ == 0; } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reference operator[](size_type __pos) const noexcept { | |
| return ((void)0), __data_[__pos]; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reference at(size_type __pos) const { | |
| return __pos >= size() ? (__throw_out_of_range("string_view::at"), __data_[0]) : __data_[__pos]; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reference front() const noexcept { | |
| return ((void)0), __data_[0]; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_reference back() const noexcept { | |
| return ((void)0), __data_[__size_ - 1]; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) const_pointer data() const noexcept { return __data_; } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void remove_prefix(size_type __n) noexcept { | |
| ((void)0); | |
| __data_ += __n; | |
| __size_ -= __n; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void remove_suffix(size_type __n) noexcept { | |
| ((void)0); | |
| __size_ -= __n; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void swap(basic_string_view& __other) noexcept { | |
| const value_type* __p = __data_; | |
| __data_ = __other.__data_; | |
| __other.__data_ = __p; | |
| size_type __sz = __size_; | |
| __size_ = __other.__size_; | |
| __other.__size_ = __sz; | |
| } | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| copy(_CharT* __s, size_type __n, size_type __pos = 0) const { | |
| if (__pos > size()) | |
| std::__throw_out_of_range("string_view::copy"); | |
| size_type __rlen = std::min(__n, size() - __pos); | |
| _Traits::copy(__s, data() + __pos, __rlen); | |
| return __rlen; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_string_view substr(size_type __pos = 0, size_type __n = npos) const { | |
| return __pos > size() ? (__throw_out_of_range("string_view::substr"), basic_string_view()) | |
| : basic_string_view(__assume_valid(), data() + __pos, std::min(__n, size() - __pos)); | |
| } | |
| constexpr int compare(basic_string_view __sv) const noexcept { | |
| size_type __rlen = std::min(size(), __sv.size()); | |
| int __retval = _Traits::compare(data(), __sv.data(), __rlen); | |
| if (__retval == 0) | |
| __retval = size() == __sv.size() ? 0 : (size() < __sv.size() ? -1 : 1); | |
| return __retval; | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int | |
| compare(size_type __pos1, size_type __n1, basic_string_view __sv) const { | |
| return substr(__pos1, __n1).compare(__sv); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int | |
| compare(size_type __pos1, size_type __n1, basic_string_view __sv, size_type __pos2, size_type __n2) const { | |
| return substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int compare(const _CharT* __s) const noexcept { | |
| return compare(basic_string_view(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int | |
| compare(size_type __pos1, size_type __n1, const _CharT* __s) const { | |
| return substr(__pos1, __n1).compare(basic_string_view(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) int | |
| compare(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2) const { | |
| return substr(__pos1, __n1).compare(basic_string_view(__s, __n2)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find(basic_string_view __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find<value_type, size_type, traits_type, npos>(data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type find(_CharT __c, size_type __pos = 0) const noexcept { | |
| return std::__str_find<value_type, size_type, traits_type, npos>(data(), size(), __c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_find<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find(const _CharT* __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| rfind(basic_string_view __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_rfind<value_type, size_type, traits_type, npos>(data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| rfind(_CharT __c, size_type __pos = npos) const noexcept { | |
| return std::__str_rfind<value_type, size_type, traits_type, npos>(data(), size(), __c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| rfind(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_rfind<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| rfind(const _CharT* __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_rfind<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_of(basic_string_view __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_of(_CharT __c, size_type __pos = 0) const noexcept { | |
| return find(__c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_of<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_of(const _CharT* __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_of(basic_string_view __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_of(_CharT __c, size_type __pos = npos) const noexcept { | |
| return rfind(__c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_of<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_of(const _CharT* __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_not_of(basic_string_view __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_not_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept { | |
| return std::__str_find_first_not_of<value_type, size_type, traits_type, npos>(data(), size(), __c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_not_of<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_first_not_of(const _CharT* __s, size_type __pos = 0) const noexcept { | |
| ((void)0); | |
| return std::__str_find_first_not_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_not_of(basic_string_view __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_not_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s.data(), __pos, __s.size()); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept { | |
| return std::__str_find_last_not_of<value_type, size_type, traits_type, npos>(data(), size(), __c, __pos); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_not_of<value_type, size_type, traits_type, npos>(data(), size(), __s, __pos, __n); | |
| } | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_type | |
| find_last_not_of(const _CharT* __s, size_type __pos = npos) const noexcept { | |
| ((void)0); | |
| return std::__str_find_last_not_of<value_type, size_type, traits_type, npos>( | |
| data(), size(), __s, __pos, traits_type::length(__s)); | |
| } | |
| # 689 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| private: | |
| struct __assume_valid {}; | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| basic_string_view(__assume_valid, const _CharT* __s, size_type __len) noexcept | |
| : __data_(__s), | |
| __size_(__len) {} | |
| const value_type* __data_; | |
| size_type __size_; | |
| template <class, class, class> | |
| friend class basic_string; | |
| }; | |
| template <class... _Tag> [[maybe_unused]] basic_string_view(typename _Tag::__allow_ctad...)->basic_string_view<_Tag...>; | |
| # 732 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| if (__lhs.size() != __rhs.size()) | |
| return false; | |
| return __lhs.compare(__rhs) == 0; | |
| } | |
| # 760 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| if (__lhs.size() != __rhs.size()) | |
| return false; | |
| return __lhs.compare(__rhs) == 0; | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator==(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs == __rhs; | |
| } | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return !(__lhs == __rhs); | |
| } | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator!=(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| return !(__lhs == __rhs); | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator!=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return !(__lhs == __rhs); | |
| } | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) < 0; | |
| } | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| return __lhs.compare(__rhs) < 0; | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) < 0; | |
| } | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) > 0; | |
| } | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| return __lhs.compare(__rhs) > 0; | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) > 0; | |
| } | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) <= 0; | |
| } | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<=(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| return __lhs.compare(__rhs) <= 0; | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator<=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) <= 0; | |
| } | |
| template <class _CharT, class _Traits> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) >= 0; | |
| } | |
| template <class _CharT, class _Traits, int = 1> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>=(basic_string_view<_CharT, _Traits> __lhs, | |
| __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) noexcept { | |
| return __lhs.compare(__rhs) >= 0; | |
| } | |
| template <class _CharT, class _Traits, int = 2> | |
| constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| operator>=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs, | |
| basic_string_view<_CharT, _Traits> __rhs) noexcept { | |
| return __lhs.compare(__rhs) >= 0; | |
| } | |
| template <class _CharT, class _Traits> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) basic_ostream<_CharT, _Traits>& | |
| operator<<(basic_ostream<_CharT, _Traits>& __os, basic_string_view<_CharT, _Traits> __str); | |
| template <class _CharT> | |
| struct __string_view_hash : public __unary_function<basic_string_view<_CharT, char_traits<_CharT> >, size_t> { | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) size_t operator()(const basic_string_view<_CharT, char_traits<_CharT> > __val) const noexcept { | |
| return std::__do_string_hash(__val.data(), __val.data() + __val.size()); | |
| } | |
| }; | |
| template <> | |
| struct hash<basic_string_view<char, char_traits<char> > > : __string_view_hash<char> {}; | |
| template <> | |
| struct hash<basic_string_view<char16_t, char_traits<char16_t> > > : __string_view_hash<char16_t> {}; | |
| template <> | |
| struct hash<basic_string_view<char32_t, char_traits<char32_t> > > : __string_view_hash<char32_t> {}; | |
| template <> | |
| struct hash<basic_string_view<wchar_t, char_traits<wchar_t> > > : __string_view_hash<wchar_t> {}; | |
| inline namespace literals { | |
| inline namespace string_view_literals { | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr basic_string_view<char> operator""sv(const char* __str, size_t __len) noexcept { | |
| return basic_string_view<char>(__str, __len); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr basic_string_view<wchar_t> | |
| operator""sv(const wchar_t* __str, size_t __len) noexcept { | |
| return basic_string_view<wchar_t>(__str, __len); | |
| } | |
| # 934 "//Dev/emscripten/cache/sysroot/include/c++/v1/string_view" 3 | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr basic_string_view<char16_t> | |
| operator""sv(const char16_t* __str, size_t __len) noexcept { | |
| return basic_string_view<char16_t>(__str, __len); | |
| } | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr basic_string_view<char32_t> | |
| operator""sv(const char32_t* __str, size_t __len) noexcept { | |
| return basic_string_view<char32_t>(__str, __len); | |
| } | |
| } | |
| } | |
| } } | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 1 3 | |
| # 1842 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/adjacent_find.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/adjacent_find.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/adjacent_find.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter, class _Sent, class _Pred, class _Proj> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Iter | |
| __adjacent_find(_Iter __first, _Sent __last, _Pred& __pred, _Proj& __proj) { | |
| if (__first == __last) | |
| return __first; | |
| _Iter __i = __first; | |
| while (++__i != __last) { | |
| if (std::__invoke(__pred, std::__invoke(__proj, *__first), std::__invoke(__proj, *__i))) | |
| return __first; | |
| __first = __i; | |
| } | |
| return __i; | |
| } | |
| template <class _ForwardIterator, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred) { | |
| __identity __proj; | |
| return std::__adjacent_find(std::move(__first), std::move(__last), __pred, __proj); | |
| } | |
| template <class _ForwardIterator> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { | |
| return std::adjacent_find(std::move(__first), std::move(__last), __equal_to()); | |
| } | |
| } } | |
| # 1843 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/all_of.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/all_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter, class _Sent, class _Proj, class _Pred> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| __all_of(_Iter __first, _Sent __last, _Pred& __pred, _Proj& __proj) { | |
| for (; __first != __last; ++__first) { | |
| if (!std::__invoke(__pred, std::__invoke(__proj, *__first))) | |
| return false; | |
| } | |
| return true; | |
| } | |
| template <class _InputIterator, class _Predicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { | |
| __identity __proj; | |
| return std::__all_of(__first, __last, __pred, __proj); | |
| } | |
| } } | |
| # 1844 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/any_of.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/any_of.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter, class _Sent, class _Proj, class _Pred> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr bool | |
| __any_of(_Iter __first, _Sent __last, _Pred& __pred, _Proj& __proj) { | |
| for (; __first != __last; ++__first) { | |
| if (std::__invoke(__pred, std::__invoke(__proj, *__first))) | |
| return true; | |
| } | |
| return false; | |
| } | |
| template <class _InputIterator, class _Predicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { | |
| __identity __proj; | |
| return std::__any_of(__first, __last, __pred, __proj); | |
| } | |
| } } | |
| # 1845 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/binary_search.h" 1 3 | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/binary_search.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/lower_bound.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/lower_bound.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/half_positive.h" 1 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/half_positive.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <typename _Integral, __enable_if_t<is_integral<_Integral>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Integral __half_positive(_Integral __value) { | |
| return static_cast<_Integral>(static_cast<__make_unsigned_t<_Integral> >(__value) / 2); | |
| } | |
| template <typename _Tp, __enable_if_t<!is_integral<_Tp>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Tp __half_positive(_Tp __value) { | |
| return __value / 2; | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/lower_bound.h" 2 3 | |
| # 25 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/lower_bound.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _Iter, class _Type, class _Proj, class _Comp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Iter __lower_bound_bisecting( | |
| _Iter __first, | |
| const _Type& __value, | |
| typename iterator_traits<_Iter>::difference_type __len, | |
| _Comp& __comp, | |
| _Proj& __proj) { | |
| while (__len != 0) { | |
| auto __l2 = std::__half_positive(__len); | |
| _Iter __m = __first; | |
| _IterOps<_AlgPolicy>::advance(__m, __l2); | |
| if (std::__invoke(__comp, std::__invoke(__proj, *__m), __value)) { | |
| __first = ++__m; | |
| __len -= __l2 + 1; | |
| } else { | |
| __len = __l2; | |
| } | |
| } | |
| return __first; | |
| } | |
| # 59 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/lower_bound.h" 3 | |
| template <class _AlgPolicy, class _ForwardIterator, class _Sent, class _Type, class _Proj, class _Comp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| __lower_bound_onesided(_ForwardIterator __first, _Sent __last, const _Type& __value, _Comp& __comp, _Proj& __proj) { | |
| if (__first == __last || !std::__invoke(__comp, std::__invoke(__proj, *__first), __value)) | |
| return __first; | |
| using _Distance = typename iterator_traits<_ForwardIterator>::difference_type; | |
| for (_Distance __step = 1; __first != __last; __step <<= 1) { | |
| auto __it = __first; | |
| auto __dist = __step - _IterOps<_AlgPolicy>::__advance_to(__it, __step, __last); | |
| if (__it == __last || !std::__invoke(__comp, std::__invoke(__proj, *__it), __value)) { | |
| if (__dist == 1) | |
| return __it; | |
| return std::__lower_bound_bisecting<_AlgPolicy>(__first, __value, __dist, __comp, __proj); | |
| } | |
| __first = __it; | |
| } | |
| return __first; | |
| } | |
| template <class _AlgPolicy, class _ForwardIterator, class _Sent, class _Type, class _Proj, class _Comp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| __lower_bound(_ForwardIterator __first, _Sent __last, const _Type& __value, _Comp& __comp, _Proj& __proj) { | |
| const auto __dist = _IterOps<_AlgPolicy>::distance(__first, __last); | |
| return std::__lower_bound_bisecting<_AlgPolicy>(__first, __value, __dist, __comp, __proj); | |
| } | |
| template <class _ForwardIterator, class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { | |
| static_assert(__is_callable<_Compare&, decltype(*__first), const _Tp&>::value, "The comparator has to be callable"); | |
| auto __proj = std::__identity(); | |
| return std::__lower_bound<_ClassicAlgPolicy>(__first, __last, __value, __comp, __proj); | |
| } | |
| template <class _ForwardIterator, class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| return std::lower_bound(__first, __last, __value, __less<>()); | |
| } | |
| } } | |
| # 15 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/binary_search.h" 2 3 | |
| # 19 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/binary_search.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { | |
| __first = std::lower_bound<_ForwardIterator, _Tp, __comp_ref_type<_Compare> >(__first, __last, __value, __comp); | |
| return __first != __last && !__comp(__value, *__first); | |
| } | |
| template <class _ForwardIterator, class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| return std::binary_search(__first, __last, __value, __less<>()); | |
| } | |
| } } | |
| # 1846 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 1 3 | |
| # 12 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| # 84 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h" 3 | |
| template <class _Iter, class _Unwrapped = decltype(std::__unwrap_iter(std::declval<_Iter>()))> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_Unwrapped, _Unwrapped> __unwrap_range(_Iter __first, _Iter __last) { | |
| return std::make_pair(std::__unwrap_iter(std::move(__first)), std::__unwrap_iter(std::move(__last))); | |
| } | |
| template <class _Iter, class _Unwrapped> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr _Iter __rewrap_range(_Iter __orig_iter, _Unwrapped __iter) { | |
| return std::__rewrap_iter(std::move(__orig_iter), std::move(__iter)); | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 34 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _From, class _To> | |
| struct __can_lower_copy_assignment_to_memmove { | |
| static const bool value = | |
| __is_always_bitcastable<_From, _To>::value && | |
| is_trivially_assignable<_To&, const _From&>::value && | |
| !is_volatile<_From>::value && !is_volatile<_To>::value; | |
| }; | |
| template <class _From, class _To> | |
| struct __can_lower_move_assignment_to_memmove { | |
| static const bool value = | |
| __is_always_bitcastable<_From, _To>::value && is_trivially_assignable<_To&, _From&&>::value && | |
| !is_volatile<_From>::value && !is_volatile<_To>::value; | |
| }; | |
| template <class _In, class _Out> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_In*, _Out*> | |
| __copy_trivial_impl(_In* __first, _In* __last, _Out* __result) { | |
| const size_t __n = static_cast<size_t>(__last - __first); | |
| std::__constexpr_memmove(__result, __first, __element_count(__n)); | |
| return std::make_pair(__last, __result + __n); | |
| } | |
| template <class _In, class _Out> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_In*, _Out*> | |
| __copy_backward_trivial_impl(_In* __first, _In* __last, _Out* __result) { | |
| const size_t __n = static_cast<size_t>(__last - __first); | |
| __result -= __n; | |
| std::__constexpr_memmove(__result, __first, __element_count(__n)); | |
| return std::make_pair(__last, __result); | |
| } | |
| template <class _InIter, class _OutIter> | |
| struct __can_rewrap | |
| : integral_constant<bool, is_copy_constructible<_InIter>::value && is_copy_constructible<_OutIter>::value> {}; | |
| template <class _Algorithm, | |
| class _InIter, | |
| class _Sent, | |
| class _OutIter, | |
| __enable_if_t<__can_rewrap<_InIter, _OutIter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| __copy_move_unwrap_iters(_InIter __first, _Sent __last, _OutIter __out_first) { | |
| auto __range = std::__unwrap_range(__first, std::move(__last)); | |
| auto __result = _Algorithm()(std::move(__range.first), std::move(__range.second), std::__unwrap_iter(__out_first)); | |
| return std::make_pair(std::__rewrap_range<_Sent>(std::move(__first), std::move(__result.first)), | |
| std::__rewrap_iter(std::move(__out_first), std::move(__result.second))); | |
| } | |
| template <class _Algorithm, | |
| class _InIter, | |
| class _Sent, | |
| class _OutIter, | |
| __enable_if_t<!__can_rewrap<_InIter, _OutIter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| __copy_move_unwrap_iters(_InIter __first, _Sent __last, _OutIter __out_first) { | |
| return _Algorithm()(std::move(__first), std::move(__last), std::move(__out_first)); | |
| } | |
| } } | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/for_each_segment.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/for_each_segment.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _SegmentedIterator, class _Functor> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Functor __func) { | |
| using _Traits = __segmented_iterator_traits<_SegmentedIterator>; | |
| auto __sfirst = _Traits::__segment(__first); | |
| auto __slast = _Traits::__segment(__last); | |
| if (__sfirst == __slast) { | |
| __func(_Traits::__local(__first), _Traits::__local(__last)); | |
| return; | |
| } | |
| __func(_Traits::__local(__first), _Traits::__end(__sfirst)); | |
| ++__sfirst; | |
| while (__sfirst != __slast) { | |
| __func(_Traits::__begin(__sfirst), _Traits::__end(__sfirst)); | |
| ++__sfirst; | |
| } | |
| __func(_Traits::__begin(__sfirst), _Traits::__local(__last)); | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 2 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 31 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, class _OutputIterator> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result); | |
| template <class _InIter, class _Sent, class _OutIter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> __copy(_InIter, _Sent, _OutIter); | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, false> __copy_aligned( | |
| __bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result) { | |
| using _In = __bit_iterator<_Cp, _IsConst>; | |
| using difference_type = typename _In::difference_type; | |
| using __storage_type = typename _In::__storage_type; | |
| const int __bits_per_word = _In::__bits_per_word; | |
| difference_type __n = __last - __first; | |
| if (__n > 0) { | |
| if (__first.__ctz_ != 0) { | |
| unsigned __clz = __bits_per_word - __first.__ctz_; | |
| difference_type __dn = std::min(static_cast<difference_type>(__clz), __n); | |
| __n -= __dn; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz - __dn, __first.__ctz_); | |
| __storage_type __b = *__first.__seg_ & __m; | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b; | |
| __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word; | |
| __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_) % __bits_per_word); | |
| ++__first.__seg_; | |
| } | |
| __storage_type __nw = __n / __bits_per_word; | |
| std::copy(std::__to_address(__first.__seg_), | |
| std::__to_address(__first.__seg_ + __nw), | |
| std::__to_address(__result.__seg_)); | |
| __n -= __nw * __bits_per_word; | |
| __result.__seg_ += __nw; | |
| if (__n > 0) { | |
| __first.__seg_ += __nw; | |
| __storage_type __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = *__first.__seg_ & __m; | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b; | |
| __result.__ctz_ = static_cast<unsigned>(__n); | |
| } | |
| } | |
| return __result; | |
| } | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, false> __copy_unaligned( | |
| __bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result) { | |
| using _In = __bit_iterator<_Cp, _IsConst>; | |
| using difference_type = typename _In::difference_type; | |
| using __storage_type = typename _In::__storage_type; | |
| const int __bits_per_word = _In::__bits_per_word; | |
| difference_type __n = __last - __first; | |
| if (__n > 0) { | |
| if (__first.__ctz_ != 0) { | |
| unsigned __clz_f = __bits_per_word - __first.__ctz_; | |
| difference_type __dn = std::min(static_cast<difference_type>(__clz_f), __n); | |
| __n -= __dn; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz_f - __dn, __first.__ctz_); | |
| __storage_type __b = *__first.__seg_ & __m; | |
| unsigned __clz_r = __bits_per_word - __result.__ctz_; | |
| __storage_type __ddn = std::min<__storage_type>(__dn, __clz_r); | |
| __m = std::__middle_mask<__storage_type>(__clz_r - __ddn, __result.__ctz_); | |
| *__result.__seg_ &= ~__m; | |
| if (__result.__ctz_ > __first.__ctz_) | |
| *__result.__seg_ |= __b << (__result.__ctz_ - __first.__ctz_); | |
| else | |
| *__result.__seg_ |= __b >> (__first.__ctz_ - __result.__ctz_); | |
| __result.__seg_ += (__ddn + __result.__ctz_) / __bits_per_word; | |
| __result.__ctz_ = static_cast<unsigned>((__ddn + __result.__ctz_) % __bits_per_word); | |
| __dn -= __ddn; | |
| if (__dn > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __dn); | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b >> (__first.__ctz_ + __ddn); | |
| __result.__ctz_ = static_cast<unsigned>(__dn); | |
| } | |
| ++__first.__seg_; | |
| } | |
| unsigned __clz_r = __bits_per_word - __result.__ctz_; | |
| __storage_type __m = std::__leading_mask<__storage_type>(__result.__ctz_); | |
| for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_) { | |
| __storage_type __b = *__first.__seg_; | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b << __result.__ctz_; | |
| ++__result.__seg_; | |
| *__result.__seg_ &= __m; | |
| *__result.__seg_ |= __b >> __clz_r; | |
| } | |
| if (__n > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = *__first.__seg_ & __m; | |
| __storage_type __dn = std::min(__n, static_cast<difference_type>(__clz_r)); | |
| __m = std::__middle_mask<__storage_type>(__clz_r - __dn, __result.__ctz_); | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b << __result.__ctz_; | |
| __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word; | |
| __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_) % __bits_per_word); | |
| __n -= __dn; | |
| if (__n > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b >> __dn; | |
| __result.__ctz_ = static_cast<unsigned>(__n); | |
| } | |
| } | |
| } | |
| return __result; | |
| } | |
| struct __copy_impl { | |
| template <class _InIter, class _Sent, class _OutIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _Sent __last, _OutIter __result) const { | |
| while (__first != __last) { | |
| *__result = *__first; | |
| ++__first; | |
| ++__result; | |
| } | |
| return std::make_pair(std::move(__first), std::move(__result)); | |
| } | |
| template <class _InIter, class _OutIter> | |
| struct _CopySegment { | |
| using _Traits [[__gnu__::__nodebug__]] = __segmented_iterator_traits<_InIter>; | |
| _OutIter& __result_; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit _CopySegment(_OutIter& __result) | |
| : __result_(__result) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| operator()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) { | |
| __result_ = std::__copy(__lfirst, __llast, std::move(__result_)).second; | |
| } | |
| }; | |
| template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| std::__for_each_segment(__first, __last, _CopySegment<_InIter, _OutIter>(__result)); | |
| return std::make_pair(__last, std::move(__result)); | |
| } | |
| template <class _InIter, | |
| class _OutIter, | |
| __enable_if_t<__has_random_access_iterator_category<_InIter>::value && | |
| !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| using _Traits = __segmented_iterator_traits<_OutIter>; | |
| using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; | |
| if (__first == __last) | |
| return std::make_pair(std::move(__first), std::move(__result)); | |
| auto __local_first = _Traits::__local(__result); | |
| auto __segment_iterator = _Traits::__segment(__result); | |
| while (true) { | |
| auto __local_last = _Traits::__end(__segment_iterator); | |
| auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); | |
| auto __iters = std::__copy(__first, __first + __size, __local_first); | |
| __first = std::move(__iters.first); | |
| if (__first == __last) | |
| return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); | |
| __local_first = _Traits::__begin(++__segment_iterator); | |
| } | |
| } | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<__bit_iterator<_Cp, _IsConst>, __bit_iterator<_Cp, false> > | |
| operator()(__bit_iterator<_Cp, _IsConst> __first, | |
| __bit_iterator<_Cp, _IsConst> __last, | |
| __bit_iterator<_Cp, false> __result) const { | |
| if (__first.__ctz_ == __result.__ctz_) | |
| return std::make_pair(__last, std::__copy_aligned(__first, __last, __result)); | |
| return std::make_pair(__last, std::__copy_unaligned(__first, __last, __result)); | |
| } | |
| template <class _In, class _Out, __enable_if_t<__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_In*, _Out*> | |
| operator()(_In* __first, _In* __last, _Out* __result) const { | |
| return std::__copy_trivial_impl(__first, __last, __result); | |
| } | |
| }; | |
| template <class _InIter, class _Sent, class _OutIter> | |
| pair<_InIter, _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr | |
| __copy(_InIter __first, _Sent __last, _OutIter __result) { | |
| return std::__copy_move_unwrap_iters<__copy_impl>(std::move(__first), std::move(__last), std::move(__result)); | |
| } | |
| template <class _InputIterator, class _OutputIterator> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { | |
| return std::__copy(__first, __last, __result).second; | |
| } | |
| } } | |
| # 1847 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_backward.h" 1 3 | |
| # 13 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_backward.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_n.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_n.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, | |
| class _Size, | |
| class _OutputIterator, | |
| __enable_if_t<__has_input_iterator_category<_InputIterator>::value && | |
| !__has_random_access_iterator_category<_InputIterator>::value, | |
| int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result) { | |
| typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; | |
| _IntegralSize __n = __orig_n; | |
| if (__n > 0) { | |
| *__result = *__first; | |
| ++__result; | |
| for (--__n; __n > 0; --__n) { | |
| ++__first; | |
| *__result = *__first; | |
| ++__result; | |
| } | |
| } | |
| return __result; | |
| } | |
| template <class _InputIterator, | |
| class _Size, | |
| class _OutputIterator, | |
| __enable_if_t<__has_random_access_iterator_category<_InputIterator>::value, int> = 0> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result) { | |
| typedef typename iterator_traits<_InputIterator>::difference_type difference_type; | |
| typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; | |
| _IntegralSize __n = __orig_n; | |
| return std::copy(__first, __first + difference_type(__n), __result); | |
| } | |
| } } | |
| # 14 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_backward.h" 2 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_backward.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_backward.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<_InIter, _OutIter> | |
| __copy_backward(_InIter __first, _Sent __last, _OutIter __result); | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, false> __copy_backward_aligned( | |
| __bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result) { | |
| using _In = __bit_iterator<_Cp, _IsConst>; | |
| using difference_type = typename _In::difference_type; | |
| using __storage_type = typename _In::__storage_type; | |
| const int __bits_per_word = _In::__bits_per_word; | |
| difference_type __n = __last - __first; | |
| if (__n > 0) { | |
| if (__last.__ctz_ != 0) { | |
| difference_type __dn = std::min(static_cast<difference_type>(__last.__ctz_), __n); | |
| __n -= __dn; | |
| unsigned __clz = __bits_per_word - __last.__ctz_; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz, __last.__ctz_ - __dn); | |
| __storage_type __b = *__last.__seg_ & __m; | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b; | |
| __result.__ctz_ = static_cast<unsigned>(((-__dn & (__bits_per_word - 1)) + __result.__ctz_) % __bits_per_word); | |
| } | |
| __storage_type __nw = __n / __bits_per_word; | |
| __result.__seg_ -= __nw; | |
| __last.__seg_ -= __nw; | |
| std::copy_n(std::__to_address(__last.__seg_), __nw, std::__to_address(__result.__seg_)); | |
| __n -= __nw * __bits_per_word; | |
| if (__n > 0) { | |
| __storage_type __m = std::__leading_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = *--__last.__seg_ & __m; | |
| *--__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b; | |
| __result.__ctz_ = static_cast<unsigned>(-__n & (__bits_per_word - 1)); | |
| } | |
| } | |
| return __result; | |
| } | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __bit_iterator<_Cp, false> __copy_backward_unaligned( | |
| __bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result) { | |
| using _In = __bit_iterator<_Cp, _IsConst>; | |
| using difference_type = typename _In::difference_type; | |
| using __storage_type = typename _In::__storage_type; | |
| const int __bits_per_word = _In::__bits_per_word; | |
| difference_type __n = __last - __first; | |
| if (__n > 0) { | |
| if (__last.__ctz_ != 0) { | |
| difference_type __dn = std::min(static_cast<difference_type>(__last.__ctz_), __n); | |
| __n -= __dn; | |
| unsigned __clz_l = __bits_per_word - __last.__ctz_; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz_l, __last.__ctz_ - __dn); | |
| __storage_type __b = *__last.__seg_ & __m; | |
| unsigned __clz_r = __bits_per_word - __result.__ctz_; | |
| __storage_type __ddn = std::min(__dn, static_cast<difference_type>(__result.__ctz_)); | |
| if (__ddn > 0) { | |
| __m = std::__middle_mask<__storage_type>(__clz_r, __result.__ctz_ - __ddn); | |
| *__result.__seg_ &= ~__m; | |
| if (__result.__ctz_ > __last.__ctz_) | |
| *__result.__seg_ |= __b << (__result.__ctz_ - __last.__ctz_); | |
| else | |
| *__result.__seg_ |= __b >> (__last.__ctz_ - __result.__ctz_); | |
| __result.__ctz_ = static_cast<unsigned>(((-__ddn & (__bits_per_word - 1)) + __result.__ctz_) % __bits_per_word); | |
| __dn -= __ddn; | |
| } | |
| if (__dn > 0) { | |
| --__result.__seg_; | |
| __result.__ctz_ = static_cast<unsigned>(-__dn & (__bits_per_word - 1)); | |
| __m = std::__leading_mask<__storage_type>(__result.__ctz_); | |
| *__result.__seg_ &= ~__m; | |
| __last.__ctz_ -= __dn + __ddn; | |
| *__result.__seg_ |= __b << (__result.__ctz_ - __last.__ctz_); | |
| } | |
| } | |
| unsigned __clz_r = __bits_per_word - __result.__ctz_; | |
| __storage_type __m = std::__trailing_mask<__storage_type>(__clz_r); | |
| for (; __n >= __bits_per_word; __n -= __bits_per_word) { | |
| __storage_type __b = *--__last.__seg_; | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b >> __clz_r; | |
| *--__result.__seg_ &= __m; | |
| *__result.__seg_ |= __b << __result.__ctz_; | |
| } | |
| if (__n > 0) { | |
| __m = std::__leading_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = *--__last.__seg_ & __m; | |
| __clz_r = __bits_per_word - __result.__ctz_; | |
| __storage_type __dn = std::min(__n, static_cast<difference_type>(__result.__ctz_)); | |
| __m = std::__middle_mask<__storage_type>(__clz_r, __result.__ctz_ - __dn); | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b >> (__bits_per_word - __result.__ctz_); | |
| __result.__ctz_ = static_cast<unsigned>(((-__dn & (__bits_per_word - 1)) + __result.__ctz_) % __bits_per_word); | |
| __n -= __dn; | |
| if (__n > 0) { | |
| --__result.__seg_; | |
| __result.__ctz_ = static_cast<unsigned>(-__n & (__bits_per_word - 1)); | |
| __m = std::__leading_mask<__storage_type>(__result.__ctz_); | |
| *__result.__seg_ &= ~__m; | |
| *__result.__seg_ |= __b << (__result.__ctz_ - (__bits_per_word - __n - __dn)); | |
| } | |
| } | |
| } | |
| return __result; | |
| } | |
| template <class _AlgPolicy> | |
| struct __copy_backward_impl { | |
| template <class _InIter, class _Sent, class _OutIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _Sent __last, _OutIter __result) const { | |
| auto __last_iter = _IterOps<_AlgPolicy>::next(__first, __last); | |
| auto __original_last_iter = __last_iter; | |
| while (__first != __last_iter) { | |
| *--__result = *--__last_iter; | |
| } | |
| return std::make_pair(std::move(__original_last_iter), std::move(__result)); | |
| } | |
| template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| using _Traits = __segmented_iterator_traits<_InIter>; | |
| auto __sfirst = _Traits::__segment(__first); | |
| auto __slast = _Traits::__segment(__last); | |
| if (__sfirst == __slast) { | |
| auto __iters = | |
| std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); | |
| return std::make_pair(__last, __iters.second); | |
| } | |
| __result = | |
| std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) | |
| .second; | |
| --__slast; | |
| while (__sfirst != __slast) { | |
| __result = | |
| std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__end(__slast), std::move(__result)) | |
| .second; | |
| --__slast; | |
| } | |
| __result = std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) | |
| .second; | |
| return std::make_pair(__last, std::move(__result)); | |
| } | |
| template <class _InIter, | |
| class _OutIter, | |
| __enable_if_t<__has_random_access_iterator_category<_InIter>::value && | |
| !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| using _Traits = __segmented_iterator_traits<_OutIter>; | |
| auto __orig_last = __last; | |
| auto __segment_iterator = _Traits::__segment(__result); | |
| if (__first == __last) | |
| return std::make_pair(__first, __result); | |
| auto __local_last = _Traits::__local(__result); | |
| while (true) { | |
| using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; | |
| auto __local_first = _Traits::__begin(__segment_iterator); | |
| auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); | |
| auto __iter = std::__copy_backward<_AlgPolicy>(__last - __size, __last, __local_last).second; | |
| __last -= __size; | |
| if (__first == __last) | |
| return std::make_pair(std::move(__orig_last), _Traits::__compose(__segment_iterator, std::move(__iter))); | |
| --__segment_iterator; | |
| __local_last = _Traits::__end(__segment_iterator); | |
| } | |
| } | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<__bit_iterator<_Cp, _IsConst>, __bit_iterator<_Cp, false> > | |
| operator()(__bit_iterator<_Cp, _IsConst> __first, | |
| __bit_iterator<_Cp, _IsConst> __last, | |
| __bit_iterator<_Cp, false> __result) { | |
| if (__last.__ctz_ == __result.__ctz_) | |
| return std::make_pair(__last, std::__copy_backward_aligned(__first, __last, __result)); | |
| return std::make_pair(__last, std::__copy_backward_unaligned(__first, __last, __result)); | |
| } | |
| template <class _In, class _Out, __enable_if_t<__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_In*, _Out*> | |
| operator()(_In* __first, _In* __last, _Out* __result) const { | |
| return std::__copy_backward_trivial_impl(__first, __last, __result); | |
| } | |
| }; | |
| template <class _AlgPolicy, class _BidirectionalIterator1, class _Sentinel, class _BidirectionalIterator2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<_BidirectionalIterator1, _BidirectionalIterator2> | |
| __copy_backward(_BidirectionalIterator1 __first, _Sentinel __last, _BidirectionalIterator2 __result) { | |
| return std::__copy_move_unwrap_iters<__copy_backward_impl<_AlgPolicy> >( | |
| std::move(__first), std::move(__last), std::move(__result)); | |
| } | |
| template <class _BidirectionalIterator1, class _BidirectionalIterator2> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _BidirectionalIterator2 | |
| copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, _BidirectionalIterator2 __result) { | |
| static_assert(std::is_copy_constructible<_BidirectionalIterator1>::value && | |
| std::is_copy_constructible<_BidirectionalIterator1>::value, | |
| "Iterators must be copy constructible."); | |
| return std::__copy_backward<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second; | |
| } | |
| } } | |
| # 1848 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_if.h" 1 3 | |
| # 20 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_if.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 24 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_if.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InIter, class _Sent, class _OutIter, class _Proj, class _Pred> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| __copy_if(_InIter __first, _Sent __last, _OutIter __result, _Pred& __pred, _Proj& __proj) { | |
| for (; __first != __last; ++__first) { | |
| if (std::__invoke(__pred, std::__invoke(__proj, *__first))) { | |
| *__result = *__first; | |
| ++__result; | |
| } | |
| } | |
| return std::make_pair(std::move(__first), std::move(__result)); | |
| } | |
| template <class _InputIterator, class _OutputIterator, class _Predicate> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { | |
| __identity __proj; | |
| return std::__copy_if(__first, __last, __result, __pred, __proj).second; | |
| } | |
| } } | |
| # 1849 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/popcount.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/popcount.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/popcount.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Tp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr int __popcount(_Tp __t) noexcept { | |
| static_assert(__is_unsigned_integer_v<_Tp>, "__popcount only works with unsigned types"); | |
| return __builtin_popcountg(__t); | |
| } | |
| # 39 "//Dev/emscripten/cache/sysroot/include/c++/v1/__bit/popcount.h" 3 | |
| } } | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count.h" 2 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 30 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _Iter, class _Sent, class _Tp, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) typename _IterOps<_AlgPolicy>::template __difference_type<_Iter> | |
| __count(_Iter __first, _Sent __last, const _Tp& __value, _Proj& __proj) { | |
| typename _IterOps<_AlgPolicy>::template __difference_type<_Iter> __r(0); | |
| for (; __first != __last; ++__first) | |
| if (std::__invoke(__proj, *__first) == __value) | |
| ++__r; | |
| return __r; | |
| } | |
| template <bool _ToCount, class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) typename __bit_iterator<_Cp, _IsConst>::difference_type | |
| __count_bool(__bit_iterator<_Cp, _IsConst> __first, typename __size_difference_type_traits<_Cp>::size_type __n) { | |
| using _It = __bit_iterator<_Cp, _IsConst>; | |
| using __storage_type = typename _It::__storage_type; | |
| using difference_type = typename _It::difference_type; | |
| const int __bits_per_word = _It::__bits_per_word; | |
| difference_type __r = 0; | |
| if (__first.__ctz_ != 0) { | |
| __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_); | |
| __storage_type __dn = std::min(__clz_f, __n); | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz_f - __dn, __first.__ctz_); | |
| __r = std::__popcount(__storage_type(std::__invert_if<!_ToCount>(*__first.__seg_) & __m)); | |
| __n -= __dn; | |
| ++__first.__seg_; | |
| } | |
| for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word) | |
| __r += std::__popcount(std::__invert_if<!_ToCount>(*__first.__seg_)); | |
| if (__n > 0) { | |
| __storage_type __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| __r += std::__popcount(__storage_type(std::__invert_if<!_ToCount>(*__first.__seg_) & __m)); | |
| } | |
| return __r; | |
| } | |
| template <class, class _Cp, bool _IsConst, class _Tp, class _Proj, __enable_if_t<__is_identity<_Proj>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __iter_diff_t<__bit_iterator<_Cp, _IsConst> > | |
| __count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value, _Proj&) { | |
| if (__value) | |
| return std::__count_bool<true>( | |
| __first, static_cast<typename __size_difference_type_traits<_Cp>::size_type>(__last - __first)); | |
| return std::__count_bool<false>( | |
| __first, static_cast<typename __size_difference_type_traits<_Cp>::size_type>(__last - __first)); | |
| } | |
| template <class _InputIterator, class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) __iter_diff_t<_InputIterator> | |
| count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { | |
| __identity __proj; | |
| return std::__count<_ClassicAlgPolicy>(__first, __last, __value, __proj); | |
| } | |
| } } | |
| # 1851 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count_if.h" 1 3 | |
| # 21 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/count_if.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _Iter, class _Sent, class _Proj, class _Pred> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr __policy_iter_diff_t<_AlgPolicy, _Iter> | |
| __count_if(_Iter __first, _Sent __last, _Pred& __pred, _Proj& __proj) { | |
| __policy_iter_diff_t<_AlgPolicy, _Iter> __counter(0); | |
| for (; __first != __last; ++__first) { | |
| if (std::__invoke(__pred, std::__invoke(__proj, *__first))) | |
| ++__counter; | |
| } | |
| return __counter; | |
| } | |
| template <class _InputIterator, class _Predicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) | |
| typename iterator_traits<_InputIterator>::difference_type | |
| count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { | |
| __identity __proj; | |
| return std::__count_if<_ClassicAlgPolicy>(__first, __last, __pred, __proj); | |
| } | |
| } } | |
| # 1852 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal.h" 1 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 37 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Cp, bool _IsConst1, bool _IsConst2> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| __equal_unaligned(__bit_iterator<_Cp, _IsConst1> __first1, | |
| __bit_iterator<_Cp, _IsConst1> __last1, | |
| __bit_iterator<_Cp, _IsConst2> __first2) { | |
| using _It = __bit_iterator<_Cp, _IsConst1>; | |
| using difference_type = typename _It::difference_type; | |
| using __storage_type = typename _It::__storage_type; | |
| const int __bits_per_word = _It::__bits_per_word; | |
| difference_type __n = __last1 - __first1; | |
| if (__n > 0) { | |
| if (__first1.__ctz_ != 0) { | |
| unsigned __clz_f = __bits_per_word - __first1.__ctz_; | |
| difference_type __dn = std::min(static_cast<difference_type>(__clz_f), __n); | |
| __n -= __dn; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz_f - __dn, __first1.__ctz_); | |
| __storage_type __b = *__first1.__seg_ & __m; | |
| unsigned __clz_r = __bits_per_word - __first2.__ctz_; | |
| __storage_type __ddn = std::min<__storage_type>(__dn, __clz_r); | |
| __m = std::__middle_mask<__storage_type>(__clz_r - __ddn, __first2.__ctz_); | |
| if (__first2.__ctz_ > __first1.__ctz_) { | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != | |
| static_cast<__storage_type>(__b << (__first2.__ctz_ - __first1.__ctz_))) | |
| return false; | |
| } else { | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != | |
| static_cast<__storage_type>(__b >> (__first1.__ctz_ - __first2.__ctz_))) | |
| return false; | |
| } | |
| __first2.__seg_ += (__ddn + __first2.__ctz_) / __bits_per_word; | |
| __first2.__ctz_ = static_cast<unsigned>((__ddn + __first2.__ctz_) % __bits_per_word); | |
| __dn -= __ddn; | |
| if (__dn > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != | |
| static_cast<__storage_type>(__b >> (__first1.__ctz_ + __ddn))) | |
| return false; | |
| __first2.__ctz_ = static_cast<unsigned>(__dn); | |
| } | |
| ++__first1.__seg_; | |
| } | |
| unsigned __clz_r = __bits_per_word - __first2.__ctz_; | |
| __storage_type __m = std::__leading_mask<__storage_type>(__first2.__ctz_); | |
| for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first1.__seg_) { | |
| __storage_type __b = *__first1.__seg_; | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != static_cast<__storage_type>(__b << __first2.__ctz_)) | |
| return false; | |
| ++__first2.__seg_; | |
| if (static_cast<__storage_type>(*__first2.__seg_ & static_cast<__storage_type>(~__m)) != | |
| static_cast<__storage_type>(__b >> __clz_r)) | |
| return false; | |
| } | |
| if (__n > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| __storage_type __b = *__first1.__seg_ & __m; | |
| __storage_type __dn = std::min(__n, static_cast<difference_type>(__clz_r)); | |
| __m = std::__middle_mask<__storage_type>(__clz_r - __dn, __first2.__ctz_); | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != static_cast<__storage_type>(__b << __first2.__ctz_)) | |
| return false; | |
| __first2.__seg_ += (__dn + __first2.__ctz_) / __bits_per_word; | |
| __first2.__ctz_ = static_cast<unsigned>((__dn + __first2.__ctz_) % __bits_per_word); | |
| __n -= __dn; | |
| if (__n > 0) { | |
| __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| if (static_cast<__storage_type>(*__first2.__seg_ & __m) != static_cast<__storage_type>(__b >> __dn)) | |
| return false; | |
| } | |
| } | |
| } | |
| return true; | |
| } | |
| template <class _Cp, bool _IsConst1, bool _IsConst2> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| __equal_aligned(__bit_iterator<_Cp, _IsConst1> __first1, | |
| __bit_iterator<_Cp, _IsConst1> __last1, | |
| __bit_iterator<_Cp, _IsConst2> __first2) { | |
| using _It = __bit_iterator<_Cp, _IsConst1>; | |
| using difference_type = typename _It::difference_type; | |
| using __storage_type = typename _It::__storage_type; | |
| const int __bits_per_word = _It::__bits_per_word; | |
| difference_type __n = __last1 - __first1; | |
| if (__n > 0) { | |
| if (__first1.__ctz_ != 0) { | |
| unsigned __clz = __bits_per_word - __first1.__ctz_; | |
| difference_type __dn = std::min(static_cast<difference_type>(__clz), __n); | |
| __n -= __dn; | |
| __storage_type __m = std::__middle_mask<__storage_type>(__clz - __dn, __first1.__ctz_); | |
| if ((*__first2.__seg_ & __m) != (*__first1.__seg_ & __m)) | |
| return false; | |
| ++__first2.__seg_; | |
| ++__first1.__seg_; | |
| } | |
| for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first1.__seg_, ++__first2.__seg_) | |
| if (*__first2.__seg_ != *__first1.__seg_) | |
| return false; | |
| if (__n > 0) { | |
| __storage_type __m = std::__trailing_mask<__storage_type>(__bits_per_word - __n); | |
| if ((*__first2.__seg_ & __m) != (*__first1.__seg_ & __m)) | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| template <class _Cp, | |
| bool _IsConst1, | |
| bool _IsConst2, | |
| class _BinaryPredicate, | |
| __enable_if_t<__desugars_to_v<__equal_tag, _BinaryPredicate, bool, bool>, int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __equal_iter_impl( | |
| __bit_iterator<_Cp, _IsConst1> __first1, | |
| __bit_iterator<_Cp, _IsConst1> __last1, | |
| __bit_iterator<_Cp, _IsConst2> __first2, | |
| _BinaryPredicate) { | |
| if (__first1.__ctz_ == __first2.__ctz_) | |
| return std::__equal_aligned(__first1, __last1, __first2); | |
| return std::__equal_unaligned(__first1, __last1, __first2); | |
| } | |
| template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __equal_iter_impl( | |
| _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate& __pred) { | |
| for (; __first1 != __last1; ++__first1, (void)++__first2) | |
| if (!__pred(*__first1, *__first2)) | |
| return false; | |
| return true; | |
| } | |
| template <class _Tp, | |
| class _Up, | |
| class _BinaryPredicate, | |
| __enable_if_t<__desugars_to_v<__equal_tag, _BinaryPredicate, _Tp, _Up> && !is_volatile<_Tp>::value && | |
| !is_volatile<_Up>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, | |
| int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| __equal_iter_impl(_Tp* __first1, _Tp* __last1, _Up* __first2, _BinaryPredicate&) { | |
| return std::__constexpr_memcmp_equal(__first1, __first2, __element_count(__last1 - __first1)); | |
| } | |
| template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred) { | |
| return std::__equal_iter_impl( | |
| std::__unwrap_iter(__first1), std::__unwrap_iter(__last1), std::__unwrap_iter(__first2), __pred); | |
| } | |
| template <class _InputIterator1, class _InputIterator2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { | |
| return std::equal(__first1, __last1, __first2, __equal_to()); | |
| } | |
| template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __equal_impl( | |
| _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __comp, _Proj1& __proj1, _Proj2& __proj2) { | |
| while (__first1 != __last1 && __first2 != __last2) { | |
| if (!std::__invoke(__comp, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) | |
| return false; | |
| ++__first1; | |
| ++__first2; | |
| } | |
| return __first1 == __last1 && __first2 == __last2; | |
| } | |
| template <class _Tp, | |
| class _Up, | |
| class _Pred, | |
| class _Proj1, | |
| class _Proj2, | |
| __enable_if_t<__desugars_to_v<__equal_tag, _Pred, _Tp, _Up> && __is_identity<_Proj1>::value && | |
| __is_identity<_Proj2>::value && !is_volatile<_Tp>::value && !is_volatile<_Up>::value && | |
| __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, | |
| int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| __equal_impl(_Tp* __first1, _Tp* __last1, _Up* __first2, _Up*, _Pred&, _Proj1&, _Proj2&) { | |
| return std::__constexpr_memcmp_equal(__first1, __first2, __element_count(__last1 - __first1)); | |
| } | |
| template <class _Cp, | |
| bool _IsConst1, | |
| bool _IsConst2, | |
| class _Pred, | |
| class _Proj1, | |
| class _Proj2, | |
| __enable_if_t<__desugars_to_v<__equal_tag, _Pred, bool, bool> && __is_identity<_Proj1>::value && | |
| __is_identity<_Proj2>::value, | |
| int> = 0> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __equal_impl( | |
| __bit_iterator<_Cp, _IsConst1> __first1, | |
| __bit_iterator<_Cp, _IsConst1> __last1, | |
| __bit_iterator<_Cp, _IsConst2> __first2, | |
| __bit_iterator<_Cp, _IsConst2>, | |
| _Pred&, | |
| _Proj1&, | |
| _Proj2&) { | |
| if (__first1.__ctz_ == __first2.__ctz_) | |
| return std::__equal_aligned(__first1, __last1, __first2); | |
| return std::__equal_unaligned(__first1, __last1, __first2); | |
| } | |
| template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| equal(_InputIterator1 __first1, | |
| _InputIterator1 __last1, | |
| _InputIterator2 __first2, | |
| _InputIterator2 __last2, | |
| _BinaryPredicate __pred) { | |
| if constexpr (__has_random_access_iterator_category<_InputIterator1>::value && | |
| __has_random_access_iterator_category<_InputIterator2>::value) { | |
| if (std::distance(__first1, __last1) != std::distance(__first2, __last2)) | |
| return false; | |
| } | |
| __identity __proj; | |
| return std::__equal_impl( | |
| std::__unwrap_iter(__first1), | |
| std::__unwrap_iter(__last1), | |
| std::__unwrap_iter(__first2), | |
| std::__unwrap_iter(__last2), | |
| __pred, | |
| __proj, | |
| __proj); | |
| } | |
| template <class _InputIterator1, class _InputIterator2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { | |
| return std::equal(__first1, __last1, __first2, __last2, __equal_to()); | |
| } | |
| } } | |
| # 1853 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal_range.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal_range.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/upper_bound.h" 1 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/upper_bound.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/upper_bound.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _Compare, class _Iter, class _Sent, class _Tp, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Iter | |
| __upper_bound(_Iter __first, _Sent __last, const _Tp& __value, _Compare&& __comp, _Proj&& __proj) { | |
| auto __len = _IterOps<_AlgPolicy>::distance(__first, __last); | |
| while (__len != 0) { | |
| auto __half_len = std::__half_positive(__len); | |
| auto __mid = _IterOps<_AlgPolicy>::next(__first, __half_len); | |
| if (std::__invoke(__comp, __value, std::__invoke(__proj, *__mid))) | |
| __len = __half_len; | |
| else { | |
| __first = ++__mid; | |
| __len -= __half_len + 1; | |
| } | |
| } | |
| return __first; | |
| } | |
| template <class _ForwardIterator, class _Tp, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { | |
| static_assert(__is_callable<_Compare&, const _Tp&, decltype(*__first)>::value, "The comparator has to be callable"); | |
| static_assert(is_copy_constructible<_ForwardIterator>::value, "Iterator has to be copy constructible"); | |
| return std::__upper_bound<_ClassicAlgPolicy>( | |
| std::move(__first), std::move(__last), __value, std::move(__comp), std::__identity()); | |
| } | |
| template <class _ForwardIterator, class _Tp> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _ForwardIterator | |
| upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| return std::upper_bound(std::move(__first), std::move(__last), __value, __less<>()); | |
| } | |
| } } | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal_range.h" 2 3 | |
| # 28 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal_range.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 32 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal_range.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _Compare, class _Iter, class _Sent, class _Tp, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<_Iter, _Iter> | |
| __equal_range(_Iter __first, _Sent __last, const _Tp& __value, _Compare&& __comp, _Proj&& __proj) { | |
| auto __len = _IterOps<_AlgPolicy>::distance(__first, __last); | |
| _Iter __end = _IterOps<_AlgPolicy>::next(__first, __last); | |
| while (__len != 0) { | |
| auto __half_len = std::__half_positive(__len); | |
| _Iter __mid = _IterOps<_AlgPolicy>::next(__first, __half_len); | |
| if (std::__invoke(__comp, std::__invoke(__proj, *__mid), __value)) { | |
| __first = ++__mid; | |
| __len -= __half_len + 1; | |
| } else if (std::__invoke(__comp, __value, std::__invoke(__proj, *__mid))) { | |
| __end = __mid; | |
| __len = __half_len; | |
| } else { | |
| _Iter __mp1 = __mid; | |
| return pair<_Iter, _Iter>(std::__lower_bound<_AlgPolicy>(__first, __mid, __value, __comp, __proj), | |
| std::__upper_bound<_AlgPolicy>(++__mp1, __end, __value, __comp, __proj)); | |
| } | |
| } | |
| return pair<_Iter, _Iter>(__first, __first); | |
| } | |
| template <class _ForwardIterator, class _Tp, class _Compare> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<_ForwardIterator, _ForwardIterator> | |
| equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { | |
| static_assert(__is_callable<_Compare&, decltype(*__first), const _Tp&>::value, "The comparator has to be callable"); | |
| static_assert(is_copy_constructible<_ForwardIterator>::value, "Iterator has to be copy constructible"); | |
| return std::__equal_range<_ClassicAlgPolicy>( | |
| std::move(__first), | |
| std::move(__last), | |
| __value, | |
| static_cast<__comp_ref_type<_Compare> >(__comp), | |
| std::__identity()); | |
| } | |
| template <class _ForwardIterator, class _Tp> | |
| [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<_ForwardIterator, _ForwardIterator> | |
| equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| return std::equal_range(std::move(__first), std::move(__last), __value, __less<>()); | |
| } | |
| } } | |
| # 1854 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill.h" 1 3 | |
| # 18 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, forward_iterator_tag) { | |
| for (; __first != __last; ++__first) | |
| *__first = __value; | |
| } | |
| template <class _RandomAccessIterator, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| __fill(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __value, random_access_iterator_tag) { | |
| std::fill_n(__first, __last - __first, __value); | |
| } | |
| template <class _ForwardIterator, class _Tp> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { | |
| std::__fill(__first, __last, __value, typename iterator_traits<_ForwardIterator>::iterator_category()); | |
| } | |
| } } | |
| # 1855 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_if_not.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/find_if_not.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, class _Predicate> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _InputIterator | |
| find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred) { | |
| for (; __first != __last; ++__first) | |
| if (!__pred(*__first)) | |
| break; | |
| return __first; | |
| } | |
| } } | |
| # 1861 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/for_each.h" 1 3 | |
| # 23 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/for_each.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 27 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/for_each.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _InputIterator, class _Sent, class _Func, class _Proj> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _InputIterator | |
| __for_each(_InputIterator __first, _Sent __last, _Func& __f, _Proj& __proj) { | |
| for (; __first != __last; ++__first) | |
| std::__invoke(__f, std::__invoke(__proj, *__first)); | |
| return __first; | |
| } | |
| template <class _SegmentedIterator, | |
| class _Func, | |
| class _Proj, | |
| __enable_if_t<__is_segmented_iterator<_SegmentedIterator>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _SegmentedIterator | |
| __for_each(_SegmentedIterator __first, _SegmentedIterator __last, _Func& __func, _Proj& __proj) { | |
| using __local_iterator_t = typename __segmented_iterator_traits<_SegmentedIterator>::__local_iterator; | |
| std::__for_each_segment(__first, __last, [&](__local_iterator_t __lfirst, __local_iterator_t __llast) { | |
| std::__for_each(__lfirst, __llast, __func, __proj); | |
| }); | |
| return __last; | |
| } | |
| template <class _InputIterator, class _Func> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _Func | |
| for_each(_InputIterator __first, _InputIterator __last, _Func __f) { | |
| __identity __proj; | |
| std::__for_each(__first, __last, __f, __proj); | |
| return __f; | |
| } | |
| } } | |
| # 1862 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/generate.h" 1 3 | |
| # 16 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/generate.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _ForwardIterator, class _Generator> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) void | |
| generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { | |
| for (; __first != __last; ++__first) | |
| *__first = __gen(); | |
| } | |
| } } | |
| # 1863 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/generate_n.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/generate_n.h" 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _OutputIterator, class _Size, class _Generator> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) _OutputIterator | |
| generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen) { | |
| typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; | |
| _IntegralSize __n = __orig_n; | |
| for (; __n > 0; ++__first, (void)--__n) | |
| *__first = __gen(); | |
| return __first; | |
| } | |
| } } | |
| # 1864 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/includes.h" 1 3 | |
| # 22 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/includes.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 26 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/includes.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Comp, class _Proj1, class _Proj2> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool __includes( | |
| _Iter1 __first1, | |
| _Sent1 __last1, | |
| _Iter2 __first2, | |
| _Sent2 __last2, | |
| _Comp&& __comp, | |
| _Proj1&& __proj1, | |
| _Proj2&& __proj2) { | |
| for (; __first2 != __last2; ++__first1) { | |
| if (__first1 == __last1 || | |
| std::__invoke(__comp, std::__invoke(__proj2, *__first2), std::__invoke(__proj1, *__first1))) | |
| return false; | |
| if (!std::__invoke(__comp, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) | |
| ++__first2; | |
| } | |
| return true; | |
| } | |
| template <class _InputIterator1, class _InputIterator2, class _Compare> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| includes(_InputIterator1 __first1, | |
| _InputIterator1 __last1, | |
| _InputIterator2 __first2, | |
| _InputIterator2 __last2, | |
| _Compare __comp) { | |
| static_assert( | |
| __is_callable<_Compare&, decltype(*__first1), decltype(*__first2)>::value, "The comparator has to be callable"); | |
| return std::__includes( | |
| std::move(__first1), | |
| std::move(__last1), | |
| std::move(__first2), | |
| std::move(__last2), | |
| static_cast<__comp_ref_type<_Compare> >(__comp), | |
| __identity(), | |
| __identity()); | |
| } | |
| template <class _InputIterator1, class _InputIterator2> | |
| [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) bool | |
| includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { | |
| return std::includes(std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __less<>()); | |
| } | |
| } } | |
| # 1865 "//Dev/emscripten/cache/sysroot/include/c++/v1/algorithm" 2 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/inplace_merge.h" 1 3 | |
| # 17 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/inplace_merge.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h" 1 3 | |
| # 29 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h" 3 | |
| # 1 "//Dev/emscripten/cache/sysroot/include/c++/v1/__undef_macros" 1 3 | |
| # 33 "//Dev/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h" 2 3 | |
| namespace __attribute__((__type_visibility__("default"))) std { inline namespace __2 { | |
| template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> | |
| inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| __move(_InIter __first, _Sent __last, _OutIter __result); | |
| template <class _AlgPolicy> | |
| struct __move_impl { | |
| template <class _InIter, class _Sent, class _OutIter> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _Sent __last, _OutIter __result) const { | |
| while (__first != __last) { | |
| *__result = _IterOps<_AlgPolicy>::__iter_move(__first); | |
| ++__first; | |
| ++__result; | |
| } | |
| return std::make_pair(std::move(__first), std::move(__result)); | |
| } | |
| template <class _InIter, class _OutIter> | |
| struct _MoveSegment { | |
| using _Traits [[__gnu__::__nodebug__]] = __segmented_iterator_traits<_InIter>; | |
| _OutIter& __result_; | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr explicit _MoveSegment(_OutIter& __result) | |
| : __result_(__result) {} | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr void | |
| operator()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) { | |
| __result_ = std::__move<_AlgPolicy>(__lfirst, __llast, std::move(__result_)).second; | |
| } | |
| }; | |
| template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| std::__for_each_segment(__first, __last, _MoveSegment<_InIter, _OutIter>(__result)); | |
| return std::make_pair(__last, std::move(__result)); | |
| } | |
| template <class _InIter, | |
| class _OutIter, | |
| __enable_if_t<__has_random_access_iterator_category<_InIter>::value && | |
| !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, | |
| int> = 0> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) constexpr pair<_InIter, _OutIter> | |
| operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
| using _Traits = __segmented_iterator_traits<_OutIter>; | |
| using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; | |
| if (__first == __last) | |
| return std::make_pair(std::move(__first), std::move(__result)); | |
| auto __local_first = _Traits::__local(__result); | |
| auto __segment_iterator = _Traits::__segment(__result); | |
| while (true) { | |
| auto __local_last = _Traits::__end(__segment_iterator); | |
| auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); | |
| auto __iters = std::__move<_AlgPolicy>(__first, __first + __size, __local_first); | |
| __first = std::move(__iters.first); | |
| if (__first == __last) | |
| return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); | |
| __local_first = _Traits::__begin(++__segment_iterator); | |
| } | |
| } | |
| template <class _Cp, bool _IsConst> | |
| __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne210108"))) pair<__bit_iterator<_Cp, _IsConst>, __bit_iterator<_Cp, false> > | |
| operator()(__bit_iterator<_Cp, _IsConst> __first, | |
| __bit_iterator<_Cp, _IsConst> __last, | |
| __bit_iterator<_Cp, false> __result) { | |
| return std: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment