Skip to content

Instantly share code, notes, and snippets.

@kripken
Last active February 28, 2026 01:08
Show Gist options
  • Select an option

  • Save kripken/a82416c4a69e3a8ac4ef3b01b7f10f06 to your computer and use it in GitHub Desktop.

Select an option

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.
# 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