diff --git a/src/P2822/P2822_debug.cpp b/src/P2822/P2822_debug.cpp index 33709ea..b7ec44c 100644 --- a/src/P2822/P2822_debug.cpp +++ b/src/P2822/P2822_debug.cpp @@ -1,12 +1,84 @@ +// #define NDEBUG //切换release和debug版本 + #include #include #include #include +#include using ull = unsigned long long; +template +struct Array{ + constexpr Array(){}; + constexpr Array(const std::initializer_list list){ + std::copy(list.begin(),list.end(),arr); + } + #ifdef NDEBUG + #define NDB_NOEXCEPT noexcept + #define NDB_CONSTEXPR constexpr + #else + #define NDB_NOEXCEPT + #define NDB_CONSTEXPR + #endif + + NDB_CONSTEXPR T& operator[](const size_t n)NDB_NOEXCEPT{ + // static_assert(noexcept(Array::operator[](0)), "isn't noexcept"); + #ifndef NDEBUG + if(n>=size){ + std::ostringstream err_oss; + err_oss<<"\n[array_size]: "<now!=that.now; + } + NDB_CONSTEXPR T& operator*()const NDB_NOEXCEPT{ + #ifndef NDEBUG + if(now>=size){ + std::ostringstream err_oss; + err_oss<<"[array_size]: "<,max_n> c,prefix; static void init(){ c[0][0] = c[1][0] = c[1][1] = 1; @@ -16,11 +88,11 @@ static void init(){ c[i][j] = (c[i-1][j-1] + c[i-1][j])%k; } } - for(ull i = 2;i" +# 0 "" +# 1 "src\\P2822\\P2822_debug.cpp" + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +# 308 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 + +# 308 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace std +{ + typedef long long unsigned int size_t; + typedef long long int ptrdiff_t; + + + typedef decltype(nullptr) nullptr_t; + + +#pragma GCC visibility push(default) + + + extern "C++" __attribute__ ((__noreturn__, __always_inline__)) + inline void __terminate() noexcept + { + void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); + terminate(); + } +#pragma GCC visibility pop +} +# 341 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# 534 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace std +{ +#pragma GCC visibility push(default) + + + + + __attribute__((__always_inline__)) + constexpr inline bool + __is_constant_evaluated() noexcept + { + + + + + + return __builtin_is_constant_evaluated(); + + + + } +#pragma GCC visibility pop +} +# 573 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace std +{ +#pragma GCC visibility push(default) + + extern "C++" __attribute__ ((__noreturn__)) + void + __glibcxx_assert_fail + (const char* __file, int __line, const char* __function, + const char* __condition) + noexcept; +#pragma GCC visibility pop +} +# 601 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace std +{ + __attribute__((__always_inline__,__visibility__("default"))) + inline void + __glibcxx_assert_fail() + { } +} +# 680 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h" 1 3 +# 681 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h" 1 3 +# 684 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 2 3 +# 825 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +namespace __gnu_cxx +{ + typedef __decltype(0.0bf16) __bfloat16_t; +} +# 887 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/pstl_config.h" 1 3 +# 888 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h" 2 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 1 3 +# 9 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3 +# 98 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 + +# 107 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 + +# 316 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 + +# 395 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 + +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3 +# 44 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 3 +extern "C++" { +template + struct __if_array; +template + struct __if_array { + typedef __dsttype __type; +}; +} +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 +# 282 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3 +# 9 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 +# 661 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3 +# 662 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3 + + + + +#pragma pack(push,_CRT_PACKING) + + + +extern "C" { + + + + + + typedef __builtin_va_list __gnuc_va_list; + + + + + + + typedef __gnuc_va_list va_list; +# 99 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 +} + + + +#pragma pack(pop) +# 283 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 +# 568 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +extern "C" { +# 580 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +void __attribute__((__cdecl__)) __debugbreak(void); +extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void __attribute__((__cdecl__)) __debugbreak(void) +{ + + __asm__ __volatile__("int {$}3":); + + + + + + + +} +# 601 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +void __attribute__((__cdecl__)) __attribute__ ((__noreturn__)) __fastfail(unsigned int code); +extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void __attribute__((__cdecl__)) __attribute__ ((__noreturn__)) __fastfail(unsigned int code) +{ + + __asm__ __volatile__("int {$}0x29"::"c"(code)); +# 615 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 + __builtin_unreachable(); +} +# 641 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 +const char *__mingw_get_crt_info (void); + + +} +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 2 3 + + + + +#pragma pack(push,_CRT_PACKING) +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +__extension__ typedef unsigned long long size_t; +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +__extension__ typedef long long ssize_t; + + + + + + +typedef size_t rsize_t; +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +__extension__ typedef long long intptr_t; +# 75 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +__extension__ typedef unsigned long long uintptr_t; +# 88 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +__extension__ typedef long long ptrdiff_t; +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +typedef unsigned short wint_t; +typedef unsigned short wctype_t; + + + + + +typedef int errno_t; + + + + +typedef long __time32_t; + + + + +__extension__ typedef long long __time64_t; +# 138 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +typedef __time64_t time_t; +# 430 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +struct threadlocaleinfostruct; +struct threadmbcinfostruct; +typedef struct threadlocaleinfostruct *pthreadlocinfo; +typedef struct threadmbcinfostruct *pthreadmbcinfo; +struct __lc_time_data; + +typedef struct localeinfo_struct { + pthreadlocinfo locinfo; + pthreadmbcinfo mbcinfo; +} _locale_tstruct,*_locale_t; + + + +typedef struct tagLC_ID { + unsigned short wLanguage; + unsigned short wCountry; + unsigned short wCodePage; +} LC_ID,*LPLC_ID; + + + + +typedef struct threadlocaleinfostruct { + + const unsigned short *_locale_pctype; + int _locale_mb_cur_max; + unsigned int _locale_lc_codepage; +# 482 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +} threadlocinfo; +# 501 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3 +#pragma pack(pop) +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 2 3 + + +extern "C" { +# 29 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 + __attribute__ ((__dllimport__)) unsigned short* __pctype_func(void); +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 + extern unsigned short ** __imp__wctype; +# 71 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 + extern unsigned short ** __imp__pwctype; +# 80 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 + extern const unsigned char __newclmap[]; + extern const unsigned char __newcumap[]; + extern pthreadlocinfo __ptlocinfo; + extern pthreadmbcinfo __ptmbcinfo; + extern int __globallocalestatus; + extern int __locale_changed; + extern struct threadlocaleinfostruct __initiallocinfo; + extern _locale_tstruct __initiallocalestructinfo; + pthreadlocinfo __attribute__((__cdecl__)) __updatetlocinfo(void); + pthreadmbcinfo __attribute__((__cdecl__)) __updatetmbcinfo(void); +# 108 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isctype(int _C,int _Type); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isctype_l(int _C,int _Type,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isalpha(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isalpha_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isupper(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isupper_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) islower(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _islower_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isdigit(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isdigit_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isxdigit(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isxdigit_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isspace(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isspace_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) ispunct(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _ispunct_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isalnum(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isalnum_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isprint(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isprint_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isgraph(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isgraph_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) iscntrl(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iscntrl_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) toupper(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) tolower(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _tolower(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _tolower_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _toupper(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _toupper_l(int _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __isascii(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __toascii(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iscsymf(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iscsym(int _C); + + +int __attribute__((__cdecl__)) isblank(int _C); + + + + + + + int __attribute__((__cdecl__)) iswalpha(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswalpha_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswupper(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswupper_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswlower(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswlower_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswdigit(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswdigit_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswxdigit(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswxdigit_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswspace(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswspace_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswpunct(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswpunct_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswalnum(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswalnum_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswprint(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswprint_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswgraph(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswgraph_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswcntrl(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcntrl_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswascii(wint_t _C); + + int __attribute__((__cdecl__)) isleadbyte(int _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isleadbyte_l(int _C,_locale_t _Locale); + + wint_t __attribute__((__cdecl__)) towupper(wint_t _C); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _towupper_l(wint_t _C,_locale_t _Locale); + wint_t __attribute__((__cdecl__)) towlower(wint_t _C); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _towlower_l(wint_t _C,_locale_t _Locale); + int __attribute__((__cdecl__)) iswctype(wint_t _C,wctype_t _Type); + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iswcsymf(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcsymf_l(wint_t _C,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iswcsym(wint_t _C); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcsym_l(wint_t _C,_locale_t _Locale); + + + int __attribute__((__cdecl__)) is_wctype(wint_t _C,wctype_t _Type); + + + +int __attribute__((__cdecl__)) iswblank(wint_t _C); +# 214 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 +__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) ___mb_cur_max_func(void); +# 297 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/ctype.h" 3 +} +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 2 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 +namespace std +{ + using ::isalnum; + using ::isalpha; + using ::iscntrl; + using ::isdigit; + using ::isgraph; + using ::islower; + using ::isprint; + using ::ispunct; + using ::isspace; + using ::isupper; + using ::isxdigit; + using ::tolower; + using ::toupper; +} + + + + + + + +namespace std +{ + using ::isblank; +} +# 4 "src\\P2822\\P2822_debug.cpp" 2 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/requires_hosted.h" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stringfwd.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stringfwd.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stringfwd.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memoryfwd.h" 1 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memoryfwd.h" 3 + +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memoryfwd.h" 3 + + + +namespace std +{ + +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memoryfwd.h" 3 + template + class allocator; + + template<> + class allocator; + + + + template + struct uses_allocator; + + template + struct allocator_traits; + + + + + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stringfwd.h" 2 3 + +namespace std +{ + + + + + + + + + template + struct char_traits; + + template<> struct char_traits; + + template<> struct char_traits; + + + + + + + template<> struct char_traits; + template<> struct char_traits; + + +namespace __cxx11 { + + template, + typename _Alloc = allocator<_CharT> > + class basic_string; + +} + + + typedef basic_string string; + + + typedef basic_string wstring; +# 89 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stringfwd.h" 3 + typedef basic_string u16string; + + + typedef basic_string u32string; + + + + + +} +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 1 3 +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt_stdio_config.h" 1 3 +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt_wstdlib.h" 1 3 +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/corecrt_wstdlib.h" 3 +extern "C" { + + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _itow_s (int _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _itow_s(int _Val, wchar_t (&_DstBuf)[__size], int _Radix) { return _itow_s(_Val, _DstBuf, __size, _Radix); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ltow_s (long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _ltow_s(long _Val, wchar_t (&_DstBuf)[__size], int _Radix) { return _ltow_s(_Val, _DstBuf, __size, _Radix); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ultow_s (unsigned long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _ultow_s(unsigned long _Val, wchar_t (&_DstBuf)[__size], int _Radix) { return _ultow_s(_Val, _DstBuf, __size, _Radix); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wgetenv_s(size_t *_ReturnSize,wchar_t *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wgetenv_s(size_t* _ReturnSize, wchar_t (&_DstBuf)[__size], const wchar_t* _VarName) { return _wgetenv_s(_ReturnSize, _DstBuf, __size, _VarName); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wdupenv_s(wchar_t **_Buffer,size_t *_BufferSizeInWords,const wchar_t *_VarName); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _i64tow_s(long long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ui64tow_s(unsigned long long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wmakepath_s(wchar_t *_PathResult,size_t _SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wmakepath_s(wchar_t (&_PathResult)[__size], const wchar_t* _Drive, const wchar_t* _Dir, const wchar_t* _Filename, const wchar_t* _Ext) { return _wmakepath_s(_PathResult,__size,_Drive,_Dir,_Filename,_Ext); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wputenv_s(const wchar_t *_Name,const wchar_t *_Value); + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wsearchenv_s(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wsearchenv_s(const wchar_t* _Filename, const wchar_t* _EnvVar, wchar_t (&_ResultPath)[__size]) { return _wsearchenv_s(_Filename, _EnvVar, _ResultPath, __size); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wsplitpath_s(const wchar_t *_FullPath,wchar_t *_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t _DirSizeInWords,wchar_t *_Filename,size_t _FilenameSizeInWords,wchar_t *_Ext,size_t _ExtSizeInWords); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wsplitpath_s(const wchar_t *_Dest, wchar_t (&__drive)[__drive_size], wchar_t (&__dir)[__dir_size], wchar_t (&__name)[__name_size], wchar_t (&__ext)[__ext_size]) { return _wsplitpath_s(_Dest, __drive, __drive_size, __dir, __dir_size, __name, __name_size, __ext, __ext_size); } } + + +} +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 +# 26 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + struct _iobuf { + char *_ptr; + int _cnt; + char *_base; + int _flag; + int _file; + int _charbuf; + int _bufsiz; + char *_tmpfname; + }; + typedef struct _iobuf FILE; + + + +__attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __acrt_iob_func(unsigned index); + + + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __iob_func(void); +# 82 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + typedef unsigned long _fsize_t; + + + + + struct _wfinddata32_t { + unsigned attrib; + __time32_t time_create; + __time32_t time_access; + __time32_t time_write; + _fsize_t size; + wchar_t name[260]; + }; + + struct _wfinddata32i64_t { + unsigned attrib; + __time32_t time_create; + __time32_t time_access; + __time32_t time_write; + __extension__ long long size; + wchar_t name[260]; + }; + + struct _wfinddata64i32_t { + unsigned attrib; + __time64_t time_create; + __time64_t time_access; + __time64_t time_write; + _fsize_t size; + wchar_t name[260]; + }; + + struct _wfinddata64_t { + unsigned attrib; + __time64_t time_create; + __time64_t time_access; + __time64_t time_write; + __extension__ long long size; + wchar_t name[260]; + }; +# 293 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); + + wchar_t *__attribute__((__cdecl__)) _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wchdir(const wchar_t *_Path); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wmkdir(const wchar_t *_Path); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wrmdir(const wchar_t *_Path); + + + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _waccess(const wchar_t *_Filename,int _AccessMode); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wchmod(const wchar_t *_Filename,int _Mode); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcreat(const wchar_t *_Filename,int _PermissionMode) ; + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wunlink(const wchar_t *_Filename); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wrename(const wchar_t *_OldFilename,const wchar_t *_NewFilename); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wmktemp(wchar_t *_TemplateName) ; + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData); + intptr_t __attribute__((__cdecl__)) _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData); + int __attribute__((__cdecl__)) _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wsopen_s(int *_FileHandle,const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionFlag); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wopen(const wchar_t *_Filename,int _OpenFlag,...) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...) ; + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wsetlocale(int _Category,const wchar_t *_Locale); + + + + + + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecl(const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecle(const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexeclp(const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexeclpe(const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecv(const wchar_t *_Filename,const wchar_t *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecve(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecvp(const wchar_t *_Filename,const wchar_t *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wexecvpe(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + + + + + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wsystem(const wchar_t *_Command); +# 398 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + typedef unsigned short _ino_t; + + typedef unsigned short ino_t; + + + + + + typedef unsigned int _dev_t; + + typedef unsigned int dev_t; + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3 + + + + + typedef long _off_t; + + typedef long off32_t; + + + + + + __extension__ typedef long long _off64_t; + + __extension__ typedef long long off64_t; +# 26 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 3 +typedef off32_t off_t; +# 413 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_stat64.h" 1 3 +# 25 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/_mingw_stat64.h" 3 + struct _stat32 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + _off_t st_size; + __time32_t st_atime; + __time32_t st_mtime; + __time32_t st_ctime; + }; + + + struct stat { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + _off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; + }; + + + struct _stat32i64 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __extension__ long long st_size; + __time32_t st_atime; + __time32_t st_mtime; + __time32_t st_ctime; + }; + + struct _stat64i32 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + _off_t st_size; + __time64_t st_atime; + __time64_t st_mtime; + __time64_t st_ctime; + }; + + struct _stat64 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __extension__ long long st_size; + __time64_t st_atime; + __time64_t st_mtime; + __time64_t st_ctime; + }; +# 414 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 + + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wstat32(const wchar_t *_Name,struct _stat32 *_Stat); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat); + int __attribute__((__cdecl__)) _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wstat64(const wchar_t *_Name,struct _stat64 *_Stat); +# 432 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) wchar_t *_cgetws(wchar_t *_Buffer) ; + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _getwch(void); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _getwche(void); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _putwch(wchar_t _WCh); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _ungetwch(wint_t _WCh); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cputws(const wchar_t *_String); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwprintf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwscanf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vcwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwprintf_p(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vcwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vcwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vcwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + + wint_t __attribute__((__cdecl__)) _putwch_nolock(wchar_t _WCh); + wint_t __attribute__((__cdecl__)) _getwch_nolock(void); + wint_t __attribute__((__cdecl__)) _getwche_nolock(void); + wint_t __attribute__((__cdecl__)) _ungetwch_nolock(wint_t _WCh); + + + + + int __attribute__((__cdecl__)) __stdio_common_vswprintf_p(unsigned long long _Options, wchar_t *_Str, size_t _Len, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vfwprintf_p(unsigned long long _Options, FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + + + + + + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vswscanf (const wchar_t * __restrict__ _Str,const wchar_t * __restrict__ Format,va_list argp); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_wscanf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_vwscanf(const wchar_t * __restrict__ Format, va_list argp); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vfwscanf (FILE * __restrict__ fp, const wchar_t * __restrict__ Format,va_list argp); + + + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_wprintf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); + __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); + + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_wscanf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_wprintf(const wchar_t * __restrict__ _Format,...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); + __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); + + + int __attribute__((__cdecl__)) __stdio_common_vswprintf(unsigned long long options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vfwprintf(unsigned long long options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vswscanf(unsigned long long options, const wchar_t *input, size_t length, const wchar_t *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vfwscanf(unsigned long long options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); + + + + + + + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int swscanf(const wchar_t *__source, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vswscanf( __source, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (1))) +int wscanf(const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfwscanf( (__acrt_iob_func(0)), __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int fwscanf(FILE *__stream, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfwscanf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int vswscanf (const wchar_t *__source, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vswscanf( __source, __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (1))) +int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfwscanf( (__acrt_iob_func(0)), __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfwscanf( __stream, __format, __local_argv ); +} + + + + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int fwprintf (FILE *__stream, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfwprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (1))) +int wprintf (const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfwprintf( (__acrt_iob_func(1)), __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int vfwprintf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfwprintf( __stream, __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (1))) +int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfwprintf( (__acrt_iob_func(1)), __format, __local_argv ); +} + + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (3))) +int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (3))) +int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); +} +# 762 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag); + + + wint_t __attribute__((__cdecl__)) fgetwc(FILE *_File); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fgetwchar(void); + wint_t __attribute__((__cdecl__)) fputwc(wchar_t _Ch,FILE *_File); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fputwchar(wchar_t _Ch); + wint_t __attribute__((__cdecl__)) getwc(FILE *_File); + wint_t __attribute__((__cdecl__)) getwchar(void); + wint_t __attribute__((__cdecl__)) putwc(wchar_t _Ch,FILE *_File); + wint_t __attribute__((__cdecl__)) putwchar(wchar_t _Ch); + wint_t __attribute__((__cdecl__)) ungetwc(wint_t _Ch,FILE *_File); + wchar_t *__attribute__((__cdecl__)) fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File); + int __attribute__((__cdecl__)) fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _getws(wchar_t *_String) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putws(const wchar_t *_Str); + + + inline __attribute__((__cdecl__)) + int __attribute__((__cdecl__)) _scwprintf(const wchar_t * __restrict__ _Format,...) + { + __builtin_va_list __ap; + int __ret; + __builtin_va_start(__ap, _Format); + __ret = __stdio_common_vswprintf(0x0004ULL | 0x0002ULL, 0LL, 0, _Format, 0LL, __ap); + __builtin_va_end(__ap); + return __ret; + } + int __attribute__((__cdecl__)) _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) ; + inline __attribute__((__cdecl__)) + int __attribute__((__cdecl__)) _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) + { + return __stdio_common_vswprintf(0x0004ULL | 0x0001ULL, _Dest, _Count, _Format, 0LL, _Args); + } +# 858 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwscanf(0x0002ULL, _File, _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwscanf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wscanf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(0x0002ULL, _Src, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwscanf(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(0x0002ULL, _Src, (size_t)-1, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswscanf_l(_Src, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwprintf_p(0x0004ULL, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwprintf_p(FILE *_File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_p_l(_File, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwprintf_p(const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_p_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwprintf_p(FILE *_File, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_p_l(_File, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wprintf_p(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwprintf(0x0004ULL, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf_p(0x0004ULL, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList) + { + return _vswprintf_p_l(_DstBuf, _MaxCount, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(0x0004ULL | 0x0001ULL, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwprintf_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf_p(0x0004ULL | 0x0002ULL, 0LL, 0, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscwprintf_p(const wchar_t *_Format, va_list _ArgList) + { + return _vscwprintf_p_l(_Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscwprintf_p_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scwprintf_p(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vscwprintf_p_l(_Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(0x0004ULL | 0x0002ULL, 0LL, 0, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscwprintf(const wchar_t *_Format, va_list _ArgList) + { + return _vscwprintf_l(_Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scwprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscwprintf_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(0x0004ULL, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) __vswprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf(wchar_t *_DstBuf, const wchar_t *_Format, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) __swprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swprintf(wchar_t *_DstBuf, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } +# 1167 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 1 3 +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 3 +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (3))) +int vswprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return vsnwprintf( __stream, __count, __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (3))) +int swprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; + + __builtin_va_start( __local_argv, __format ); + __retval = vswprintf( __stream, __count, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + + + +extern "C++" { + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int vswprintf (wchar_t *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +{ + + return __mingw_vswprintf( __stream, __format, __local_argv ); + + + +} + +inline __attribute__((__cdecl__)) + __attribute__ ((__nonnull__ (2))) +int swprintf (wchar_t *__stream, const wchar_t *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; + + __builtin_va_start( __local_argv, __format ); + __retval = vswprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +} +# 1168 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 +# 1177 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); +# 1187 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfdopen(int _FileHandle ,const wchar_t *_Mode); + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode) ; + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) ; + + + + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wperror(const wchar_t *_ErrMsg); + + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wpopen(const wchar_t *_Command,const wchar_t *_Mode); + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wremove(const wchar_t *_Filename); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wtmpnam(wchar_t *_Buffer); + + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fgetwc_nolock(FILE *_File); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fputwc_nolock(wchar_t _Ch,FILE *_File); + __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _ungetwc_nolock(wint_t _Ch,FILE *_File); +# 1228 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _itow(int _Value,wchar_t *_Dest,int _Radix) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ltow(long _Value,wchar_t *_Dest,int _Radix) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix) ; + __attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wcstod_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,_locale_t _Locale); + + double __attribute__((__cdecl__)) __mingw_wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); + float __attribute__((__cdecl__)) __mingw_wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); + long double __attribute__((__cdecl__)) __mingw_wcstold(const wchar_t * __restrict__, wchar_t ** __restrict__); +# 1248 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + double __attribute__((__cdecl__)) wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); + float __attribute__((__cdecl__)) wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); + + + long double __attribute__((__cdecl__)) wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); + + long __attribute__((__cdecl__)) wcstol(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wcstol_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + unsigned long __attribute__((__cdecl__)) wcstoul(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); + __attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _wcstoul_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wgetenv(const wchar_t *_VarName) ; + + + + + __attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wtof(const wchar_t *_Str); + __attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wtof_l(const wchar_t *_Str,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wtoi(const wchar_t *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wtoi_l(const wchar_t *_Str,_locale_t _Locale); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wtol(const wchar_t *_Str); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wtol_l(const wchar_t *_Str,_locale_t _Locale); + + __extension__ __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _i64tow(long long _Val,wchar_t *_DstBuf,int _Radix) ; + __extension__ __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ui64tow(unsigned long long _Val,wchar_t *_DstBuf,int _Radix); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wtoi64(const wchar_t *_Str); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wtoi64_l(const wchar_t *_Str,_locale_t _Locale); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); + __extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); + __extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); + + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); + + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wputenv(const wchar_t *_EnvString); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath) ; + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext) ; + + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsdup(const wchar_t *_Str); + wchar_t *__attribute__((__cdecl__)) wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) ; + wchar_t *__attribute__((__cdecl__)) wcschr(const wchar_t *_Str,wchar_t _Ch); + int __attribute__((__cdecl__)) wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); + wchar_t *__attribute__((__cdecl__)) wcscpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) ; + size_t __attribute__((__cdecl__)) wcscspn(const wchar_t *_Str,const wchar_t *_Control); + size_t __attribute__((__cdecl__)) wcslen(const wchar_t *_Str); + size_t __attribute__((__cdecl__)) wcsnlen(const wchar_t *_Src,size_t _MaxCount); + wchar_t *__attribute__((__cdecl__)) wcsncat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) ; + int __attribute__((__cdecl__)) wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + wchar_t *__attribute__((__cdecl__)) wcsncpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) ; + wchar_t *__attribute__((__cdecl__)) _wcsncpy_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count,_locale_t _Locale) ; + wchar_t *__attribute__((__cdecl__)) wcspbrk(const wchar_t *_Str,const wchar_t *_Control); + wchar_t *__attribute__((__cdecl__)) wcsrchr(const wchar_t *_Str,wchar_t _Ch); + size_t __attribute__((__cdecl__)) wcsspn(const wchar_t *_Str,const wchar_t *_Control); + wchar_t *__attribute__((__cdecl__)) wcsstr(const wchar_t *_Str,const wchar_t *_SubStr); + + wchar_t *__attribute__((__cdecl__)) wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim,wchar_t **_Ptr) ; + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcserror(int _ErrNum) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) __wcserror(const wchar_t *_Str) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsrev(wchar_t *_Str); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsset(wchar_t *_Str,wchar_t _Val) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcslwr(wchar_t *_String) ; + __attribute__ ((__dllimport__)) wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale) ; + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsupr(wchar_t *_String) ; + __attribute__ ((__dllimport__)) wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale) ; + size_t __attribute__((__cdecl__)) wcsxfrm(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcsxfrm_l(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale); + int __attribute__((__cdecl__)) wcscoll(const wchar_t *_Str1,const wchar_t *_Str2); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + + + wchar_t *__attribute__((__cdecl__)) wcsdup(const wchar_t *_Str) ; + + int __attribute__((__cdecl__)) wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) ; + int __attribute__((__cdecl__)) wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) ; + wchar_t *__attribute__((__cdecl__)) wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) ; + wchar_t *__attribute__((__cdecl__)) wcsrev(wchar_t *_Str) ; + wchar_t *__attribute__((__cdecl__)) wcsset(wchar_t *_Str,wchar_t _Val) ; + wchar_t *__attribute__((__cdecl__)) wcslwr(wchar_t *_Str) ; + wchar_t *__attribute__((__cdecl__)) wcsupr(wchar_t *_Str) ; + int __attribute__((__cdecl__)) wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2) ; + + + + + + 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; + }; + + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wasctime(const struct tm *_Tm); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm); + wchar_t *__attribute__((__cdecl__)) _wctime32(const __time32_t *_Time) ; + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time); + size_t __attribute__((__cdecl__)) wcsftime(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcsftime_l(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wstrdate(wchar_t *_Buffer) ; + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wstrtime(wchar_t *_Buffer) ; + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords); + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wctime64(const __time64_t *_Time) ; + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time); + + + + wchar_t *__attribute__((__cdecl__)) _wctime(const time_t *_Time) ; +# 1401 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + errno_t __attribute__((__cdecl__)) _wctime_s(wchar_t *, size_t, const time_t *); +# 1414 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 + typedef struct _Mbstatet { + unsigned long _Wchar; + unsigned short _Byte, _State; + } _Mbstatet; + typedef _Mbstatet mbstate_t; + + + + typedef wchar_t _Wint_t; + + wint_t __attribute__((__cdecl__)) btowc(int); + size_t __attribute__((__cdecl__)) mbrlen(const char * __restrict__ _Ch,size_t _SizeInBytes,mbstate_t * __restrict__ _State); + size_t __attribute__((__cdecl__)) mbrtowc(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SizeInBytes,mbstate_t * __restrict__ _State); + size_t __attribute__((__cdecl__)) mbsrtowcs(wchar_t * __restrict__ _Dest,const char ** __restrict__ _PSrc,size_t _Count,mbstate_t * __restrict__ _State) ; + size_t __attribute__((__cdecl__)) wcrtomb(char * __restrict__ _Dest,wchar_t _Source,mbstate_t * __restrict__ _State) ; + size_t __attribute__((__cdecl__)) wcsrtombs(char * __restrict__ _Dest,const wchar_t ** __restrict__ _PSource,size_t _Count,mbstate_t * __restrict__ _State) ; + int __attribute__((__cdecl__)) wctob(wint_t _WCh); + + + wchar_t *__attribute__((__cdecl__)) wmemset(wchar_t *s, wchar_t c, size_t n); + wchar_t *__attribute__((__cdecl__)) wmemchr(const wchar_t *s, wchar_t c, size_t n); + int __attribute__((__cdecl__)) wmemcmp(const wchar_t *s1, const wchar_t *s2,size_t n); + wchar_t *__attribute__((__cdecl__)) wmemcpy(wchar_t * __restrict__ s1,const wchar_t * __restrict__ s2,size_t n) ; + wchar_t * __attribute__((__cdecl__)) wmempcpy (wchar_t *_Dst, const wchar_t *_Src, size_t _Size); + wchar_t *__attribute__((__cdecl__)) wmemmove(wchar_t *s1, const wchar_t *s2, size_t n) ; + int __attribute__((__cdecl__)) fwide(FILE *stream,int mode); + + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) mbsinit(const mbstate_t *_P) { return (!_P || _P->_Wchar == 0); } + + + + __extension__ long long __attribute__((__cdecl__)) wcstoll(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); + __extension__ unsigned long long __attribute__((__cdecl__)) wcstoull(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); + + + void *__attribute__((__cdecl__)) memmove(void *_Dst,const void *_Src,size_t _MaxCount); + void *__attribute__((__cdecl__)) memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _MaxCount) ; +# 1503 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +int __attribute__((__cdecl__)) __mingw_str_wide_utf8 (const wchar_t * const wptr, char **mbptr, size_t * buflen); +# 1517 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +int __attribute__((__cdecl__)) __mingw_str_utf8_wide (const char *const mbptr, wchar_t ** wptr, size_t * buflen); +# 1526 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 3 +void __attribute__((__cdecl__)) __mingw_str_free(void *ptr); + + + + +} + + +#pragma pack(pop) + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 1 3 +# 9 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 2 3 +# 21 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 3 +extern "C" { + + + + + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _waccess_s (const wchar_t *_Filename,int _AccessMode); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wmktemp_s (wchar_t *_TemplateName,size_t _SizeInWords); + + + + + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _cgetws_s (wchar_t *_Buffer,size_t _SizeInWords,size_t *_SizeRead); + __attribute__((dllimport)) int __attribute__((__cdecl__)) _cwprintf_s (const wchar_t *_Format,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwscanf_s(const wchar_t *_Format,...); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _cwscanf_s_l(const wchar_t *_Format,_locale_t _Locale,...); + __attribute__((dllimport)) int __attribute__((__cdecl__)) _vcwprintf_s (const wchar_t *_Format,va_list _ArgList); + __attribute__((dllimport)) int __attribute__((__cdecl__)) _cwprintf_s_l (const wchar_t *_Format,_locale_t _Locale,...); + __attribute__((dllimport)) int __attribute__((__cdecl__)) _vcwprintf_s_l (const wchar_t *_Format,_locale_t _Locale,va_list _ArgList); + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _getws_s(wchar_t *_Str,size_t _SizeInWords); + extern "C++" { template inline wchar_t* __attribute__((__cdecl__)) _getws_s(wchar_t (&_DstBuf)[__size]) { return _getws_s(_DstBuf,__size); } } + + + int __attribute__((__cdecl__)) __stdio_common_vswprintf_s(unsigned long long _Options, wchar_t *_Str, size_t _Len, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vsnwprintf_s(unsigned long long _Options, wchar_t *_Str, size_t _Len, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vfwprintf_s(unsigned long long _Options, FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwscanf(0x0002ULL | 0x0001ULL, _File, _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vfwscanf_s(FILE* _File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l(_File, _Format, 0LL, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwscanf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vwscanf_s(const wchar_t *_Format, va_list _ArgList) + { + return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0LL, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwscanf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_s_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) fwscanf_s(FILE *_File, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwscanf_s_l(_File, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wscanf_s_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) wscanf_s(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(0x0002ULL | 0x0001ULL, _Src, (size_t)-1, _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vswscanf_s(const wchar_t *_Src, const wchar_t *_Format, va_list _ArgList) + { + return _vswscanf_s_l(_Src, _Format, 0LL, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swscanf_s_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswscanf_s_l(_Src, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) swscanf_s(const wchar_t *_Src, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswscanf_s_l(_Src, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnwscanf_s_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(0x0002ULL | 0x0001ULL, _Src, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwscanf_s_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwscanf_s_l(_Src, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwscanf_s(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnwscanf_s_l(_Src, _MaxCount, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfwprintf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwprintf_s(0x0004ULL, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vwprintf_s_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vfwprintf_s(FILE *_File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_s_l(_File, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vwprintf_s(const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fwprintf_s_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_s_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _wprintf_s_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) fwprintf_s(FILE *_File, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_s_l(_File, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) wprintf_s(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vswprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf_s(0x0004ULL, _DstBuf, _DstSize, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vswprintf_s(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, va_list _ArgList) + { + return _vswprintf_s_l(_DstBuf, _DstSize, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _swprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_s_l(_DstBuf, _DstSize, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) swprintf_s(wchar_t *_DstBuf, size_t _DstSize, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswprintf_s_l(_DstBuf, _DstSize, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnwprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsnwprintf_s(0x0004ULL, _DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnwprintf_s(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList) + { + return _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, 0LL, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwprintf_s_l(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snwprintf_s(wchar_t *_DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnwprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, 0LL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } +# 302 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 3 + extern "C++" { template inline int __attribute__((__cdecl__)) vswprintf_s(wchar_t (&_Dst)[__size], const wchar_t* _Format, va_list _ArgList) { return vswprintf_s(_Dst,__size,_Format,_ArgList); } } + extern "C++" { template inline int __attribute__((__cdecl__)) swprintf_s(wchar_t (&_Dst)[__size], const wchar_t* _Format, ...) { va_list __vaargs; __builtin_va_start(__vaargs,_Format); int __retval = vswprintf_s(_Dst,__size,_Format,__vaargs); __builtin_va_end(__vaargs); return __retval; } } + extern "C++" { template inline int __attribute__((__cdecl__)) _vsnwprintf_s(wchar_t (&_DstBuf)[__size], size_t _MaxCount, const wchar_t* _Format, va_list _ArgList) { return _vsnwprintf_s(_DstBuf,__size,_MaxCount,_Format,_ArgList); } } + extern "C++" { template inline int __attribute__((__cdecl__)) _snwprintf_s(wchar_t (&_DstBuf)[__size], size_t _MaxCount, const wchar_t* _Format, ...) { va_list __vaargs; __builtin_va_start(__vaargs,_Format); int __retval = _vsnwprintf_s(_DstBuf,__size,_MaxCount,_Format,__vaargs); __builtin_va_end(__vaargs); return __retval; } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wfopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wfreopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode,FILE *_OldFile); + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wtmpnam_s(wchar_t *_DstBuf,size_t _SizeInWords); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wtmpnam_s(wchar_t (&_DstBuf)[__size]) { return _wtmpnam_s(_DstBuf,__size); } } + + + + + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) wcstok_s(wchar_t *_Str,const wchar_t *_Delim,wchar_t **_Context); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcserror_s(wchar_t *_Buf,size_t _SizeInWords,int _ErrNum); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcserror_s(wchar_t (&_Buf)[__size], int _ErrNum) { return _wcserror_s(_Buf,__size,_ErrNum); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) __wcserror_s(wchar_t *_Buffer,size_t _SizeInWords,const wchar_t *_ErrMsg); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) __wcserror_s(wchar_t (&_Buffer)[__size], const wchar_t * _ErrMsg) { return __wcserror_s(_Buffer,__size,_ErrMsg); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsnset_s(wchar_t *_Dst,size_t _DstSizeInWords,wchar_t _Val,size_t _MaxCount); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsnset_s(wchar_t (&_Dst)[__size], wchar_t _Val, size_t _MaxCount) { return _wcsnset_s(_Dst,__size,_Val,_MaxCount); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsset_s(wchar_t *_Str,size_t _SizeInWords,wchar_t _Val); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsset_s(wchar_t (&_Str)[__size], wchar_t _Val) { return _wcsset_s(_Str,__size,_Val); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcslwr_s(wchar_t *_Str,size_t _SizeInWords); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcslwr_s(wchar_t (&_Str)[__size]) { return _wcslwr_s(_Str,__size); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcslwr_s_l(wchar_t *_Str,size_t _SizeInWords,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcslwr_s_l(wchar_t (&_Str)[__size], _locale_t _Locale) { return _wcslwr_s_l(_Str,__size,_Locale); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsupr_s(wchar_t *_Str,size_t _Size); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsupr_s(wchar_t (&_Str)[__size]) { return _wcsupr_s(_Str,__size); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsupr_s_l(wchar_t *_Str,size_t _Size,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsupr_s_l(wchar_t (&_Str)[__size], _locale_t _Locale) { return _wcsupr_s_l(_Str,__size,_Locale); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcscat_s(wchar_t *_Dst, rsize_t _DstSize, const wchar_t *_Src); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcscat_s(wchar_t (&_Dest)[__size], const wchar_t * _Source) { return wcscat_s(_Dest,__size,_Source); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcscpy_s(wchar_t *_Dst, rsize_t _DstSize, const wchar_t *_Src); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcscpy_s(wchar_t (&_Dest)[__size], const wchar_t * _Source) { return wcscpy_s(_Dest,__size,_Source); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcsncat_s(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcsncat_s(wchar_t (&_Dst)[__size], const wchar_t * _Src, size_t _MaxCount) { return wcsncat_s(_Dst,__size,_Src,_MaxCount); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsncat_s_l(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsncat_s_l(wchar_t (&_Dst)[__size], const wchar_t * _Src, size_t _MaxCount, _locale_t _Locale) { return _wcsncat_s_l(_Dst,__size,_Src,_MaxCount,_Locale); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcsncpy_s(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcsncpy_s(wchar_t (&_Dst)[__size], const wchar_t * _Src, size_t _MaxCount) { return wcsncpy_s(_Dst,__size,_Src,_MaxCount); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsncpy_s_l(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsncpy_s_l(wchar_t (&_Dst)[__size], const wchar_t * _Src, size_t _MaxCount, _locale_t _Locale) { return _wcsncpy_s_l(_Dst,__size,_Src,_MaxCount,_Locale); } } + __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcstok_s_l(wchar_t *_Str,const wchar_t *_Delim,wchar_t **_Context,_locale_t _Locale); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsset_s_l(wchar_t *_Str,size_t _SizeInChars,wchar_t _Val,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsset_s_l(wchar_t (&_Str)[__size], wchar_t _Val, _locale_t _Locale) { return _wcsset_s_l(_Str,__size,_Val,_Locale); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsnset_s_l(wchar_t *_Str,size_t _SizeInChars,wchar_t _Val, size_t _Count,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcsnset_s_l(wchar_t (&_Str)[__size], wchar_t _Val, size_t _Count, _locale_t _Locale) { return _wcsnset_s_l(_Str,__size,_Val,_Count,_Locale); } } + + inline __attribute__((__always_inline__)) size_t __attribute__((__cdecl__)) wcsnlen_s(const wchar_t * _src, size_t _count) { + return _src ? wcsnlen(_src, _count) : 0; + } + + + + + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time); +# 375 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/wchar_s.h" 3 + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) mbsrtowcs_s(size_t *_Retval,wchar_t *_Dst,size_t _SizeInWords,const char **_PSrc,size_t _N,mbstate_t *_State); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) mbsrtowcs_s(size_t* _Retval, wchar_t (&_Dst)[__size], const char** _PSrc, size_t _N, mbstate_t _State) { return mbsrtowcs_s(_Retval, _Dst, __size, _PSrc, _N, _State); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcrtomb_s(size_t *_Retval,char *_Dst,size_t _SizeInBytes,wchar_t _Ch,mbstate_t *_State); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcrtomb_s(size_t* _Retval, char (&_Dst)[__size], wchar_t _Ch, mbstate_t _State) { return wcrtomb_s(_Retval, _Dst, __size, _Ch, _State); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcsrtombs_s(size_t *_Retval,char *_Dst,size_t _SizeInBytes,const wchar_t **_Src,size_t _Size,mbstate_t *_State); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcsrtombs_s(size_t _Retval, char (&_Dst)[__size], const wchar_t** _Src, size_t _Size, mbstate_t _State) { return wcsrtombs_s(_Retval, _Dst, __size, _Src, _Size, _State); } } + + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) wmemcpy_s (wchar_t *_dest,size_t _numberOfElements,const wchar_t *_src,size_t _count); + __attribute__((dllimport)) errno_t __attribute__((__cdecl__)) wmemmove_s(wchar_t *_dest,size_t _numberOfElements,const wchar_t *_src,size_t _count); + + + +} +# 1537 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wchar.h" 2 3 +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 2 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 +namespace std +{ + using ::mbstate_t; +} +# 135 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 +extern "C++" +{ +namespace std +{ + + + using ::wint_t; + + using ::btowc; + using ::fgetwc; + using ::fgetws; + using ::fputwc; + using ::fputws; + using ::fwide; + using ::fwprintf; + using ::fwscanf; + using ::getwc; + using ::getwchar; + using ::mbrlen; + using ::mbrtowc; + using ::mbsinit; + using ::mbsrtowcs; + using ::putwc; + using ::putwchar; + + using ::swprintf; + + using ::swscanf; + using ::ungetwc; + using ::vfwprintf; + + using ::vfwscanf; + + + using ::vswprintf; + + + using ::vswscanf; + + using ::vwprintf; + + using ::vwscanf; + + using ::wcrtomb; + using ::wcscat; + using ::wcscmp; + using ::wcscoll; + using ::wcscpy; + using ::wcscspn; + using ::wcsftime; + using ::wcslen; + using ::wcsncat; + using ::wcsncmp; + using ::wcsncpy; + using ::wcsrtombs; + using ::wcsspn; + using ::wcstod; + + using ::wcstof; + + using ::wcstok; + using ::wcstol; + using ::wcstoul; + using ::wcsxfrm; + using ::wctob; + using ::wmemcmp; + using ::wmemcpy; + using ::wmemmove; + using ::wmemset; + using ::wprintf; + using ::wscanf; + using ::wcschr; + using ::wcspbrk; + using ::wcsrchr; + using ::wcsstr; + using ::wmemchr; + + + inline wchar_t* + wcschr(wchar_t* __p, wchar_t __c) + { return wcschr(const_cast(__p), __c); } + + inline wchar_t* + wcspbrk(wchar_t* __s1, const wchar_t* __s2) + { return wcspbrk(const_cast(__s1), __s2); } + + inline wchar_t* + wcsrchr(wchar_t* __p, wchar_t __c) + { return wcsrchr(const_cast(__p), __c); } + + inline wchar_t* + wcsstr(wchar_t* __s1, const wchar_t* __s2) + { return wcsstr(const_cast(__s1), __s2); } + + inline wchar_t* + wmemchr(wchar_t* __p, wchar_t __c, size_t __n) + { return wmemchr(const_cast(__p), __c, __n); } + + + +} +} + + + + + + + +namespace __gnu_cxx +{ + + + + + + using ::wcstold; +# 260 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 + using ::wcstoll; + using ::wcstoull; + +} + +namespace std +{ + using ::__gnu_cxx::wcstold; + using ::__gnu_cxx::wcstoll; + using ::__gnu_cxx::wcstoull; +} +# 280 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 +namespace std +{ + + using std::wcstof; + + + using std::vfwscanf; + + + using std::vswscanf; + + + using std::vwscanf; + + + + using std::wcstold; + using std::wcstoll; + using std::wcstoull; + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 2 3 + +namespace std +{ + +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + typedef long long int streamoff; + + + + + + typedef ptrdiff_t streamsize; +# 81 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + template + class fpos + { + private: + streamoff _M_off; + _StateT _M_state; + + public: + + + + + fpos() + : _M_off(0), _M_state() { } +# 103 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + fpos(streamoff __off) + : _M_off(__off), _M_state() { } + + + fpos(const fpos&) = default; + fpos& operator=(const fpos&) = default; + ~fpos() = default; + + + + operator streamoff() const { return _M_off; } + + + void + state(_StateT __st) + { _M_state = __st; } + + + _StateT + state() const + { return _M_state; } + + + + + + fpos& + operator+=(streamoff __off) + { + _M_off += __off; + return *this; + } + + + + + + fpos& + operator-=(streamoff __off) + { + _M_off -= __off; + return *this; + } + + + + + + + + fpos + operator+(streamoff __off) const + { + fpos __pos(*this); + __pos += __off; + return __pos; + } + + + + + + + + fpos + operator-(streamoff __off) const + { + fpos __pos(*this); + __pos -= __off; + return __pos; + } + + + + + + + streamoff + operator-(const fpos& __other) const + { return _M_off - __other._M_off; } + }; + + + + + + + template + inline bool + operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) + { return streamoff(__lhs) == streamoff(__rhs); } + + template + inline bool + operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) + { return streamoff(__lhs) != streamoff(__rhs); } + + + + + + typedef fpos streampos; + + typedef fpos wstreampos; +# 215 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/postypes.h" 3 + typedef fpos u16streampos; + + typedef fpos u32streampos; + + + +} +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 2 3 + +namespace std +{ + +# 76 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 3 + class ios_base; + + template > + class basic_ios; + + template > + class basic_streambuf; + + template > + class basic_istream; + + template > + class basic_ostream; + + template > + class basic_iostream; + + +namespace __cxx11 { + + template, + typename _Alloc = allocator<_CharT> > + class basic_stringbuf; + + template, + typename _Alloc = allocator<_CharT> > + class basic_istringstream; + + template, + typename _Alloc = allocator<_CharT> > + class basic_ostringstream; + + template, + typename _Alloc = allocator<_CharT> > + class basic_stringstream; + +} + + template > + class basic_filebuf; + + template > + class basic_ifstream; + + template > + class basic_ofstream; + + template > + class basic_fstream; + + template > + class istreambuf_iterator; + + template > + class ostreambuf_iterator; + + + + typedef basic_ios ios; + + + typedef basic_streambuf streambuf; + + + typedef basic_istream istream; + + + typedef basic_ostream ostream; + + + typedef basic_iostream iostream; + + + typedef basic_stringbuf stringbuf; + + + typedef basic_istringstream istringstream; + + + typedef basic_ostringstream ostringstream; + + + typedef basic_stringstream stringstream; + + + typedef basic_filebuf filebuf; + + + typedef basic_ifstream ifstream; + + + typedef basic_ofstream ofstream; + + + typedef basic_fstream fstream; + + + + typedef basic_ios wios; + + + typedef basic_streambuf wstreambuf; + + + typedef basic_istream wistream; + + + typedef basic_ostream wostream; + + + typedef basic_iostream wiostream; + + + typedef basic_stringbuf wstringbuf; + + + typedef basic_istringstream wistringstream; + + + typedef basic_ostringstream wostringstream; + + + typedef basic_stringstream wstringstream; + + + typedef basic_filebuf wfilebuf; + + + typedef basic_ifstream wifstream; + + + typedef basic_ofstream wofstream; + + + typedef basic_fstream wfstream; +# 255 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iosfwd" 3 + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception.h" 1 3 +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception.h" 3 + +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception.h" 3 + + + +extern "C++" { + +namespace std +{ +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception.h" 3 + class exception + { + public: + exception() noexcept { } + virtual ~exception() noexcept; + + exception(const exception&) = default; + exception& operator=(const exception&) = default; + exception(exception&&) = default; + exception& operator=(exception&&) = default; + + + + + virtual const char* + what() const noexcept; + }; + + + +} + +} +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 2 3 + +extern "C++" { + +namespace std +{ +# 54 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 3 + class bad_exception : public exception + { + public: + bad_exception() noexcept { } + + + + virtual ~bad_exception() noexcept; + + + virtual const char* + what() const noexcept; + }; + + + typedef void (*terminate_handler) (); + + + terminate_handler set_terminate(terminate_handler) noexcept; + + + + terminate_handler get_terminate() noexcept; + + + + + void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); + + + + typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) (); + + + + + + __attribute__ ((__deprecated__)) + unexpected_handler set_unexpected(unexpected_handler) noexcept; + + + + + + + + __attribute__ ((__deprecated__)) + unexpected_handler get_unexpected() noexcept; + + + + + + + + __attribute__ ((__deprecated__)) + void unexpected() __attribute__ ((__noreturn__,__cold__)); +# 124 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 3 + __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead"))) + bool uncaught_exception() noexcept __attribute__ ((__pure__)); + + + + + + + int uncaught_exceptions() noexcept __attribute__ ((__pure__)); + + + +} + +namespace __gnu_cxx +{ + +# 158 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 3 + void __verbose_terminate_handler(); + + +} + +} + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 1 3 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_defines.h" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_init_exception.h" 1 3 +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_init_exception.h" 3 + +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_init_exception.h" 3 + +#pragma GCC visibility push(default) + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/stddef.h" 1 3 4 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h" 1 3 4 +# 13 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h" 3 4 +extern "C" { + + + + + __attribute__ ((__dllimport__)) extern int *__attribute__((__cdecl__)) _errno(void); + + errno_t __attribute__((__cdecl__)) _set_errno(int _Value); + errno_t __attribute__((__cdecl__)) _get_errno(int *_Value); + + + __attribute__ ((__dllimport__)) extern unsigned long __attribute__((__cdecl__)) __threadid(void); + + __attribute__ ((__dllimport__)) extern uintptr_t __attribute__((__cdecl__)) __threadhandle(void); + + +} +# 424 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h" 3 4 +typedef struct { + long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); + long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); +} max_align_t; +# 2 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/stddef.h" 2 3 4 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_init_exception.h" 2 3 +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_init_exception.h" 3 +namespace std +{ + class type_info; +} + +namespace __cxxabiv1 +{ + struct __cxa_refcounted_exception; + + extern "C" + { + + void* + __cxa_allocate_exception(size_t) noexcept; + + void + __cxa_free_exception(void*) noexcept; + + + __cxa_refcounted_exception* + __cxa_init_primary_exception(void *__object, std::type_info *__tinfo, + void ( *__dest) (void *)) + noexcept; + + } +} + + + +#pragma GCC visibility pop +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/hash_bytes.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/hash_bytes.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/hash_bytes.h" 3 + + + +namespace std +{ + + + + + + + + size_t + _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); + + + + + + size_t + _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); + + +} +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 2 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 2 3 + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace __cxxabiv1 +{ + class __class_type_info; +} +# 83 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 3 +namespace std +{ + + + + + + + class type_info + { + public: + + + + + virtual ~type_info(); + + + + const char* name() const noexcept + { return __name[0] == '*' ? __name + 1 : __name; } + + + + bool before(const type_info& __arg) const noexcept; + + + bool operator==(const type_info& __arg) const noexcept; + + + bool operator!=(const type_info& __arg) const noexcept + { return !operator==(__arg); } + + + + size_t hash_code() const noexcept + { + + return _Hash_bytes(name(), __builtin_strlen(name()), + static_cast(0xc70f6907UL)); + + + + } + + + + virtual bool __is_pointer_p() const; + + + virtual bool __is_function_p() const; + + + + + + + + virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, + unsigned __outer) const; + + + virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, + void **__obj_ptr) const; + + protected: + const char *__name; + + explicit type_info(const char *__n): __name(__n) { } + + private: + + + type_info& operator=(const type_info&) = delete; + type_info(const type_info&) = delete; + + + + + + + bool __equal(const type_info&) const noexcept; + + }; +# 222 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/typeinfo" 3 + class bad_cast : public exception + { + public: + bad_cast() noexcept { } + + + + virtual ~bad_cast() noexcept; + + + virtual const char* what() const noexcept; + }; + + + + + + class bad_typeid : public exception + { + public: + bad_typeid () noexcept { } + + + + virtual ~bad_typeid() noexcept; + + + virtual const char* what() const noexcept; + }; +} + +} + +#pragma GCC visibility pop +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 1 3 +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 3 + +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 3 + + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 2 3 + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace std +{ + + + + + + + class bad_alloc : public exception + { + public: + bad_alloc() throw() { } + + + bad_alloc(const bad_alloc&) = default; + bad_alloc& operator=(const bad_alloc&) = default; + + + + + virtual ~bad_alloc() throw(); + + + virtual const char* what() const throw(); + }; + + + class bad_array_new_length : public bad_alloc + { + public: + bad_array_new_length() throw() { } + + + + virtual ~bad_array_new_length() throw(); + + + virtual const char* what() const throw(); + }; + + + + enum class align_val_t: size_t {}; + + + struct nothrow_t + { + + explicit nothrow_t() = default; + + }; + + extern const nothrow_t nothrow; + + + + typedef void (*new_handler)(); + + + + new_handler set_new_handler(new_handler) throw(); + + + + new_handler get_new_handler() noexcept; + +} +# 131 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 3 +[[__nodiscard__]] void* operator new(std::size_t) + __attribute__((__externally_visible__)); +[[__nodiscard__]] void* operator new[](std::size_t) + __attribute__((__externally_visible__)); +void operator delete(void*) noexcept + __attribute__((__externally_visible__)); +void operator delete[](void*) noexcept + __attribute__((__externally_visible__)); + +void operator delete(void*, std::size_t) noexcept + __attribute__((__externally_visible__)); +void operator delete[](void*, std::size_t) noexcept + __attribute__((__externally_visible__)); + +[[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +[[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +void operator delete(void*, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); +void operator delete[](void*, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); + +[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t) + __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) + noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +void operator delete(void*, std::align_val_t) + noexcept __attribute__((__externally_visible__)); +void operator delete(void*, std::align_val_t, const std::nothrow_t&) + noexcept __attribute__((__externally_visible__)); +[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t) + __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) + noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); +void operator delete[](void*, std::align_val_t) + noexcept __attribute__((__externally_visible__)); +void operator delete[](void*, std::align_val_t, const std::nothrow_t&) + noexcept __attribute__((__externally_visible__)); + +void operator delete(void*, std::size_t, std::align_val_t) + noexcept __attribute__((__externally_visible__)); +void operator delete[](void*, std::size_t, std::align_val_t) + noexcept __attribute__((__externally_visible__)); + + + + +[[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept +{ return __p; } +[[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept +{ return __p; } + + +inline void operator delete (void*, void*) noexcept { } +inline void operator delete[](void*, void*) noexcept { } + +} + + +namespace std +{ + + + template + [[nodiscard]] constexpr _Tp* + launder(_Tp* __p) noexcept + { return __builtin_launder(__p); } + + + + + template + void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete; + template + void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete; + + void launder(void*) = delete; + void launder(const void*) = delete; + void launder(volatile void*) = delete; + void launder(const volatile void*) = delete; + + + + inline constexpr size_t hardware_destructive_interference_size = 64; + inline constexpr size_t hardware_constructive_interference_size = 64; + +} +# 236 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/new" 3 +#pragma GCC visibility pop +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 2 3 + +namespace std +{ + + + template + class reference_wrapper; +# 86 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct integral_constant + { + static constexpr _Tp value = __v; + using value_type = _Tp; + using type = integral_constant<_Tp, __v>; + constexpr operator value_type() const noexcept { return value; } + + + constexpr value_type operator()() const noexcept { return value; } + + }; +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + using __bool_constant = integral_constant; + + + + using true_type = __bool_constant; + + + using false_type = __bool_constant; + + + + + template + using bool_constant = __bool_constant<__v>; + + + + + + + template + struct enable_if + { }; + + + template + struct enable_if + { using type = _Tp; }; + + + template + using __enable_if_t = typename enable_if<_Cond, _Tp>::type; + + template + struct __conditional + { + template + using type = _Tp; + }; + + template<> + struct __conditional + { + template + using type = _Up; + }; + + + template + using __conditional_t + = typename __conditional<_Cond>::template type<_If, _Else>; + + + template + struct __type_identity + { using type = _Type; }; + + template + using __type_identity_t = typename __type_identity<_Tp>::type; + + namespace __detail + { + + template + using __first_t = _Tp; + + + template + auto __or_fn(int) -> __first_t...>; + + template + auto __or_fn(...) -> true_type; + + template + auto __and_fn(int) -> __first_t...>; + + template + auto __and_fn(...) -> false_type; + } + + + + + template + struct __or_ + : decltype(__detail::__or_fn<_Bn...>(0)) + { }; + + template + struct __and_ + : decltype(__detail::__and_fn<_Bn...>(0)) + { }; + + template + struct __not_ + : __bool_constant + { }; + + + + + + template + inline constexpr bool __or_v = __or_<_Bn...>::value; + template + inline constexpr bool __and_v = __and_<_Bn...>::value; + + namespace __detail + { + template + struct __disjunction_impl + { using type = _B1; }; + + template + struct __disjunction_impl<__enable_if_t, _B1, _B2, _Bn...> + { using type = typename __disjunction_impl::type; }; + + template + struct __conjunction_impl + { using type = _B1; }; + + template + struct __conjunction_impl<__enable_if_t, _B1, _B2, _Bn...> + { using type = typename __conjunction_impl::type; }; + } + + + template + struct conjunction + : __detail::__conjunction_impl::type + { }; + + template<> + struct conjunction<> + : true_type + { }; + + template + struct disjunction + : __detail::__disjunction_impl::type + { }; + + template<> + struct disjunction<> + : false_type + { }; + + template + struct negation + : __not_<_Pp>::type + { }; + + + + + template + inline constexpr bool conjunction_v = conjunction<_Bn...>::value; + + template + inline constexpr bool disjunction_v = disjunction<_Bn...>::value; + + template + inline constexpr bool negation_v = negation<_Pp>::value; + + + + + + template + struct is_reference; + template + struct is_function; + template + struct is_void; + template + struct remove_cv; + template + struct is_const; + + + template + struct __is_array_unknown_bounds; + + + + + template + constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) + { return {}; } + + template + constexpr typename __or_< + is_reference<_NestedType>, + is_function<_NestedType>, + is_void<_NestedType>, + __is_array_unknown_bounds<_NestedType> + >::type __is_complete_or_unbounded(_TypeIdentity) + { return {}; } + + + template + using __remove_cv_t = typename remove_cv<_Tp>::type; + + + + + + template + struct is_void + : public false_type { }; + + template<> + struct is_void + : public true_type { }; + + template<> + struct is_void + : public true_type { }; + + template<> + struct is_void + : public true_type { }; + + template<> + struct is_void + : public true_type { }; + + + template + struct __is_integral_helper + : public false_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + + + + template<> + struct __is_integral_helper + : public true_type { }; + + + + + + + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + + + + __extension__ + template<> + struct __is_integral_helper<__int128> + : public true_type { }; + + __extension__ + template<> + struct __is_integral_helper + : public true_type { }; +# 460 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_integral + : public __is_integral_helper<__remove_cv_t<_Tp>>::type + { }; + + + template + struct __is_floating_point_helper + : public false_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; +# 513 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template<> + struct __is_floating_point_helper<__float128> + : public true_type { }; + + + + + template + struct is_floating_point + : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type + { }; + + + + template + struct is_array + : public __bool_constant<__is_array(_Tp)> + { }; +# 545 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct __is_pointer_helper + : public false_type { }; + + template + struct __is_pointer_helper<_Tp*> + : public true_type { }; + + + template + struct is_pointer + : public __is_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + + template + struct is_lvalue_reference + : public false_type { }; + + template + struct is_lvalue_reference<_Tp&> + : public true_type { }; + + + template + struct is_rvalue_reference + : public false_type { }; + + template + struct is_rvalue_reference<_Tp&&> + : public true_type { }; + + + + template + struct is_member_object_pointer + : public __bool_constant<__is_member_object_pointer(_Tp)> + { }; +# 601 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_member_function_pointer + : public __bool_constant<__is_member_function_pointer(_Tp)> + { }; +# 622 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_enum + : public __bool_constant<__is_enum(_Tp)> + { }; + + + template + struct is_union + : public __bool_constant<__is_union(_Tp)> + { }; + + + template + struct is_class + : public __bool_constant<__is_class(_Tp)> + { }; + + + + template + struct is_function + : public __bool_constant<__is_function(_Tp)> + { }; +# 661 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_null_pointer + : public false_type { }; + + template<> + struct is_null_pointer + : public true_type { }; + + template<> + struct is_null_pointer + : public true_type { }; + + template<> + struct is_null_pointer + : public true_type { }; + + template<> + struct is_null_pointer + : public true_type { }; + + + + template + struct __is_nullptr_t + : public is_null_pointer<_Tp> + { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); + + + + + + + template + struct is_reference + : public __bool_constant<__is_reference(_Tp)> + { }; +# 715 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_arithmetic + : public __or_, is_floating_point<_Tp>>::type + { }; + + + template + struct is_fundamental + : public __or_, is_void<_Tp>, + is_null_pointer<_Tp>>::type + { }; + + + + template + struct is_object + : public __bool_constant<__is_object(_Tp)> + { }; +# 741 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_member_pointer; + + + template + struct is_scalar + : public __or_, is_enum<_Tp>, is_pointer<_Tp>, + is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type + { }; + + + template + struct is_compound + : public __bool_constant::value> { }; + + + + template + struct is_member_pointer + : public __bool_constant<__is_member_pointer(_Tp)> + { }; +# 779 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_same; + + + template + using __is_one_of = __or_...>; + + + __extension__ + template + using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, + signed char, signed short, signed int, signed long, + signed long long + + , signed __int128 +# 804 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + >; + + + __extension__ + template + using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, + unsigned char, unsigned short, unsigned int, unsigned long, + unsigned long long + + , unsigned __int128 +# 824 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + >; + + + template + using __is_standard_integer + = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; + + + template using __void_t = void; + + + + + + template + struct is_const + : public false_type { }; + + template + struct is_const<_Tp const> + : public true_type { }; + + + template + struct is_volatile + : public false_type { }; + + template + struct is_volatile<_Tp volatile> + : public true_type { }; + + + template + struct is_trivial + : public __bool_constant<__is_trivial(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_copyable + : public __bool_constant<__is_trivially_copyable(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_standard_layout + : public __bool_constant<__is_standard_layout(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + + + + template + struct + + is_pod + : public __bool_constant<__is_pod(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + + + template + struct + [[__deprecated__]] + is_literal_type + : public __bool_constant<__is_literal_type(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_empty + : public __bool_constant<__is_empty(_Tp)> + { }; + + + template + struct is_polymorphic + : public __bool_constant<__is_polymorphic(_Tp)> + { }; + + + + + template + struct is_final + : public __bool_constant<__is_final(_Tp)> + { }; + + + + template + struct is_abstract + : public __bool_constant<__is_abstract(_Tp)> + { }; + + + template::value> + struct __is_signed_helper + : public false_type { }; + + template + struct __is_signed_helper<_Tp, true> + : public __bool_constant<_Tp(-1) < _Tp(0)> + { }; + + + + template + struct is_signed + : public __is_signed_helper<_Tp>::type + { }; + + + template + struct is_unsigned + : public __and_, __not_>>::type + { }; + + + template + _Up + __declval(int); + + template + _Tp + __declval(long); + + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)); + + template + struct remove_all_extents; + + + template + struct __is_array_known_bounds + : public false_type + { }; + + template + struct __is_array_known_bounds<_Tp[_Size]> + : public true_type + { }; + + template + struct __is_array_unknown_bounds + : public false_type + { }; + + template + struct __is_array_unknown_bounds<_Tp[]> + : public true_type + { }; +# 1006 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + struct __do_is_destructible_impl + { + template().~_Tp())> + static true_type __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_destructible_impl + : public __do_is_destructible_impl + { + using type = decltype(__test<_Tp>(0)); + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_destructible_safe; + + template + struct __is_destructible_safe<_Tp, false, false> + : public __is_destructible_impl::type>::type + { }; + + template + struct __is_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_destructible_safe<_Tp, false, true> + : public true_type { }; + + + + template + struct is_destructible + : public __is_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + + + + + struct __do_is_nt_destructible_impl + { + template + static __bool_constant().~_Tp())> + __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_nt_destructible_impl + : public __do_is_nt_destructible_impl + { + using type = decltype(__test<_Tp>(0)); + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_nt_destructible_safe; + + template + struct __is_nt_destructible_safe<_Tp, false, false> + : public __is_nt_destructible_impl::type>::type + { }; + + template + struct __is_nt_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_nt_destructible_safe<_Tp, false, true> + : public true_type { }; + + + + template + struct is_nothrow_destructible + : public __is_nt_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_constructible_impl + = __bool_constant<__is_constructible(_Tp, _Args...)>; + + + + template + struct is_constructible + : public __is_constructible_impl<_Tp, _Args...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_default_constructible + : public __is_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct __add_lvalue_reference_helper + { using type = _Tp; }; + + template + struct __add_lvalue_reference_helper<_Tp, __void_t<_Tp&>> + { using type = _Tp&; }; + + template + using __add_lval_ref_t = typename __add_lvalue_reference_helper<_Tp>::type; + + + + template + struct is_copy_constructible + : public __is_constructible_impl<_Tp, __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct __add_rvalue_reference_helper + { using type = _Tp; }; + + template + struct __add_rvalue_reference_helper<_Tp, __void_t<_Tp&&>> + { using type = _Tp&&; }; + + template + using __add_rval_ref_t = typename __add_rvalue_reference_helper<_Tp>::type; + + + + template + struct is_move_constructible + : public __is_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_nothrow_constructible_impl + = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>; + + + + template + struct is_nothrow_constructible + : public __is_nothrow_constructible_impl<_Tp, _Args...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_default_constructible + : public __is_nothrow_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_copy_constructible + : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_move_constructible + : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>; + + + + template + struct is_assignable + : public __is_assignable_impl<_Tp, _Up> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_copy_assignable + : public __is_assignable_impl<__add_lval_ref_t<_Tp>, + __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_move_assignable + : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_nothrow_assignable_impl + = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>; + + + + template + struct is_nothrow_assignable + : public __is_nothrow_assignable_impl<_Tp, _Up> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_copy_assignable + : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, + __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_move_assignable + : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, + __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_trivially_constructible_impl + = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>; + + + + template + struct is_trivially_constructible + : public __is_trivially_constructible_impl<_Tp, _Args...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_default_constructible + : public __is_trivially_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; +# 1319 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + struct __do_is_implicitly_default_constructible_impl + { + template + static void __helper(const _Tp&); + + template + static true_type __test(const _Tp&, + decltype(__helper({}))* = 0); + + static false_type __test(...); + }; + + template + struct __is_implicitly_default_constructible_impl + : public __do_is_implicitly_default_constructible_impl + { + using type = decltype(__test(declval<_Tp>())); + }; + + template + struct __is_implicitly_default_constructible_safe + : public __is_implicitly_default_constructible_impl<_Tp>::type + { }; + + template + struct __is_implicitly_default_constructible + : public __and_<__is_constructible_impl<_Tp>, + __is_implicitly_default_constructible_safe<_Tp>>::type + { }; + + + + template + struct is_trivially_copy_constructible + : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_move_constructible + : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + using __is_trivially_assignable_impl + = __bool_constant<__is_trivially_assignable(_Tp, _Up)>; + + + + template + struct is_trivially_assignable + : public __is_trivially_assignable_impl<_Tp, _Up> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_copy_assignable + : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, + __add_lval_ref_t> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_move_assignable + : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, + __add_rval_ref_t<_Tp>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_trivially_destructible + : public __and_<__is_destructible_safe<_Tp>, + __bool_constant<__has_trivial_destructor(_Tp)>>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + template + struct has_virtual_destructor + : public __bool_constant<__has_virtual_destructor(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + + + template + struct alignment_of + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct rank + : public integral_constant { }; + + template + struct rank<_Tp[_Size]> + : public integral_constant::value> { }; + + template + struct rank<_Tp[]> + : public integral_constant::value> { }; + + + template + struct extent + : public integral_constant { }; + + template + struct extent<_Tp[_Size], 0> + : public integral_constant { }; + + template + struct extent<_Tp[_Size], _Uint> + : public extent<_Tp, _Uint - 1>::type { }; + + template + struct extent<_Tp[], 0> + : public integral_constant { }; + + template + struct extent<_Tp[], _Uint> + : public extent<_Tp, _Uint - 1>::type { }; + + + + + + + template + struct is_same + : public __bool_constant<__is_same(_Tp, _Up)> + { }; +# 1491 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct is_base_of + : public __bool_constant<__is_base_of(_Base, _Derived)> + { }; + + + template + struct is_convertible + : public __bool_constant<__is_convertible(_From, _To)> + { }; +# 1540 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + using __is_array_convertible + = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; +# 1603 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct remove_const + { using type = _Tp; }; + + template + struct remove_const<_Tp const> + { using type = _Tp; }; + + + template + struct remove_volatile + { using type = _Tp; }; + + template + struct remove_volatile<_Tp volatile> + { using type = _Tp; }; + + + + template + struct remove_cv + { using type = __remove_cv(_Tp); }; +# 1644 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct add_const + { using type = _Tp const; }; + + + template + struct add_volatile + { using type = _Tp volatile; }; + + + template + struct add_cv + { using type = _Tp const volatile; }; + + + + template + using remove_const_t = typename remove_const<_Tp>::type; + + + template + using remove_volatile_t = typename remove_volatile<_Tp>::type; + + + template + using remove_cv_t = typename remove_cv<_Tp>::type; + + + template + using add_const_t = typename add_const<_Tp>::type; + + + template + using add_volatile_t = typename add_volatile<_Tp>::type; + + + template + using add_cv_t = typename add_cv<_Tp>::type; + + + + + + + template + struct remove_reference + { using type = __remove_reference(_Tp); }; +# 1706 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct add_lvalue_reference + { using type = __add_lval_ref_t<_Tp>; }; + + + template + struct add_rvalue_reference + { using type = __add_rval_ref_t<_Tp>; }; + + + + template + using remove_reference_t = typename remove_reference<_Tp>::type; + + + template + using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; + + + template + using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; + + + + + + + + template + struct __cv_selector; + + template + struct __cv_selector<_Unqualified, false, false> + { using __type = _Unqualified; }; + + template + struct __cv_selector<_Unqualified, false, true> + { using __type = volatile _Unqualified; }; + + template + struct __cv_selector<_Unqualified, true, false> + { using __type = const _Unqualified; }; + + template + struct __cv_selector<_Unqualified, true, true> + { using __type = const volatile _Unqualified; }; + + template::value, + bool _IsVol = is_volatile<_Qualified>::value> + class __match_cv_qualifiers + { + using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>; + + public: + using __type = typename __match::__type; + }; + + + template + struct __make_unsigned + { using __type = _Tp; }; + + template<> + struct __make_unsigned + { using __type = unsigned char; }; + + template<> + struct __make_unsigned + { using __type = unsigned char; }; + + template<> + struct __make_unsigned + { using __type = unsigned short; }; + + template<> + struct __make_unsigned + { using __type = unsigned int; }; + + template<> + struct __make_unsigned + { using __type = unsigned long; }; + + template<> + struct __make_unsigned + { using __type = unsigned long long; }; + + + __extension__ + template<> + struct __make_unsigned<__int128> + { using __type = unsigned __int128; }; +# 1819 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template::value, + bool _IsEnum = __is_enum(_Tp)> + class __make_unsigned_selector; + + template + class __make_unsigned_selector<_Tp, true, false> + { + using __unsigned_type + = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + class __make_unsigned_selector_base + { + protected: + template struct _List { }; + + template + struct _List<_Tp, _Up...> : _List<_Up...> + { static constexpr size_t __size = sizeof(_Tp); }; + + template + struct __select; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, true> + { using __type = _Uint; }; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, false> + : __select<_Sz, _List<_UInts...>> + { }; + }; + + + template + class __make_unsigned_selector<_Tp, false, true> + : __make_unsigned_selector_base + { + + using _UInts = _List; + + using __unsigned_type = typename __select::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + + + + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; +# 1893 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + + + + + + template + struct make_unsigned + { using type = typename __make_unsigned_selector<_Tp>::__type; }; + + + template<> struct make_unsigned; + template<> struct make_unsigned; + template<> struct make_unsigned; + template<> struct make_unsigned; + + + + + template + struct __make_signed + { using __type = _Tp; }; + + template<> + struct __make_signed + { using __type = signed char; }; + + template<> + struct __make_signed + { using __type = signed char; }; + + template<> + struct __make_signed + { using __type = signed short; }; + + template<> + struct __make_signed + { using __type = signed int; }; + + template<> + struct __make_signed + { using __type = signed long; }; + + template<> + struct __make_signed + { using __type = signed long long; }; + + + __extension__ + template<> + struct __make_signed + { using __type = __int128; }; +# 1979 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template::value, + bool _IsEnum = __is_enum(_Tp)> + class __make_signed_selector; + + template + class __make_signed_selector<_Tp, true, false> + { + using __signed_type + = typename __make_signed<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; + }; + + + template + class __make_signed_selector<_Tp, false, true> + { + using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type; + + public: + using __type = typename __make_signed_selector<__unsigned_type>::__type; + }; + + + + + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; +# 2025 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + + + + + + template + struct make_signed + { using type = typename __make_signed_selector<_Tp>::__type; }; + + + template<> struct make_signed; + template<> struct make_signed; + template<> struct make_signed; + template<> struct make_signed; + + + + template + using make_signed_t = typename make_signed<_Tp>::type; + + + template + using make_unsigned_t = typename make_unsigned<_Tp>::type; + + + + + + template + struct remove_extent + { using type = _Tp; }; + + template + struct remove_extent<_Tp[_Size]> + { using type = _Tp; }; + + template + struct remove_extent<_Tp[]> + { using type = _Tp; }; + + + template + struct remove_all_extents + { using type = _Tp; }; + + template + struct remove_all_extents<_Tp[_Size]> + { using type = typename remove_all_extents<_Tp>::type; }; + + template + struct remove_all_extents<_Tp[]> + { using type = typename remove_all_extents<_Tp>::type; }; + + + + template + using remove_extent_t = typename remove_extent<_Tp>::type; + + + template + using remove_all_extents_t = typename remove_all_extents<_Tp>::type; + + + + + + + template + struct remove_pointer + { using type = __remove_pointer(_Tp); }; +# 2124 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct __add_pointer_helper + { using type = _Tp; }; + + template + struct __add_pointer_helper<_Tp, __void_t<_Tp*>> + { using type = _Tp*; }; + + + template + struct add_pointer + : public __add_pointer_helper<_Tp> + { }; + + template + struct add_pointer<_Tp&> + { using type = _Tp*; }; + + template + struct add_pointer<_Tp&&> + { using type = _Tp*; }; + + + + template + using remove_pointer_t = typename remove_pointer<_Tp>::type; + + + template + using add_pointer_t = typename add_pointer<_Tp>::type; + + + template + struct __aligned_storage_msa + { + union __type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__)) { } __align; + }; + }; +# 2179 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template::__type)> + struct + + aligned_storage + { + union type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__((_Align)))) { } __align; + }; + }; + + template + struct __strictest_alignment + { + static const size_t _S_alignment = 0; + static const size_t _S_size = 0; + }; + + template + struct __strictest_alignment<_Tp, _Types...> + { + static const size_t _S_alignment = + alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment + ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; + static const size_t _S_size = + sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size + ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; + }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +# 2225 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct + + aligned_union + { + private: + static_assert(sizeof...(_Types) != 0, "At least one type is required"); + + using __strictest = __strictest_alignment<_Types...>; + static const size_t _S_len = _Len > __strictest::_S_size + ? _Len : __strictest::_S_size; + public: + + static const size_t alignment_value = __strictest::_S_alignment; + + using type = typename aligned_storage<_S_len, alignment_value>::type; + }; + + template + const size_t aligned_union<_Len, _Types...>::alignment_value; +#pragma GCC diagnostic pop + + + + + + template + struct __decay_selector + : __conditional_t::value, + remove_cv<_Up>, + add_pointer<_Up>> + { }; + + template + struct __decay_selector<_Up[_Nm]> + { using type = _Up*; }; + + template + struct __decay_selector<_Up[]> + { using type = _Up*; }; + + + + + template + struct decay + { using type = typename __decay_selector<_Tp>::type; }; + + template + struct decay<_Tp&> + { using type = typename __decay_selector<_Tp>::type; }; + + template + struct decay<_Tp&&> + { using type = typename __decay_selector<_Tp>::type; }; + + + + + template + struct __strip_reference_wrapper + { + using __type = _Tp; + }; + + template + struct __strip_reference_wrapper > + { + using __type = _Tp&; + }; + + + template + using __decay_t = typename decay<_Tp>::type; + + template + using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; + + + + + + template + using _Require = __enable_if_t<__and_<_Cond...>::value>; + + + template + using __remove_cvref_t + = typename remove_cv::type>::type; + + + + + template + struct conditional + { using type = _Iftrue; }; + + + template + struct conditional + { using type = _Iffalse; }; + + + template + struct common_type; +# 2340 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct __success_type + { using type = _Tp; }; + + struct __failure_type + { }; + + struct __do_common_type_impl + { + template + using __cond_t + = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); + + + + template + static __success_type<__decay_t<__cond_t<_Tp, _Up>>> + _S_test(int); +# 2367 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + static __failure_type + _S_test_2(...); + + template + static decltype(_S_test_2<_Tp, _Up>(0)) + _S_test(...); + }; + + + template<> + struct common_type<> + { }; + + + template + struct common_type<_Tp0> + : public common_type<_Tp0, _Tp0> + { }; + + + template, typename _Dp2 = __decay_t<_Tp2>> + struct __common_type_impl + { + + + using type = common_type<_Dp1, _Dp2>; + }; + + template + struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> + : private __do_common_type_impl + { + + + using type = decltype(_S_test<_Tp1, _Tp2>(0)); + }; + + + template + struct common_type<_Tp1, _Tp2> + : public __common_type_impl<_Tp1, _Tp2>::type + { }; + + template + struct __common_type_pack + { }; + + template + struct __common_type_fold; + + + template + struct common_type<_Tp1, _Tp2, _Rp...> + : public __common_type_fold, + __common_type_pack<_Rp...>> + { }; + + + + + template + struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, + __void_t> + : public common_type + { }; + + + template + struct __common_type_fold<_CTp, _Rp, void> + { }; + + template + struct __underlying_type_impl + { + using type = __underlying_type(_Tp); + }; + + template + struct __underlying_type_impl<_Tp, false> + { }; + + + + template + struct underlying_type + : public __underlying_type_impl<_Tp> + { }; + + + template + struct __declval_protector + { + static const bool __stop = false; + }; + + + + + + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)) + { + static_assert(__declval_protector<_Tp>::__stop, + "declval() must not be used!"); + return __declval<_Tp>(0); + } + + + template + struct result_of; + + + + + struct __invoke_memfun_ref { }; + struct __invoke_memfun_deref { }; + struct __invoke_memobj_ref { }; + struct __invoke_memobj_deref { }; + struct __invoke_other { }; + + + template + struct __result_of_success : __success_type<_Tp> + { using __invoke_type = _Tag; }; + + + struct __result_of_memfun_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_ref + : private __result_of_memfun_ref_impl + { + using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); + }; + + + struct __result_of_memfun_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_deref + : private __result_of_memfun_deref_impl + { + using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); + }; + + + struct __result_of_memobj_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>() + ), __invoke_memobj_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_ref + : private __result_of_memobj_ref_impl + { + using type = decltype(_S_test<_MemPtr, _Arg>(0)); + }; + + + struct __result_of_memobj_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>() + ), __invoke_memobj_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_deref + : private __result_of_memobj_deref_impl + { + using type = decltype(_S_test<_MemPtr, _Arg>(0)); + }; + + template + struct __result_of_memobj; + + template + struct __result_of_memobj<_Res _Class::*, _Arg> + { + using _Argval = __remove_cvref_t<_Arg>; + using _MemPtr = _Res _Class::*; + using type = typename __conditional_t<__or_, + is_base_of<_Class, _Argval>>::value, + __result_of_memobj_ref<_MemPtr, _Arg>, + __result_of_memobj_deref<_MemPtr, _Arg> + >::type; + }; + + template + struct __result_of_memfun; + + template + struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> + { + using _Argval = typename remove_reference<_Arg>::type; + using _MemPtr = _Res _Class::*; + using type = typename __conditional_t::value, + __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, + __result_of_memfun_deref<_MemPtr, _Arg, _Args...> + >::type; + }; + + + + + + + template> + struct __inv_unwrap + { + using type = _Tp; + }; + + template + struct __inv_unwrap<_Tp, reference_wrapper<_Up>> + { + using type = _Up&; + }; + + template + struct __result_of_impl + { + using type = __failure_type; + }; + + template + struct __result_of_impl + : public __result_of_memobj<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type> + { }; + + template + struct __result_of_impl + : public __result_of_memfun<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type, _Args...> + { }; + + + struct __result_of_other_impl + { + template + static __result_of_success()(std::declval<_Args>()...) + ), __invoke_other> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_impl + : private __result_of_other_impl + { + using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); + }; + + + template + struct __invoke_result + : public __result_of_impl< + is_member_object_pointer< + typename remove_reference<_Functor>::type + >::value, + is_member_function_pointer< + typename remove_reference<_Functor>::type + >::value, + _Functor, _ArgTypes... + >::type + { }; + + + template + using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type; + + + template + struct result_of<_Functor(_ArgTypes...)> + : public __invoke_result<_Functor, _ArgTypes...> + { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead"))); + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + template::__type)> + using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; + + template + using aligned_union_t = typename aligned_union<_Len, _Types...>::type; +#pragma GCC diagnostic pop + + + template + using decay_t = typename decay<_Tp>::type; + + + template + using enable_if_t = typename enable_if<_Cond, _Tp>::type; + + + template + using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; + + + template + using common_type_t = typename common_type<_Tp...>::type; + + + template + using underlying_type_t = typename underlying_type<_Tp>::type; + + + template + using result_of_t = typename result_of<_Tp>::type; + + + + + template using void_t = void; +# 2744 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template class _Op, typename... _Args> + struct __detector + { + using type = _Default; + using __is_detected = false_type; + }; + + + template class _Op, + typename... _Args> + struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> + { + using type = _Op<_Args...>; + using __is_detected = true_type; + }; + + template class _Op, + typename... _Args> + using __detected_or = __detector<_Default, void, _Op, _Args...>; + + + + template class _Op, + typename... _Args> + using __detected_or_t + = typename __detected_or<_Default, _Op, _Args...>::type; +# 2786 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template + struct __is_swappable; + + template + struct __is_nothrow_swappable; + + template + struct __is_tuple_like_impl : false_type + { }; + + + template + struct __is_tuple_like + : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type + { }; + + + template + + inline + _Require<__not_<__is_tuple_like<_Tp>>, + is_move_constructible<_Tp>, + is_move_assignable<_Tp>> + swap(_Tp&, _Tp&) + noexcept(__and_, + is_nothrow_move_assignable<_Tp>>::value); + + template + + inline + __enable_if_t<__is_swappable<_Tp>::value> + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value); + + + namespace __swappable_details { + using std::swap; + + struct __do_is_swappable_impl + { + template(), std::declval<_Tp&>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) + > __test(int); + + template + static false_type __test(...); + }; + + } + + template + struct __is_swappable_impl + : public __swappable_details::__do_is_swappable_impl + { + using type = decltype(__test<_Tp>(0)); + }; + + template + struct __is_nothrow_swappable_impl + : public __swappable_details::__do_is_nothrow_swappable_impl + { + using type = decltype(__test<_Tp>(0)); + }; + + template + struct __is_swappable + : public __is_swappable_impl<_Tp>::type + { }; + + template + struct __is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { }; + + + + + + + template + struct is_swappable + : public __is_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + template + inline constexpr bool is_swappable_v = + is_swappable<_Tp>::value; + + + template + inline constexpr bool is_nothrow_swappable_v = + is_nothrow_swappable<_Tp>::value; + + + + namespace __swappable_with_details { + using std::swap; + + struct __do_is_swappable_with_impl + { + template(), std::declval<_Up>())), + typename + = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_with_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) + && + noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) + > __test(int); + + template + static false_type __test(...); + }; + + } + + template + struct __is_swappable_with_impl + : public __swappable_with_details::__do_is_swappable_with_impl + { + using type = decltype(__test<_Tp, _Up>(0)); + }; + + + template + struct __is_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_swappable_impl + { + using type = decltype(__test<_Tp&>(0)); + }; + + template + struct __is_nothrow_swappable_with_impl + : public __swappable_with_details::__do_is_nothrow_swappable_with_impl + { + using type = decltype(__test<_Tp, _Up>(0)); + }; + + + template + struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_nothrow_swappable_impl + { + using type = decltype(__test<_Tp&>(0)); + }; + + + + template + struct is_swappable_with + : public __is_swappable_with_impl<_Tp, _Up>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "first template argument must be a complete class or an unbounded array"); + static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), + "second template argument must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_swappable_with + : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "first template argument must be a complete class or an unbounded array"); + static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), + "second template argument must be a complete class or an unbounded array"); + }; + + + + template + inline constexpr bool is_swappable_with_v = + is_swappable_with<_Tp, _Up>::value; + + + template + inline constexpr bool is_nothrow_swappable_with_v = + is_nothrow_swappable_with<_Tp, _Up>::value; +# 3008 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + template::value, typename = void> + struct __is_invocable_impl + : false_type + { + using __nothrow_conv = false_type; + }; + + + template + struct __is_invocable_impl<_Result, _Ret, + true, + __void_t> + : true_type + { + using __nothrow_conv = true_type; + }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + + template + struct __is_invocable_impl<_Result, _Ret, + false, + __void_t> + { + private: + + using _Res_t = typename _Result::type; + + + + static _Res_t _S_get() noexcept; + + + template + static void _S_conv(__type_identity_t<_Tp>) noexcept; + + + template(_S_get())), + typename = decltype(_S_conv<_Tp>(_S_get())), + + bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t) + + + + > + static __bool_constant<_Nothrow && !_Dangle> + _S_test(int); + + template + static false_type + _S_test(...); + + public: + + using type = decltype(_S_test<_Ret, true>(1)); + + + using __nothrow_conv = decltype(_S_test<_Ret>(1)); + }; +#pragma GCC diagnostic pop + + template + struct __is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { }; + + template + constexpr bool __call_is_nt(__invoke_memfun_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept((std::declval<_Up>().*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memfun_deref) + { + return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept(std::declval<_Up>().*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_deref) + { + return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_other) + { + return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); + } + + template + struct __call_is_nothrow + : __bool_constant< + std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) + > + { }; + + template + using __call_is_nothrow_ + = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; + + + template + struct __is_nothrow_invocable + : __and_<__is_invocable<_Fn, _Args...>, + __call_is_nothrow_<_Fn, _Args...>>::type + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + struct __nonesuchbase {}; + struct __nonesuch : private __nonesuchbase { + ~__nonesuch() = delete; + __nonesuch(__nonesuch const&) = delete; + void operator=(__nonesuch const&) = delete; + }; +#pragma GCC diagnostic pop + + + + + template + struct invoke_result + : public __invoke_result<_Functor, _ArgTypes...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}), + "_Functor must be a complete class or an unbounded array"); + static_assert((std::__is_complete_or_unbounded( + __type_identity<_ArgTypes>{}) && ...), + "each argument type must be a complete class or an unbounded array"); + }; + + + template + using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; + + + template + struct is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + static_assert((std::__is_complete_or_unbounded( + __type_identity<_ArgTypes>{}) && ...), + "each argument type must be a complete class or an unbounded array"); + }; + + + template + struct is_invocable_r + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + static_assert((std::__is_complete_or_unbounded( + __type_identity<_ArgTypes>{}) && ...), + "each argument type must be a complete class or an unbounded array"); + static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), + "_Ret must be a complete class or an unbounded array"); + }; + + + template + struct is_nothrow_invocable + : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + static_assert((std::__is_complete_or_unbounded( + __type_identity<_ArgTypes>{}) && ...), + "each argument type must be a complete class or an unbounded array"); + }; + + + + + + template + using __is_nt_invocable_impl + = typename __is_invocable_impl<_Result, _Ret>::__nothrow_conv; + + + + template + struct is_nothrow_invocable_r + : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + static_assert((std::__is_complete_or_unbounded( + __type_identity<_ArgTypes>{}) && ...), + "each argument type must be a complete class or an unbounded array"); + static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), + "_Ret must be a complete class or an unbounded array"); + }; +# 3236 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +template + inline constexpr bool is_void_v = is_void<_Tp>::value; +template + inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; +template + inline constexpr bool is_integral_v = is_integral<_Tp>::value; +template + inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; + + +template + inline constexpr bool is_array_v = __is_array(_Tp); +# 3257 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +template + inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; +template + inline constexpr bool is_lvalue_reference_v = false; +template + inline constexpr bool is_lvalue_reference_v<_Tp&> = true; +template + inline constexpr bool is_rvalue_reference_v = false; +template + inline constexpr bool is_rvalue_reference_v<_Tp&&> = true; + + +template + inline constexpr bool is_member_object_pointer_v = + __is_member_object_pointer(_Tp); + + + + + + + +template + inline constexpr bool is_member_function_pointer_v = + __is_member_function_pointer(_Tp); + + + + + + +template + inline constexpr bool is_enum_v = __is_enum(_Tp); +template + inline constexpr bool is_union_v = __is_union(_Tp); +template + inline constexpr bool is_class_v = __is_class(_Tp); + + + +template + inline constexpr bool is_reference_v = __is_reference(_Tp); +# 3308 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +template + inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; +template + inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; + + +template + inline constexpr bool is_object_v = __is_object(_Tp); + + + + + +template + inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; +template + inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>; + + +template + inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); + + + + + +template + inline constexpr bool is_const_v = false; +template + inline constexpr bool is_const_v = true; + + +template + inline constexpr bool is_function_v = __is_function(_Tp); +# 3351 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +template + inline constexpr bool is_volatile_v = false; +template + inline constexpr bool is_volatile_v = true; + +template + inline constexpr bool is_trivial_v = __is_trivial(_Tp); +template + inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); +template + inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); +template + + inline constexpr bool is_pod_v = __is_pod(_Tp); +template + [[__deprecated__]] + inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); +template + inline constexpr bool is_empty_v = __is_empty(_Tp); +template + inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); +template + inline constexpr bool is_abstract_v = __is_abstract(_Tp); +template + inline constexpr bool is_final_v = __is_final(_Tp); + +template + inline constexpr bool is_signed_v = is_signed<_Tp>::value; +template + inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; + +template + inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); +template + inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); +template + inline constexpr bool is_copy_constructible_v + = __is_constructible(_Tp, __add_lval_ref_t); +template + inline constexpr bool is_move_constructible_v + = __is_constructible(_Tp, __add_rval_ref_t<_Tp>); + +template + inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up); +template + inline constexpr bool is_copy_assignable_v + = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t); +template + inline constexpr bool is_move_assignable_v + = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); + +template + inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; + +template + inline constexpr bool is_trivially_constructible_v + = __is_trivially_constructible(_Tp, _Args...); +template + inline constexpr bool is_trivially_default_constructible_v + = __is_trivially_constructible(_Tp); +template + inline constexpr bool is_trivially_copy_constructible_v + = __is_trivially_constructible(_Tp, __add_lval_ref_t); +template + inline constexpr bool is_trivially_move_constructible_v + = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>); + +template + inline constexpr bool is_trivially_assignable_v + = __is_trivially_assignable(_Tp, _Up); +template + inline constexpr bool is_trivially_copy_assignable_v + = __is_trivially_assignable(__add_lval_ref_t<_Tp>, + __add_lval_ref_t); +template + inline constexpr bool is_trivially_move_assignable_v + = __is_trivially_assignable(__add_lval_ref_t<_Tp>, + __add_rval_ref_t<_Tp>); +# 3446 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 +template + inline constexpr bool is_trivially_destructible_v = + is_trivially_destructible<_Tp>::value; + + +template + inline constexpr bool is_nothrow_constructible_v + = __is_nothrow_constructible(_Tp, _Args...); +template + inline constexpr bool is_nothrow_default_constructible_v + = __is_nothrow_constructible(_Tp); +template + inline constexpr bool is_nothrow_copy_constructible_v + = __is_nothrow_constructible(_Tp, __add_lval_ref_t); +template + inline constexpr bool is_nothrow_move_constructible_v + = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>); + +template + inline constexpr bool is_nothrow_assignable_v + = __is_nothrow_assignable(_Tp, _Up); +template + inline constexpr bool is_nothrow_copy_assignable_v + = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, + __add_lval_ref_t); +template + inline constexpr bool is_nothrow_move_assignable_v + = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); + +template + inline constexpr bool is_nothrow_destructible_v = + is_nothrow_destructible<_Tp>::value; + +template + inline constexpr bool has_virtual_destructor_v + = __has_virtual_destructor(_Tp); + +template + inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; + +template + inline constexpr size_t rank_v = 0; +template + inline constexpr size_t rank_v<_Tp[_Size]> = 1 + rank_v<_Tp>; +template + inline constexpr size_t rank_v<_Tp[]> = 1 + rank_v<_Tp>; + +template + inline constexpr size_t extent_v = 0; +template + inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size; +template + inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>; +template + inline constexpr size_t extent_v<_Tp[], 0> = 0; +template + inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>; + + +template + inline constexpr bool is_same_v = __is_same(_Tp, _Up); + + + + + + +template + inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); + +template + inline constexpr bool is_convertible_v = __is_convertible(_From, _To); + + + + +template + inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; +template + inline constexpr bool is_nothrow_invocable_v + = is_nothrow_invocable<_Fn, _Args...>::value; +template + inline constexpr bool is_invocable_r_v + = is_invocable_r<_Ret, _Fn, _Args...>::value; +template + inline constexpr bool is_nothrow_invocable_r_v + = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; + + + + + + + template + struct has_unique_object_representations + : bool_constant<__has_unique_object_representations( + remove_cv_t> + )> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + + template + inline constexpr bool has_unique_object_representations_v + = has_unique_object_representations<_Tp>::value; + + + + + + + template + struct is_aggregate + : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> + { }; + + + + + + + template + inline constexpr bool is_aggregate_v = __is_aggregate(remove_cv_t<_Tp>); +# 4002 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/type_traits" 3 + +} +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 2 3 + + +namespace std +{ + + + + + + + + template + inline constexpr _Tp* + __addressof(_Tp& __r) noexcept + { return __builtin_addressof(__r); } +# 67 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 + template + [[__nodiscard__]] + constexpr _Tp&& + forward(typename std::remove_reference<_Tp>::type& __t) noexcept + { return static_cast<_Tp&&>(__t); } + + + + + + + + template + [[__nodiscard__]] + constexpr _Tp&& + forward(typename std::remove_reference<_Tp>::type&& __t) noexcept + { + static_assert(!std::is_lvalue_reference<_Tp>::value, + "std::forward must not be used to convert an rvalue to an lvalue"); + return static_cast<_Tp&&>(__t); + } +# 123 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 + template + [[__nodiscard__]] + constexpr typename std::remove_reference<_Tp>::type&& + move(_Tp&& __t) noexcept + { return static_cast::type&&>(__t); } + + + template + struct __move_if_noexcept_cond + : public __and_<__not_>, + is_copy_constructible<_Tp>>::type { }; +# 143 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 + template + [[__nodiscard__]] + constexpr + __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&> + move_if_noexcept(_Tp& __x) noexcept + { return std::move(__x); } +# 159 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 + template + [[__nodiscard__]] + inline constexpr _Tp* + addressof(_Tp& __r) noexcept + { return std::__addressof(__r); } + + + + template + const _Tp* addressof(const _Tp&&) = delete; + + + template + + inline _Tp + __exchange(_Tp& __obj, _Up&& __new_val) + { + _Tp __old_val = std::move(__obj); + __obj = std::forward<_Up>(__new_val); + return __old_val; + } +# 203 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/move.h" 3 + template + + inline + + typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, + is_move_constructible<_Tp>, + is_move_assignable<_Tp>>::value>::type + + + + swap(_Tp& __a, _Tp& __b) + noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value) + + { + + + + + _Tp __tmp = std::move(__a); + __a = std::move(__b); + __b = std::move(__tmp); + } + + + + + template + + inline + + typename enable_if<__is_swappable<_Tp>::value>::type + + + + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value) + { + for (size_t __n = 0; __n < _Nm; ++__n) + swap(__a[__n], __b[__n]); + } + + + +} +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 2 3 +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 +extern "C++" { + +namespace std +{ + class type_info; + + + + + + + namespace __exception_ptr + { + class exception_ptr; + } + + using __exception_ptr::exception_ptr; +# 75 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 + exception_ptr current_exception() noexcept; + + template + exception_ptr make_exception_ptr(_Ex) noexcept; + + + void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); + + namespace __exception_ptr + { + using std::rethrow_exception; +# 97 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 + class exception_ptr + { + void* _M_exception_object; + + explicit exception_ptr(void* __e) noexcept; + + void _M_addref() noexcept; + void _M_release() noexcept; + + void *_M_get() const noexcept __attribute__ ((__pure__)); + + friend exception_ptr std::current_exception() noexcept; + friend void std::rethrow_exception(exception_ptr); + template + friend exception_ptr std::make_exception_ptr(_Ex) noexcept; + + public: + exception_ptr() noexcept; + + exception_ptr(const exception_ptr&) noexcept; + + + exception_ptr(nullptr_t) noexcept + : _M_exception_object(nullptr) + { } + + exception_ptr(exception_ptr&& __o) noexcept + : _M_exception_object(__o._M_exception_object) + { __o._M_exception_object = nullptr; } +# 135 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 + exception_ptr& + operator=(const exception_ptr&) noexcept; + + + exception_ptr& + operator=(exception_ptr&& __o) noexcept + { + exception_ptr(static_cast(__o)).swap(*this); + return *this; + } + + + ~exception_ptr() noexcept; + + void + swap(exception_ptr&) noexcept; +# 162 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 + explicit operator bool() const noexcept + { return _M_exception_object; } + + + + + + + + friend bool + operator==(const exception_ptr& __x, const exception_ptr& __y) + noexcept + { return __x._M_exception_object == __y._M_exception_object; } + + friend bool + operator!=(const exception_ptr& __x, const exception_ptr& __y) + noexcept + { return __x._M_exception_object != __y._M_exception_object; } + + + const class std::type_info* + __cxa_exception_type() const noexcept + __attribute__ ((__pure__)); + }; + + + inline + exception_ptr::exception_ptr() noexcept + : _M_exception_object(0) + { } + + + inline + exception_ptr::exception_ptr(const exception_ptr& __other) + noexcept + : _M_exception_object(__other._M_exception_object) + { + if (_M_exception_object) + _M_addref(); + } + + + inline + exception_ptr::~exception_ptr() noexcept + { + if (_M_exception_object) + _M_release(); + } + + + inline exception_ptr& + exception_ptr::operator=(const exception_ptr& __other) noexcept + { + exception_ptr(__other).swap(*this); + return *this; + } + + + inline void + exception_ptr::swap(exception_ptr &__other) noexcept + { + void *__tmp = _M_exception_object; + _M_exception_object = __other._M_exception_object; + __other._M_exception_object = __tmp; + } + + + inline void + swap(exception_ptr& __lhs, exception_ptr& __rhs) + { __lhs.swap(__rhs); } + + + template + + inline void + __dest_thunk(void* __x) + { static_cast<_Ex*>(__x)->~_Ex(); } + + + } + + using __exception_ptr::swap; + + + + template + exception_ptr + make_exception_ptr(_Ex __ex) noexcept + { + + using _Ex2 = typename decay<_Ex>::type; + void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); + (void) __cxxabiv1::__cxa_init_primary_exception( + __e, const_cast(&typeid(_Ex)), + __exception_ptr::__dest_thunk<_Ex2>); + try + { + ::new (__e) _Ex2(__ex); + return exception_ptr(__e); + } + catch(...) + { + __cxxabiv1::__cxa_free_exception(__e); + return current_exception(); + } +# 277 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 + } +# 291 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/exception_ptr.h" 3 +} + +} +# 167 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 1 3 +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 3 +extern "C++" { + +namespace std +{ +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 3 + class nested_exception + { + exception_ptr _M_ptr; + + public: + + nested_exception() noexcept : _M_ptr(current_exception()) { } + + nested_exception(const nested_exception&) noexcept = default; + + nested_exception& operator=(const nested_exception&) noexcept = default; + + virtual ~nested_exception() noexcept; + + + [[noreturn]] + void + rethrow_nested() const + { + if (_M_ptr) + rethrow_exception(_M_ptr); + std::terminate(); + } + + + exception_ptr + nested_ptr() const noexcept + { return _M_ptr; } + }; + + + + template + struct _Nested_exception : public _Except, public nested_exception + { + explicit _Nested_exception(const _Except& __ex) + : _Except(__ex) + { } + + explicit _Nested_exception(_Except&& __ex) + : _Except(static_cast<_Except&&>(__ex)) + { } + }; +# 145 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 3 + template + [[noreturn]] + inline void + throw_with_nested(_Tp&& __t) + { + using _Up = typename decay<_Tp>::type; + using _CopyConstructible + = __and_, is_move_constructible<_Up>>; + static_assert(_CopyConstructible::value, + "throw_with_nested argument must be CopyConstructible"); + + + if constexpr (is_class_v<_Up>) + if constexpr (!is_final_v<_Up>) + if constexpr (!is_base_of_v) + throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; + throw std::forward<_Tp>(__t); + + + + + + } +# 203 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 3 + template + + + + inline void + rethrow_if_nested(const _Ex& __ex) + { + const _Ex* __ptr = __builtin_addressof(__ex); +# 223 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/nested_exception.h" 3 + if constexpr (!is_polymorphic_v<_Ex>) + return; + else if constexpr (is_base_of_v + && !is_convertible_v<_Ex*, nested_exception*>) + return; + + + + + else if (auto __ne_ptr = dynamic_cast(__ptr)) + __ne_ptr->rethrow_nested(); + + } + + +} + +} +# 168 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/exception" 2 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 2 3 +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 +namespace __gnu_cxx +{ + + + +# 68 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-overflow" +#pragma GCC diagnostic ignored "-Wstringop-overread" +#pragma GCC diagnostic ignored "-Warray-bounds" +# 83 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + template + struct _Char_types + { + typedef unsigned long int_type; + + typedef std::streampos pos_type; + typedef std::streamoff off_type; + typedef std::mbstate_t state_type; + + }; +# 110 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + template + struct char_traits + { + typedef _CharT char_type; + typedef typename _Char_types<_CharT>::int_type int_type; + + typedef typename _Char_types<_CharT>::pos_type pos_type; + typedef typename _Char_types<_CharT>::off_type off_type; + typedef typename _Char_types<_CharT>::state_type state_type; + + + + + + static constexpr void + assign(char_type& __c1, const char_type& __c2) + { + + + + + + __c1 = __c2; + } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) + { return __c1 < __c2; } + + static constexpr int + compare(const char_type* __s1, const char_type* __s2, std::size_t __n); + + static constexpr std::size_t + length(const char_type* __s); + + static constexpr const char_type* + find(const char_type* __s, std::size_t __n, const char_type& __a); + + static char_type* + move(char_type* __s1, const char_type* __s2, std::size_t __n); + + static char_type* + copy(char_type* __s1, const char_type* __s2, std::size_t __n); + + static char_type* + assign(char_type* __s, std::size_t __n, char_type __a); + + static constexpr char_type + to_char_type(const int_type& __c) + { return static_cast(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) + { return static_cast(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) + { return __c1 == __c2; } + + + static constexpr int_type + eof() + { return static_cast(-1); } + + static constexpr int_type + not_eof(const int_type& __c) + { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } + + }; + + template + constexpr int + char_traits<_CharT>:: + compare(const char_type* __s1, const char_type* __s2, std::size_t __n) + { + for (std::size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + template + constexpr std::size_t + char_traits<_CharT>:: + length(const char_type* __p) + { + std::size_t __i = 0; + while (!eq(__p[__i], char_type())) + ++__i; + return __i; + } + + template + constexpr const typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + find(const char_type* __s, std::size_t __n, const char_type& __a) + { + for (std::size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + template + + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + move(char_type* __s1, const char_type* __s2, std::size_t __n) + { + if (__n == 0) + return __s1; +# 246 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); + return __s1; + } + + template + + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + copy(char_type* __s1, const char_type* __s2, std::size_t __n) + { + if (__n == 0) + return __s1; +# 266 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + __builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); + return __s1; + } + + template + + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + assign(char_type* __s, std::size_t __n, char_type __a) + { +# 285 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT)) + { + if (__n) + { + unsigned char __c; + __builtin_memcpy(&__c, __builtin_addressof(__a), 1); + __builtin_memset(__s, __c, __n); + } + } + else + { + for (std::size_t __i = 0; __i < __n; ++__i) + __s[__i] = __a; + } + return __s; + } + + +} + +namespace std +{ + +# 322 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + template + struct char_traits : public __gnu_cxx::char_traits<_CharT> + { }; + + + + template<> + struct char_traits + { + typedef char char_type; + typedef int int_type; + + typedef streampos pos_type; + typedef streamoff off_type; + typedef mbstate_t state_type; + + + + + + static constexpr void + assign(char_type& __c1, const char_type& __c2) noexcept + { + + + + + + __c1 = __c2; + } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { + + return (static_cast(__c1) + < static_cast(__c2)); + } + + static constexpr int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return 0; + + if (std::__is_constant_evaluated()) + { + for (size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + return __builtin_memcmp(__s1, __s2, __n); + } + + static constexpr size_t + length(const char_type* __s) + { + + if (std::__is_constant_evaluated()) + return __gnu_cxx::char_traits::length(__s); + + return __builtin_strlen(__s); + } + + static constexpr const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + if (__n == 0) + return 0; + + if (std::__is_constant_evaluated()) + return __gnu_cxx::char_traits::find(__s, __n, __a); + + return static_cast(__builtin_memchr(__s, __a, __n)); + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return static_cast(__builtin_memmove(__s1, __s2, __n)); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return static_cast(__builtin_memcpy(__s1, __s2, __n)); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + if (__n == 0) + return __s; + + + + + return static_cast(__builtin_memset(__s, __a, __n)); + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return static_cast(__c); } + + + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return static_cast(static_cast(__c)); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + + static constexpr int_type + eof() noexcept + { return static_cast(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return (__c == eof()) ? 0 : __c; } + + }; + + + + + template<> + struct char_traits + { + typedef wchar_t char_type; + typedef wint_t int_type; + + typedef streamoff off_type; + typedef wstreampos pos_type; + typedef mbstate_t state_type; + + + + + + static constexpr void + assign(char_type& __c1, const char_type& __c2) noexcept + { + + + + + + __c1 = __c2; + } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static constexpr int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return 0; + + if (std::__is_constant_evaluated()) + return __gnu_cxx::char_traits::compare(__s1, __s2, __n); + + return wmemcmp(__s1, __s2, __n); + } + + static constexpr size_t + length(const char_type* __s) + { + + if (std::__is_constant_evaluated()) + return __gnu_cxx::char_traits::length(__s); + + return wcslen(__s); + } + + static constexpr const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + if (__n == 0) + return 0; + + if (std::__is_constant_evaluated()) + return __gnu_cxx::char_traits::find(__s, __n, __a); + + return wmemchr(__s, __a, __n); + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return wmemmove(__s1, __s2, __n); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return wmemcpy(__s1, __s2, __n); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + if (__n == 0) + return __s; + + + + + return wmemset(__s, __a, __n); + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return int_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + + static constexpr int_type + eof() noexcept + { return static_cast((wint_t)(0xFFFF)); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + + }; +# 732 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 + +} + + + +namespace std +{ + + + template<> + struct char_traits + { + typedef char16_t char_type; + + typedef short unsigned int int_type; + + + + + typedef streamoff off_type; + typedef u16streampos pos_type; + typedef mbstate_t state_type; + + + + + + static constexpr void + assign(char_type& __c1, const char_type& __c2) noexcept + { + + + + + + __c1 = __c2; + } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static constexpr int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + for (size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + static constexpr size_t + length(const char_type* __s) + { + size_t __i = 0; + while (!eq(__s[__i], char_type())) + ++__i; + return __i; + } + + static constexpr const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + for (size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return (static_cast + (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return (static_cast + (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + for (size_t __i = 0; __i < __n; ++__i) + assign(__s[__i], __a); + return __s; + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return __c == eof() ? int_type(0xfffd) : int_type(__c); } + + static constexpr int_type + eof() noexcept + { return static_cast(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + + + + + + }; + + template<> + struct char_traits + { + typedef char32_t char_type; + + typedef unsigned int int_type; + + + + + typedef streamoff off_type; + typedef u32streampos pos_type; + typedef mbstate_t state_type; + + + + + + static constexpr void + assign(char_type& __c1, const char_type& __c2) noexcept + { + + + + + + __c1 = __c2; + } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static constexpr int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + for (size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + static constexpr size_t + length(const char_type* __s) + { + size_t __i = 0; + while (!eq(__s[__i], char_type())) + ++__i; + return __i; + } + + static constexpr const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + for (size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return (static_cast + (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + + + + + return (static_cast + (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + for (size_t __i = 0; __i < __n; ++__i) + assign(__s[__i], __a); + return __s; + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return int_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + + static constexpr int_type + eof() noexcept + { return static_cast(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + + }; +# 1010 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/char_traits.h" 3 +#pragma GCC diagnostic pop + + +} +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/clocale" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/clocale" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/clocale" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 1 3 +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +#pragma pack(push,_CRT_PACKING) + + + + + + + + + + + +extern "C" { +# 101 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +__attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __acrt_iob_func(unsigned index); + + + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __iob_func(void); +# 123 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __extension__ typedef long long fpos_t; +# 167 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +extern + __attribute__((__format__(__gnu_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...); +extern + __attribute__((__format__(__gnu_scanf__, 2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp); +extern + __attribute__((__format__(__gnu_scanf__, 1,2))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_scanf(const char * __restrict__ _Format,...); +extern + __attribute__((__format__(__gnu_scanf__, 1,0))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_vscanf(const char * __restrict__ Format, va_list argp); +extern + __attribute__((__format__(__gnu_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...); +extern + __attribute__((__format__(__gnu_scanf__, 2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp); + +extern + __attribute__((__format__(__gnu_printf__,3,0))) __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) __mingw_vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format, + va_list _ArgList); +extern + __attribute__((__format__(__gnu_printf__,3,4))) __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) __mingw_snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...); +extern + __attribute__((__format__(__gnu_printf__,1,2))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_printf(const char * __restrict__ , ... ) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,1,0))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __mingw_vprintf (const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_sprintf (char * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __mingw_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,3))) __attribute__((nonnull (1,2))) + int __attribute__((__cdecl__)) __mingw_asprintf(char ** __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__gnu_printf__,2,0))) __attribute__((nonnull (1,2))) + int __attribute__((__cdecl__)) __mingw_vasprintf(char ** __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); + +extern + __attribute__((__format__(__ms_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...); +extern + __attribute__((__format__(__ms_scanf__, 1,2))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_scanf(const char * __restrict__ _Format,...); +extern + __attribute__((__format__(__ms_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...); + +extern + __attribute__((__format__(__ms_printf__, 1,2))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_printf(const char * __restrict__ , ... ) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__ms_printf__, 1,0))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) __ms_vprintf (const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__ms_printf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__ms_printf__, 2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__ms_printf__, 2,3))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_sprintf (char * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__)); +extern + __attribute__((__format__(__ms_printf__, 2,0))) __attribute__ ((__nonnull__ (2))) + int __attribute__((__cdecl__)) __ms_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__)); + + + int __attribute__((__cdecl__)) __stdio_common_vsprintf(unsigned long long options, char *str, size_t len, const char *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vfprintf(unsigned long long options, FILE *file, const char *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vsscanf(unsigned long long options, const char *input, size_t length, const char *format, _locale_t locale, va_list valist); + int __attribute__((__cdecl__)) __stdio_common_vfscanf(unsigned long long options, FILE *file, const char *format, _locale_t locale, va_list valist); +# 296 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +extern "C++" { + + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) +int sscanf(const char *__source, const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vsscanf( __source, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 1,2))) __attribute__ ((__nonnull__ (1))) +int scanf(const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfscanf( (__acrt_iob_func(0)), __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 2,3))) __attribute__ ((__nonnull__ (2))) +int fscanf(FILE *__stream, const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfscanf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" + + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 2,0))) __attribute__ ((__nonnull__ (2))) +int vsscanf (const char *__source, const char *__format, __builtin_va_list __local_argv) +{ + return __mingw_vsscanf( __source, __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 1,0))) __attribute__ ((__nonnull__ (1))) +int vscanf(const char *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfscanf( (__acrt_iob_func(0)), __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_scanf__, 2,0))) __attribute__ ((__nonnull__ (2))) +int vfscanf (FILE *__stream, const char *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfscanf( __stream, __format, __local_argv ); +} + + +#pragma GCC diagnostic pop + + + + + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,2,3))) __attribute__ ((__nonnull__ (2))) +int fprintf (FILE *__stream, const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,1,2))) __attribute__ ((__nonnull__ (1))) +int printf (const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfprintf( (__acrt_iob_func(1)), __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} +# 407 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,2,3))) __attribute__ ((__nonnull__ (2))) +int sprintf (char *__stream, const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vsprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + + + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,2,0))) __attribute__ ((__nonnull__ (2))) +int vfprintf (FILE *__stream, const char *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfprintf( __stream, __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,1,0))) __attribute__ ((__nonnull__ (1))) +int vprintf (const char *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfprintf( (__acrt_iob_func(1)), __format, __local_argv ); +} + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,2,0))) __attribute__ ((__nonnull__ (2))) +int vsprintf (char *__stream, const char *__format, __builtin_va_list __local_argv) +{ +# 446 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + return __mingw_vsprintf( __stream, __format, __local_argv ); +} +# 464 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,3,4))) __attribute__ ((__nonnull__ (3))) +int snprintf (char *__stream, size_t __n, const char *__format, ...) +{ + int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vsnprintf( __stream, __n, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + + + +inline __attribute__((__cdecl__)) +__attribute__((__format__(__gnu_printf__,3,0))) __attribute__ ((__nonnull__ (3))) +int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_list __local_argv) +{ + + + + return __mingw_vsnprintf( __stream, __n, __format, __local_argv ); +} +# 494 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 +} +# 618 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _filbuf(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _flsbuf(int _Ch,FILE *_File); + + + + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _fsopen(const char *_Filename,const char *_Mode,int _ShFlag); + + void __attribute__((__cdecl__)) clearerr(FILE *_File); + int __attribute__((__cdecl__)) fclose(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fcloseall(void); + + + + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _fdopen(int _FileHandle,const char *_Mode); + + int __attribute__((__cdecl__)) feof(FILE *_File); + int __attribute__((__cdecl__)) ferror(FILE *_File); + int __attribute__((__cdecl__)) fflush(FILE *_File); + int __attribute__((__cdecl__)) fgetc(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fgetchar(void); + int __attribute__((__cdecl__)) fgetpos(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos); + int __attribute__((__cdecl__)) fgetpos64(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos); + char *__attribute__((__cdecl__)) fgets(char * __restrict__ _Buf,int _MaxCount,FILE * __restrict__ _File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fileno(FILE *_File); + + + + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _tempnam(const char *_DirName,const char *_FilePrefix); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _flushall(void); + FILE *__attribute__((__cdecl__)) fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) ; + FILE *fopen64(const char * __restrict__ filename,const char * __restrict__ mode); + int __attribute__((__cdecl__)) fputc(int _Ch,FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fputchar(int _Ch); + int __attribute__((__cdecl__)) fputs(const char * __restrict__ _Str,FILE * __restrict__ _File); + size_t __attribute__((__cdecl__)) fread(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File); + FILE *__attribute__((__cdecl__)) freopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode,FILE * __restrict__ _File) ; + int __attribute__((__cdecl__)) fsetpos(FILE *_File,const fpos_t *_Pos); + int __attribute__((__cdecl__)) fsetpos64(FILE *_File,const fpos_t *_Pos); + int __attribute__((__cdecl__)) fseek(FILE *_File,long _Offset,int _Origin); + long __attribute__((__cdecl__)) ftell(FILE *_File); + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fseeki64(FILE *_File,long long _Offset,int _Origin); + __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _ftelli64(FILE *_File); + + inline __attribute__((__cdecl__)) int fseeko(FILE *_File, _off_t _Offset, int _Origin) { + return fseek(_File, _Offset, _Origin); + } + inline __attribute__((__cdecl__)) int fseeko64(FILE *_File, _off64_t _Offset, int _Origin) { + return _fseeki64(_File, _Offset, _Origin); + } + inline __attribute__((__cdecl__)) _off_t ftello(FILE *_File) { + return ftell(_File); + } + inline __attribute__((__cdecl__)) _off64_t ftello64(FILE *_File) { + return _ftelli64(_File); + } +# 698 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + size_t __attribute__((__cdecl__)) fwrite(const void * __restrict__ _Str,size_t _Size,size_t _Count,FILE * __restrict__ _File); + int __attribute__((__cdecl__)) getc(FILE *_File); + int __attribute__((__cdecl__)) getchar(void); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _getmaxstdio(void); + char *__attribute__((__cdecl__)) gets(char *_Buffer) + __attribute__((__warning__("Using gets() is always unsafe - use fgets() instead"))); + int __attribute__((__cdecl__)) _getw(FILE *_File); + + + void __attribute__((__cdecl__)) perror(const char *_ErrMsg); + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _pclose(FILE *_File); + __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _popen(const char *_Command,const char *_Mode); + + + + + + int __attribute__((__cdecl__)) putc(int _Ch,FILE *_File); + int __attribute__((__cdecl__)) putchar(int _Ch); + int __attribute__((__cdecl__)) puts(const char *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putw(int _Word,FILE *_File); + + + int __attribute__((__cdecl__)) remove(const char *_Filename); + int __attribute__((__cdecl__)) rename(const char *_OldFilename,const char *_NewFilename); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _unlink(const char *_Filename); + + int __attribute__((__cdecl__)) unlink(const char *_Filename) ; + + + void __attribute__((__cdecl__)) rewind(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _rmtmp(void); + void __attribute__((__cdecl__)) setbuf(FILE * __restrict__ _File,char * __restrict__ _Buffer) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _setmaxstdio(int _Max); + __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _set_output_format(unsigned int _Format); + __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _get_output_format(void); + int __attribute__((__cdecl__)) setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size); + + __attribute__ ((__pure__)) + __attribute__((__format__ (__gnu_printf__, 1, 2))) __attribute__ ((__nonnull__ (1))) + int __attribute__((__cdecl__)) _scprintf(const char * __restrict__ _Format,...); + __attribute__((__format__ (__gnu_scanf__, 3, 4))) __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) ; + + + + + + + + __attribute__ ((__pure__)) + __attribute__((__format__(__ms_printf__, 1,0))) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscprintf(const char * __restrict__ _Format,va_list _ArgList); + FILE *__attribute__((__cdecl__)) tmpfile(void) ; + char *__attribute__((__cdecl__)) tmpnam(char *_Buffer); + int __attribute__((__cdecl__)) ungetc(int _Ch,FILE *_File); + + + __attribute__((__format__ (__gnu_printf__, 3, 0))) __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) _vsnprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,va_list _Args) ; + __attribute__((__format__ (__gnu_printf__, 3, 4))) __attribute__ ((__nonnull__ (3))) + int __attribute__((__cdecl__)) _snprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,...) ; +# 988 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_printf_count_output(int _Value); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _get_printf_count_output(void); +# 1473 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fgetc_nolock(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fputc_nolock(int _Char, FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _getc_nolock(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putc_nolock(int _Char, FILE *_File); +# 1488 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _lock_file(FILE *_File); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _unlock_file(FILE *_File); + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fclose_nolock(FILE *_File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fflush_nolock(FILE *_File); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fread_nolock(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fseek_nolock(FILE *_File,long _Offset,int _Origin); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _ftell_nolock(FILE *_File); + __extension__ __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fseeki64_nolock(FILE *_File,long long _Offset,int _Origin); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _ftelli64_nolock(FILE *_File); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fwrite_nolock(const void * __restrict__ _DstBuf,size_t _Size,size_t _Count,FILE * __restrict__ _File); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _ungetc_nolock(int _Ch,FILE *_File); + + + + + + + char *__attribute__((__cdecl__)) tempnam(const char *_Directory,const char *_FilePrefix) ; + int __attribute__((__cdecl__)) fcloseall(void) ; + FILE *__attribute__((__cdecl__)) fdopen(int _FileHandle,const char *_Format) ; + int __attribute__((__cdecl__)) fgetchar(void) ; + int __attribute__((__cdecl__)) fileno(FILE *_File) ; + int __attribute__((__cdecl__)) flushall(void) ; + int __attribute__((__cdecl__)) fputchar(int _Ch) ; + int __attribute__((__cdecl__)) getw(FILE *_File) ; + int __attribute__((__cdecl__)) putw(int _Ch,FILE *_File) ; + int __attribute__((__cdecl__)) rmtmp(void) ; +# 1586 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnv(int _Mode,const char *_Filename,const char *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnve(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnvp(int _Mode,const char *_Filename,const char *const *_ArgList); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnvpe(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env); + + + + +} + + + + + + + +#pragma pack(pop) + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3 +# 9 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3 +# 21 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 +extern "C" { + + + + + + + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) clearerr_s(FILE *_File); + + size_t __attribute__((__cdecl__)) fread_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File); + + + int __attribute__((__cdecl__)) __stdio_common_vsprintf_s(unsigned long long _Options, char *_Str, size_t _Len, const char *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vsprintf_p(unsigned long long _Options, char *_Str, size_t _Len, const char *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vsnprintf_s(unsigned long long _Options, char *_Str, size_t _Len, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vfprintf_s(unsigned long long _Options, FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList); + int __attribute__((__cdecl__)) __stdio_common_vfprintf_p(unsigned long long _Options, FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList); + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfscanf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfscanf(0x0001ULL, _File, _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vfscanf_s(FILE *_File, const char *_Format, va_list _ArgList) + { + return _vfscanf_s_l(_File, _Format, __null, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscanf_s_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vscanf_s(const char *_Format, va_list _ArgList) + { + return _vfscanf_s_l((__acrt_iob_func(0)), _Format, __null, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fscanf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfscanf_s_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) fscanf_s(FILE *_File, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfscanf_s_l(_File, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scanf_s_l(const char *_Format, _locale_t _Locale ,...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) scanf_s(const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfscanf_s_l((__acrt_iob_func(0)), _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfscanf_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfscanf(0, _File, _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscanf_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fscanf_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfscanf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scanf_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsscanf_s_l(const char *_Src, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsscanf(0x0001ULL, _Src, (size_t)-1, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vsscanf_s(const char *_Src, const char *_Format, va_list _ArgList) + { + return _vsscanf_s_l(_Src, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sscanf_s_l(const char *_Src, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsscanf_s_l(_Src, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) sscanf_s(const char *_Src, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsscanf_s_l(_Src, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsscanf_l(const char *_Src, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsscanf(0, _Src, (size_t)-1, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sscanf_l(const char *_Src, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsscanf_l(_Src, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snscanf_s_l(const char *_Src, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = __stdio_common_vsscanf(0x0001ULL, _Src, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snscanf_s(const char *_Src, size_t _MaxCount, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = __stdio_common_vsscanf(0x0001ULL, _Src, _MaxCount, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snscanf_l(const char *_Src, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = __stdio_common_vsscanf(0, _Src, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfprintf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfprintf_s(0, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vfprintf_s(FILE *_File, const char *_Format, va_list _ArgList) + { + return _vfprintf_s_l(_File, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vprintf_s_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vprintf_s(const char *_Format, va_list _ArgList) + { + return _vfprintf_s_l((__acrt_iob_func(1)), _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fprintf_s_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfprintf_s_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _printf_s_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) fprintf_s(FILE *_File, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfprintf_s_l(_File, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) printf_s(const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfprintf_s_l((__acrt_iob_func(1)), _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnprintf_c_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf(0, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnprintf_c(char *_DstBuf, size_t _MaxCount, const char *_Format, va_list _ArgList) + { + return _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snprintf_c_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snprintf_c(char *_DstBuf, size_t _MaxCount, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnprintf_c_l(_DstBuf, _MaxCount, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnprintf_s_l(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsnprintf_s(0, _DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vsnprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, va_list _ArgList) + { + return _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, va_list _ArgList) + { + return _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snprintf_s_l(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snprintf_s(char *_DstBuf, size_t _DstSize, size_t _MaxCount, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnprintf_s_l(_DstBuf, _DstSize, _MaxCount, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsprintf_s_l(char *_DstBuf, size_t _DstSize, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf_s(0, _DstBuf, _DstSize, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) vsprintf_s(char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList) + { + return _vsprintf_s_l(_DstBuf, _Size, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sprintf_s_l(char *_DstBuf, size_t _DstSize, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsprintf_s_l(_DstBuf, _DstSize, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) sprintf_s(char *_DstBuf, size_t _DstSize, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsprintf_s_l(_DstBuf, _DstSize, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfprintf_p_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfprintf_p(0, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfprintf_p(FILE *_File, const char *_Format, va_list _ArgList) + { + return _vfprintf_p_l(_File, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vprintf_p_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vprintf_p(const char *_Format, va_list _ArgList) + { + return _vfprintf_p_l((__acrt_iob_func(1)), _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fprintf_p_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = __stdio_common_vfprintf_p(0, _File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fprintf_p(FILE *_File, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfprintf_p_l(_File, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _printf_p_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _printf_p(const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfprintf_p_l((__acrt_iob_func(1)), _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsprintf_p_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf_p(0, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsprintf_p(char *_Dst, size_t _MaxCount, const char *_Format, va_list _ArgList) + { + return _vsprintf_p_l(_Dst, _MaxCount, _Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sprintf_p_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsprintf_p_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sprintf_p(char *_Dst, size_t _MaxCount, const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsprintf_p_l(_Dst, _MaxCount, _Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscprintf_p_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf_p(0x0002ULL, __null, 0, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscprintf_p(const char *_Format, va_list _ArgList) + { + return _vscprintf_p_l(_Format, __null, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scprintf_p_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscprintf_p_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scprintf_p(const char *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vscprintf_p_l(_Format, __null, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vfprintf_l(FILE *_File, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfprintf(0, _File, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vprintf_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _fprintf_l(FILE *_File, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfprintf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _printf_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsnprintf_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf(0x0001ULL, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _snprintf_l(char *_DstBuf, size_t _MaxCount, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnprintf_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vsprintf_l(char *_DstBuf, const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vsnprintf_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _sprintf_l(char *_DstBuf, const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsprintf_l(_DstBuf, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _vscprintf_l(const char *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vsprintf(0x0002ULL, __null, 0, _Format, _Locale, _ArgList); + } + inline __attribute__((__cdecl__)) int __attribute__((__cdecl__)) _scprintf_l(const char *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscprintf_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } +# 583 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 + extern "C++" { template inline int __attribute__((__cdecl__)) vsnprintf_s(char (&_DstBuf)[__size], size_t _MaxCount, const char* _Format, va_list _ArgList) { return vsnprintf_s(_DstBuf,__size,_MaxCount,_Format,_ArgList); } } + extern "C++" { template inline int __attribute__((__cdecl__)) _vsnprintf_s(char (&_DstBuf)[__size], size_t _MaxCount, const char* _Format, va_list _ArgList) { return _vsnprintf_s(_DstBuf,__size,_MaxCount,_Format,_ArgList); } } + extern "C++" { template inline int __attribute__((__cdecl__)) vsprintf_s(char (&_DstBuf)[__size], const char* _Format, va_list _ArgList) { return vsprintf_s(_DstBuf,__size,_Format,_ArgList); } } + extern "C++" { template inline int __attribute__((__cdecl__)) sprintf_s(char (&_DstBuf)[__size], const char* _Format, ...) { va_list __vaargs; __builtin_va_start(__vaargs,_Format); int __retval = vsprintf_s(_DstBuf,__size,_Format,__vaargs); __builtin_va_end(__vaargs); return __retval; } } + extern "C++" { template inline int __attribute__((__cdecl__)) _snprintf_s(char (&_DstBuf)[__size], size_t _MaxCount, const char* _Format, ...) { va_list __vaargs; __builtin_va_start(__vaargs,_Format); int __retval = _vsnprintf_s(_DstBuf,__size,_MaxCount,_Format,__vaargs); __builtin_va_end(__vaargs); return __retval; } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) fopen_s(FILE **_File,const char *_Filename,const char *_Mode); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) freopen_s(FILE** _File, const char *_Filename, const char *_Mode, FILE *_Stream); + + __attribute__ ((__dllimport__)) char* __attribute__((__cdecl__)) gets_s(char*,rsize_t); + extern "C++" { template inline char* __attribute__((__cdecl__)) get_s(char (&_DstBuf)[__size]) { return get_s(_DstBuf,__size); } } + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) tmpfile_s(FILE **_File); + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) tmpnam_s(char*,rsize_t); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) tmpnam_s(char (&_DstBuf)[__size]) { return tmpnam_s(_DstBuf,__size); } } +# 912 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fread_nolock_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File); + + + +} +# 1605 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 +# 13 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 2 3 + + +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 3 + struct lconv { + char *decimal_point; + char *thousands_sep; + char *grouping; + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; + + wchar_t* _W_decimal_point; + wchar_t* _W_thousands_sep; + wchar_t* _W_int_curr_symbol; + wchar_t* _W_currency_symbol; + wchar_t* _W_mon_decimal_point; + wchar_t* _W_mon_thousands_sep; + wchar_t* _W_positive_sign; + wchar_t* _W_negative_sign; + + }; +# 89 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 3 + int __attribute__((__cdecl__)) _configthreadlocale(int _Flag); + char *__attribute__((__cdecl__)) setlocale(int _Category,const char *_Locale); + __attribute__ ((__dllimport__)) struct lconv *__attribute__((__cdecl__)) localeconv(void); + __attribute__ ((__dllimport__)) _locale_t __attribute__((__cdecl__)) _get_current_locale(void); + __attribute__ ((__dllimport__)) _locale_t __attribute__((__cdecl__)) _create_locale(int _Category,const char *_Locale); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _free_locale(_locale_t _Locale); + _locale_t __attribute__((__cdecl__)) __get_current_locale(void); + _locale_t __attribute__((__cdecl__)) __create_locale(int _Category,const char *_Locale); + void __attribute__((__cdecl__)) __free_locale(_locale_t _Locale); + + __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) ___lc_codepage_func(void); +# 113 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/locale.h" 3 +} + + +#pragma pack(pop) +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/clocale" 2 3 +# 51 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/clocale" 3 +namespace std +{ + using ::lconv; + using ::setlocale; + using ::localeconv; +} +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h" 2 3 + + + +namespace std +{ + + + typedef int* __c_locale; + + + + + + inline int + __convert_from_v(const __c_locale&, char* __out, + const int __size __attribute__((__unused__)), + const char* __fmt, ...) + { + char* __old = std::setlocale(4, 0); + char* __sav = 0; + if (__builtin_strcmp(__old, "C")) + { + const size_t __len = __builtin_strlen(__old) + 1; + __sav = new char[__len]; + __builtin_memcpy(__sav, __old, __len); + std::setlocale(4, "C"); + } + + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + + + const int __ret = __mingw_vsnprintf(__out, __size, __fmt, __args); + + + + + __builtin_va_end(__args); + + if (__sav) + { + std::setlocale(4, __sav); + delete [] __sav; + } + return __ret; + } + + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 2 3 + +namespace std +{ + +# 55 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/localefwd.h" 3 + class locale; + + template + bool + has_facet(const locale&) throw(); + + template + const _Facet& + use_facet(const locale&); + + + template + bool + isspace(_CharT, const locale&); + + template + bool + isprint(_CharT, const locale&); + + template + bool + iscntrl(_CharT, const locale&); + + template + bool + isupper(_CharT, const locale&); + + template + bool + islower(_CharT, const locale&); + + template + bool + isalpha(_CharT, const locale&); + + template + bool + isdigit(_CharT, const locale&); + + template + bool + ispunct(_CharT, const locale&); + + template + bool + isxdigit(_CharT, const locale&); + + template + bool + isalnum(_CharT, const locale&); + + template + bool + isgraph(_CharT, const locale&); + + + template + bool + isblank(_CharT, const locale&); + + + template + _CharT + toupper(_CharT, const locale&); + + template + _CharT + tolower(_CharT, const locale&); + + + struct ctype_base; + template + class ctype; + template<> class ctype; + + template<> class ctype; + + template + class ctype_byname; + + + class codecvt_base; + template + class codecvt; + template<> class codecvt; + + template<> class codecvt; + + + template<> class codecvt; + template<> class codecvt; + + + + + + template + class codecvt_byname; + + + + template > + class num_get; + template > + class num_put; + +namespace __cxx11 { + template class numpunct; + template class numpunct_byname; +} + +namespace __cxx11 { + + template + class collate; + template + class collate_byname; +} + + + class time_base; +namespace __cxx11 { + template > + class time_get; + template > + class time_get_byname; +} + template > + class time_put; + template > + class time_put_byname; + + + class money_base; +namespace __cxx11 { + template > + class money_get; + template > + class money_put; +} +namespace __cxx11 { + template + class moneypunct; + template + class moneypunct_byname; +} + + + struct messages_base; +namespace __cxx11 { + template + class messages; + template + class messages_byname; +} + + +} +# 44 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr.h" 1 3 +# 30 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr.h" 3 +#pragma GCC visibility push(default) +# 157 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +# 79 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 1 3 +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 1 3 4 +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 3 4 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/syslimits.h" 1 3 4 + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 1 3 4 +# 210 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 3 4 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/limits.h" 1 3 4 +# 211 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 2 3 4 +# 8 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/syslimits.h" 2 3 4 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/limits.h" 2 3 4 +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 2 3 +# 26 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + typedef int (__attribute__((__cdecl__)) *_onexit_t)(void); +# 60 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + typedef struct _div_t { + int quot; + int rem; + } div_t; + + typedef struct _ldiv_t { + long quot; + long rem; + } ldiv_t; + + + + + +#pragma pack(4) + typedef struct { + unsigned char ld[10]; + } _LDOUBLE; +#pragma pack() + + + + typedef struct { + double x; + } _CRT_DOUBLE; + + typedef struct { + float f; + } _CRT_FLOAT; + + + + + typedef struct { + long double x; + } _LONGDOUBLE; + + + +#pragma pack(4) + typedef struct { + unsigned char ld12[12]; + } _LDBL12; +#pragma pack() +# 143 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + typedef void (__attribute__((__cdecl__)) *_purecall_handler)(void); + + __attribute__ ((__dllimport__)) _purecall_handler __attribute__((__cdecl__)) _set_purecall_handler(_purecall_handler _Handler); + __attribute__ ((__dllimport__)) _purecall_handler __attribute__((__cdecl__)) _get_purecall_handler(void); + + typedef void (__attribute__((__cdecl__)) *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t); + __attribute__ ((__dllimport__)) _invalid_parameter_handler __attribute__((__cdecl__)) _set_invalid_parameter_handler(_invalid_parameter_handler _Handler); + __attribute__ ((__dllimport__)) _invalid_parameter_handler __attribute__((__cdecl__)) _get_invalid_parameter_handler(void); +# 159 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + __attribute__ ((__dllimport__)) unsigned long *__attribute__((__cdecl__)) __doserrno(void); + + errno_t __attribute__((__cdecl__)) _set_doserrno(unsigned long _Value); + errno_t __attribute__((__cdecl__)) _get_doserrno(unsigned long *_Value); + + + + + + __attribute__ ((__dllimport__)) char **__attribute__((__cdecl__)) __sys_errlist(void); + __attribute__ ((__dllimport__)) int *__attribute__((__cdecl__)) __sys_nerr(void); +# 180 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + __attribute__ ((__dllimport__)) char ***__attribute__((__cdecl__)) __p___argv(void); + __attribute__ ((__dllimport__)) int *__attribute__((__cdecl__)) __p__fmode(void); + + __attribute__ ((__dllimport__)) int *__attribute__((__cdecl__)) __p___argc(void); + __attribute__ ((__dllimport__)) wchar_t ***__attribute__((__cdecl__)) __p___wargv(void); + __attribute__ ((__dllimport__)) char ***__attribute__((__cdecl__)) __p__environ(void); + __attribute__ ((__dllimport__)) wchar_t ***__attribute__((__cdecl__)) __p__wenviron(void); + __attribute__ ((__dllimport__)) char **__attribute__((__cdecl__)) __p__pgmptr(void); + __attribute__ ((__dllimport__)) wchar_t **__attribute__((__cdecl__)) __p__wpgmptr(void); + + + errno_t __attribute__((__cdecl__)) _get_pgmptr(char **_Value); + errno_t __attribute__((__cdecl__)) _get_wpgmptr(wchar_t **_Value); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _set_fmode(int _Mode); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_fmode(int *_PMode); +# 370 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + errno_t __attribute__((__cdecl__)) _get_osplatform(unsigned int *_Value); + errno_t __attribute__((__cdecl__)) _get_osver(unsigned int *_Value); + errno_t __attribute__((__cdecl__)) _get_winver(unsigned int *_Value); + errno_t __attribute__((__cdecl__)) _get_winmajor(unsigned int *_Value); + errno_t __attribute__((__cdecl__)) _get_winminor(unsigned int *_Value); + + + + + extern "C++" { + template char (*__countof_helper( _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray]; + + } + + + + + + void __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) exit(int _Code) __attribute__ ((__noreturn__)); + void __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) _exit(int _Code) __attribute__ ((__noreturn__)); + + void __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) quick_exit(int _Code) __attribute__ ((__noreturn__)); + + + + + void __attribute__((__cdecl__)) _Exit(int) __attribute__ ((__noreturn__)); + + + + + + + + + void __attribute__((__cdecl__)) __attribute__ ((__noreturn__)) abort(void); + + + + + __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _set_abort_behavior(unsigned int _Flags,unsigned int _Mask); + + + + int __attribute__((__cdecl__)) abs(int _X); + long __attribute__((__cdecl__)) labs(long _X); + + + __extension__ long long __attribute__((__cdecl__)) _abs64(long long); + + extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) long long __attribute__((__cdecl__)) _abs64(long long x) { + return __builtin_llabs(x); + } + + + int __attribute__((__cdecl__)) atexit(void (__attribute__((__cdecl__)) *)(void)); + + int __attribute__((__cdecl__)) at_quick_exit(void (__attribute__((__cdecl__)) *)(void)); + + + + double __attribute__((__cdecl__)) atof(const char *_String); + double __attribute__((__cdecl__)) _atof_l(const char *_String,_locale_t _Locale); + + int __attribute__((__cdecl__)) atoi(const char *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoi_l(const char *_Str,_locale_t _Locale); + long __attribute__((__cdecl__)) atol(const char *_Str); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _atol_l(const char *_Str,_locale_t _Locale); + + + void *__attribute__((__cdecl__)) bsearch(const void *_Key,const void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(const void *,const void *)); + void __attribute__((__cdecl__)) qsort(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(const void *,const void *)); + + unsigned short __attribute__((__cdecl__)) _byteswap_ushort(unsigned short _Short); + unsigned long __attribute__((__cdecl__)) _byteswap_ulong (unsigned long _Long); + __extension__ unsigned long long __attribute__((__cdecl__)) _byteswap_uint64(unsigned long long _Int64); + div_t __attribute__((__cdecl__)) div(int _Numerator,int _Denominator); + char *__attribute__((__cdecl__)) getenv(const char *_VarName) ; + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _itoa(int _Value,char *_Dest,int _Radix); + __extension__ __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _i64toa(long long _Val,char *_DstBuf,int _Radix) ; + __extension__ __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ui64toa(unsigned long long _Val,char *_DstBuf,int _Radix) ; + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _atoi64(const char *_String); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _atoi64_l(const char *_String,_locale_t _Locale); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _strtoi64(const char *_String,char **_EndPtr,int _Radix); + __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _strtoi64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale); + __extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _strtoui64(const char *_String,char **_EndPtr,int _Radix); + __extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _strtoui64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale); + ldiv_t __attribute__((__cdecl__)) ldiv(long _Numerator,long _Denominator); + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ltoa(long _Value,char *_Dest,int _Radix) ; + int __attribute__((__cdecl__)) mblen(const char *_Ch,size_t _MaxCount); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _mblen_l(const char *_Ch,size_t _MaxCount,_locale_t _Locale); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrlen(const char *_Str); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrlen_l(const char *_Str,_locale_t _Locale); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrnlen(const char *_Str,size_t _MaxCount); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrnlen_l(const char *_Str,size_t _MaxCount,_locale_t _Locale); + int __attribute__((__cdecl__)) mbtowc(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SrcSizeInBytes); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _mbtowc_l(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SrcSizeInBytes,_locale_t _Locale); + size_t __attribute__((__cdecl__)) mbstowcs(wchar_t * __restrict__ _Dest,const char * __restrict__ _Source,size_t _MaxCount); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstowcs_l(wchar_t * __restrict__ _Dest,const char * __restrict__ _Source,size_t _MaxCount,_locale_t _Locale); + int __attribute__((__cdecl__)) mkstemp(char *template_name); + int __attribute__((__cdecl__)) rand(void); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_error_mode(int _Mode); + void __attribute__((__cdecl__)) srand(unsigned int _Seed); +# 483 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 +inline __attribute__((__cdecl__)) +double __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtod(const char * __restrict__ _Str,char ** __restrict__ _EndPtr) +{ + double __attribute__((__cdecl__)) __mingw_strtod (const char * __restrict__, char ** __restrict__); + return __mingw_strtod( _Str, _EndPtr); +} + +inline __attribute__((__cdecl__)) +float __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtof(const char * __restrict__ _Str,char ** __restrict__ _EndPtr) +{ + float __attribute__((__cdecl__)) __mingw_strtof (const char * __restrict__, char ** __restrict__); + return __mingw_strtof( _Str, _EndPtr); +} + + + + + + + long double __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtold(const char * __restrict__ , char ** __restrict__ ); + + + extern double __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) + __strtod (const char * __restrict__ , char ** __restrict__); + + + + + + + + float __attribute__((__cdecl__)) __mingw_strtof (const char * __restrict__, char ** __restrict__); + double __attribute__((__cdecl__)) __mingw_strtod (const char * __restrict__, char ** __restrict__); + long double __attribute__((__cdecl__)) __mingw_strtold(const char * __restrict__, char ** __restrict__); + + __attribute__ ((__dllimport__)) float __attribute__((__cdecl__)) _strtof_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,_locale_t _Locale); + __attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _strtod_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,_locale_t _Locale); + long __attribute__((__cdecl__)) strtol(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix); + __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _strtol_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + unsigned long __attribute__((__cdecl__)) strtoul(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix); + __attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _strtoul_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + + + int __attribute__((__cdecl__)) system(const char *_Command); + + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ultoa(unsigned long _Value,char *_Dest,int _Radix) ; + int __attribute__((__cdecl__)) wctomb(char *_MbCh,wchar_t _WCh) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wctomb_l(char *_MbCh,wchar_t _WCh,_locale_t _Locale) ; + size_t __attribute__((__cdecl__)) wcstombs(char * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _MaxCount) ; + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcstombs_l(char * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _MaxCount,_locale_t _Locale) ; + + + + void *__attribute__((__cdecl__)) calloc(size_t _NumOfElements,size_t _SizeOfElements); + void __attribute__((__cdecl__)) free(void *_Memory); + void *__attribute__((__cdecl__)) malloc(size_t _Size); + void *__attribute__((__cdecl__)) realloc(void *_Memory,size_t _NewSize); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _aligned_free(void *_Memory); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_malloc(size_t _Size,size_t _Alignment); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_malloc(size_t _Size,size_t _Alignment,size_t _Offset); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_realloc(void *_Memory,size_t _Size,size_t _Alignment); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_realloc(void *_Memory,size_t _Size,size_t _Alignment,size_t _Offset); + + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _recalloc(void *_Memory,size_t _Count,size_t _Size); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment); + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); +# 609 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putenv(const char *_EnvString); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wputenv(const wchar_t *_EnvString); + + + + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _fullpath(char *_FullPath,const char *_Path,size_t _SizeInBytes); + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) ; + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) ; + __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _gcvt(double _Val,int _NumOfDigits,char *_DstBuf) ; + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atodbl(_CRT_DOUBLE *_Result,char *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoldbl(_LDOUBLE *_Result,char *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoflt(_CRT_FLOAT *_Result,char *_Str); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atodbl_l(_CRT_DOUBLE *_Result,char *_Str,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoldbl_l(_LDOUBLE *_Result,char *_Str,_locale_t _Locale); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoflt_l(_CRT_FLOAT *_Result,char *_Str,_locale_t _Locale); +# 639 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 +unsigned long __attribute__((__cdecl__)) _lrotl(unsigned long,int); +unsigned long __attribute__((__cdecl__)) _lrotr(unsigned long,int); + + + + + + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _makepath(char *_Path,const char *_Drive,const char *_Dir,const char *_Filename,const char *_Ext); + _onexit_t __attribute__((__cdecl__)) _onexit(_onexit_t _Func); + + + + + + + + + + __extension__ unsigned long long __attribute__((__cdecl__)) _rotl64(unsigned long long _Val,int _Shift); + __extension__ unsigned long long __attribute__((__cdecl__)) _rotr64(unsigned long long Value,int Shift); + + + + + + + unsigned int __attribute__((__cdecl__)) _rotr(unsigned int _Val,int _Shift); + unsigned int __attribute__((__cdecl__)) _rotl(unsigned int _Val,int _Shift); + + + __extension__ unsigned long long __attribute__((__cdecl__)) _rotr64(unsigned long long _Val,int _Shift); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _searchenv(const char *_Filename,const char *_EnvVar,char *_ResultPath) ; + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _splitpath(const char *_FullPath,char *_Drive,char *_Dir,char *_Filename,char *_Ext) ; + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _swab(char *_Buf1,char *_Buf2,int _SizeInBytes); +# 686 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _beep(unsigned _Frequency,unsigned _Duration) __attribute__ ((__deprecated__)); + + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _seterrormode(int _Mode) __attribute__ ((__deprecated__)); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _sleep(unsigned long _Duration) __attribute__ ((__deprecated__)); +# 710 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 + char *__attribute__((__cdecl__)) ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) ; + char *__attribute__((__cdecl__)) fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) ; + char *__attribute__((__cdecl__)) gcvt(double _Val,int _NumOfDigits,char *_DstBuf) ; + char *__attribute__((__cdecl__)) itoa(int _Val,char *_DstBuf,int _Radix) ; + char *__attribute__((__cdecl__)) ltoa(long _Val,char *_DstBuf,int _Radix) ; + int __attribute__((__cdecl__)) putenv(const char *_EnvString) ; + + + + void __attribute__((__cdecl__)) swab(char *_Buf1,char *_Buf2,int _SizeInBytes) ; + + + char *__attribute__((__cdecl__)) ultoa(unsigned long _Val,char *_Dstbuf,int _Radix) ; + _onexit_t __attribute__((__cdecl__)) onexit(_onexit_t _Func); + + + + + + typedef struct { __extension__ long long quot, rem; } lldiv_t; + + __extension__ lldiv_t __attribute__((__cdecl__)) lldiv(long long, long long); + + __extension__ long long __attribute__((__cdecl__)) llabs(long long); + + + + + __extension__ long long __attribute__((__cdecl__)) strtoll(const char * __restrict__, char ** __restrict, int); + __extension__ unsigned long long __attribute__((__cdecl__)) strtoull(const char * __restrict__, char ** __restrict__, int); + + + __extension__ long long __attribute__((__cdecl__)) atoll (const char *); + + + __extension__ long long __attribute__((__cdecl__)) wtoll (const wchar_t *); + __extension__ char *__attribute__((__cdecl__)) lltoa (long long, char *, int); + __extension__ char *__attribute__((__cdecl__)) ulltoa (unsigned long long , char *, int); + __extension__ wchar_t *__attribute__((__cdecl__)) lltow (long long, wchar_t *, int); + __extension__ wchar_t *__attribute__((__cdecl__)) ulltow (unsigned long long, wchar_t *, int); +# 764 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 3 +} + + +#pragma pack(pop) + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdlib_s.h" 1 3 +# 9 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdlib_s.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 1 3 +# 30 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 1 3 +# 31 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 2 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/stdlib_s.h" 2 3 + + +extern "C" { + + + __attribute__ ((__dllimport__)) void * __attribute__((__cdecl__)) bsearch_s(const void *_Key,const void *_Base,rsize_t _NumOfElements,rsize_t _SizeOfElements,int (__attribute__((__cdecl__)) * _PtFuncCompare)(void *, const void *, const void *), void *_Context); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _dupenv_s(char **_PBuffer,size_t *_PBufferSizeInBytes,const char *_VarName); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) getenv_s(size_t *_ReturnSize,char *_DstBuf,rsize_t _DstSize,const char *_VarName); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) getenv_s(size_t * _ReturnSize, char (&_Dest)[__size], const char * _VarName) { return getenv_s(_ReturnSize, _Dest, __size, _VarName); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _itoa_s(int _Value,char *_DstBuf,size_t _Size,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _itoa_s(int _Value, char (&_Dest)[__size], int _Radix) { return _itoa_s(_Value, _Dest, __size, _Radix); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _i64toa_s(long long _Val,char *_DstBuf,size_t _Size,int _Radix); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ui64toa_s(unsigned long long _Val,char *_DstBuf,size_t _Size,int _Radix); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ltoa_s(long _Val,char *_DstBuf,size_t _Size,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _ltoa_s(long _Value, char (&_Dest)[__size], int _Radix) { return _ltoa_s(_Value, _Dest, __size, _Radix); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) mbstowcs_s(size_t *_PtNumOfCharConverted,wchar_t *_DstBuf,size_t _SizeInWords,const char *_SrcBuf,size_t _MaxCount); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) mbstowcs_s(size_t * _PtNumOfCharConverted, wchar_t (&_Dest)[__size], const char * _Source, size_t _MaxCount) { return mbstowcs_s(_PtNumOfCharConverted, _Dest, __size, _Source, _MaxCount); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _mbstowcs_s_l(size_t *_PtNumOfCharConverted,wchar_t *_DstBuf,size_t _SizeInWords,const char *_SrcBuf,size_t _MaxCount,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _mbstowcs_s_l(size_t * _PtNumOfCharConverted, wchar_t (&_Dest)[__size], const char * _Source, size_t _MaxCount, _locale_t _Locale) { return _mbstowcs_s_l(_PtNumOfCharConverted, _Dest, __size, _Source, _MaxCount, _Locale); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ultoa_s(unsigned long _Val,char *_DstBuf,size_t _Size,int _Radix); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _ultoa_s(unsigned long _Value, char (&_Dest)[__size], int _Radix) { return _ultoa_s(_Value, _Dest, __size, _Radix); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wctomb_s(int *_SizeConverted,char *_MbCh,rsize_t _SizeInBytes,wchar_t _WCh); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wctomb_s_l(int *_SizeConverted,char *_MbCh,size_t _SizeInBytes,wchar_t _WCh,_locale_t _Locale); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcstombs_s(size_t *_PtNumOfCharConverted,char *_Dst,size_t _DstSizeInBytes,const wchar_t *_Src,size_t _MaxCountInBytes); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) wcstombs_s(size_t* _PtNumOfCharConverted, char (&_Dst)[__size], const wchar_t* _Src, size_t _MaxCountInBytes) { return wcstombs_s(_PtNumOfCharConverted, _Dst, __size, _Src, _MaxCountInBytes); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcstombs_s_l(size_t *_PtNumOfCharConverted,char *_Dst,size_t _DstSizeInBytes,const wchar_t *_Src,size_t _MaxCountInBytes,_locale_t _Locale); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _wcstombs_s_l(size_t* _PtNumOfCharConverted, char (&_Dst)[__size], const wchar_t* _Src, size_t _MaxCountInBytes, _locale_t _Locale) { return _wcstombs_s_l(_PtNumOfCharConverted, _Dst, __size, _Src, _MaxCountInBytes, _Locale); } } + + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ecvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDights,int *_PtDec,int *_PtSign); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _fcvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDec,int *_PtDec,int *_PtSign); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _gcvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDigits); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _makepath_s(char *_PathResult,size_t _Size,const char *_Drive,const char *_Dir,const char *_Filename,const char *_Ext); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _makepath_s(char (&_PathResult)[__size], const char* _Drive, const char* _Dir, const char* _Filename, const char* _Ext) { return _makepath_s(_PathResult,__size,_Drive,_Dir,_Filename,_Ext); } } + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _putenv_s(const char *_Name,const char *_Value); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _searchenv_s(const char *_Filename,const char *_EnvVar,char *_ResultPath,size_t _SizeInBytes); + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _splitpath_s(const char *_FullPath,char *_Drive,size_t _DriveSize,char *_Dir,size_t _DirSize,char *_Filename,size_t _FilenameSize,char *_Ext,size_t _ExtSize); + extern "C++" { template inline errno_t __attribute__((__cdecl__)) _splitpath_s(const char *_Dest, char (&__drive)[__drive_size], char (&__dir)[__dir_size], char (&__name)[__name_size], char (&__ext)[__ext_size]) { return _splitpath_s(_Dest, __drive, __drive_size, __dir, __dir_size, __name, __name_size, __ext, __ext_size); } } + + + + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) qsort_s(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(void *,const void *,const void *),void *_Context); + + + + + +} +# 770 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 1 3 +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 + typedef struct _heapinfo { + int *_pentry; + size_t _size; + int _useflag; + } _HEAPINFO; + + + extern unsigned int _amblksiz; +# 77 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 +void * __mingw_aligned_malloc (size_t _Size, size_t _Alignment); +void __mingw_aligned_free (void *_Memory); +void * __mingw_aligned_offset_realloc (void *_Memory, size_t _Size, size_t _Alignment, size_t _Offset); +void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/mm_malloc.h" 1 3 4 +# 27 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/mm_malloc.h" 3 4 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 1 3 4 +# 28 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/mm_malloc.h" 2 3 4 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/errno.h" 1 3 4 +# 12 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/errno.h" 3 4 +extern "C" { +# 239 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/errno.h" 3 4 +} +# 30 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/mm_malloc.h" 2 3 4 + + +static __inline__ void * +_mm_malloc (size_t __size, size_t __align) +{ + void * __malloc_ptr; + void * __aligned_ptr; + + + if (__align & (__align - 1)) + { + + (*_errno()) = 22; + + return ((void *) 0); + } + + if (__size == 0) + return ((void *) 0); + + + + + + if (__align < 2 * sizeof (void *)) + __align = 2 * sizeof (void *); + + __malloc_ptr = malloc (__size + __align); + if (!__malloc_ptr) + return ((void *) 0); + + + __aligned_ptr = (void *) (((size_t) __malloc_ptr + __align) + & ~((size_t) (__align) - 1)); + + + ((void **) __aligned_ptr)[-1] = __malloc_ptr; + + return __aligned_ptr; +} + +static __inline__ void +_mm_free (void *__aligned_ptr) +{ + if (__aligned_ptr) + free (((void **) __aligned_ptr)[-1]); +} +# 85 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 2 3 + + + + + + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _resetstkoflw (void); + + __attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _set_malloc_crt_max_wait(unsigned long _NewValue); + + __attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _expand(void *_Memory,size_t _NewSize); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _msize(void *_Memory); + + + + + + + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _get_sbh_threshold(void); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_sbh_threshold(size_t _NewValue); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _set_amblksiz(size_t _Value); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_amblksiz(size_t *_Value); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapadd(void *_Memory,size_t _Size); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapchk(void); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapmin(void); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapset(unsigned int _Fill); + __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapwalk(_HEAPINFO *_EntryInfo); + __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _heapused(size_t *_Used,size_t *_Commit); + __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _get_heap_handle(void); +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 + static __inline void *_MarkAllocaS(void *_Ptr,unsigned int _Marker) { + if(_Ptr) { + *((unsigned int*)_Ptr) = _Marker; + _Ptr = (char*)_Ptr + 16; + } + return _Ptr; + } +# 144 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 + static __inline void __attribute__((__cdecl__)) _freea(void *_Memory) { + unsigned int _Marker; + if(_Memory) { + _Memory = (char*)_Memory - 16; + _Marker = *(unsigned int *)_Memory; + if(_Marker==0xDDDD) { + free(_Memory); + } + + + + + + } + } +# 187 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/malloc.h" 3 +} + + +#pragma pack(pop) +# 771 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stdlib.h" 2 3 +# 80 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 3 +extern "C++" +{ +namespace std +{ + + + using ::abs; + + + inline long + abs(long __i) { return __builtin_labs(__i); } + + + + inline long long + abs(long long __x) { return __builtin_llabs (__x); } +# 70 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 3 + inline constexpr double + abs(double __x) + { return __builtin_fabs(__x); } + + inline constexpr float + abs(float __x) + { return __builtin_fabsf(__x); } + + inline constexpr long double + abs(long double __x) + { return __builtin_fabsl(__x); } + + + + __extension__ inline constexpr __int128 + abs(__int128 __x) { return __x >= 0 ? __x : -__x; } +# 135 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/std_abs.h" 3 + __extension__ inline constexpr + __float128 + abs(__float128 __x) + { + + + + + + + return __builtin_signbit(__x) ? -__x : __x; + + } + + + +} +} +# 82 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 2 3 +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +extern "C++" +{ +namespace std +{ + + + using ::div_t; + using ::ldiv_t; + + using ::abort; + + + + using ::atexit; + + + using ::at_quick_exit; + + + using ::atof; + using ::atoi; + using ::atol; + using ::bsearch; + using ::calloc; + using ::div; + using ::exit; + using ::free; + using ::getenv; + using ::labs; + using ::ldiv; + using ::malloc; + + using ::mblen; + using ::mbstowcs; + using ::mbtowc; + + using ::qsort; + + + using ::quick_exit; + + + using ::rand; + using ::realloc; + using ::srand; + using ::strtod; + using ::strtol; + using ::strtoul; + using ::system; + + using ::wcstombs; + using ::wctomb; + + + + inline ldiv_t + div(long __i, long __j) noexcept { return ldiv(__i, __j); } + + + + +} +# 199 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +namespace __gnu_cxx +{ + + + + using ::lldiv_t; + + + + + + using ::_Exit; + + + + using ::llabs; + + inline lldiv_t + div(long long __n, long long __d) + { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } + + using ::lldiv; +# 231 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 + using ::atoll; + using ::strtoll; + using ::strtoull; + + using ::strtof; + using ::strtold; + + +} + +namespace std +{ + + using ::__gnu_cxx::lldiv_t; + + using ::__gnu_cxx::_Exit; + + using ::__gnu_cxx::llabs; + using ::__gnu_cxx::div; + using ::__gnu_cxx::lldiv; + + using ::__gnu_cxx::atoll; + using ::__gnu_cxx::strtof; + using ::__gnu_cxx::strtoll; + using ::__gnu_cxx::strtoull; + using ::__gnu_cxx::strtold; +} +# 275 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +} +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdlib.h" 2 3 + +using std::abort; +using std::atexit; +using std::exit; + + + using std::at_quick_exit; + + + using std::quick_exit; + + + using std::_Exit; + + + + +using std::div_t; +using std::ldiv_t; + +using std::abs; +using std::atof; +using std::atoi; +using std::atol; +using std::bsearch; +using std::calloc; +using std::div; +using std::free; +using std::getenv; +using std::labs; +using std::ldiv; +using std::malloc; + +using std::mblen; +using std::mbstowcs; +using std::mbtowc; + +using std::qsort; +using std::rand; +using std::realloc; +using std::srand; +using std::strtod; +using std::strtol; +using std::strtoul; +using std::system; + +using std::wcstombs; +using std::wctomb; +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 2 3 +# 345 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 1 3 +# 15 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 3 +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 53 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 3 + struct __timeb32 { + __time32_t time; + unsigned short millitm; + short timezone; + short dstflag; + }; + + + struct timeb { + time_t time; + unsigned short millitm; + short timezone; + short dstflag; + }; + + + struct __timeb64 { + __time64_t time; + unsigned short millitm; + short timezone; + short dstflag; + }; + + + + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _ftime64(struct __timeb64 *_Time); + __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _ftime32(struct __timeb32 *_Time); +# 89 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 3 +struct _timespec32 { + __time32_t tv_sec; + long tv_nsec; +}; + +struct _timespec64 { + __time64_t tv_sec; + long tv_nsec; +}; + + + +struct timespec { + time_t tv_sec; + long tv_nsec; +}; + +struct itimerspec { + struct timespec it_interval; + struct timespec it_value; +}; + + + + void __attribute__((__cdecl__)) ftime (struct timeb *); +# 130 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 3 +} + + +#pragma pack(pop) + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h" 1 3 +# 10 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 1 3 +# 11 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h" 2 3 + + +extern "C" { + + + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ftime32_s(struct __timeb32 *_Time); + __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ftime64_s(struct __timeb64 *_Time); +# 26 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h" 3 +} +# 136 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/sys/timeb.h" 2 3 +# 346 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 2 3 + + +extern "C" { + + +typedef unsigned int __gthr_win32_DWORD; +typedef void *__gthr_win32_HANDLE; + +typedef struct { + void *DebugInfo; + int LockCount; + int RecursionCount; + __gthr_win32_HANDLE OwningThread; + __gthr_win32_HANDLE LockSemaphore; + void *SpinCount; +} __gthr_win32_CRITICAL_SECTION; + +typedef struct { + void *Ptr; +} __gthr_win32_CONDITION_VARIABLE; + +typedef __gthr_win32_HANDLE __gthread_t; +typedef __gthr_win32_DWORD __gthread_key_t; +typedef struct { int done; long started; } __gthread_once_t; +typedef __gthr_win32_CRITICAL_SECTION __gthread_mutex_t; +typedef __gthr_win32_CRITICAL_SECTION __gthread_recursive_mutex_t; + +typedef __gthr_win32_CONDITION_VARIABLE __gthread_cond_t; + +typedef struct timespec __gthread_time_t; +# 386 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 3 +typedef struct { + long __unused1; + void *__unused2; +} __gthr_win32_legacy_mutex_t; + + + + + + + +extern int _CRT_MT; +extern int __mingwthr_key_dtor (unsigned long, void (*) (void *)); + + + + + + +static inline int +__gthread_active_p (void) +{ + + return _CRT_MT; + + + +} + +extern int __gthr_win32_create (__gthread_t *, void *(*) (void*), void *); +extern int __gthr_win32_join (__gthread_t, void **); +extern __gthread_t __gthr_win32_self (void); +extern int __gthr_win32_once (__gthread_once_t *, void (*) (void)); +extern int __gthr_win32_detach (__gthread_t); +extern int __gthr_win32_equal (__gthread_t, __gthread_t); +extern int __gthr_win32_yield (void); +extern int __gthr_win32_key_create (__gthread_key_t *, void (*) (void*)); +extern int __gthr_win32_key_delete (__gthread_key_t); +extern void * __gthr_win32_getspecific (__gthread_key_t); +extern int __gthr_win32_setspecific (__gthread_key_t, const void *); +extern void __gthr_win32_mutex_init_function (__gthread_mutex_t *); +extern void __gthr_win32_mutex_destroy (__gthread_mutex_t *); +extern int __gthr_win32_mutex_lock (__gthread_mutex_t *); +extern int __gthr_win32_mutex_trylock (__gthread_mutex_t *); +extern int __gthr_win32_mutex_unlock (__gthread_mutex_t *); +extern int __gthr_win32_recursive_mutex_trylock (__gthread_recursive_mutex_t *); + +extern void __gthr_win32_cond_init_function (__gthread_cond_t *); +extern int __gthr_win32_cond_broadcast (__gthread_cond_t *); +extern int __gthr_win32_cond_signal (__gthread_cond_t *); +extern int __gthr_win32_cond_wait (__gthread_cond_t *, __gthread_mutex_t *); +extern int __gthr_win32_cond_timedwait (__gthread_cond_t *, __gthread_mutex_t *, + const __gthread_time_t *); + + +static inline int +__gthread_create (__gthread_t *__thr, void *(*__func) (void*), + void *__args) +{ + return __gthr_win32_create (__thr, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __thr, void **__value_ptr) +{ + return __gthr_win32_join (__thr, __value_ptr); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthr_win32_self (); +} + + + + + + + +static inline int +__gthread_detach (__gthread_t __thr) +{ + return __gthr_win32_detach (__thr); +} + +static inline int +__gthread_equal (__gthread_t __thr1, __gthread_t __thr2) +{ + return __gthr_win32_equal (__thr1, __thr2); +} + +static inline int +__gthread_yield (void) +{ + return __gthr_win32_yield (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthr_win32_once (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthr_win32_key_create (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthr_win32_key_delete (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthr_win32_getspecific (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthr_win32_setspecific (__key, __ptr); +} + +static inline void +__gthread_mutex_init_function (__gthread_mutex_t *__mutex) +{ + __gthr_win32_mutex_init_function (__mutex); +} + +static inline void +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + __gthr_win32_mutex_destroy (__mutex); +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthr_win32_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthr_win32_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthr_win32_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthr_win32_recursive_mutex_trylock (__mutex); + else + return 0; +} + + + +static inline void +__gthread_cond_init_function (__gthread_cond_t *__cond) +{ + __gthr_win32_cond_init_function (__cond); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthr_win32_cond_broadcast (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthr_win32_cond_signal (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthr_win32_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_time) +{ + return __gthr_win32_cond_timedwait (__cond, __mutex, __abs_time); +} +# 831 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h" 3 +static inline void +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + __gthread_mutex_init_function (__mutex); +} + +static inline void +__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) +{ + __gthread_mutex_destroy (__mutex); +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + + + +static inline int +__gthread_cond_destroy (__gthread_cond_t *__cond __attribute__ ((__unused__))) +{ + return 0; +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + + + + +} +# 158 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/gthr.h" 2 3 + + +#pragma GCC visibility pop +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h" 3 +typedef int _Atomic_word; +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 2 3 + + + + +namespace __gnu_cxx +{ + + + __attribute__((__always_inline__)) + inline bool + __is_single_threaded() noexcept + { + + + + + + return !__gthread_active_p(); + + } + + + + + + + inline _Atomic_word + __attribute__((__always_inline__)) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) + { return __atomic_fetch_add(__mem, __val, 4); } + + inline void + __attribute__((__always_inline__)) + __atomic_add(volatile _Atomic_word* __mem, int __val) + { __atomic_fetch_add(__mem, __val, 4); } +# 80 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/atomicity.h" 3 + inline _Atomic_word + __attribute__((__always_inline__)) + __exchange_and_add_single(_Atomic_word* __mem, int __val) + { + _Atomic_word __result = *__mem; + *__mem += __val; + return __result; + } + + inline void + __attribute__((__always_inline__)) + __atomic_add_single(_Atomic_word* __mem, int __val) + { *__mem += __val; } + + inline _Atomic_word + __attribute__ ((__always_inline__)) + __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) + { + if (__is_single_threaded()) + return __exchange_and_add_single(__mem, __val); + else + return __exchange_and_add(__mem, __val); + } + + inline void + __attribute__ ((__always_inline__)) + __atomic_add_dispatch(_Atomic_word* __mem, int __val) + { + if (__is_single_threaded()) + __atomic_add_single(__mem, __val); + else + __atomic_add(__mem, __val); + } + + +} +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 3 + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 1 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 1 3 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functexcept.h" 1 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functexcept.h" 3 +namespace std +{ + + + + + void + __throw_bad_exception(void) __attribute__((__noreturn__)); + + + void + __throw_bad_alloc(void) __attribute__((__noreturn__)); + + void + __throw_bad_array_new_length(void) __attribute__((__noreturn__)); + + + void + __throw_bad_cast(void) __attribute__((__noreturn__,__cold__)); + + void + __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__)); + + + void + __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_length_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__)) + __attribute__((__format__(__gnu_printf__, 1, 2))); + + void + __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_range_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__)); + + + void + __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__)); + + void + __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__)); + + + void + __throw_system_error(int) __attribute__((__noreturn__,__cold__)); + + + void + __throw_future_error(int) __attribute__((__noreturn__,__cold__)); + + + void + __throw_bad_function_call() __attribute__((__noreturn__,__cold__)); +# 140 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functexcept.h" 3 + +} +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 2 3 + + + + + +namespace std +{ + +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 3 + template + class __new_allocator + { + public: + typedef _Tp value_type; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + + typedef _Tp* pointer; + typedef const _Tp* const_pointer; + typedef _Tp& reference; + typedef const _Tp& const_reference; + + template + struct rebind + { typedef __new_allocator<_Tp1> other; }; + + + + + + typedef std::true_type propagate_on_container_move_assignment; + + + __attribute__((__always_inline__)) + + __new_allocator() noexcept { } + + __attribute__((__always_inline__)) + + __new_allocator(const __new_allocator&) noexcept { } + + template + __attribute__((__always_inline__)) + + __new_allocator(const __new_allocator<_Tp1>&) noexcept { } + + + __new_allocator& operator=(const __new_allocator&) = default; + + + + ~__new_allocator() noexcept { } + + pointer + address(reference __x) const noexcept + { return std::__addressof(__x); } + + const_pointer + address(const_reference __x) const noexcept + { return std::__addressof(__x); } +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 3 + [[__nodiscard__]] _Tp* + allocate(size_type __n, const void* = static_cast(0)) + { + + + + static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types"); + + + if (__builtin_expect(__n > this->_M_max_size(), false)) + { + + + if (__n > (std::size_t(-1) / sizeof(_Tp))) + std::__throw_bad_array_new_length(); + std::__throw_bad_alloc(); + } + + + if (alignof(_Tp) > 16) + { + std::align_val_t __al = std::align_val_t(alignof(_Tp)); + return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), + __al)); + } + + return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); + } + + + void + deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__))) + { + + + + + + + + if (alignof(_Tp) > 16) + { + ::operator delete((__p), (__n) * sizeof(_Tp), + std::align_val_t(alignof(_Tp))); + return; + } + + ::operator delete((__p), (__n) * sizeof(_Tp)); + } + + + + + + + __attribute__((__always_inline__)) + size_type + max_size() const noexcept + { return _M_max_size(); } + + + template + __attribute__((__always_inline__)) + void + construct(_Up* __p, _Args&&... __args) + noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) + { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } + + template + __attribute__((__always_inline__)) + void + destroy(_Up* __p) + noexcept(std::is_nothrow_destructible<_Up>::value) + { __p->~_Up(); } +# 213 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/new_allocator.h" 3 + template + friend __attribute__((__always_inline__)) bool + operator==(const __new_allocator&, const __new_allocator<_Up>&) + noexcept + { return true; } + + + template + friend __attribute__((__always_inline__)) bool + operator!=(const __new_allocator&, const __new_allocator<_Up>&) + noexcept + { return false; } + + + private: + __attribute__((__always_inline__)) + constexpr size_type + _M_max_size() const noexcept + { + + return std::size_t(0x7fffffffffffffffLL) / sizeof(_Tp); + + + + } + }; + + +} +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h" 2 3 + + +namespace std +{ +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h" 3 + template + using __allocator_base = __new_allocator<_Tp>; +} +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 2 3 + + + + + +namespace std +{ + +# 72 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 3 + template<> + class allocator + { + public: + typedef void value_type; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + + + + typedef void* pointer; + typedef const void* const_pointer; + + template + struct rebind + { typedef allocator<_Tp1> other; }; + + + + + + using propagate_on_container_move_assignment = true_type; + + using is_always_equal + + = true_type; +# 115 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 3 + }; +# 127 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 3 + template + class allocator : public __allocator_base<_Tp> + { + public: + typedef _Tp value_type; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + + + + typedef _Tp* pointer; + typedef const _Tp* const_pointer; + typedef _Tp& reference; + typedef const _Tp& const_reference; + + template + struct rebind + { typedef allocator<_Tp1> other; }; + + + + + + using propagate_on_container_move_assignment = true_type; + + using is_always_equal + + = true_type; + + + + + __attribute__((__always_inline__)) + + allocator() noexcept { } + + __attribute__((__always_inline__)) + + allocator(const allocator& __a) noexcept + : __allocator_base<_Tp>(__a) { } + + + + allocator& operator=(const allocator&) = default; + + + template + __attribute__((__always_inline__)) + + allocator(const allocator<_Tp1>&) noexcept { } + + __attribute__((__always_inline__)) + + + + ~allocator() noexcept { } +# 212 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/allocator.h" 3 + friend __attribute__((__always_inline__)) + bool + operator==(const allocator&, const allocator&) noexcept + { return true; } + + + friend __attribute__((__always_inline__)) + bool + operator!=(const allocator&, const allocator&) noexcept + { return false; } + + + + }; + + + + + + + template + __attribute__((__always_inline__)) + inline bool + operator==(const allocator<_T1>&, const allocator<_T2>&) + noexcept + { return true; } + + + template + __attribute__((__always_inline__)) + inline bool + operator!=(const allocator<_T1>&, const allocator<_T2>&) + noexcept + { return false; } + + + + + + + template + class allocator + { + public: + typedef _Tp value_type; + allocator() { } + template allocator(const allocator<_Up>&) { } + }; + + template + class allocator + { + public: + typedef _Tp value_type; + allocator() { } + template allocator(const allocator<_Up>&) { } + }; + + template + class allocator + { + public: + typedef _Tp value_type; + allocator() { } + template allocator(const allocator<_Up>&) { } + }; + + + + + + + + extern template class allocator; + extern template class allocator; + + + + + + +} +# 44 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 1 3 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 +# 67 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 +extern "C++" { + +namespace std +{ + + + struct __true_type { }; + struct __false_type { }; + + template + struct __truth_type + { typedef __false_type __type; }; + + template<> + struct __truth_type + { typedef __true_type __type; }; + + + + template + struct __traitor + { + enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; + typedef typename __truth_type<__value>::__type __type; + }; + + + template + struct __are_same + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template + struct __are_same<_Tp, _Tp> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template + struct __is_void + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_void + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template + struct __is_integer + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + + + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; +# 184 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer + { + enum { __value = 1 }; + typedef __true_type __type; + }; +# 272 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 +__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; +# 289 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + template + struct __is_floating + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + template<> + struct __is_floating + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_floating + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_floating + { + enum { __value = 1 }; + typedef __true_type __type; + }; +# 366 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + template + struct __is_pointer + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template + struct __is_pointer<_Tp*> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template + struct __is_arithmetic + : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > + { }; + + + + + template + struct __is_scalar + : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > + { }; + + + + + template + struct __is_char + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_char + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_char + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template + struct __is_byte + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_byte + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_byte + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_byte + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + enum class byte : unsigned char; + + template<> + struct __is_byte + { + enum { __value = 1 }; + typedef __true_type __type; + }; +# 470 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + template struct iterator_traits; + + + template + struct __is_nonvolatile_trivially_copyable + { + enum { __value = __is_trivially_copyable(_Tp) }; + }; + + + + + template + struct __is_nonvolatile_trivially_copyable + { + enum { __value = 0 }; + }; + + + template + struct __memcpyable + { + enum { __value = 0 }; + }; + + template + struct __memcpyable<_Tp*, _Tp*> + : __is_nonvolatile_trivially_copyable<_Tp> + { }; + + template + struct __memcpyable<_Tp*, const _Tp*> + : __is_nonvolatile_trivially_copyable<_Tp> + { }; + + + + + + + template + struct __memcmpable + { + enum { __value = 0 }; + }; + + + template + struct __memcmpable<_Tp*, _Tp*> + : __is_nonvolatile_trivially_copyable<_Tp> + { }; + + template + struct __memcmpable + : __is_nonvolatile_trivially_copyable<_Tp> + { }; + + template + struct __memcmpable<_Tp*, const _Tp*> + : __is_nonvolatile_trivially_copyable<_Tp> + { }; + + + + + + + + template::__value + + > + struct __is_memcmp_ordered + { + static const bool __value = _Tp(-1) > _Tp(1); + }; + + template + struct __is_memcmp_ordered<_Tp, false> + { + static const bool __value = false; + }; + + + template + struct __is_memcmp_ordered_with + { + static const bool __value = __is_memcmp_ordered<_Tp>::__value + && __is_memcmp_ordered<_Up>::__value; + }; + + template + struct __is_memcmp_ordered_with<_Tp, _Up, false> + { + static const bool __value = false; + }; +# 579 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cpp_type_traits.h" 3 + template<> + struct __is_memcmp_ordered_with + { static constexpr bool __value = true; }; + + template + struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize> + { static constexpr bool __value = false; }; + + template + struct __is_memcmp_ordered_with + { static constexpr bool __value = false; }; + + + + + + template + struct __is_move_iterator + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + + template + + inline _Iterator + __miter_base(_Iterator __it) + { return __it; } + + +} +} +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream_insert.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream_insert.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream_insert.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_forced.h" 1 3 +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_forced.h" 3 + +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/cxxabi_forced.h" 3 + +#pragma GCC visibility push(default) + + +namespace __cxxabiv1 +{ + + + + + + + + class __forced_unwind + { + virtual ~__forced_unwind() throw(); + + + virtual void __pure_dummy() = 0; + }; +} + + +#pragma GCC visibility pop +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream_insert.h" 2 3 + + +namespace std +{ + + + + + template + inline void + __ostream_write(basic_ostream<_CharT, _Traits>& __out, + const _CharT* __s, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + const streamsize __put = __out.rdbuf()->sputn(__s, __n); + if (__put != __n) + __out.setstate(__ios_base::badbit); + } + + template + inline void + __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + const _CharT __c = __out.fill(); + for (; __n > 0; --__n) + { + const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); + if (_Traits::eq_int_type(__put, _Traits::eof())) + { + __out.setstate(__ios_base::badbit); + break; + } + } + } + + template + basic_ostream<_CharT, _Traits>& + __ostream_insert(basic_ostream<_CharT, _Traits>& __out, + const _CharT* __s, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + typename __ostream_type::sentry __cerb(__out); + if (__cerb) + { + try + { + const streamsize __w = __out.width(); + if (__w > __n) + { + const bool __left = ((__out.flags() + & __ios_base::adjustfield) + == __ios_base::left); + if (!__left) + __ostream_fill(__out, __w - __n); + if (__out.good()) + __ostream_write(__out, __s, __n); + if (__left && __out.good()) + __ostream_fill(__out, __w - __n); + } + else + __ostream_write(__out, __s, __n); + __out.width(0); + } + catch(__cxxabiv1::__forced_unwind&) + { + __out._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { __out._M_setstate(__ios_base::badbit); } + } + return __out; + } + + + + + extern template ostream& __ostream_insert(ostream&, const char*, streamsize); + + + extern template wostream& __ostream_insert(wostream&, const wchar_t*, + streamsize); + + + + + + +} +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 1 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 3 + +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/concept_check.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/concept_check.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/concept_check.h" 3 +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/debug/assertions.h" 1 3 +# 66 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 1 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 + +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 +# 74 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 +namespace std +{ + +# 93 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 + 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 { }; +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 + template + struct [[__deprecated__]] iterator + { + + typedef _Category iterator_category; + + typedef _Tp value_type; + + typedef _Distance difference_type; + + typedef _Pointer pointer; + + typedef _Reference reference; + }; +# 149 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 + template + struct iterator_traits; + + + + + template> + struct __iterator_traits { }; + + + + template + struct __iterator_traits<_Iterator, + __void_t> + { + typedef typename _Iterator::iterator_category iterator_category; + typedef typename _Iterator::value_type value_type; + typedef typename _Iterator::difference_type difference_type; + typedef typename _Iterator::pointer pointer; + typedef typename _Iterator::reference reference; + }; + + + template + struct iterator_traits + : public __iterator_traits<_Iterator> { }; +# 209 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_types.h" 3 + template + struct iterator_traits<_Tp*> + { + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef ptrdiff_t difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; + + + template + struct iterator_traits + { + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef ptrdiff_t difference_type; + typedef const _Tp* pointer; + typedef const _Tp& reference; + }; + + + + + + + template + __attribute__((__always_inline__)) + inline constexpr + typename iterator_traits<_Iter>::iterator_category + __iterator_category(const _Iter&) + { return typename iterator_traits<_Iter>::iterator_category(); } + + + + + template + using __iter_category_t + = typename iterator_traits<_Iter>::iterator_category; + + template + using _RequireInputIter = + __enable_if_t, + input_iterator_tag>::value>; + + template> + struct __is_random_access_iter + : is_base_of + { + typedef is_base_of _Base; + enum { __value = _Base::value }; + }; + + + + + + + + +} +# 67 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 2 3 + +namespace std +{ + + + + + template struct _List_iterator; + template struct _List_const_iterator; + + + template + inline constexpr + typename iterator_traits<_InputIterator>::difference_type + __distance(_InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + + + + typename iterator_traits<_InputIterator>::difference_type __n = 0; + while (__first != __last) + { + ++__first; + ++__n; + } + return __n; + } + + template + __attribute__((__always_inline__)) + inline constexpr + typename iterator_traits<_RandomAccessIterator>::difference_type + __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, + random_access_iterator_tag) + { + + + + return __last - __first; + } + + + + template + ptrdiff_t + __distance(std::_List_iterator<_Tp>, + std::_List_iterator<_Tp>, + input_iterator_tag); + + template + ptrdiff_t + __distance(std::_List_const_iterator<_Tp>, + std::_List_const_iterator<_Tp>, + input_iterator_tag); + + + + + template + void + __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete; +# 144 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 3 + template + [[__nodiscard__]] __attribute__((__always_inline__)) + inline constexpr + typename iterator_traits<_InputIterator>::difference_type + distance(_InputIterator __first, _InputIterator __last) + { + + return std::__distance(__first, __last, + std::__iterator_category(__first)); + } + + template + inline constexpr void + __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) + { + + + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); + while (__n--) + ++__i; + } + + template + inline constexpr void + __advance(_BidirectionalIterator& __i, _Distance __n, + bidirectional_iterator_tag) + { + + + + if (__n > 0) + while (__n--) + ++__i; + else + while (__n++) + --__i; + } + + template + inline constexpr void + __advance(_RandomAccessIterator& __i, _Distance __n, + random_access_iterator_tag) + { + + + + if (__builtin_constant_p(__n) && __n == 1) + ++__i; + else if (__builtin_constant_p(__n) && __n == -1) + --__i; + else + __i += __n; + } + + + + template + void + __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete; +# 217 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator_base_funcs.h" 3 + template + __attribute__((__always_inline__)) + inline constexpr void + advance(_InputIterator& __i, _Distance __n) + { + + typename iterator_traits<_InputIterator>::difference_type __d = __n; + std::__advance(__i, __d, std::__iterator_category(__i)); + } + + + + template + [[__nodiscard__]] [[__gnu__::__always_inline__]] + inline constexpr _InputIterator + next(_InputIterator __x, typename + iterator_traits<_InputIterator>::difference_type __n = 1) + { + + + std::advance(__x, __n); + return __x; + } + + template + [[__nodiscard__]] [[__gnu__::__always_inline__]] + inline constexpr _BidirectionalIterator + prev(_BidirectionalIterator __x, typename + iterator_traits<_BidirectionalIterator>::difference_type __n = 1) + { + + + + std::advance(__x, -__n); + return __x; + } + + + + +} +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 1 3 +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/type_traits.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/type_traits.h" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/type_traits.h" 3 + + + + +extern "C++" { + +namespace __gnu_cxx +{ + + + + template + struct __enable_if + { }; + + template + struct __enable_if + { typedef _Tp __type; }; + + + + template + struct __conditional_type + { typedef _Iftrue __type; }; + + template + struct __conditional_type + { typedef _Iffalse __type; }; + + + + template + struct __add_unsigned + { + private: + typedef __enable_if::__value, _Tp> __if_type; + + public: + typedef typename __if_type::__type __type; + }; + + template<> + struct __add_unsigned + { typedef unsigned char __type; }; + + template<> + struct __add_unsigned + { typedef unsigned char __type; }; + + template<> + struct __add_unsigned + { typedef unsigned short __type; }; + + template<> + struct __add_unsigned + { typedef unsigned int __type; }; + + template<> + struct __add_unsigned + { typedef unsigned long __type; }; + + template<> + struct __add_unsigned + { typedef unsigned long long __type; }; + + + template<> + struct __add_unsigned; + + template<> + struct __add_unsigned; + + + + template + struct __remove_unsigned + { + private: + typedef __enable_if::__value, _Tp> __if_type; + + public: + typedef typename __if_type::__type __type; + }; + + template<> + struct __remove_unsigned + { typedef signed char __type; }; + + template<> + struct __remove_unsigned + { typedef signed char __type; }; + + template<> + struct __remove_unsigned + { typedef short __type; }; + + template<> + struct __remove_unsigned + { typedef int __type; }; + + template<> + struct __remove_unsigned + { typedef long __type; }; + + template<> + struct __remove_unsigned + { typedef long long __type; }; + + + template<> + struct __remove_unsigned; + + template<> + struct __remove_unsigned; + + + + template + constexpr + inline bool + __is_null_pointer(_Type* __ptr) + { return __ptr == 0; } + + template + constexpr + inline bool + __is_null_pointer(_Type) + { return false; } + + + constexpr bool + __is_null_pointer(std::nullptr_t) + { return true; } + + + + + template::__value> + struct __promote + { typedef double __type; }; + + + + + template + struct __promote<_Tp, false> + { }; + + template<> + struct __promote + { typedef long double __type; }; + + template<> + struct __promote + { typedef double __type; }; + + template<> + struct __promote + { typedef float __type; }; +# 225 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/type_traits.h" 3 + template + using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...)); + + + + template + using __promote_2 = __promote<__promoted_t<_Tp, _Up>>; + + template + using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>; + + template + using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>; +# 269 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/type_traits.h" 3 + +} +} +# 66 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ptr_traits.h" 1 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ptr_traits.h" 3 +namespace std +{ + + + + + class __undefined; + + + + template + struct __get_first_arg + { using type = __undefined; }; + + template class _SomeTemplate, typename _Tp, + typename... _Types> + struct __get_first_arg<_SomeTemplate<_Tp, _Types...>> + { using type = _Tp; }; + + + + template + struct __replace_first_arg + { }; + + template class _SomeTemplate, typename _Up, + typename _Tp, typename... _Types> + struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up> + { using type = _SomeTemplate<_Up, _Types...>; }; + + + template + struct __ptr_traits_elem : __get_first_arg<_Ptr> + { }; + + + + + + + + template + struct __ptr_traits_elem<_Ptr, __void_t> + { using type = typename _Ptr::element_type; }; + + + template + using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type; + + + + + template::value> + struct __ptr_traits_ptr_to + { + using pointer = _Ptr; + using element_type = _Elt; + + + + + + + + static pointer + pointer_to(element_type& __r) + + + + + + { return pointer::pointer_to(__r); } + }; + + + template + struct __ptr_traits_ptr_to<_Ptr, _Elt, true> + { }; + + + template + struct __ptr_traits_ptr_to<_Tp*, _Tp, false> + { + using pointer = _Tp*; + using element_type = _Tp; + + + + + + + static pointer + pointer_to(element_type& __r) noexcept + { return std::addressof(__r); } + }; + + template + struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt> + { + private: + template + using __diff_t = typename _Tp::difference_type; + + template + using __rebind = __type_identity>; + + public: + + using pointer = _Ptr; + + + using element_type = _Elt; + + + using difference_type = __detected_or_t; + + + template + using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>, + __rebind, _Ptr, _Up>::type; + }; + + + + template + struct __ptr_traits_impl<_Ptr, __undefined> + { }; + + + + + + + + template + struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>> + { }; + + + + + + + + template + struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp> + { + + typedef _Tp* pointer; + + typedef _Tp element_type; + + typedef ptrdiff_t difference_type; + + template using rebind = _Up*; + }; + + + template + using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; + + template + constexpr _Tp* + __to_address(_Tp* __ptr) noexcept + { + static_assert(!std::is_function<_Tp>::value, "not a function pointer"); + return __ptr; + } + + + template + constexpr typename std::pointer_traits<_Ptr>::element_type* + __to_address(const _Ptr& __ptr) + { return std::__to_address(__ptr.operator->()); } +# 257 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ptr_traits.h" 3 + +} +# 68 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 2 3 +# 85 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 +namespace std +{ + +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +# 128 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class reverse_iterator + : public iterator::iterator_category, + typename iterator_traits<_Iterator>::value_type, + typename iterator_traits<_Iterator>::difference_type, + typename iterator_traits<_Iterator>::pointer, + typename iterator_traits<_Iterator>::reference> + { + template + friend class reverse_iterator; +# 147 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + protected: + _Iterator current; + + typedef iterator_traits<_Iterator> __traits_type; + + public: + typedef _Iterator iterator_type; + typedef typename __traits_type::pointer pointer; + + typedef typename __traits_type::difference_type difference_type; + typedef typename __traits_type::reference reference; +# 178 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + constexpr + reverse_iterator() + noexcept(noexcept(_Iterator())) + : current() + { } + + + + + explicit constexpr + reverse_iterator(iterator_type __x) + noexcept(noexcept(_Iterator(__x))) + : current(__x) + { } + + + + + constexpr + reverse_iterator(const reverse_iterator& __x) + noexcept(noexcept(_Iterator(__x.current))) + : current(__x.current) + { } + + + reverse_iterator& operator=(const reverse_iterator&) = default; + + + + + + + template + + + + constexpr + reverse_iterator(const reverse_iterator<_Iter>& __x) + noexcept(noexcept(_Iterator(__x.current))) + : current(__x.current) + { } + + + template + + + + + constexpr + reverse_iterator& + operator=(const reverse_iterator<_Iter>& __x) + noexcept(noexcept(current = __x.current)) + { + current = __x.current; + return *this; + } + + + + + + [[__nodiscard__]] + constexpr iterator_type + base() const + noexcept(noexcept(_Iterator(current))) + { return current; } +# 255 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + [[__nodiscard__]] + constexpr reference + operator*() const + { + _Iterator __tmp = current; + return *--__tmp; + } + + + + + + + [[__nodiscard__]] + constexpr pointer + operator->() const + + + + + { + + + _Iterator __tmp = current; + --__tmp; + return _S_to_pointer(__tmp); + } + + + + + + + constexpr reverse_iterator& + operator++() + { + --current; + return *this; + } + + + + + + + constexpr reverse_iterator + operator++(int) + { + reverse_iterator __tmp = *this; + --current; + return __tmp; + } + + + + + + + constexpr reverse_iterator& + operator--() + { + ++current; + return *this; + } + + + + + + + constexpr reverse_iterator + operator--(int) + { + reverse_iterator __tmp = *this; + ++current; + return __tmp; + } + + + + + + + [[__nodiscard__]] + constexpr reverse_iterator + operator+(difference_type __n) const + { return reverse_iterator(current - __n); } + + + + + + + + constexpr reverse_iterator& + operator+=(difference_type __n) + { + current -= __n; + return *this; + } + + + + + + + [[__nodiscard__]] + constexpr reverse_iterator + operator-(difference_type __n) const + { return reverse_iterator(current + __n); } + + + + + + + + constexpr reverse_iterator& + operator-=(difference_type __n) + { + current += __n; + return *this; + } + + + + + + + [[__nodiscard__]] + constexpr reference + operator[](difference_type __n) const + { return *(*this + __n); } +# 415 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + private: + template + static constexpr _Tp* + _S_to_pointer(_Tp* __p) + { return __p; } + + template + static constexpr pointer + _S_to_pointer(_Tp __t) + { return __t.operator->(); } + }; +# 438 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline constexpr bool + operator==(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __x.base() == __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator<(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __y.base() < __x.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator!=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__x == __y); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __y < __x; } + + template + [[__nodiscard__]] + inline constexpr bool + operator<=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__y < __x); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__x < __y); } + + + + + template + [[__nodiscard__]] + inline constexpr bool + operator==(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() == __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator<(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() > __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator!=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() != __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() < __y.base(); } + + template + inline constexpr bool + operator<=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() >= __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() <= __y.base(); } +# 615 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline constexpr auto + operator-(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + -> decltype(__y.base() - __x.base()) + { return __y.base() - __x.base(); } + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator<_Iterator> + operator+(typename reverse_iterator<_Iterator>::difference_type __n, + const reverse_iterator<_Iterator>& __x) + { return reverse_iterator<_Iterator>(__x.base() - __n); } + + + + template + inline constexpr reverse_iterator<_Iterator> + __make_reverse_iterator(_Iterator __i) + { return reverse_iterator<_Iterator>(__i); } + + + + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator<_Iterator> + make_reverse_iterator(_Iterator __i) + { return reverse_iterator<_Iterator>(__i); } +# 657 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + + auto + __niter_base(reverse_iterator<_Iterator> __it) + -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) + { return __make_reverse_iterator(__niter_base(__it.base())); } + + template + struct __is_move_iterator > + : __is_move_iterator<_Iterator> + { }; + + template + + auto + __miter_base(reverse_iterator<_Iterator> __it) + -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) + { return __make_reverse_iterator(__miter_base(__it.base())); } +# 688 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class back_insert_iterator + : public iterator + { + protected: + _Container* container; + + public: + + typedef _Container container_type; + + + + + + explicit + back_insert_iterator(_Container& __x) + : container(std::__addressof(__x)) { } +# 726 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + + back_insert_iterator& + operator=(const typename _Container::value_type& __value) + { + container->push_back(__value); + return *this; + } + + + back_insert_iterator& + operator=(typename _Container::value_type&& __value) + { + container->push_back(std::move(__value)); + return *this; + } + + + + [[__nodiscard__]] + back_insert_iterator& + operator*() + { return *this; } + + + + back_insert_iterator& + operator++() + { return *this; } + + + + back_insert_iterator + operator++(int) + { return *this; } + }; +# 773 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline back_insert_iterator<_Container> + back_inserter(_Container& __x) + { return back_insert_iterator<_Container>(__x); } +# 789 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class front_insert_iterator + : public iterator + { + protected: + _Container* container; + + public: + + typedef _Container container_type; + + + + + + explicit + front_insert_iterator(_Container& __x) + : container(std::__addressof(__x)) { } +# 827 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + + front_insert_iterator& + operator=(const typename _Container::value_type& __value) + { + container->push_front(__value); + return *this; + } + + + front_insert_iterator& + operator=(typename _Container::value_type&& __value) + { + container->push_front(std::move(__value)); + return *this; + } + + + + [[__nodiscard__]] + front_insert_iterator& + operator*() + { return *this; } + + + + front_insert_iterator& + operator++() + { return *this; } + + + + front_insert_iterator + operator++(int) + { return *this; } + }; +# 874 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline front_insert_iterator<_Container> + front_inserter(_Container& __x) + { return front_insert_iterator<_Container>(__x); } +# 894 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class insert_iterator + : public iterator + { + + + + typedef typename _Container::iterator _Iter; + + protected: + _Container* container; + _Iter iter; + + public: + + typedef _Container container_type; +# 919 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + + insert_iterator(_Container& __x, _Iter __i) + : container(std::__addressof(__x)), iter(__i) {} +# 955 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + + insert_iterator& + operator=(const typename _Container::value_type& __value) + { + iter = container->insert(iter, __value); + ++iter; + return *this; + } + + + insert_iterator& + operator=(typename _Container::value_type&& __value) + { + iter = container->insert(iter, std::move(__value)); + ++iter; + return *this; + } + + + + [[__nodiscard__]] + insert_iterator& + operator*() + { return *this; } + + + + insert_iterator& + operator++() + { return *this; } + + + + insert_iterator& + operator++(int) + { return *this; } + }; + +#pragma GCC diagnostic pop +# 1014 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline insert_iterator<_Container> + inserter(_Container& __x, typename _Container::iterator __i) + { return insert_iterator<_Container>(__x, __i); } + + + + + +} + +namespace __gnu_cxx +{ + +# 1037 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class __normal_iterator + { + protected: + _Iterator _M_current; + + typedef std::iterator_traits<_Iterator> __traits_type; + + + template + using __convertible_from + = std::__enable_if_t::value>; + + + public: + typedef _Iterator iterator_type; + typedef typename __traits_type::iterator_category iterator_category; + typedef typename __traits_type::value_type value_type; + typedef typename __traits_type::difference_type difference_type; + typedef typename __traits_type::reference reference; + typedef typename __traits_type::pointer pointer; + + + + + + constexpr __normal_iterator() noexcept + : _M_current(_Iterator()) { } + + explicit + __normal_iterator(const _Iterator& __i) noexcept + : _M_current(__i) { } + + + + template> + + __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) + noexcept +# 1085 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + : _M_current(__i.base()) { } + + + + reference + operator*() const noexcept + { return *_M_current; } + + + pointer + operator->() const noexcept + { return _M_current; } + + + __normal_iterator& + operator++() noexcept + { + ++_M_current; + return *this; + } + + + __normal_iterator + operator++(int) noexcept + { return __normal_iterator(_M_current++); } + + + + __normal_iterator& + operator--() noexcept + { + --_M_current; + return *this; + } + + + __normal_iterator + operator--(int) noexcept + { return __normal_iterator(_M_current--); } + + + + reference + operator[](difference_type __n) const noexcept + { return _M_current[__n]; } + + + __normal_iterator& + operator+=(difference_type __n) noexcept + { _M_current += __n; return *this; } + + + __normal_iterator + operator+(difference_type __n) const noexcept + { return __normal_iterator(_M_current + __n); } + + + __normal_iterator& + operator-=(difference_type __n) noexcept + { _M_current -= __n; return *this; } + + + __normal_iterator + operator-(difference_type __n) const noexcept + { return __normal_iterator(_M_current - __n); } + + + const _Iterator& + base() const noexcept + { return _M_current; } + }; +# 1205 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline bool + operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() == __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator==(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() == __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() != __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() != __rhs.base(); } + + + template + [[__nodiscard__]] + inline bool + operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() < __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator<(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() < __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() > __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator>(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() > __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() <= __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() <= __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() >= __rhs.base(); } + + template + [[__nodiscard__]] + inline bool + operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() >= __rhs.base(); } + + + + + + + template + + + [[__nodiscard__]] + inline auto + operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept + -> decltype(__lhs.base() - __rhs.base()) + + + + + + { return __lhs.base() - __rhs.base(); } + + template + [[__nodiscard__]] + inline typename __normal_iterator<_Iterator, _Container>::difference_type + operator-(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() - __rhs.base(); } + + template + [[__nodiscard__]] + inline __normal_iterator<_Iterator, _Container> + operator+(typename __normal_iterator<_Iterator, _Container>::difference_type + __n, const __normal_iterator<_Iterator, _Container>& __i) + noexcept + { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } + + +} + +namespace std +{ + + + template + + _Iterator + __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) + noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) + { return __it.base(); } + + + + + + + template + constexpr auto + __to_address(const __gnu_cxx::__normal_iterator<_Iterator, + _Container>& __it) noexcept + -> decltype(std::__to_address(__it.base())) + { return std::__to_address(__it.base()); } +# 1412 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + namespace __detail + { +# 1428 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + } +# 1439 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + class move_iterator + + + + { + _Iterator _M_current; + + using __traits_type = iterator_traits<_Iterator>; + + using __base_ref = typename __traits_type::reference; + + + template + friend class move_iterator; +# 1478 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + public: + using iterator_type = _Iterator; +# 1490 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + typedef typename __traits_type::iterator_category iterator_category; + typedef typename __traits_type::value_type value_type; + typedef typename __traits_type::difference_type difference_type; + + typedef _Iterator pointer; + + + using reference + = __conditional_t::value, + typename remove_reference<__base_ref>::type&&, + __base_ref>; + + + constexpr + move_iterator() + : _M_current() { } + + explicit constexpr + move_iterator(iterator_type __i) + : _M_current(std::move(__i)) { } + + template + + + + constexpr + move_iterator(const move_iterator<_Iter>& __i) + : _M_current(__i._M_current) { } + + template + + + + + constexpr + move_iterator& operator=(const move_iterator<_Iter>& __i) + { + _M_current = __i._M_current; + return *this; + } + + + [[__nodiscard__]] + constexpr iterator_type + base() const + { return _M_current; } +# 1548 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + [[__nodiscard__]] + constexpr reference + operator*() const + + + + { return static_cast(*_M_current); } + + + [[__nodiscard__]] + constexpr pointer + operator->() const + { return _M_current; } + + constexpr move_iterator& + operator++() + { + ++_M_current; + return *this; + } + + constexpr move_iterator + operator++(int) + { + move_iterator __tmp = *this; + ++_M_current; + return __tmp; + } + + + + + + + + constexpr move_iterator& + operator--() + { + --_M_current; + return *this; + } + + constexpr move_iterator + operator--(int) + { + move_iterator __tmp = *this; + --_M_current; + return __tmp; + } + + [[__nodiscard__]] + constexpr move_iterator + operator+(difference_type __n) const + { return move_iterator(_M_current + __n); } + + constexpr move_iterator& + operator+=(difference_type __n) + { + _M_current += __n; + return *this; + } + + [[__nodiscard__]] + constexpr move_iterator + operator-(difference_type __n) const + { return move_iterator(_M_current - __n); } + + constexpr move_iterator& + operator-=(difference_type __n) + { + _M_current -= __n; + return *this; + } + + [[__nodiscard__]] + constexpr reference + operator[](difference_type __n) const + + + + { return std::move(_M_current[__n]); } +# 1662 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + }; + + template + [[__nodiscard__]] + inline constexpr bool + operator==(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + + + + { return __x.base() == __y.base(); } +# 1683 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline constexpr bool + operator!=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return !(__x == __y); } + + + template + [[__nodiscard__]] + inline constexpr bool + operator<(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + + + + { return __x.base() < __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator<=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + + + + { return !(__y < __x); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + + + + { return __y < __x; } + + template + [[__nodiscard__]] + inline constexpr bool + operator>=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + + + + { return !(__x < __y); } + + + + + template + [[__nodiscard__]] + inline constexpr bool + operator==(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __x.base() == __y.base(); } +# 1749 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + [[__nodiscard__]] + inline constexpr bool + operator!=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__x == __y); } + + template + [[__nodiscard__]] + inline constexpr bool + operator<(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __x.base() < __y.base(); } + + template + [[__nodiscard__]] + inline constexpr bool + operator<=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__y < __x); } + + template + [[__nodiscard__]] + inline constexpr bool + operator>(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __y < __x; } + + template + [[__nodiscard__]] + inline constexpr bool + operator>=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__x < __y); } + + + + template + [[__nodiscard__]] + inline constexpr auto + operator-(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + -> decltype(__x.base() - __y.base()) + { return __x.base() - __y.base(); } + + template + [[__nodiscard__]] + inline constexpr move_iterator<_Iterator> + operator+(typename move_iterator<_Iterator>::difference_type __n, + const move_iterator<_Iterator>& __x) + { return __x + __n; } + + template + [[__nodiscard__]] + inline constexpr move_iterator<_Iterator> + make_move_iterator(_Iterator __i) + { return move_iterator<_Iterator>(std::move(__i)); } + + template::value_type>::value, + _Iterator, move_iterator<_Iterator>>> + inline constexpr _ReturnType + __make_move_if_noexcept_iterator(_Iterator __i) + { return _ReturnType(__i); } + + + + template::value, + const _Tp*, move_iterator<_Tp*>>> + inline constexpr _ReturnType + __make_move_if_noexcept_iterator(_Tp* __i) + { return _ReturnType(__i); } +# 2952 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + + auto + __niter_base(move_iterator<_Iterator> __it) + -> decltype(make_move_iterator(__niter_base(__it.base()))) + { return make_move_iterator(__niter_base(__it.base())); } + + template + struct __is_move_iterator > + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template + + auto + __miter_base(move_iterator<_Iterator> __it) + -> decltype(__miter_base(__it.base())) + { return __miter_base(__it.base()); } +# 2984 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_iterator.h" 3 + template + using __iter_key_t = remove_const_t< + + + + typename iterator_traits<_InputIterator>::value_type::first_type>; + + + template + using __iter_val_t + + + + = typename iterator_traits<_InputIterator>::value_type::second_type; + + + template + struct pair; + + template + using __iter_to_alloc_t + = pair, __iter_val_t<_InputIterator>>; + + + +} +# 49 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 1 3 +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 +namespace std +{ + +# 116 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + struct unary_function + { + + typedef _Arg argument_type; + + + typedef _Result result_type; + } __attribute__ ((__deprecated__)); + + + + + + template + struct binary_function + { + + typedef _Arg1 first_argument_type; + + + typedef _Arg2 second_argument_type; + + + typedef _Result result_type; + } __attribute__ ((__deprecated__)); +# 157 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + struct __is_transparent; + + template + struct plus; + + template + struct minus; + + template + struct multiplies; + + template + struct divides; + + template + struct modulus; + + template + struct negate; + + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + struct plus : public binary_function<_Tp, _Tp, _Tp> + { + + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x + __y; } + }; + + + template + struct minus : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x - __y; } + }; + + + template + struct multiplies : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x * __y; } + }; + + + template + struct divides : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x / __y; } + }; + + + template + struct modulus : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x % __y; } + }; + + + template + struct negate : public unary_function<_Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x) const + { return -__x; } + }; +#pragma GCC diagnostic pop + + + template<> + struct plus + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct minus + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct multiplies + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct divides + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct modulus + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct negate + { + template + constexpr + auto + operator()(_Tp&& __t) const + noexcept(noexcept(-std::forward<_Tp>(__t))) + -> decltype(-std::forward<_Tp>(__t)) + { return -std::forward<_Tp>(__t); } + + typedef __is_transparent is_transparent; + }; +# 346 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + struct equal_to; + + template + struct not_equal_to; + + template + struct greater; + + template + struct less; + + template + struct greater_equal; + + template + struct less_equal; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + struct equal_to : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x == __y; } + }; + + + template + struct not_equal_to : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x != __y; } + }; + + + template + struct greater : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x > __y; } + }; + + + template + struct less : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x < __y; } + }; + + + template + struct greater_equal : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x >= __y; } + }; + + + template + struct less_equal : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x <= __y; } + }; + + + template + struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> + { + constexpr bool + operator()(_Tp* __x, _Tp* __y) const noexcept + { + + if (std::__is_constant_evaluated()) + return __x > __y; + + return (long long unsigned int)__x > (long long unsigned int)__y; + } + }; + + + template + struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> + { + constexpr bool + operator()(_Tp* __x, _Tp* __y) const noexcept + { + + if (std::__is_constant_evaluated()) + return __x < __y; + + return (long long unsigned int)__x < (long long unsigned int)__y; + } + }; + + + template + struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> + { + constexpr bool + operator()(_Tp* __x, _Tp* __y) const noexcept + { + + if (std::__is_constant_evaluated()) + return __x >= __y; + + return (long long unsigned int)__x >= (long long unsigned int)__y; + } + }; + + + template + struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> + { + constexpr bool + operator()(_Tp* __x, _Tp* __y) const noexcept + { + + if (std::__is_constant_evaluated()) + return __x <= __y; + + return (long long unsigned int)__x <= (long long unsigned int)__y; + } + }; +#pragma GCC diagnostic pop + + + + template<> + struct equal_to + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct not_equal_to + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct greater + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) + { + return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), + __ptr_cmp<_Tp, _Up>{}); + } + + template + constexpr bool + operator()(_Tp* __t, _Up* __u) const noexcept + { return greater>{}(__t, __u); } + + typedef __is_transparent is_transparent; + + private: + template + static constexpr decltype(auto) + _S_cmp(_Tp&& __t, _Up&& __u, false_type) + { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } + + template + static constexpr bool + _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept + { + return greater{}( + static_cast(std::forward<_Tp>(__t)), + static_cast(std::forward<_Up>(__u))); + } + + + template + struct __not_overloaded2 : true_type { }; + + + template + struct __not_overloaded2<_Tp, _Up, __void_t< + decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>> + : false_type { }; + + + template + struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; + + + template + struct __not_overloaded<_Tp, _Up, __void_t< + decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>> + : false_type { }; + + template + using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, + is_convertible<_Tp, const volatile void*>, + is_convertible<_Up, const volatile void*>>; + }; + + + template<> + struct less + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) + { + return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), + __ptr_cmp<_Tp, _Up>{}); + } + + template + constexpr bool + operator()(_Tp* __t, _Up* __u) const noexcept + { return less>{}(__t, __u); } + + typedef __is_transparent is_transparent; + + private: + template + static constexpr decltype(auto) + _S_cmp(_Tp&& __t, _Up&& __u, false_type) + { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } + + template + static constexpr bool + _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept + { + return less{}( + static_cast(std::forward<_Tp>(__t)), + static_cast(std::forward<_Up>(__u))); + } + + + template + struct __not_overloaded2 : true_type { }; + + + template + struct __not_overloaded2<_Tp, _Up, __void_t< + decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>> + : false_type { }; + + + template + struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; + + + template + struct __not_overloaded<_Tp, _Up, __void_t< + decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>> + : false_type { }; + + template + using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, + is_convertible<_Tp, const volatile void*>, + is_convertible<_Up, const volatile void*>>; + }; + + + template<> + struct greater_equal + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) + { + return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), + __ptr_cmp<_Tp, _Up>{}); + } + + template + constexpr bool + operator()(_Tp* __t, _Up* __u) const noexcept + { return greater_equal>{}(__t, __u); } + + typedef __is_transparent is_transparent; + + private: + template + static constexpr decltype(auto) + _S_cmp(_Tp&& __t, _Up&& __u, false_type) + { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } + + template + static constexpr bool + _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept + { + return greater_equal{}( + static_cast(std::forward<_Tp>(__t)), + static_cast(std::forward<_Up>(__u))); + } + + + template + struct __not_overloaded2 : true_type { }; + + + template + struct __not_overloaded2<_Tp, _Up, __void_t< + decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>> + : false_type { }; + + + template + struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; + + + template + struct __not_overloaded<_Tp, _Up, __void_t< + decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>> + : false_type { }; + + template + using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, + is_convertible<_Tp, const volatile void*>, + is_convertible<_Up, const volatile void*>>; + }; + + + template<> + struct less_equal + { + template + constexpr auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) + { + return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), + __ptr_cmp<_Tp, _Up>{}); + } + + template + constexpr bool + operator()(_Tp* __t, _Up* __u) const noexcept + { return less_equal>{}(__t, __u); } + + typedef __is_transparent is_transparent; + + private: + template + static constexpr decltype(auto) + _S_cmp(_Tp&& __t, _Up&& __u, false_type) + { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } + + template + static constexpr bool + _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept + { + return less_equal{}( + static_cast(std::forward<_Tp>(__t)), + static_cast(std::forward<_Up>(__u))); + } + + + template + struct __not_overloaded2 : true_type { }; + + + template + struct __not_overloaded2<_Tp, _Up, __void_t< + decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>> + : false_type { }; + + + template + struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; + + + template + struct __not_overloaded<_Tp, _Up, __void_t< + decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>> + : false_type { }; + + template + using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, + is_convertible<_Tp, const volatile void*>, + is_convertible<_Up, const volatile void*>>; + }; +# 778 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + struct logical_and; + + template + struct logical_or; + + template + struct logical_not; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + struct logical_and : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x && __y; } + }; + + + template + struct logical_or : public binary_function<_Tp, _Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x || __y; } + }; + + + template + struct logical_not : public unary_function<_Tp, bool> + { + constexpr + bool + operator()(const _Tp& __x) const + { return !__x; } + }; +#pragma GCC diagnostic pop + + + + template<> + struct logical_and + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct logical_or + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + + template<> + struct logical_not + { + template + constexpr + auto + operator()(_Tp&& __t) const + noexcept(noexcept(!std::forward<_Tp>(__t))) + -> decltype(!std::forward<_Tp>(__t)) + { return !std::forward<_Tp>(__t); } + + typedef __is_transparent is_transparent; + }; + + + + + template + struct bit_and; + + template + struct bit_or; + + template + struct bit_xor; + + template + struct bit_not; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + + template + struct bit_and : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x & __y; } + }; + + template + struct bit_or : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x | __y; } + }; + + template + struct bit_xor : public binary_function<_Tp, _Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x ^ __y; } + }; + + template + struct bit_not : public unary_function<_Tp, _Tp> + { + constexpr + _Tp + operator()(const _Tp& __x) const + { return ~__x; } + }; +#pragma GCC diagnostic pop + + + template <> + struct bit_and + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + template <> + struct bit_or + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + template <> + struct bit_xor + { + template + constexpr + auto + operator()(_Tp&& __t, _Up&& __u) const + noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) + -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) + { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } + + typedef __is_transparent is_transparent; + }; + + template <> + struct bit_not + { + template + constexpr + auto + operator()(_Tp&& __t) const + noexcept(noexcept(~std::forward<_Tp>(__t))) + -> decltype(~std::forward<_Tp>(__t)) + { return ~std::forward<_Tp>(__t); } + + typedef __is_transparent is_transparent; + }; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +# 1020 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + class [[__deprecated__]] unary_negate + : public unary_function + { + protected: + _Predicate _M_pred; + + public: + constexpr + explicit + unary_negate(const _Predicate& __x) : _M_pred(__x) { } + + constexpr + bool + operator()(const typename _Predicate::argument_type& __x) const + { return !_M_pred(__x); } + }; + + + template + __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) + constexpr + inline unary_negate<_Predicate> + not1(const _Predicate& __pred) + { return unary_negate<_Predicate>(__pred); } + + + template + class [[__deprecated__]] binary_negate + : public binary_function + { + protected: + _Predicate _M_pred; + + public: + constexpr + explicit + binary_negate(const _Predicate& __x) : _M_pred(__x) { } + + constexpr + bool + operator()(const typename _Predicate::first_argument_type& __x, + const typename _Predicate::second_argument_type& __y) const + { return !_M_pred(__x, __y); } + }; + + + template + __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) + constexpr + inline binary_negate<_Predicate> + not2(const _Predicate& __pred) + { return binary_negate<_Predicate>(__pred); } +# 1101 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + class pointer_to_unary_function : public unary_function<_Arg, _Result> + { + protected: + _Result (*_M_ptr)(_Arg); + + public: + pointer_to_unary_function() { } + + explicit + pointer_to_unary_function(_Result (*__x)(_Arg)) + : _M_ptr(__x) { } + + _Result + operator()(_Arg __x) const + { return _M_ptr(__x); } + } __attribute__ ((__deprecated__)); + + + template + __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) + inline pointer_to_unary_function<_Arg, _Result> + ptr_fun(_Result (*__x)(_Arg)) + { return pointer_to_unary_function<_Arg, _Result>(__x); } + + + template + class pointer_to_binary_function + : public binary_function<_Arg1, _Arg2, _Result> + { + protected: + _Result (*_M_ptr)(_Arg1, _Arg2); + + public: + pointer_to_binary_function() { } + + explicit + pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) + : _M_ptr(__x) { } + + _Result + operator()(_Arg1 __x, _Arg2 __y) const + { return _M_ptr(__x, __y); } + } __attribute__ ((__deprecated__)); + + + template + __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) + inline pointer_to_binary_function<_Arg1, _Arg2, _Result> + ptr_fun(_Result (*__x)(_Arg1, _Arg2)) + { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } + + + template + struct _Identity + : public unary_function<_Tp, _Tp> + { + _Tp& + operator()(_Tp& __x) const + { return __x; } + + const _Tp& + operator()(const _Tp& __x) const + { return __x; } + }; + + + template struct _Identity : _Identity<_Tp> { }; + + template + struct _Select1st + : public unary_function<_Pair, typename _Pair::first_type> + { + typename _Pair::first_type& + operator()(_Pair& __x) const + { return __x.first; } + + const typename _Pair::first_type& + operator()(const _Pair& __x) const + { return __x.first; } + + + template + typename _Pair2::first_type& + operator()(_Pair2& __x) const + { return __x.first; } + + template + const typename _Pair2::first_type& + operator()(const _Pair2& __x) const + { return __x.first; } + + }; + + template + struct _Select2nd + : public unary_function<_Pair, typename _Pair::second_type> + { + typename _Pair::second_type& + operator()(_Pair& __x) const + { return __x.second; } + + const typename _Pair::second_type& + operator()(const _Pair& __x) const + { return __x.second; } + }; +# 1228 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 3 + template + class mem_fun_t : public unary_function<_Tp*, _Ret> + { + public: + explicit + mem_fun_t(_Ret (_Tp::*__pf)()) + : _M_f(__pf) { } + + _Ret + operator()(_Tp* __p) const + { return (__p->*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)(); + } __attribute__ ((__deprecated__)); + + + template + class const_mem_fun_t : public unary_function + { + public: + explicit + const_mem_fun_t(_Ret (_Tp::*__pf)() const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp* __p) const + { return (__p->*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)() const; + } __attribute__ ((__deprecated__)); + + + template + class mem_fun_ref_t : public unary_function<_Tp, _Ret> + { + public: + explicit + mem_fun_ref_t(_Ret (_Tp::*__pf)()) + : _M_f(__pf) { } + + _Ret + operator()(_Tp& __r) const + { return (__r.*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)(); + } __attribute__ ((__deprecated__)); + + + template + class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> + { + public: + explicit + const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp& __r) const + { return (__r.*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)() const; + } __attribute__ ((__deprecated__)); + + + template + class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> + { + public: + explicit + mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) + : _M_f(__pf) { } + + _Ret + operator()(_Tp* __p, _Arg __x) const + { return (__p->*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg); + } __attribute__ ((__deprecated__)); + + + template + class const_mem_fun1_t : public binary_function + { + public: + explicit + const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp* __p, _Arg __x) const + { return (__p->*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg) const; + } __attribute__ ((__deprecated__)); + + + template + class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> + { + public: + explicit + mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) + : _M_f(__pf) { } + + _Ret + operator()(_Tp& __r, _Arg __x) const + { return (__r.*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg); + } __attribute__ ((__deprecated__)); + + + template + class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> + { + public: + explicit + const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp& __r, _Arg __x) const + { return (__r.*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg) const; + } __attribute__ ((__deprecated__)); + + + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline mem_fun_t<_Ret, _Tp> + mem_fun(_Ret (_Tp::*__f)()) + { return mem_fun_t<_Ret, _Tp>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline const_mem_fun_t<_Ret, _Tp> + mem_fun(_Ret (_Tp::*__f)() const) + { return const_mem_fun_t<_Ret, _Tp>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline mem_fun_ref_t<_Ret, _Tp> + mem_fun_ref(_Ret (_Tp::*__f)()) + { return mem_fun_ref_t<_Ret, _Tp>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline const_mem_fun_ref_t<_Ret, _Tp> + mem_fun_ref(_Ret (_Tp::*__f)() const) + { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline mem_fun1_t<_Ret, _Tp, _Arg> + mem_fun(_Ret (_Tp::*__f)(_Arg)) + { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline const_mem_fun1_t<_Ret, _Tp, _Arg> + mem_fun(_Ret (_Tp::*__f)(_Arg) const) + { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline mem_fun1_ref_t<_Ret, _Tp, _Arg> + mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) + { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } + + template + __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) + inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> + mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) + { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } +#pragma GCC diagnostic pop + + + + + template> + struct __has_is_transparent + { }; + + template + struct __has_is_transparent<_Func, _SfinaeType, + __void_t> + { typedef void type; }; + + template + using __has_is_transparent_t + = typename __has_is_transparent<_Func, _SfinaeType>::type; + + + +} + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/backward/binders.h" 1 3 +# 60 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/backward/binders.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +namespace std +{ + +# 107 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/backward/binders.h" 3 + template + class binder1st + : public unary_function + { + protected: + _Operation op; + typename _Operation::first_argument_type value; + + public: + binder1st(const _Operation& __x, + const typename _Operation::first_argument_type& __y) + : op(__x), value(__y) { } + + typename _Operation::result_type + operator()(const typename _Operation::second_argument_type& __x) const + { return op(value, __x); } + + + + typename _Operation::result_type + operator()(typename _Operation::second_argument_type& __x) const + { return op(value, __x); } + } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))); + + + template + __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) + inline binder1st<_Operation> + bind1st(const _Operation& __fn, const _Tp& __x) + { + typedef typename _Operation::first_argument_type _Arg1_type; + return binder1st<_Operation>(__fn, _Arg1_type(__x)); + } + + + template + class binder2nd + : public unary_function + { + protected: + _Operation op; + typename _Operation::second_argument_type value; + + public: + binder2nd(const _Operation& __x, + const typename _Operation::second_argument_type& __y) + : op(__x), value(__y) { } + + typename _Operation::result_type + operator()(const typename _Operation::first_argument_type& __x) const + { return op(__x, value); } + + + + typename _Operation::result_type + operator()(typename _Operation::first_argument_type& __x) const + { return op(__x, value); } + } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))); + + + template + __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) + inline binder2nd<_Operation> + bind2nd(const _Operation& __fn, const _Tp& __x) + { + typedef typename _Operation::second_argument_type _Arg2_type; + return binder2nd<_Operation>(__fn, _Arg2_type(__x)); + } + + + +} + +#pragma GCC diagnostic pop +# 1436 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_function.h" 2 3 +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + + + + +namespace __gnu_cxx +{ + +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + template + struct __is_integer_nonstrict + : public std::__is_integer<_Tp> + { + using std::__is_integer<_Tp>::__value; + + + enum { __width = __value ? sizeof(_Tp) * 8 : 0 }; + }; + + template + struct __numeric_traits_integer + { + + static_assert(__is_integer_nonstrict<_Value>::__value, + "invalid specialization"); + + + + + static const bool __is_signed = (_Value)(-1) < 0; + static const int __digits + = __is_integer_nonstrict<_Value>::__width - __is_signed; + + + static const _Value __max = __is_signed + ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1) + : ~(_Value)0; + static const _Value __min = __is_signed ? -__max - 1 : (_Value)0; + }; + + template + const _Value __numeric_traits_integer<_Value>::__min; + + template + const _Value __numeric_traits_integer<_Value>::__max; + + template + const bool __numeric_traits_integer<_Value>::__is_signed; + + template + const int __numeric_traits_integer<_Value>::__digits; +# 137 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + template + using __int_traits = __numeric_traits_integer<_Tp>; +# 157 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + template + struct __numeric_traits_floating + { + + static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136); + + + static const bool __is_signed = true; + static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); + static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); + }; + + template + const int __numeric_traits_floating<_Value>::__max_digits10; + + template + const bool __numeric_traits_floating<_Value>::__is_signed; + + template + const int __numeric_traits_floating<_Value>::__digits10; + + template + const int __numeric_traits_floating<_Value>::__max_exponent10; + + + + + + + template + struct __numeric_traits + : public __numeric_traits_integer<_Value> + { }; + + template<> + struct __numeric_traits + : public __numeric_traits_floating + { }; + + template<> + struct __numeric_traits + : public __numeric_traits_floating + { }; + + template<> + struct __numeric_traits + : public __numeric_traits_floating + { }; +# 238 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/numeric_traits.h" 3 + +} +# 51 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 1 3 +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 1 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 3 + + + + + + +namespace std +{ + + + + template + struct tuple_size; + + + + + + template::type, + typename = typename enable_if::value>::type, + size_t = tuple_size<_Tp>::value> + using __enable_if_has_tuple_size = _Tp; + + template + struct tuple_size> + : public tuple_size<_Tp> { }; + + template + struct tuple_size> + : public tuple_size<_Tp> { }; + + template + struct tuple_size> + : public tuple_size<_Tp> { }; + + + template + inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; + + + + template + struct tuple_element; + + + template + using __tuple_element_t = typename tuple_element<__i, _Tp>::type; + + template + struct tuple_element<__i, const _Tp> + { + using type = const __tuple_element_t<__i, _Tp>; + }; + + template + struct tuple_element<__i, volatile _Tp> + { + using type = volatile __tuple_element_t<__i, _Tp>; + }; + + template + struct tuple_element<__i, const volatile _Tp> + { + using type = const volatile __tuple_element_t<__i, _Tp>; + }; + + + + + + template + constexpr size_t + __find_uniq_type_in_pack() + { + constexpr size_t __sz = sizeof...(_Types); + constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... }; + size_t __n = __sz; + for (size_t __i = 0; __i < __sz; ++__i) + { + if (__found[__i]) + { + if (__n < __sz) + return __sz; + __n = __i; + } + } + return __n; + } +# 134 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 3 + template + using tuple_element_t = typename tuple_element<__i, _Tp>::type; + + + + + template struct _Index_tuple { }; + + + template + struct _Build_index_tuple + { +# 154 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 3 + using __type = _Index_tuple<__integer_pack(_Num)...>; + + }; + + + + + template + struct integer_sequence + { + + + + typedef _Tp value_type; + static constexpr size_t size() noexcept { return sizeof...(_Idx); } + }; + + + template + using make_integer_sequence + + + + = integer_sequence<_Tp, __integer_pack(_Num)...>; + + + + template + using index_sequence = integer_sequence; + + + template + using make_index_sequence = make_integer_sequence; + + + template + using index_sequence_for = make_index_sequence; + + + + + struct in_place_t { + explicit in_place_t() = default; + }; + + inline constexpr in_place_t in_place{}; + + template struct in_place_type_t + { + explicit in_place_type_t() = default; + }; + + template + inline constexpr in_place_type_t<_Tp> in_place_type{}; + + template struct in_place_index_t + { + explicit in_place_index_t() = default; + }; + + template + inline constexpr in_place_index_t<_Idx> in_place_index{}; + + template + inline constexpr bool __is_in_place_type_v = false; + + template + inline constexpr bool __is_in_place_type_v> = true; + + template + using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>; + + template + inline constexpr bool __is_in_place_index_v = false; + + template + inline constexpr bool __is_in_place_index_v> = true; + + + + + template + struct _Nth_type + { using type = __type_pack_element<_Np, _Types...>; }; +# 283 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/utility.h" 3 + +} +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 2 3 + + + + + +namespace std +{ + +# 79 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; + + + inline constexpr piecewise_construct_t piecewise_construct = + piecewise_construct_t(); + + + + + template + struct pair; + + template + class tuple; + + + + + + template + struct array; + + template + struct _Index_tuple; + + template + constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& + get(pair<_Tp1, _Tp2>& __in) noexcept; + + template + constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& + get(pair<_Tp1, _Tp2>&& __in) noexcept; + + template + constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& + get(const pair<_Tp1, _Tp2>& __in) noexcept; + + template + constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& + get(const pair<_Tp1, _Tp2>&& __in) noexcept; + + template + constexpr __tuple_element_t<__i, tuple<_Elements...>>& + get(tuple<_Elements...>& __t) noexcept; + + template + constexpr const __tuple_element_t<__i, tuple<_Elements...>>& + get(const tuple<_Elements...>& __t) noexcept; + + template + constexpr __tuple_element_t<__i, tuple<_Elements...>>&& + get(tuple<_Elements...>&& __t) noexcept; + + template + constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& + get(const tuple<_Elements...>&& __t) noexcept; + + template + constexpr _Tp& + get(array<_Tp, _Nm>&) noexcept; + + template + constexpr _Tp&& + get(array<_Tp, _Nm>&&) noexcept; + + template + constexpr const _Tp& + get(const array<_Tp, _Nm>&) noexcept; + + template + constexpr const _Tp&& + get(const array<_Tp, _Nm>&&) noexcept; + + + + + + + + template + struct _PCC + { + template + static constexpr bool _ConstructiblePair() + { + return __and_, + is_constructible<_T2, const _U2&>>::value; + } + + template + static constexpr bool _ImplicitlyConvertiblePair() + { + return __and_, + is_convertible>::value; + } + + template + static constexpr bool _MoveConstructiblePair() + { + return __and_, + is_constructible<_T2, _U2&&>>::value; + } + + template + static constexpr bool _ImplicitlyMoveConvertiblePair() + { + return __and_, + is_convertible<_U2&&, _T2>>::value; + } + }; + + template + struct _PCC + { + template + static constexpr bool _ConstructiblePair() + { + return false; + } + + template + static constexpr bool _ImplicitlyConvertiblePair() + { + return false; + } + + template + static constexpr bool _MoveConstructiblePair() + { + return false; + } + + template + static constexpr bool _ImplicitlyMoveConvertiblePair() + { + return false; + } + }; +# 260 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template class __pair_base + { + + template friend struct pair; + __pair_base() = default; + ~__pair_base() = default; + __pair_base(const __pair_base&) = default; + __pair_base& operator=(const __pair_base&) = delete; + + }; +# 283 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + struct pair + : public __pair_base<_T1, _T2> + { + typedef _T1 first_type; + typedef _T2 second_type; + + _T1 first; + _T2 second; + + + constexpr pair(const pair&) = default; + constexpr pair(pair&&) = default; + + template + + pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); + + + void + swap(pair& __p) + noexcept(__and_<__is_nothrow_swappable<_T1>, + __is_nothrow_swappable<_T2>>::value) + { + using std::swap; + swap(first, __p.first); + swap(second, __p.second); + } +# 331 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + private: + template + + pair(tuple<_Args1...>&, tuple<_Args2...>&, + _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); + public: +# 719 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template , + __is_implicitly_default_constructible<_U2>> + ::value, bool>::type = true> + constexpr pair() + : first(), second() { } + + template , + is_default_constructible<_U2>, + __not_< + __and_<__is_implicitly_default_constructible<_U1>, + __is_implicitly_default_constructible<_U2>>>> + ::value, bool>::type = false> + explicit constexpr pair() + : first(), second() { } + + + + using _PCCP = _PCC; + + + + template() + && _PCCP::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(const _T1& __a, const _T2& __b) + : first(__a), second(__b) { } + + + template() + && !_PCCP::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(const _T1& __a, const _T2& __b) + : first(__a), second(__b) { } + + + + template + using _PCCFP = _PCC::value + || !is_same<_T2, _U2>::value, + _T1, _T2>; + + + template::template + _ConstructiblePair<_U1, _U2>() + && _PCCFP<_U1, _U2>::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(const pair<_U1, _U2>& __p) + : first(__p.first), second(__p.second) + { ; } + + template::template + _ConstructiblePair<_U1, _U2>() + && !_PCCFP<_U1, _U2>::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(const pair<_U1, _U2>& __p) + : first(__p.first), second(__p.second) + { ; } +# 803 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + private: + + + + struct __zero_as_null_pointer_constant + { + __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*) + { } + template::value>> + __zero_as_null_pointer_constant(_Tp) = delete; + }; + + public: + + + + + template>, + is_pointer<_T2>, + is_constructible<_T1, _U1>, + __not_>, + is_convertible<_U1, _T1>>::value, + bool> = true> + __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer"))) + constexpr + pair(_U1&& __x, __zero_as_null_pointer_constant, ...) + : first(std::forward<_U1>(__x)), second(nullptr) + { ; } + + template>, + is_pointer<_T2>, + is_constructible<_T1, _U1>, + __not_>, + __not_>>::value, + bool> = false> + __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer"))) + explicit constexpr + pair(_U1&& __x, __zero_as_null_pointer_constant, ...) + : first(std::forward<_U1>(__x)), second(nullptr) + { ; } + + template, + __not_>, + is_constructible<_T2, _U2>, + __not_>, + is_convertible<_U2, _T2>>::value, + bool> = true> + __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer"))) + constexpr + pair(__zero_as_null_pointer_constant, _U2&& __y, ...) + : first(nullptr), second(std::forward<_U2>(__y)) + { ; } + + template, + __not_>, + is_constructible<_T2, _U2>, + __not_>, + __not_>>::value, + bool> = false> + __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer"))) + explicit constexpr + pair(__zero_as_null_pointer_constant, _U2&& __y, ...) + : first(nullptr), second(std::forward<_U2>(__y)) + { ; } + + + + template() + && _PCCP::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(_U1&& __x, _U2&& __y) + : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) + { ; } + + template() + && !_PCCP::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(_U1&& __x, _U2&& __y) + : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) + { ; } + + + template::template + _MoveConstructiblePair<_U1, _U2>() + && _PCCFP<_U1, _U2>::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(pair<_U1, _U2>&& __p) + : first(std::forward<_U1>(__p.first)), + second(std::forward<_U2>(__p.second)) + { ; } + + template::template + _MoveConstructiblePair<_U1, _U2>() + && !_PCCFP<_U1, _U2>::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(pair<_U1, _U2>&& __p) + : first(std::forward<_U1>(__p.first)), + second(std::forward<_U2>(__p.second)) + { ; } + + + + pair& + operator=(__conditional_t<__and_, + is_copy_assignable<_T2>>::value, + const pair&, const __nonesuch&> __p) + { + first = __p.first; + second = __p.second; + return *this; + } + + pair& + operator=(__conditional_t<__and_, + is_move_assignable<_T2>>::value, + pair&&, __nonesuch&&> __p) + noexcept(__and_, + is_nothrow_move_assignable<_T2>>::value) + { + first = std::forward(__p.first); + second = std::forward(__p.second); + return *this; + } + + template + typename enable_if<__and_, + is_assignable<_T2&, const _U2&>>::value, + pair&>::type + operator=(const pair<_U1, _U2>& __p) + { + first = __p.first; + second = __p.second; + return *this; + } + + template + typename enable_if<__and_, + is_assignable<_T2&, _U2&&>>::value, + pair&>::type + operator=(pair<_U1, _U2>&& __p) + { + first = std::forward<_U1>(__p.first); + second = std::forward<_U2>(__p.second); + return *this; + } +# 995 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + }; + + + + + template pair(_T1, _T2) -> pair<_T1, _T2>; +# 1031 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + inline constexpr bool + operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __x.first == __y.first && __x.second == __y.second; } +# 1043 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + inline constexpr bool + operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __x.first < __y.first + || (!(__y.first < __x.first) && __x.second < __y.second); } + + + template + inline constexpr bool + operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__x == __y); } + + + template + inline constexpr bool + operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __y < __x; } + + + template + inline constexpr bool + operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__y < __x); } + + + template + inline constexpr bool + operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__x < __y); } +# 1080 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + inline + + + typename enable_if<__and_<__is_swappable<_T1>, + __is_swappable<_T2>>::value>::type + + + + swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } +# 1103 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + typename enable_if, + __is_swappable<_T2>>::value>::type + swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; +# 1129 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + constexpr pair::__type, + typename __decay_and_strip<_T2>::__type> + make_pair(_T1&& __x, _T2&& __y) + { + typedef typename __decay_and_strip<_T1>::__type __ds_type1; + typedef typename __decay_and_strip<_T2>::__type __ds_type2; + typedef pair<__ds_type1, __ds_type2> __pair_type; + return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); + } +# 1152 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + template + struct __is_tuple_like_impl> : true_type + { }; + + + + template + struct tuple_size> + : public integral_constant { }; + + + template + struct tuple_element<0, pair<_Tp1, _Tp2>> + { typedef _Tp1 type; }; + + + template + struct tuple_element<1, pair<_Tp1, _Tp2>> + { typedef _Tp2 type; }; + + + + template + struct tuple_element<__i, tuple<_Types...>>; + + + template + inline constexpr size_t tuple_size_v> = 2; + + template + inline constexpr size_t tuple_size_v> = 2; + + template + inline constexpr bool __is_pair = false; + + template + inline constexpr bool __is_pair> = true; + + + + template + struct __pair_get; + + template<> + struct __pair_get<0> + { + template + static constexpr _Tp1& + __get(pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.first; } + + template + static constexpr _Tp1&& + __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward<_Tp1>(__pair.first); } + + template + static constexpr const _Tp1& + __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.first; } + + template + static constexpr const _Tp1&& + __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward(__pair.first); } + }; + + template<> + struct __pair_get<1> + { + template + static constexpr _Tp2& + __get(pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.second; } + + template + static constexpr _Tp2&& + __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward<_Tp2>(__pair.second); } + + template + static constexpr const _Tp2& + __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.second; } + + template + static constexpr const _Tp2&& + __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward(__pair.second); } + }; + + + + + + + template + constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& + get(pair<_Tp1, _Tp2>& __in) noexcept + { return __pair_get<_Int>::__get(__in); } + + template + constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& + get(pair<_Tp1, _Tp2>&& __in) noexcept + { return __pair_get<_Int>::__move_get(std::move(__in)); } + + template + constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& + get(const pair<_Tp1, _Tp2>& __in) noexcept + { return __pair_get<_Int>::__const_get(__in); } + + template + constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& + get(const pair<_Tp1, _Tp2>&& __in) noexcept + { return __pair_get<_Int>::__const_move_get(std::move(__in)); } + + + + template + constexpr _Tp& + get(pair<_Tp, _Up>& __p) noexcept + { return __p.first; } + + template + constexpr const _Tp& + get(const pair<_Tp, _Up>& __p) noexcept + { return __p.first; } + + template + constexpr _Tp&& + get(pair<_Tp, _Up>&& __p) noexcept + { return std::move(__p.first); } + + template + constexpr const _Tp&& + get(const pair<_Tp, _Up>&& __p) noexcept + { return std::move(__p.first); } + + template + constexpr _Tp& + get(pair<_Up, _Tp>& __p) noexcept + { return __p.second; } + + template + constexpr const _Tp& + get(const pair<_Up, _Tp>& __p) noexcept + { return __p.second; } + + template + constexpr _Tp&& + get(pair<_Up, _Tp>&& __p) noexcept + { return std::move(__p.second); } + + template + constexpr const _Tp&& + get(const pair<_Up, _Tp>&& __p) noexcept + { return std::move(__p.second); } +# 1332 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_pair.h" 3 + +} +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 2 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/debug/debug.h" 1 3 +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/debug/debug.h" 3 +namespace std +{ + namespace __debug { } +} + + + + +namespace __gnu_debug +{ + using namespace std::__debug; + + template + struct _Safe_iterator; +} +# 70 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/predefined_ops.h" 1 3 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/predefined_ops.h" 3 +namespace __gnu_cxx +{ +namespace __ops +{ + struct _Iter_less_iter + { + template + constexpr + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) const + { return *__it1 < *__it2; } + }; + + constexpr + inline _Iter_less_iter + __iter_less_iter() + { return _Iter_less_iter(); } + + struct _Iter_less_val + { + + constexpr _Iter_less_val() = default; + + + + + + explicit + _Iter_less_val(_Iter_less_iter) { } + + template + + bool + operator()(_Iterator __it, _Value& __val) const + { return *__it < __val; } + }; + + + inline _Iter_less_val + __iter_less_val() + { return _Iter_less_val(); } + + + inline _Iter_less_val + __iter_comp_val(_Iter_less_iter) + { return _Iter_less_val(); } + + struct _Val_less_iter + { + + constexpr _Val_less_iter() = default; + + + + + + explicit + _Val_less_iter(_Iter_less_iter) { } + + template + + bool + operator()(_Value& __val, _Iterator __it) const + { return __val < *__it; } + }; + + + inline _Val_less_iter + __val_less_iter() + { return _Val_less_iter(); } + + + inline _Val_less_iter + __val_comp_iter(_Iter_less_iter) + { return _Val_less_iter(); } + + struct _Iter_equal_to_iter + { + template + + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) const + { return *__it1 == *__it2; } + }; + + + inline _Iter_equal_to_iter + __iter_equal_to_iter() + { return _Iter_equal_to_iter(); } + + struct _Iter_equal_to_val + { + template + + bool + operator()(_Iterator __it, _Value& __val) const + { return *__it == __val; } + }; + + + inline _Iter_equal_to_val + __iter_equal_to_val() + { return _Iter_equal_to_val(); } + + + inline _Iter_equal_to_val + __iter_comp_val(_Iter_equal_to_iter) + { return _Iter_equal_to_val(); } + + template + struct _Iter_comp_iter + { + _Compare _M_comp; + + explicit constexpr + _Iter_comp_iter(_Compare __comp) + : _M_comp(std::move(__comp)) + { } + + template + constexpr + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) + { return bool(_M_comp(*__it1, *__it2)); } + }; + + template + constexpr + inline _Iter_comp_iter<_Compare> + __iter_comp_iter(_Compare __comp) + { return _Iter_comp_iter<_Compare>(std::move(__comp)); } + + template + struct _Iter_comp_val + { + _Compare _M_comp; + + + explicit + _Iter_comp_val(_Compare __comp) + : _M_comp(std::move(__comp)) + { } + + + explicit + _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) + : _M_comp(__comp._M_comp) + { } + + + + explicit + _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) + : _M_comp(std::move(__comp._M_comp)) + { } + + + template + + bool + operator()(_Iterator __it, _Value& __val) + { return bool(_M_comp(*__it, __val)); } + }; + + template + + inline _Iter_comp_val<_Compare> + __iter_comp_val(_Compare __comp) + { return _Iter_comp_val<_Compare>(std::move(__comp)); } + + template + + inline _Iter_comp_val<_Compare> + __iter_comp_val(_Iter_comp_iter<_Compare> __comp) + { return _Iter_comp_val<_Compare>(std::move(__comp)); } + + template + struct _Val_comp_iter + { + _Compare _M_comp; + + + explicit + _Val_comp_iter(_Compare __comp) + : _M_comp(std::move(__comp)) + { } + + + explicit + _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) + : _M_comp(__comp._M_comp) + { } + + + + explicit + _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) + : _M_comp(std::move(__comp._M_comp)) + { } + + + template + + bool + operator()(_Value& __val, _Iterator __it) + { return bool(_M_comp(__val, *__it)); } + }; + + template + + inline _Val_comp_iter<_Compare> + __val_comp_iter(_Compare __comp) + { return _Val_comp_iter<_Compare>(std::move(__comp)); } + + template + + inline _Val_comp_iter<_Compare> + __val_comp_iter(_Iter_comp_iter<_Compare> __comp) + { return _Val_comp_iter<_Compare>(std::move(__comp)); } + + template + struct _Iter_equals_val + { + _Value& _M_value; + + + explicit + _Iter_equals_val(_Value& __value) + : _M_value(__value) + { } + + template + + bool + operator()(_Iterator __it) + { return *__it == _M_value; } + }; + + template + + inline _Iter_equals_val<_Value> + __iter_equals_val(_Value& __val) + { return _Iter_equals_val<_Value>(__val); } + + template + struct _Iter_equals_iter + { + _Iterator1 _M_it1; + + + explicit + _Iter_equals_iter(_Iterator1 __it1) + : _M_it1(__it1) + { } + + template + + bool + operator()(_Iterator2 __it2) + { return *__it2 == *_M_it1; } + }; + + template + + inline _Iter_equals_iter<_Iterator> + __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) + { return _Iter_equals_iter<_Iterator>(__it); } + + template + struct _Iter_pred + { + _Predicate _M_pred; + + + explicit + _Iter_pred(_Predicate __pred) + : _M_pred(std::move(__pred)) + { } + + template + + bool + operator()(_Iterator __it) + { return bool(_M_pred(*__it)); } + }; + + template + + inline _Iter_pred<_Predicate> + __pred_iter(_Predicate __pred) + { return _Iter_pred<_Predicate>(std::move(__pred)); } + + template + struct _Iter_comp_to_val + { + _Compare _M_comp; + _Value& _M_value; + + + _Iter_comp_to_val(_Compare __comp, _Value& __value) + : _M_comp(std::move(__comp)), _M_value(__value) + { } + + template + + bool + operator()(_Iterator __it) + { return bool(_M_comp(*__it, _M_value)); } + }; + + template + _Iter_comp_to_val<_Compare, _Value> + + __iter_comp_val(_Compare __comp, _Value &__val) + { + return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); + } + + template + struct _Iter_comp_to_iter + { + _Compare _M_comp; + _Iterator1 _M_it1; + + + _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) + : _M_comp(std::move(__comp)), _M_it1(__it1) + { } + + template + + bool + operator()(_Iterator2 __it2) + { return bool(_M_comp(*__it2, *_M_it1)); } + }; + + template + + inline _Iter_comp_to_iter<_Compare, _Iterator> + __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) + { + return _Iter_comp_to_iter<_Compare, _Iterator>( + std::move(__comp._M_comp), __it); + } + + template + struct _Iter_negate + { + _Predicate _M_pred; + + + explicit + _Iter_negate(_Predicate __pred) + : _M_pred(std::move(__pred)) + { } + + template + + bool + operator()(_Iterator __it) + { return !bool(_M_pred(*__it)); } + }; + + template + + inline _Iter_negate<_Predicate> + __negate(_Iter_pred<_Predicate> __pred) + { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } + +} +} +# 72 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 2 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/concepts" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/concepts" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/concepts" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/concepts" 2 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 2 3 +# 61 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 2 3 + +namespace std +{ + +# 155 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 3 + template + constexpr _Tp + __rotl(_Tp __x, int __s) noexcept + { + constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; + if constexpr ((_Nd & (_Nd - 1)) == 0) + { + + + constexpr unsigned __uNd = _Nd; + const unsigned __r = __s; + return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd)); + } + const int __r = __s % _Nd; + if (__r == 0) + return __x; + else if (__r > 0) + return (__x << __r) | (__x >> ((_Nd - __r) % _Nd)); + else + return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd)); + } + + template + constexpr _Tp + __rotr(_Tp __x, int __s) noexcept + { + constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; + if constexpr ((_Nd & (_Nd - 1)) == 0) + { + + + constexpr unsigned __uNd = _Nd; + const unsigned __r = __s; + return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd)); + } + const int __r = __s % _Nd; + if (__r == 0) + return __x; + else if (__r > 0) + return (__x >> __r) | (__x << ((_Nd - __r) % _Nd)); + else + return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd)); + } + + template + constexpr int + __countl_zero(_Tp __x) noexcept + { + using __gnu_cxx::__int_traits; + constexpr auto _Nd = __int_traits<_Tp>::__digits; + + if (__x == 0) + return _Nd; + + constexpr auto _Nd_ull = __int_traits::__digits; + constexpr auto _Nd_ul = __int_traits::__digits; + constexpr auto _Nd_u = __int_traits::__digits; + + if constexpr (_Nd <= _Nd_u) + { + constexpr int __diff = _Nd_u - _Nd; + return __builtin_clz(__x) - __diff; + } + else if constexpr (_Nd <= _Nd_ul) + { + constexpr int __diff = _Nd_ul - _Nd; + return __builtin_clzl(__x) - __diff; + } + else if constexpr (_Nd <= _Nd_ull) + { + constexpr int __diff = _Nd_ull - _Nd; + return __builtin_clzll(__x) - __diff; + } + else + { + static_assert(_Nd <= (2 * _Nd_ull), + "Maximum supported integer size is 128-bit"); + + unsigned long long __high = __x >> _Nd_ull; + if (__high != 0) + { + constexpr int __diff = (2 * _Nd_ull) - _Nd; + return __builtin_clzll(__high) - __diff; + } + constexpr auto __max_ull = __int_traits::__max; + unsigned long long __low = __x & __max_ull; + return (_Nd - _Nd_ull) + __builtin_clzll(__low); + } + } + + template + constexpr int + __countl_one(_Tp __x) noexcept + { + return std::__countl_zero<_Tp>((_Tp)~__x); + } + + template + constexpr int + __countr_zero(_Tp __x) noexcept + { + using __gnu_cxx::__int_traits; + constexpr auto _Nd = __int_traits<_Tp>::__digits; + + if (__x == 0) + return _Nd; + + constexpr auto _Nd_ull = __int_traits::__digits; + constexpr auto _Nd_ul = __int_traits::__digits; + constexpr auto _Nd_u = __int_traits::__digits; + + if constexpr (_Nd <= _Nd_u) + return __builtin_ctz(__x); + else if constexpr (_Nd <= _Nd_ul) + return __builtin_ctzl(__x); + else if constexpr (_Nd <= _Nd_ull) + return __builtin_ctzll(__x); + else + { + static_assert(_Nd <= (2 * _Nd_ull), + "Maximum supported integer size is 128-bit"); + + constexpr auto __max_ull = __int_traits::__max; + unsigned long long __low = __x & __max_ull; + if (__low != 0) + return __builtin_ctzll(__low); + unsigned long long __high = __x >> _Nd_ull; + return __builtin_ctzll(__high) + _Nd_ull; + } + } + + template + constexpr int + __countr_one(_Tp __x) noexcept + { + return std::__countr_zero((_Tp)~__x); + } + + template + constexpr int + __popcount(_Tp __x) noexcept + { + using __gnu_cxx::__int_traits; + constexpr auto _Nd = __int_traits<_Tp>::__digits; + + constexpr auto _Nd_ull = __int_traits::__digits; + constexpr auto _Nd_ul = __int_traits::__digits; + constexpr auto _Nd_u = __int_traits::__digits; + + if constexpr (_Nd <= _Nd_u) + return __builtin_popcount(__x); + else if constexpr (_Nd <= _Nd_ul) + return __builtin_popcountl(__x); + else if constexpr (_Nd <= _Nd_ull) + return __builtin_popcountll(__x); + else + { + static_assert(_Nd <= (2 * _Nd_ull), + "Maximum supported integer size is 128-bit"); + + constexpr auto __max_ull = __int_traits::__max; + unsigned long long __low = __x & __max_ull; + unsigned long long __high = __x >> _Nd_ull; + return __builtin_popcountll(__low) + __builtin_popcountll(__high); + } + } + + template + constexpr bool + __has_single_bit(_Tp __x) noexcept + { return std::__popcount(__x) == 1; } + + template + constexpr _Tp + __bit_ceil(_Tp __x) noexcept + { + using __gnu_cxx::__int_traits; + constexpr auto _Nd = __int_traits<_Tp>::__digits; + if (__x == 0 || __x == 1) + return 1; + auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u)); + + + + + if (!std::__is_constant_evaluated()) + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail(); } while (false); + } + + using __promoted_type = decltype(__x << 1); + if constexpr (!is_same<__promoted_type, _Tp>::value) + { + + + + + + const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2; + __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp; + } + return (_Tp)1u << __shift_exponent; + } + + template + constexpr _Tp + __bit_floor(_Tp __x) noexcept + { + constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; + if (__x == 0) + return 0; + return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1))); + } + + template + constexpr int + __bit_width(_Tp __x) noexcept + { + constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; + return _Nd - std::__countl_zero(__x); + } +# 482 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bit" 3 + +} +# 77 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 2 3 + + + + + +namespace std +{ + + + + + + + template + constexpr + inline int + __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num) + { + + static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp"); +# 108 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); + } +# 152 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline void + iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) + { + + + + +# 185 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + swap(*__a, *__b); + + } +# 201 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + _ForwardIterator2 + swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2) + { + + + + + + ; + + for (; __first1 != __last1; ++__first1, (void)++__first2) + std::iter_swap(__first1, __first2); + return __first2; + } +# 230 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] constexpr + inline const _Tp& + min(const _Tp& __a, const _Tp& __b) + { + + + + if (__b < __a) + return __b; + return __a; + } +# 254 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] constexpr + inline const _Tp& + max(const _Tp& __a, const _Tp& __b) + { + + + + if (__a < __b) + return __b; + return __a; + } +# 278 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] constexpr + inline const _Tp& + min(const _Tp& __a, const _Tp& __b, _Compare __comp) + { + + if (__comp(__b, __a)) + return __b; + return __a; + } +# 300 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] constexpr + inline const _Tp& + max(const _Tp& __a, const _Tp& __b, _Compare __comp) + { + + if (__comp(__a, __b)) + return __b; + return __a; + } + + + + template + + inline _Iterator + __niter_base(_Iterator __it) + noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) + { return __it; } +# 332 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + decltype(std::__niter_base(std::declval<_Ite>())) + __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, + std::random_access_iterator_tag>&) + noexcept(std::is_nothrow_copy_constructible<_Ite>::value); + + + + + + template + + inline _From + __niter_wrap(_From __from, _To __res) + { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); } + + + template + + inline _Iterator + __niter_wrap(const _Iterator&, _Iterator __res) + { return __res; } + + + + + + + + template + struct __copy_move + { + template + + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + for (; __first != __last; ++__result, (void)++__first) + *__result = *__first; + return __result; + } + }; + + + template + struct __copy_move + { + template + + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + for (; __first != __last; ++__result, (void)++__first) + *__result = std::move(*__first); + return __result; + } + }; + + + template<> + struct __copy_move + { + template + + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::difference_type _Distance; + for(_Distance __n = __last - __first; __n > 0; --__n) + { + *__result = *__first; + ++__first; + ++__result; + } + return __result; + } + + template + static void + __assign_one(_Tp* __to, _Up* __from) + { *__to = *__from; } + }; + + + template<> + struct __copy_move + { + template + + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::difference_type _Distance; + for(_Distance __n = __last - __first; __n > 0; --__n) + { + *__result = std::move(*__first); + ++__first; + ++__result; + } + return __result; + } + + template + static void + __assign_one(_Tp* __to, _Up* __from) + { *__to = std::move(*__from); } + }; + + + template + struct __copy_move<_IsMove, true, random_access_iterator_tag> + { + template + + static _Up* + __copy_m(_Tp* __first, _Tp* __last, _Up* __result) + { + const ptrdiff_t _Num = __last - __first; + if (__builtin_expect(_Num > 1, true)) + __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); + else if (_Num == 1) + std::__copy_move<_IsMove, false, random_access_iterator_tag>:: + __assign_one(__result, __first); + return __result + _Num; + } + }; + + + + template + struct _Deque_iterator; + + struct _Bit_iterator; + + + + + + + template + struct char_traits; + + template + class istreambuf_iterator; + + template + class ostreambuf_iterator; + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_move_a2(_CharT*, _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_move_a2(const _CharT*, const _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + _CharT*>::__type + __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, + istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); + + template + typename __gnu_cxx::__enable_if< + __is_char<_CharT>::__value, + std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type + __copy_move_a2( + istreambuf_iterator<_CharT, char_traits<_CharT> >, + istreambuf_iterator<_CharT, char_traits<_CharT> >, + std::_Deque_iterator<_CharT, _CharT&, _CharT*>); + + + template + + inline _OI + __copy_move_a2(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::iterator_category _Category; + + + + + + return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value, + _Category>::__copy_m(__first, __last, __result); + } + + template + _OI + __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, + std::_Deque_iterator<_Tp, _Ref, _Ptr>, + _OI); + + template + std::_Deque_iterator<_OTp, _OTp&, _OTp*> + __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>, + std::_Deque_iterator<_ITp, _IRef, _IPtr>, + std::_Deque_iterator<_OTp, _OTp&, _OTp*>); + + template + typename __gnu_cxx::__enable_if< + __is_random_access_iter<_II>::__value, + std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type + __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>); + + template + + inline _OI + __copy_move_a1(_II __first, _II __last, _OI __result) + { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } + + template + + inline _OI + __copy_move_a(_II __first, _II __last, _OI __result) + { + return std::__niter_wrap(__result, + std::__copy_move_a1<_IsMove>(std::__niter_base(__first), + std::__niter_base(__last), + std::__niter_base(__result))); + } + + template + + _OI + __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + _OI); + + template + + __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> + __copy_move_a(_II, _II, + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); + + template + + ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> + __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, + const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, + const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); + + template + + _OutputIterator + __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result, + bool) + { + if (__n > 0) + { + while (true) + { + *__result = *__first; + ++__result; + if (--__n > 0) + ++__first; + else + break; + } + } + return __result; + } + + + template + typename __gnu_cxx::__enable_if< + __is_char<_CharT>::__value, _CharT*>::__type + __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, + _Size, _CharT*, bool); + + template + typename __gnu_cxx::__enable_if< + __is_char<_CharT>::__value, + std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type + __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size, + std::_Deque_iterator<_CharT, _CharT&, _CharT*>, + bool); +# 639 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _OI + copy(_II __first, _II __last, _OI __result) + { + + + + + ; + + return std::__copy_move_a<__is_move_iterator<_II>::__value> + (std::__miter_base(__first), std::__miter_base(__last), __result); + } +# 672 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _OI + move(_II __first, _II __last, _OI __result) + { + + + + + ; + + return std::__copy_move_a(std::__miter_base(__first), + std::__miter_base(__last), __result); + } + + + + + + + template + struct __copy_move_backward + { + template + + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + while (__first != __last) + *--__result = *--__last; + return __result; + } + }; + + + template + struct __copy_move_backward + { + template + + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + while (__first != __last) + *--__result = std::move(*--__last); + return __result; + } + }; + + + template<> + struct __copy_move_backward + { + template + + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + typename iterator_traits<_BI1>::difference_type + __n = __last - __first; + for (; __n > 0; --__n) + *--__result = *--__last; + return __result; + } + }; + + + template<> + struct __copy_move_backward + { + template + + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + typename iterator_traits<_BI1>::difference_type + __n = __last - __first; + for (; __n > 0; --__n) + *--__result = std::move(*--__last); + return __result; + } + }; + + + template + struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> + { + template + + static _Up* + __copy_move_b(_Tp* __first, _Tp* __last, _Up* __result) + { + const ptrdiff_t _Num = __last - __first; + if (__builtin_expect(_Num > 1, true)) + __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); + else if (_Num == 1) + std::__copy_move<_IsMove, false, random_access_iterator_tag>:: + __assign_one(__result - 1, __first); + return __result - _Num; + } + }; + + template + + inline _BI2 + __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) + { + typedef typename iterator_traits<_BI1>::iterator_category _Category; + + + + + + return std::__copy_move_backward<_IsMove, + __memcpyable<_BI2, _BI1>::__value, + _Category>::__copy_move_b(__first, + __last, + __result); + } + + template + + inline _BI2 + __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result) + { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); } + + template + _OI + __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, + std::_Deque_iterator<_Tp, _Ref, _Ptr>, + _OI); + + template + std::_Deque_iterator<_OTp, _OTp&, _OTp*> + __copy_move_backward_a1( + std::_Deque_iterator<_ITp, _IRef, _IPtr>, + std::_Deque_iterator<_ITp, _IRef, _IPtr>, + std::_Deque_iterator<_OTp, _OTp&, _OTp*>); + + template + typename __gnu_cxx::__enable_if< + __is_random_access_iter<_II>::__value, + std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type + __copy_move_backward_a1(_II, _II, + std::_Deque_iterator<_Tp, _Tp&, _Tp*>); + + template + + inline _OI + __copy_move_backward_a(_II __first, _II __last, _OI __result) + { + return std::__niter_wrap(__result, + std::__copy_move_backward_a1<_IsMove> + (std::__niter_base(__first), std::__niter_base(__last), + std::__niter_base(__result))); + } + + template + + _OI + __copy_move_backward_a( + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + _OI); + + template + + __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> + __copy_move_backward_a(_II, _II, + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); + + template + + ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> + __copy_move_backward_a( + const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, + const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, + const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); +# 875 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _BI2 + copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) + { + + + + + + ; + + return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value> + (std::__miter_base(__first), std::__miter_base(__last), __result); + } +# 910 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _BI2 + move_backward(_BI1 __first, _BI1 __last, _BI2 __result) + { + + + + + + ; + + return std::__copy_move_backward_a(std::__miter_base(__first), + std::__miter_base(__last), + __result); + } + + + + + + + template + + inline typename + __gnu_cxx::__enable_if::__value, void>::__type + __fill_a1(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __value) + { + for (; __first != __last; ++__first) + *__first = __value; + } + + template + + inline typename + __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type + __fill_a1(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __value) + { + const _Tp __tmp = __value; + for (; __first != __last; ++__first) + *__first = __tmp; + } + + + template + + inline typename + __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type + __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c) + { + const _Tp __tmp = __c; +# 971 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + if (const size_t __len = __last - __first) + __builtin_memset(__first, static_cast(__tmp), __len); + } + + template + + inline void + __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first, + ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last, + const _Tp& __value) + { std::__fill_a1(__first.base(), __last.base(), __value); } + + template + void + __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, + const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, + const _VTp&); + + + void + __fill_a1(std::_Bit_iterator, std::_Bit_iterator, + const bool&); + + template + + inline void + __fill_a(_FIte __first, _FIte __last, const _Tp& __value) + { std::__fill_a1(__first, __last, __value); } + + template + + void + __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, + const _Tp&); +# 1019 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline void + fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) + { + + + + ; + + std::__fill_a(__first, __last, __value); + } + + + inline constexpr int + __size_to_integer(int __n) { return __n; } + inline constexpr unsigned + __size_to_integer(unsigned __n) { return __n; } + inline constexpr long + __size_to_integer(long __n) { return __n; } + inline constexpr unsigned long + __size_to_integer(unsigned long __n) { return __n; } + inline constexpr long long + __size_to_integer(long long __n) { return __n; } + inline constexpr unsigned long long + __size_to_integer(unsigned long long __n) { return __n; } + + + __extension__ inline constexpr __int128 + __size_to_integer(__int128 __n) { return __n; } + __extension__ inline constexpr unsigned __int128 + __size_to_integer(unsigned __int128 __n) { return __n; } +# 1071 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + inline constexpr long long + __size_to_integer(float __n) { return (long long)__n; } + inline constexpr long long + __size_to_integer(double __n) { return (long long)__n; } + inline constexpr long long + __size_to_integer(long double __n) { return (long long)__n; } + + __extension__ inline constexpr long long + __size_to_integer(__float128 __n) { return (long long)__n; } + + + template + + inline typename + __gnu_cxx::__enable_if::__value, _OutputIterator>::__type + __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) + { + for (; __n > 0; --__n, (void) ++__first) + *__first = __value; + return __first; + } + + template + + inline typename + __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type + __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) + { + const _Tp __tmp = __value; + for (; __n > 0; --__n, (void) ++__first) + *__first = __tmp; + return __first; + } + + template + + ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> + __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first, + _Size __n, const _Tp& __value, + std::input_iterator_tag); + + template + + inline _OutputIterator + __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, + std::output_iterator_tag) + { + + static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); + + return __fill_n_a1(__first, __n, __value); + } + + template + + inline _OutputIterator + __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, + std::input_iterator_tag) + { + + static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); + + return __fill_n_a1(__first, __n, __value); + } + + template + + inline _OutputIterator + __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, + std::random_access_iterator_tag) + { + + static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); + + if (__n <= 0) + return __first; + + ; + + std::__fill_a(__first, __first + __n, __value); + return __first + __n; + } +# 1172 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _OI + fill_n(_OI __first, _Size __n, const _Tp& __value) + { + + + + return std::__fill_n_a(__first, std::__size_to_integer(__n), __value, + std::__iterator_category(__first)); + } + + template + struct __equal + { + template + + static bool + equal(_II1 __first1, _II1 __last1, _II2 __first2) + { + for (; __first1 != __last1; ++__first1, (void) ++__first2) + if (!(*__first1 == *__first2)) + return false; + return true; + } + }; + + template<> + struct __equal + { + template + + static bool + equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) + { + if (const size_t __len = (__last1 - __first1)) + return !std::__memcmp(__first1, __first2, __len); + return true; + } + }; + + template + typename __gnu_cxx::__enable_if< + __is_random_access_iter<_II>::__value, bool>::__type + __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, + std::_Deque_iterator<_Tp, _Ref, _Ptr>, + _II); + + template + bool + __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); + + template + typename __gnu_cxx::__enable_if< + __is_random_access_iter<_II>::__value, bool>::__type + __equal_aux1(_II, _II, + std::_Deque_iterator<_Tp, _Ref, _Ptr>); + + template + + inline bool + __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2) + { + typedef typename iterator_traits<_II1>::value_type _ValueType1; + const bool __simple = ((__is_integer<_ValueType1>::__value + || __is_pointer<_ValueType1>::__value) + && __memcmpable<_II1, _II2>::__value); + return std::__equal<__simple>::equal(__first1, __last1, __first2); + } + + template + + inline bool + __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) + { + return std::__equal_aux1(std::__niter_base(__first1), + std::__niter_base(__last1), + std::__niter_base(__first2)); + } + + template + + bool + __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, + _II2); + + template + + bool + __equal_aux(_II1, _II1, + const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); + + template + + bool + __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); + + template + struct __lc_rai + { + template + + static _II1 + __newlast1(_II1, _II1 __last1, _II2, _II2) + { return __last1; } + + template + + static bool + __cnd2(_II __first, _II __last) + { return __first != __last; } + }; + + template<> + struct __lc_rai + { + template + + static _RAI1 + __newlast1(_RAI1 __first1, _RAI1 __last1, + _RAI2 __first2, _RAI2 __last2) + { + const typename iterator_traits<_RAI1>::difference_type + __diff1 = __last1 - __first1; + const typename iterator_traits<_RAI2>::difference_type + __diff2 = __last2 - __first2; + return __diff2 < __diff1 ? __first1 + __diff2 : __last1; + } + + template + static bool + __cnd2(_RAI, _RAI) + { return true; } + }; + + template + + bool + __lexicographical_compare_impl(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2, + _Compare __comp) + { + typedef typename iterator_traits<_II1>::iterator_category _Category1; + typedef typename iterator_traits<_II2>::iterator_category _Category2; + typedef std::__lc_rai<_Category1, _Category2> __rai_type; + + __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); + for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); + ++__first1, (void)++__first2) + { + if (__comp(__first1, __first2)) + return true; + if (__comp(__first2, __first1)) + return false; + } + return __first1 == __last1 && __first2 != __last2; + } + + template + struct __lexicographical_compare + { + template + + static bool + __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) + { + using __gnu_cxx::__ops::__iter_less_iter; + return std::__lexicographical_compare_impl(__first1, __last1, + __first2, __last2, + __iter_less_iter()); + } + + template + + static int + __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) + { + while (__first1 != __last1) + { + if (__first2 == __last2) + return +1; + if (*__first1 < *__first2) + return -1; + if (*__first2 < *__first1) + return +1; + ++__first1; + ++__first2; + } + return int(__first2 == __last2) - 1; + } + }; + + template<> + struct __lexicographical_compare + { + template + + static bool + __lc(const _Tp* __first1, const _Tp* __last1, + const _Up* __first2, const _Up* __last2) + { return __3way(__first1, __last1, __first2, __last2) < 0; } + + template + + static ptrdiff_t + __3way(const _Tp* __first1, const _Tp* __last1, + const _Up* __first2, const _Up* __last2) + { + const size_t __len1 = __last1 - __first1; + const size_t __len2 = __last2 - __first2; + if (const size_t __len = std::min(__len1, __len2)) + if (int __result = std::__memcmp(__first1, __first2, __len)) + return __result; + return ptrdiff_t(__len1 - __len2); + } + }; + + template + + inline bool + __lexicographical_compare_aux1(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2) + { + typedef typename iterator_traits<_II1>::value_type _ValueType1; + typedef typename iterator_traits<_II2>::value_type _ValueType2; + const bool __simple = + (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value + && __is_pointer<_II1>::__value + && __is_pointer<_II2>::__value + + + + + + + + ); + + return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, + __first2, __last2); + } + + template + bool + __lexicographical_compare_aux1( + std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + _Tp2*, _Tp2*); + + template + bool + __lexicographical_compare_aux1(_Tp1*, _Tp1*, + std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, + std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); + + template + bool + __lexicographical_compare_aux1( + std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, + std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, + std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); + + template + + inline bool + __lexicographical_compare_aux(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2) + { + return std::__lexicographical_compare_aux1(std::__niter_base(__first1), + std::__niter_base(__last1), + std::__niter_base(__first2), + std::__niter_base(__last2)); + } + + template + + bool + __lexicographical_compare_aux( + const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, + _II2, _II2); + + template + + bool + __lexicographical_compare_aux( + _II1, _II1, + const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, + const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); + + template + + bool + __lexicographical_compare_aux( + const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, + const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, + const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); + + template + + _ForwardIterator + __lower_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _DistanceType __len = std::distance(__first, __last); + + while (__len > 0) + { + _DistanceType __half = __len >> 1; + _ForwardIterator __middle = __first; + std::advance(__middle, __half); + if (__comp(__middle, __val)) + { + __first = __middle; + ++__first; + __len = __len - __half - 1; + } + else + __len = __half; + } + return __first; + } +# 1524 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + lower_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val) + { + + + + + ; + + return std::__lower_bound(__first, __last, __val, + __gnu_cxx::__ops::__iter_less_val()); + } + + + + template + inline constexpr _Tp + __lg(_Tp __n) + { + + return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1; +# 1557 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + } + + +# 1573 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + equal(_II1 __first1, _II1 __last1, _II2 __first2) + { + + + + + + + ; + + return std::__equal_aux(__first1, __last1, __first2); + } +# 1604 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + equal(_IIter1 __first1, _IIter1 __last1, + _IIter2 __first2, _BinaryPredicate __binary_pred) + { + + + + ; + + for (; __first1 != __last1; ++__first1, (void)++__first2) + if (!bool(__binary_pred(*__first1, *__first2))) + return false; + return true; + } + + + + template + + inline bool + __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) + { + using _RATag = random_access_iterator_tag; + using _Cat1 = typename iterator_traits<_II1>::iterator_category; + using _Cat2 = typename iterator_traits<_II2>::iterator_category; + using _RAIters = __and_, is_same<_Cat2, _RATag>>; + if (_RAIters()) + { + auto __d1 = std::distance(__first1, __last1); + auto __d2 = std::distance(__first2, __last2); + if (__d1 != __d2) + return false; + return std::equal(__first1, __last1, __first2); + } + + for (; __first1 != __last1 && __first2 != __last2; + ++__first1, (void)++__first2) + if (!(*__first1 == *__first2)) + return false; + return __first1 == __last1 && __first2 == __last2; + } + + + template + + inline bool + __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, + _BinaryPredicate __binary_pred) + { + using _RATag = random_access_iterator_tag; + using _Cat1 = typename iterator_traits<_II1>::iterator_category; + using _Cat2 = typename iterator_traits<_II2>::iterator_category; + using _RAIters = __and_, is_same<_Cat2, _RATag>>; + if (_RAIters()) + { + auto __d1 = std::distance(__first1, __last1); + auto __d2 = std::distance(__first2, __last2); + if (__d1 != __d2) + return false; + return std::equal(__first1, __last1, __first2, + __binary_pred); + } + + for (; __first1 != __last1 && __first2 != __last2; + ++__first1, (void)++__first2) + if (!bool(__binary_pred(*__first1, *__first2))) + return false; + return __first1 == __last1 && __first2 == __last2; + } +# 1691 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) + { + + + + + + + ; + ; + + return std::__equal4(__first1, __last1, __first2, __last2); + } +# 1724 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + equal(_IIter1 __first1, _IIter1 __last1, + _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) + { + + + + ; + ; + + return std::__equal4(__first1, __last1, __first2, __last2, + __binary_pred); + } +# 1756 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + lexicographical_compare(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2) + { + + + + + + + + + + ; + ; + + return std::__lexicographical_compare_aux(__first1, __last1, + __first2, __last2); + } +# 1791 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline bool + lexicographical_compare(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2, _Compare __comp) + { + + + + ; + ; + + return std::__lexicographical_compare_impl + (__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 1906 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + pair<_InputIterator1, _InputIterator2> + __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _BinaryPredicate __binary_pred) + { + while (__first1 != __last1 && __binary_pred(__first1, __first2)) + { + ++__first1; + ++__first2; + } + return pair<_InputIterator1, _InputIterator2>(__first1, __first2); + } +# 1934 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2) + { + + + + + + + ; + + return std::__mismatch(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 1968 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _BinaryPredicate __binary_pred) + { + + + + ; + + return std::__mismatch(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); + } + + + template + + pair<_InputIterator1, _InputIterator2> + __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _BinaryPredicate __binary_pred) + { + while (__first1 != __last1 && __first2 != __last2 + && __binary_pred(__first1, __first2)) + { + ++__first1; + ++__first2; + } + return pair<_InputIterator1, _InputIterator2>(__first1, __first2); + } +# 2016 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2) + { + + + + + + + ; + ; + + return std::__mismatch(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 2052 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + [[__nodiscard__]] + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _BinaryPredicate __binary_pred) + { + + + + ; + ; + + return std::__mismatch(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); + } + + + + + + template + + inline _InputIterator + __find_if(_InputIterator __first, _InputIterator __last, + _Predicate __pred, input_iterator_tag) + { + while (__first != __last && !__pred(__first)) + ++__first; + return __first; + } + + + template + + _RandomAccessIterator + __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Predicate __pred, random_access_iterator_tag) + { + typename iterator_traits<_RandomAccessIterator>::difference_type + __trip_count = (__last - __first) >> 2; + + for (; __trip_count > 0; --__trip_count) + { + if (__pred(__first)) + return __first; + ++__first; + + if (__pred(__first)) + return __first; + ++__first; + + if (__pred(__first)) + return __first; + ++__first; + + if (__pred(__first)) + return __first; + ++__first; + } + + switch (__last - __first) + { + case 3: + if (__pred(__first)) + return __first; + ++__first; + + case 2: + if (__pred(__first)) + return __first; + ++__first; + + case 1: + if (__pred(__first)) + return __first; + ++__first; + + case 0: + default: + return __last; + } + } + + template + + inline _Iterator + __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) + { + return __find_if(__first, __last, __pred, + std::__iterator_category(__first)); + } + + template + + typename iterator_traits<_InputIterator>::difference_type + __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) + { + typename iterator_traits<_InputIterator>::difference_type __n = 0; + for (; __first != __last; ++__first) + if (__pred(__first)) + ++__n; + return __n; + } + + template + + _ForwardIterator + __remove_if(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + __first = std::__find_if(__first, __last, __pred); + if (__first == __last) + return __first; + _ForwardIterator __result = __first; + ++__first; + for (; __first != __last; ++__first) + if (!__pred(__first)) + { + *__result = std::move(*__first); + ++__result; + } + return __result; + } + + template + + _ForwardIterator1 + __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + _BinaryPredicate __predicate) + { + + if (__first1 == __last1 || __first2 == __last2) + return __first1; + + + _ForwardIterator2 __p1(__first2); + if (++__p1 == __last2) + return std::__find_if(__first1, __last1, + __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); + + + _ForwardIterator1 __current = __first1; + + for (;;) + { + __first1 = + std::__find_if(__first1, __last1, + __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); + + if (__first1 == __last1) + return __last1; + + _ForwardIterator2 __p = __p1; + __current = __first1; + if (++__current == __last1) + return __last1; + + while (__predicate(__current, __p)) + { + if (++__p == __last2) + return __first1; + if (++__current == __last1) + return __last1; + } + ++__first1; + } + return __first1; + } + + + template + + bool + __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _BinaryPredicate __pred) + { + + + for (; __first1 != __last1; ++__first1, (void)++__first2) + if (!__pred(__first1, __first2)) + break; + + if (__first1 == __last1) + return true; + + + + _ForwardIterator2 __last2 = __first2; + std::advance(__last2, std::distance(__first1, __last1)); + for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) + { + if (__scan != std::__find_if(__first1, __scan, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) + continue; + + auto __matches + = std::__count_if(__first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); + if (0 == __matches || + std::__count_if(__scan, __last1, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) + != __matches) + return false; + } + return true; + } +# 2276 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline bool + is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2) + { + + + + + + + ; + + return std::__is_permutation(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } + + + +# 2318 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algobase.h" 3 + template + + inline _ForwardIterator1 + search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + _BinaryPredicate __predicate) + { + + + + + + + ; + ; + + return std::__search(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__predicate)); + } + + + +} +# 52 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 3 +namespace std +{ + +# 53 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 3 + template::type> + constexpr _Up&& + __invfwd(typename remove_reference<_Tp>::type& __t) noexcept + { return static_cast<_Up&&>(__t); } + + template + constexpr _Res + __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) + { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } + + template + constexpr _Res + __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, + _Args&&... __args) + { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } + + template + constexpr _Res + __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, + _Args&&... __args) + { + return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); + } + + template + constexpr _Res + __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) + { return __invfwd<_Tp>(__t).*__f; } + + template + constexpr _Res + __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) + { return (*std::forward<_Tp>(__t)).*__f; } + + + template + constexpr typename __invoke_result<_Callable, _Args...>::type + __invoke(_Callable&& __fn, _Args&&... __args) + noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) + { + using __result = __invoke_result<_Callable, _Args...>; + using __type = typename __result::type; + using __tag = typename __result::__invoke_type; + return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), + std::forward<_Args>(__args)...); + } + + + + template + constexpr enable_if_t, _Res> + __invoke_r(_Callable&& __fn, _Args&&... __args) + noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>) + { + using __result = __invoke_result<_Callable, _Args...>; + using __type = typename __result::type; + using __tag = typename __result::__invoke_type; + if constexpr (is_void_v<_Res>) + std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), + std::forward<_Args>(__args)...); + else + return std::__invoke_impl<__type>(__tag{}, + std::forward<_Callable>(__fn), + std::forward<_Args>(__args)...); + } +# 155 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/invoke.h" 3 + +} +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 2 3 + + + + + + +namespace std +{ + +# 56 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 + template + struct _Maybe_unary_or_binary_function { }; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + struct _Maybe_unary_or_binary_function<_Res, _T1> + : std::unary_function<_T1, _Res> { }; + + + template + struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> + : std::binary_function<_T1, _T2, _Res> { }; + +#pragma GCC diagnostic pop + + template + struct _Mem_fn_traits; + + template + struct _Mem_fn_traits_base + { + using __result_type = _Res; + using __maybe_type + = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; + using __arity = integral_constant; + }; +# 107 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; + + +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; +template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; + + + + + + + template> + struct _Maybe_get_result_type + { }; + + template + struct _Maybe_get_result_type<_Functor, + __void_t> + { typedef typename _Functor::result_type result_type; }; + + + + + + template + struct _Weak_result_type_impl + : _Maybe_get_result_type<_Functor> + { }; + + + template + struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> + { typedef _Res result_type; }; + + + template + struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> + { typedef _Res result_type; }; + + + template + struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> + { typedef _Res result_type; }; + + + template + struct + _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> + { typedef _Res result_type; }; + + + template::value> + struct _Weak_result_type_memfun + : _Weak_result_type_impl<_Functor> + { }; + + + template + struct _Weak_result_type_memfun<_MemFunPtr, true> + { + using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; + }; + + + template + struct _Weak_result_type_memfun<_Func _Class::*, false> + { }; + + + + + + template + struct _Weak_result_type + : _Weak_result_type_memfun::type> + { }; + + + + template> + struct _Refwrap_base_arg1 + { }; + + + template + struct _Refwrap_base_arg1<_Tp, + __void_t> + { + typedef typename _Tp::argument_type argument_type; + }; + + + template> + struct _Refwrap_base_arg2 + { }; + + + template + struct _Refwrap_base_arg2<_Tp, + __void_t> + { + typedef typename _Tp::first_argument_type first_argument_type; + typedef typename _Tp::second_argument_type second_argument_type; + }; + + + + + + + + template + struct _Reference_wrapper_base + : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> + { }; + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)> + : unary_function<_T1, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1) const> + : unary_function<_T1, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1) volatile> + : unary_function<_T1, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1) const volatile> + : unary_function<_T1, _Res> + { }; + + + template + struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)> + : binary_function<_T1, _T2, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1, _T2) const> + : binary_function<_T1, _T2, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> + : binary_function<_T1, _T2, _Res> + { }; + + template + struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> + : binary_function<_T1, _T2, _Res> + { }; + + + template + struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)> + : unary_function<_T1, _Res> + { }; + + + template + struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)> + : binary_function<_T1, _T2, _Res> + { }; + + template::value> + struct _Reference_wrapper_base_memfun + : _Reference_wrapper_base<_Tp> + { }; + + template + struct _Reference_wrapper_base_memfun<_MemFunPtr, true> + : _Mem_fn_traits<_MemFunPtr>::__maybe_type + { + using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; + }; +#pragma GCC diagnostic pop +# 306 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 + template + class reference_wrapper + + + + : public _Reference_wrapper_base_memfun::type> + + { + _Tp* _M_data; + + + static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } + + static void _S_fun(_Tp&&) = delete; + + template> + using __not_same + = typename enable_if::value>::type; + + public: + typedef _Tp type; + + + + + template, typename + = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> + + reference_wrapper(_Up&& __uref) + noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) + : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) + { } + + reference_wrapper(const reference_wrapper&) = default; + + reference_wrapper& + operator=(const reference_wrapper&) = default; + + + operator _Tp&() const noexcept + { return this->get(); } + + + _Tp& + get() const noexcept + { return *_M_data; } + + template + + typename __invoke_result<_Tp&, _Args...>::type + operator()(_Args&&... __args) const + noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value) + { + + + + + return std::__invoke(get(), std::forward<_Args>(__args)...); + } +# 412 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/refwrap.h" 3 + }; + + + template + reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; + + + + + + template + + inline reference_wrapper<_Tp> + ref(_Tp& __t) noexcept + { return reference_wrapper<_Tp>(__t); } + + + template + + inline reference_wrapper + cref(const _Tp& __t) noexcept + { return reference_wrapper(__t); } + + template + void ref(const _Tp&&) = delete; + + template + void cref(const _Tp&&) = delete; + + + template + + inline reference_wrapper<_Tp> + ref(reference_wrapper<_Tp> __t) noexcept + { return __t; } + + + template + + inline reference_wrapper + cref(reference_wrapper<_Tp> __t) noexcept + { return { __t.get() }; } + + + + +} +# 53 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/initializer_list" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/initializer_list" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/initializer_list" 3 + + + + + + + +namespace std +{ + + template + class initializer_list + { + public: + typedef _E value_type; + typedef const _E& reference; + typedef const _E& const_reference; + typedef size_t size_type; + typedef const _E* iterator; + typedef const _E* const_iterator; + + private: + iterator _M_array; + size_type _M_len; + + + constexpr initializer_list(const_iterator __a, size_type __l) + : _M_array(__a), _M_len(__l) { } + + public: + constexpr initializer_list() noexcept + : _M_array(0), _M_len(0) { } + + + constexpr size_type + size() const noexcept { return _M_len; } + + + constexpr const_iterator + begin() const noexcept { return _M_array; } + + + constexpr const_iterator + end() const noexcept { return begin() + size(); } + }; + + + + + + + + template + constexpr const _Tp* + begin(initializer_list<_Tp> __ils) noexcept + { return __ils.begin(); } + + + + + + + + template + constexpr const _Tp* + end(initializer_list<_Tp> __ils) noexcept + { return __ils.end(); } +} +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 2 3 + + + +namespace std +{ + + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + begin(_Container& __cont) -> decltype(__cont.begin()) + { return __cont.begin(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + begin(const _Container& __cont) -> decltype(__cont.begin()) + { return __cont.begin(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + end(_Container& __cont) -> decltype(__cont.end()) + { return __cont.end(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + end(const _Container& __cont) -> decltype(__cont.end()) + { return __cont.end(); } + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr _Tp* + begin(_Tp (&__arr)[_Nm]) noexcept + { return __arr; } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr _Tp* + end(_Tp (&__arr)[_Nm]) noexcept + { return __arr + _Nm; } + + + + template class valarray; + + template _Tp* begin(valarray<_Tp>&) noexcept; + template const _Tp* begin(const valarray<_Tp>&) noexcept; + template _Tp* end(valarray<_Tp>&) noexcept; + template const _Tp* end(const valarray<_Tp>&) noexcept; + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + constexpr auto + cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) + -> decltype(std::begin(__cont)) + { return std::begin(__cont); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + constexpr auto + cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) + -> decltype(std::end(__cont)) + { return std::end(__cont); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + rbegin(_Container& __cont) -> decltype(__cont.rbegin()) + { return __cont.rbegin(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) + { return __cont.rbegin(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + rend(_Container& __cont) -> decltype(__cont.rend()) + { return __cont.rend(); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + rend(const _Container& __cont) -> decltype(__cont.rend()) + { return __cont.rend(); } + + + + + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator<_Tp*> + rbegin(_Tp (&__arr)[_Nm]) noexcept + { return reverse_iterator<_Tp*>(__arr + _Nm); } + + + + + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator<_Tp*> + rend(_Tp (&__arr)[_Nm]) noexcept + { return reverse_iterator<_Tp*>(__arr); } + + + + + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator + rbegin(initializer_list<_Tp> __il) noexcept + { return reverse_iterator(__il.end()); } + + + + + + + template + [[__nodiscard__]] + inline constexpr reverse_iterator + rend(initializer_list<_Tp> __il) noexcept + { return reverse_iterator(__il.begin()); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) + { return std::rbegin(__cont); } + + + + + + + template + [[__nodiscard__, __gnu__::__always_inline__]] + inline constexpr auto + crend(const _Container& __cont) -> decltype(std::rend(__cont)) + { return std::rend(__cont); } +# 259 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 3 + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr auto + size(const _Container& __cont) noexcept(noexcept(__cont.size())) + -> decltype(__cont.size()) + { return __cont.size(); } + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr size_t + size(const _Tp (&)[_Nm]) noexcept + { return _Nm; } + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr auto + empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) + -> decltype(__cont.empty()) + { return __cont.empty(); } + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr bool + empty(const _Tp (&)[_Nm]) noexcept + { return false; } + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr bool + empty(initializer_list<_Tp> __il) noexcept + { return __il.size() == 0;} + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr auto + data(_Container& __cont) noexcept(noexcept(__cont.data())) + -> decltype(__cont.data()) + { return __cont.data(); } + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr auto + data(const _Container& __cont) noexcept(noexcept(__cont.data())) + -> decltype(__cont.data()) + { return __cont.data(); } + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr _Tp* + data(_Tp (&__array)[_Nm]) noexcept + { return __array; } + + + + + + template + [[nodiscard, __gnu__::__always_inline__]] + constexpr const _Tp* + data(initializer_list<_Tp> __il) noexcept + { return __il.begin(); } +# 366 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/range_access.h" 3 + +} +# 54 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/alloc_traits.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/alloc_traits.h" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/alloc_traits.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_construct.h" 1 3 +# 73 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_construct.h" 3 +namespace std +{ + + + + template + inline void + destroy_at(_Tp* __location) + { + if constexpr (201703L > 201703L && is_array_v<_Tp>) + { + for (auto& __x : *__location) + std::destroy_at(std::__addressof(__x)); + } + else + __location->~_Tp(); + } +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_construct.h" 3 + template + + inline void + _Construct(_Tp* __p, _Args&&... __args) + { +# 119 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_construct.h" 3 + ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); + } +# 132 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_construct.h" 3 + template + inline void + _Construct_novalue(_T1* __p) + { ::new((void*)__p) _T1; } + + template + void + _Destroy(_ForwardIterator __first, _ForwardIterator __last); + + + + + template + constexpr inline void + _Destroy(_Tp* __pointer) + { + + + + __pointer->~_Tp(); + + } + + template + struct _Destroy_aux + { + template + static void + __destroy(_ForwardIterator __first, _ForwardIterator __last) + { + for (; __first != __last; ++__first) + std::_Destroy(std::__addressof(*__first)); + } + }; + + template<> + struct _Destroy_aux + { + template + static void + __destroy(_ForwardIterator, _ForwardIterator) { } + }; + + + + + + + template + inline void + _Destroy(_ForwardIterator __first, _ForwardIterator __last) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _Value_type; + + + static_assert(is_destructible<_Value_type>::value, + "value type is destructible"); + + + + + + std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: + __destroy(__first, __last); + } + + template + struct _Destroy_n_aux + { + template + static _ForwardIterator + __destroy_n(_ForwardIterator __first, _Size __count) + { + for (; __count > 0; (void)++__first, --__count) + std::_Destroy(std::__addressof(*__first)); + return __first; + } + }; + + template<> + struct _Destroy_n_aux + { + template + static _ForwardIterator + __destroy_n(_ForwardIterator __first, _Size __count) + { + std::advance(__first, __count); + return __first; + } + }; + + + + + + + template + inline _ForwardIterator + _Destroy_n(_ForwardIterator __first, _Size __count) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _Value_type; + + + static_assert(is_destructible<_Value_type>::value, + "value type is destructible"); + + + + + + return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: + __destroy_n(__first, __count); + } + + + template + inline void + destroy(_ForwardIterator __first, _ForwardIterator __last) + { + std::_Destroy(__first, __last); + } + + template + inline _ForwardIterator + destroy_n(_ForwardIterator __first, _Size __count) + { + return std::_Destroy_n(__first, __count); + } + + + +} +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 2 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 +namespace std +{ + + + + + struct __allocator_traits_base + { + template + struct __rebind : __replace_first_arg<_Tp, _Up> + { + static_assert(is_same< + typename __replace_first_arg<_Tp, typename _Tp::value_type>::type, + _Tp>::value, + "allocator_traits::rebind_alloc must be A"); + }; + + template + struct __rebind<_Tp, _Up, + __void_t::other>> + { + using type = typename _Tp::template rebind<_Up>::other; + + static_assert(is_same< + typename _Tp::template rebind::other, + _Tp>::value, + "allocator_traits::rebind_alloc must be A"); + }; + + protected: + template + using __pointer = typename _Tp::pointer; + template + using __c_pointer = typename _Tp::const_pointer; + template + using __v_pointer = typename _Tp::void_pointer; + template + using __cv_pointer = typename _Tp::const_void_pointer; + template + using __pocca = typename _Tp::propagate_on_container_copy_assignment; + template + using __pocma = typename _Tp::propagate_on_container_move_assignment; + template + using __pocs = typename _Tp::propagate_on_container_swap; + template + using __equal = __type_identity; + }; + + template + using __alloc_rebind + = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; +# 105 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + struct allocator_traits : __allocator_traits_base + { + + typedef _Alloc allocator_type; + + typedef typename _Alloc::value_type value_type; + + + + + + + using pointer = __detected_or_t; + + private: + + template class _Func, typename _Tp, typename = void> + struct _Ptr + { + using type = typename pointer_traits::template rebind<_Tp>; + }; + + template class _Func, typename _Tp> + struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> + { + using type = _Func<_Alloc>; + }; + + + template + struct _Diff + { using type = typename pointer_traits<_PtrT>::difference_type; }; + + template + struct _Diff<_A2, _PtrT, __void_t> + { using type = typename _A2::difference_type; }; + + + template + struct _Size : make_unsigned<_DiffT> { }; + + template + struct _Size<_A2, _DiffT, __void_t> + { using type = typename _A2::size_type; }; + + public: + + + + + + + using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; + + + + + + + + using void_pointer = typename _Ptr<__v_pointer, void>::type; + + + + + + + + using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; + + + + + + + + using difference_type = typename _Diff<_Alloc, pointer>::type; + + + + + + + + using size_type = typename _Size<_Alloc, difference_type>::type; + + + + + + + + using propagate_on_container_copy_assignment + = __detected_or_t; + + + + + + + + using propagate_on_container_move_assignment + = __detected_or_t; + + + + + + + + using propagate_on_container_swap + = __detected_or_t; + + + + + + + + using is_always_equal + = typename __detected_or_t, __equal, _Alloc>::type; + + template + using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; + template + using rebind_traits = allocator_traits>; + + private: + template + static constexpr auto + _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) + -> decltype(__a.allocate(__n, __hint)) + { return __a.allocate(__n, __hint); } + + template + static constexpr pointer + _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) + { return __a.allocate(__n); } + + template + struct __construct_helper + { + template()->construct( + std::declval<_Tp*>(), std::declval<_Args>()...))> + static true_type __test(int); + + template + static false_type __test(...); + + using type = decltype(__test<_Alloc>(0)); + }; + + template + using __has_construct + = typename __construct_helper<_Tp, _Args...>::type; + + template + static constexpr _Require<__has_construct<_Tp, _Args...>> + _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) + noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...))) + { __a.construct(__p, std::forward<_Args>(__args)...); } + + template + static constexpr + _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, + is_constructible<_Tp, _Args...>>> + _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) + noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value) + { + + ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); + + + + } + + template + static constexpr auto + _S_destroy(_Alloc2& __a, _Tp* __p, int) + noexcept(noexcept(__a.destroy(__p))) + -> decltype(__a.destroy(__p)) + { __a.destroy(__p); } + + template + static constexpr void + _S_destroy(_Alloc2&, _Tp* __p, ...) + noexcept(std::is_nothrow_destructible<_Tp>::value) + { std::_Destroy(__p); } + + template + static constexpr auto + _S_max_size(_Alloc2& __a, int) + -> decltype(__a.max_size()) + { return __a.max_size(); } + + template + static constexpr size_type + _S_max_size(_Alloc2&, ...) + { + + + return __gnu_cxx::__numeric_traits::__max + / sizeof(value_type); + } + + template + static constexpr auto + _S_select(_Alloc2& __a, int) + -> decltype(__a.select_on_container_copy_construction()) + { return __a.select_on_container_copy_construction(); } + + template + static constexpr _Alloc2 + _S_select(_Alloc2& __a, ...) + { return __a; } + + public: +# 332 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + [[__nodiscard__]] static pointer + allocate(_Alloc& __a, size_type __n) + { return __a.allocate(__n); } +# 347 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + [[__nodiscard__]] static pointer + allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) + { return _S_allocate(__a, __n, __hint, 0); } +# 359 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + static void + deallocate(_Alloc& __a, pointer __p, size_type __n) + { __a.deallocate(__p, __n); } +# 374 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + static auto + construct(_Alloc& __a, _Tp* __p, _Args&&... __args) + noexcept(noexcept(_S_construct(__a, __p, + std::forward<_Args>(__args)...))) + -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) + { _S_construct(__a, __p, std::forward<_Args>(__args)...); } +# 390 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + static void + destroy(_Alloc& __a, _Tp* __p) + noexcept(noexcept(_S_destroy(__a, __p, 0))) + { _S_destroy(__a, __p, 0); } +# 404 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + static size_type + max_size(const _Alloc& __a) noexcept + { return _S_max_size(__a, 0); } +# 416 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + static _Alloc + select_on_container_copy_construction(const _Alloc& __rhs) + { return _S_select(__rhs, 0); } + }; + + + + template + struct allocator_traits> + { + + using allocator_type = allocator<_Tp>; + + + using value_type = _Tp; + + + using pointer = _Tp*; + + + using const_pointer = const _Tp*; + + + using void_pointer = void*; + + + using const_void_pointer = const void*; + + + using difference_type = std::ptrdiff_t; + + + using size_type = std::size_t; + + + using propagate_on_container_copy_assignment = false_type; + + + using propagate_on_container_move_assignment = true_type; + + + using propagate_on_container_swap = false_type; + + + using is_always_equal = true_type; + + template + using rebind_alloc = allocator<_Up>; + + template + using rebind_traits = allocator_traits>; +# 475 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + [[__nodiscard__,__gnu__::__always_inline__]] + static pointer + allocate(allocator_type& __a, size_type __n) + { return __a.allocate(__n); } +# 490 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + [[__nodiscard__,__gnu__::__always_inline__]] + static pointer + allocate(allocator_type& __a, size_type __n, + [[maybe_unused]] const_void_pointer __hint) + { + + return __a.allocate(__n, __hint); + + + + } +# 510 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + [[__gnu__::__always_inline__]] + static void + deallocate(allocator_type& __a, pointer __p, size_type __n) + { __a.deallocate(__p, __n); } +# 526 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + static void + construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, + _Args&&... __args) + noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) + { + + __a.construct(__p, std::forward<_Args>(__args)...); + + + + } +# 547 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + static void + destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) + noexcept(is_nothrow_destructible<_Up>::value) + { + + __a.destroy(__p); + + + + } + + + + + + + [[__gnu__::__always_inline__]] + static size_type + max_size(const allocator_type& __a __attribute__((__unused__))) noexcept + { + + return __a.max_size(); + + + + } + + + + + + + [[__gnu__::__always_inline__]] + static allocator_type + select_on_container_copy_construction(const allocator_type& __rhs) + { return __rhs; } + }; + + + template<> + struct allocator_traits> + { + + using allocator_type = allocator; + + + using value_type = void; + + + using pointer = void*; + + + using const_pointer = const void*; + + + using void_pointer = void*; + + + using const_void_pointer = const void*; + + + using difference_type = std::ptrdiff_t; + + + using size_type = std::size_t; + + + using propagate_on_container_copy_assignment = false_type; + + + using propagate_on_container_move_assignment = true_type; + + + using propagate_on_container_swap = false_type; + + + using is_always_equal = true_type; + + template + using rebind_alloc = allocator<_Up>; + + template + using rebind_traits = allocator_traits>; + + + static void* + allocate(allocator_type&, size_type, const void* = nullptr) = delete; + + + static void + deallocate(allocator_type&, void*, size_type) = delete; +# 652 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + static void + construct(allocator_type&, _Up* __p, _Args&&... __args) + noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) + { std::_Construct(__p, std::forward<_Args>(__args)...); } +# 666 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + static void + destroy(allocator_type&, _Up* __p) + noexcept(is_nothrow_destructible<_Up>::value) + { std::_Destroy(__p); } + + + static size_type + max_size(const allocator_type&) = delete; + + + + + + + [[__gnu__::__always_inline__]] + static allocator_type + select_on_container_copy_construction(const allocator_type& __rhs) + { return __rhs; } + }; +# 704 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + constexpr inline void + __alloc_on_copy(_Alloc& __one, const _Alloc& __two) + { + using __traits = allocator_traits<_Alloc>; + using __pocca = + typename __traits::propagate_on_container_copy_assignment::type; + + if constexpr (__pocca::value) + __one = __two; + + + + } + + template + [[__gnu__::__always_inline__]] + constexpr _Alloc + __alloc_on_copy(const _Alloc& __a) + { + typedef allocator_traits<_Alloc> __traits; + return __traits::select_on_container_copy_construction(__a); + } +# 741 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + constexpr inline void + __alloc_on_move(_Alloc& __one, _Alloc& __two) + { + using __traits = allocator_traits<_Alloc>; + using __pocma + = typename __traits::propagate_on_container_move_assignment::type; + + if constexpr (__pocma::value) + __one = std::move(__two); + + + + } +# 772 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + [[__gnu__::__always_inline__]] + constexpr inline void + __alloc_on_swap(_Alloc& __one, _Alloc& __two) + { + using __traits = allocator_traits<_Alloc>; + using __pocs = typename __traits::propagate_on_container_swap::type; + + if constexpr (__pocs::value) + { + using std::swap; + swap(__one, __two); + } + + + + } + + template, + typename = void> + struct __is_alloc_insertable_impl + : false_type + { }; + + template + struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT, + __void_t::construct( + std::declval<_Alloc&>(), std::declval<_ValueT*>(), + std::declval<_Tp>()))>> + : true_type + { }; + + + + + template + struct __is_copy_insertable + : __is_alloc_insertable_impl<_Alloc, + typename _Alloc::value_type const&>::type + { }; + + + + template + struct __is_copy_insertable> + : is_copy_constructible<_Tp> + { }; + + + + + + template + struct __is_move_insertable + : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type + { }; + + + + template + struct __is_move_insertable> + : is_move_constructible<_Tp> + { }; + + + + template + struct __is_allocator : false_type { }; + + template + struct __is_allocator<_Alloc, + __void_t().allocate(size_t{}))>> + : true_type { }; + + template + using _RequireAllocator + = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; + + template + using _RequireNotAllocator + = typename enable_if::value, _Alloc>::type; +# 869 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + struct __alloc_swap + { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; + + template + struct __alloc_swap<_Alloc, false> + { + static void + _S_do_it(_Alloc& __one, _Alloc& __two) noexcept + { + + if (__one != __two) + swap(__one, __two); + } + }; + + + template, + is_nothrow_move_constructible>::value> + struct __shrink_to_fit_aux + { static bool _S_do_it(_Tp&) noexcept { return false; } }; + + template + struct __shrink_to_fit_aux<_Tp, true> + { + + static bool + _S_do_it(_Tp& __c) noexcept + { + + try + { + _Tp(__make_move_if_noexcept_iterator(__c.begin()), + __make_move_if_noexcept_iterator(__c.end()), + __c.get_allocator()).swap(__c); + return true; + } + catch(...) + { return false; } + + + + } + }; +# 922 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/alloc_traits.h" 3 + template + + void + _Destroy(_ForwardIterator __first, _ForwardIterator __last, + _Allocator& __alloc) + { + for (; __first != __last; ++__first) + + + + allocator_traits<_Allocator>::destroy(__alloc, + std::__addressof(*__first)); + + } + + + template + __attribute__((__always_inline__)) + inline void + _Destroy(_ForwardIterator __first, _ForwardIterator __last, + allocator<_Tp>&) + { + std::_Destroy(__first, __last); + } + + + + +} +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/alloc_traits.h" 2 3 + +namespace __gnu_cxx +{ + + + + + + +template + struct __alloc_traits + + : std::allocator_traits<_Alloc> + + { + typedef _Alloc allocator_type; + + typedef std::allocator_traits<_Alloc> _Base_type; + typedef typename _Base_type::value_type value_type; + typedef typename _Base_type::pointer pointer; + typedef typename _Base_type::const_pointer const_pointer; + typedef typename _Base_type::size_type size_type; + typedef typename _Base_type::difference_type difference_type; + + typedef value_type& reference; + typedef const value_type& const_reference; + using _Base_type::allocate; + using _Base_type::deallocate; + using _Base_type::construct; + using _Base_type::destroy; + using _Base_type::max_size; + + private: + template + using __is_custom_pointer + = std::__and_, + std::__not_>>; + + public: + + template + [[__gnu__::__always_inline__]] + static constexpr + std::__enable_if_t<__is_custom_pointer<_Ptr>::value> + construct(_Alloc& __a, _Ptr __p, _Args&&... __args) + noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p), + std::forward<_Args>(__args)...))) + { + _Base_type::construct(__a, std::__to_address(__p), + std::forward<_Args>(__args)...); + } + + + template + [[__gnu__::__always_inline__]] + static constexpr + std::__enable_if_t<__is_custom_pointer<_Ptr>::value> + destroy(_Alloc& __a, _Ptr __p) + noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p)))) + { _Base_type::destroy(__a, std::__to_address(__p)); } + + [[__gnu__::__always_inline__]] + static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) + { return _Base_type::select_on_container_copy_construction(__a); } + + [[__gnu__::__always_inline__]] + static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) + { std::__alloc_on_swap(__a, __b); } + + [[__gnu__::__always_inline__]] + static constexpr bool _S_propagate_on_copy_assign() + { return _Base_type::propagate_on_container_copy_assignment::value; } + + [[__gnu__::__always_inline__]] + static constexpr bool _S_propagate_on_move_assign() + { return _Base_type::propagate_on_container_move_assignment::value; } + + [[__gnu__::__always_inline__]] + static constexpr bool _S_propagate_on_swap() + { return _Base_type::propagate_on_container_swap::value; } + + [[__gnu__::__always_inline__]] + static constexpr bool _S_always_equal() + { return _Base_type::is_always_equal::value; } + + __attribute__((__always_inline__)) + static constexpr bool _S_nothrow_move() + { return _S_propagate_on_move_assign() || _S_always_equal(); } + + template + struct rebind + { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; +# 180 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/alloc_traits.h" 3 + }; + + +} +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 2 3 + + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 2 3 + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + + + + +namespace std +{ + +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + template + struct __hash_base + { + typedef _Result result_type [[__deprecated__]]; + typedef _Arg argument_type [[__deprecated__]]; + }; + + + template + struct hash; + + template + struct __poison_hash + { + static constexpr bool __enable_hash_call = false; + private: + + __poison_hash(__poison_hash&&); + ~__poison_hash(); + }; + + template + struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> + { + static constexpr bool __enable_hash_call = true; + }; + + + template::value> + struct __hash_enum + { + private: + + __hash_enum(__hash_enum&&); + ~__hash_enum(); + }; + + + template + struct __hash_enum<_Tp, true> : public __hash_base + { + size_t + operator()(_Tp __val) const noexcept + { + using __type = typename underlying_type<_Tp>::type; + return hash<__type>{}(static_cast<__type>(__val)); + } + }; + + + + template + struct hash : __hash_enum<_Tp> + { }; + + + template + struct hash<_Tp*> : public __hash_base + { + size_t + operator()(_Tp* __p) const noexcept + { return reinterpret_cast(__p); } + }; +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; + + + + + + + + template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; + + + template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; + + + __extension__ + template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; + __extension__ + template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; +# 201 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + struct _Hash_impl + { + static size_t + hash(const void* __ptr, size_t __clength, + size_t __seed = static_cast(0xc70f6907UL)) + { return _Hash_bytes(__ptr, __clength, __seed); } + + template + static size_t + hash(const _Tp& __val) + { return hash(&__val, sizeof(__val)); } + + template + static size_t + __hash_combine(const _Tp& __val, size_t __hash) + { return hash(&__val, sizeof(__val), __hash); } + }; + + + struct _Fnv_hash_impl + { + static size_t + hash(const void* __ptr, size_t __clength, + size_t __seed = static_cast(2166136261UL)) + { return _Fnv_hash_bytes(__ptr, __clength, __seed); } + + template + static size_t + hash(const _Tp& __val) + { return hash(&__val, sizeof(__val)); } + + template + static size_t + __hash_combine(const _Tp& __val, size_t __hash) + { return hash(&__val, sizeof(__val), __hash); } + }; + + + template<> + struct hash : public __hash_base + { + size_t + operator()(float __val) const noexcept + { + + return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; + } + }; + + + template<> + struct hash : public __hash_base + { + size_t + operator()(double __val) const noexcept + { + + return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; + } + }; + + + template<> + struct hash + : public __hash_base + { + __attribute__ ((__pure__)) size_t + operator()(long double __val) const noexcept; + }; + + + template<> + struct hash : public __hash_base + { + size_t + operator()(nullptr_t) const noexcept + { return 0; } + }; +# 294 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/functional_hash.h" 3 + template + struct __is_fast_hash : public std::true_type + { }; + + template<> + struct __is_fast_hash> : public std::false_type + { }; + + +} +# 51 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 2 3 +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 +namespace std +{ + + + + constexpr size_t + __sv_check(size_t __size, size_t __pos, const char* __s) + { + if (__pos > __size) + __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)") + , __s, __pos, __size); + return __pos; + } + + + + constexpr size_t + __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept + { + const bool __testoff = __off < __size - __pos; + return __testoff ? __off : __size - __pos; + } +# 105 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + template> + class basic_string_view + { + static_assert(!is_array_v<_CharT>); + static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>); + static_assert(is_same_v<_CharT, typename _Traits::char_type>); + + public: + + + using traits_type = _Traits; + using value_type = _CharT; + using pointer = value_type*; + using const_pointer = const value_type*; + using reference = value_type&; + using const_reference = const value_type&; + using const_iterator = const value_type*; + using iterator = const_iterator; + using const_reverse_iterator = std::reverse_iterator; + using reverse_iterator = const_reverse_iterator; + using size_type = size_t; + using difference_type = ptrdiff_t; + static constexpr size_type npos = size_type(-1); + + + + constexpr + basic_string_view() noexcept + : _M_len{0}, _M_str{nullptr} + { } + + constexpr basic_string_view(const basic_string_view&) noexcept = default; + + [[__gnu__::__nonnull__]] + constexpr + basic_string_view(const _CharT* __str) noexcept + : _M_len{traits_type::length(__str)}, + _M_str{__str} + { } + + constexpr + basic_string_view(const _CharT* __str, size_type __len) noexcept + : _M_len{__len}, _M_str{__str} + { } +# 180 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + constexpr basic_string_view& + operator=(const basic_string_view&) noexcept = default; + + + + [[nodiscard]] + constexpr const_iterator + begin() const noexcept + { return this->_M_str; } + + [[nodiscard]] + constexpr const_iterator + end() const noexcept + { return this->_M_str + this->_M_len; } + + [[nodiscard]] + constexpr const_iterator + cbegin() const noexcept + { return this->_M_str; } + + [[nodiscard]] + constexpr const_iterator + cend() const noexcept + { return this->_M_str + this->_M_len; } + + [[nodiscard]] + constexpr const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + [[nodiscard]] + constexpr const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(this->begin()); } + + [[nodiscard]] + constexpr const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + [[nodiscard]] + constexpr const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(this->begin()); } + + + + [[nodiscard]] + constexpr size_type + size() const noexcept + { return this->_M_len; } + + [[nodiscard]] + constexpr size_type + length() const noexcept + { return _M_len; } + + [[nodiscard]] + constexpr size_type + max_size() const noexcept + { + return (npos - sizeof(size_type) - sizeof(void*)) + / sizeof(value_type) / 4; + } + + [[nodiscard]] + constexpr bool + empty() const noexcept + { return this->_M_len == 0; } + + + + [[nodiscard]] + constexpr const_reference + operator[](size_type __pos) const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail(); } while (false); + return *(this->_M_str + __pos); + } + + [[nodiscard]] + constexpr const_reference + at(size_type __pos) const + { + if (__pos >= _M_len) + __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)") + + , __pos, this->size()); + return *(this->_M_str + __pos); + } + + [[nodiscard]] + constexpr const_reference + front() const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); + return *this->_M_str; + } + + [[nodiscard]] + constexpr const_reference + back() const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); + return *(this->_M_str + this->_M_len - 1); + } + + [[nodiscard]] + constexpr const_pointer + data() const noexcept + { return this->_M_str; } + + + + constexpr void + remove_prefix(size_type __n) noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); + this->_M_str += __n; + this->_M_len -= __n; + } + + constexpr void + remove_suffix(size_type __n) noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); + this->_M_len -= __n; + } + + constexpr void + swap(basic_string_view& __sv) noexcept + { + auto __tmp = *this; + *this = __sv; + __sv = __tmp; + } + + + + + size_type + copy(_CharT* __str, size_type __n, size_type __pos = 0) const + { + ; + __pos = std::__sv_check(size(), __pos, "basic_string_view::copy"); + const size_type __rlen = std::min(__n, _M_len - __pos); + + + traits_type::copy(__str, data() + __pos, __rlen); + return __rlen; + } + + [[nodiscard]] + constexpr basic_string_view + substr(size_type __pos = 0, size_type __n = npos) const noexcept(false) + { + __pos = std::__sv_check(size(), __pos, "basic_string_view::substr"); + const size_type __rlen = std::min(__n, _M_len - __pos); + return basic_string_view{_M_str + __pos, __rlen}; + } + + [[nodiscard]] + constexpr int + compare(basic_string_view __str) const noexcept + { + const size_type __rlen = std::min(this->_M_len, __str._M_len); + int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen); + if (__ret == 0) + __ret = _S_compare(this->_M_len, __str._M_len); + return __ret; + } + + [[nodiscard]] + constexpr int + compare(size_type __pos1, size_type __n1, basic_string_view __str) const + { return this->substr(__pos1, __n1).compare(__str); } + + [[nodiscard]] + constexpr int + compare(size_type __pos1, size_type __n1, + basic_string_view __str, size_type __pos2, size_type __n2) const + { + return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2)); + } + + [[nodiscard, __gnu__::__nonnull__]] + constexpr int + compare(const _CharT* __str) const noexcept + { return this->compare(basic_string_view{__str}); } + + [[nodiscard, __gnu__::__nonnull__]] + constexpr int + compare(size_type __pos1, size_type __n1, const _CharT* __str) const + { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } + + [[nodiscard]] + constexpr int + compare(size_type __pos1, size_type __n1, + const _CharT* __str, size_type __n2) const noexcept(false) + { + return this->substr(__pos1, __n1) + .compare(basic_string_view(__str, __n2)); + } +# 445 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + [[nodiscard]] + constexpr size_type + find(basic_string_view __str, size_type __pos = 0) const noexcept + { return this->find(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + find(_CharT __c, size_type __pos = 0) const noexcept; + + [[nodiscard]] + constexpr size_type + find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + find(const _CharT* __str, size_type __pos = 0) const noexcept + { return this->find(__str, __pos, traits_type::length(__str)); } + + [[nodiscard]] + constexpr size_type + rfind(basic_string_view __str, size_type __pos = npos) const noexcept + { return this->rfind(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + rfind(_CharT __c, size_type __pos = npos) const noexcept; + + [[nodiscard]] + constexpr size_type + rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + rfind(const _CharT* __str, size_type __pos = npos) const noexcept + { return this->rfind(__str, __pos, traits_type::length(__str)); } + + [[nodiscard]] + constexpr size_type + find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept + { return this->find_first_of(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + find_first_of(_CharT __c, size_type __pos = 0) const noexcept + { return this->find(__c, __pos); } + + [[nodiscard]] + constexpr size_type + find_first_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept + { return this->find_first_of(__str, __pos, traits_type::length(__str)); } + + [[nodiscard]] + constexpr size_type + find_last_of(basic_string_view __str, + size_type __pos = npos) const noexcept + { return this->find_last_of(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + find_last_of(_CharT __c, size_type __pos=npos) const noexcept + { return this->rfind(__c, __pos); } + + [[nodiscard]] + constexpr size_type + find_last_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept + { return this->find_last_of(__str, __pos, traits_type::length(__str)); } + + [[nodiscard]] + constexpr size_type + find_first_not_of(basic_string_view __str, + size_type __pos = 0) const noexcept + { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; + + [[nodiscard]] + constexpr size_type + find_first_not_of(const _CharT* __str, + size_type __pos, size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept + { + return this->find_first_not_of(__str, __pos, + traits_type::length(__str)); + } + + [[nodiscard]] + constexpr size_type + find_last_not_of(basic_string_view __str, + size_type __pos = npos) const noexcept + { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); } + + [[nodiscard]] + constexpr size_type + find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; + + [[nodiscard]] + constexpr size_type + find_last_not_of(const _CharT* __str, + size_type __pos, size_type __n) const noexcept; + + [[nodiscard, __gnu__::__nonnull__]] + constexpr size_type + find_last_not_of(const _CharT* __str, + size_type __pos = npos) const noexcept + { + return this->find_last_not_of(__str, __pos, + traits_type::length(__str)); + } + + private: + + static constexpr int + _S_compare(size_type __n1, size_type __n2) noexcept + { + using __limits = __gnu_cxx::__int_traits; + const difference_type __diff = __n1 - __n2; + if (__diff > __limits::__max) + return __limits::__max; + if (__diff < __limits::__min) + return __limits::__min; + return static_cast(__diff); + } + + size_t _M_len; + const _CharT* _M_str; + }; +# 623 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + template + [[nodiscard]] + constexpr bool + operator==(basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return __x.size() == __y.size() && __x.compare(__y) == 0; } + + template + [[nodiscard]] + constexpr bool + operator==(basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.size() == __y.size() && __x.compare(__y) == 0; } + + template + [[nodiscard]] + constexpr bool + operator==(__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.size() == __y.size() && __x.compare(__y) == 0; } + + template + [[nodiscard]] + constexpr bool + operator!=(basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return !(__x == __y); } + + template + [[nodiscard]] + constexpr bool + operator!=(basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return !(__x == __y); } + + template + [[nodiscard]] + constexpr bool + operator!=(__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return !(__x == __y); } + + template + [[nodiscard]] + constexpr bool + operator< (basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) < 0; } + + template + [[nodiscard]] + constexpr bool + operator< (basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return __x.compare(__y) < 0; } + + template + [[nodiscard]] + constexpr bool + operator< (__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) < 0; } + + template + [[nodiscard]] + constexpr bool + operator> (basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) > 0; } + + template + [[nodiscard]] + constexpr bool + operator> (basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return __x.compare(__y) > 0; } + + template + [[nodiscard]] + constexpr bool + operator> (__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) > 0; } + + template + [[nodiscard]] + constexpr bool + operator<=(basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) <= 0; } + + template + [[nodiscard]] + constexpr bool + operator<=(basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return __x.compare(__y) <= 0; } + + template + [[nodiscard]] + constexpr bool + operator<=(__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) <= 0; } + + template + [[nodiscard]] + constexpr bool + operator>=(basic_string_view<_CharT, _Traits> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) >= 0; } + + template + [[nodiscard]] + constexpr bool + operator>=(basic_string_view<_CharT, _Traits> __x, + __type_identity_t> __y) + noexcept + { return __x.compare(__y) >= 0; } + + template + [[nodiscard]] + constexpr bool + operator>=(__type_identity_t> __x, + basic_string_view<_CharT, _Traits> __y) noexcept + { return __x.compare(__y) >= 0; } + + + + + template + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __os, + basic_string_view<_CharT,_Traits> __str) + { return __ostream_insert(__os, __str.data(), __str.size()); } + + + + + using string_view = basic_string_view; + using wstring_view = basic_string_view; + + + + using u16string_view = basic_string_view; + using u32string_view = basic_string_view; + + + + template + struct hash; + + template<> + struct hash + : public __hash_base + { + [[nodiscard]] + size_t + operator()(const string_view& __str) const noexcept + { return std::_Hash_impl::hash(__str.data(), __str.length()); } + }; + + template<> + struct __is_fast_hash> : std::false_type + { }; + + template<> + struct hash + : public __hash_base + { + [[nodiscard]] + size_t + operator()(const wstring_view& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(wchar_t)); } + }; + + template<> + struct __is_fast_hash> : std::false_type + { }; +# 825 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + template<> + struct hash + : public __hash_base + { + [[nodiscard]] + size_t + operator()(const u16string_view& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(char16_t)); } + }; + + template<> + struct __is_fast_hash> : std::false_type + { }; + + template<> + struct hash + : public __hash_base + { + [[nodiscard]] + size_t + operator()(const u32string_view& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(char32_t)); } + }; + + template<> + struct __is_fast_hash> : std::false_type + { }; + + inline namespace literals + { + inline namespace string_view_literals + { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wliteral-suffix" + inline constexpr basic_string_view + operator""sv(const char* __str, size_t __len) noexcept + { return basic_string_view{__str, __len}; } + + inline constexpr basic_string_view + operator""sv(const wchar_t* __str, size_t __len) noexcept + { return basic_string_view{__str, __len}; } + + + + + + + + inline constexpr basic_string_view + operator""sv(const char16_t* __str, size_t __len) noexcept + { return basic_string_view{__str, __len}; } + + inline constexpr basic_string_view + operator""sv(const char32_t* __str, size_t __len) noexcept + { return basic_string_view{__str, __len}; } + +#pragma GCC diagnostic pop + } + } +# 901 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 3 + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/string_view.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/string_view.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/string_view.tcc" 3 + + + +namespace std +{ + + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find(const _CharT* __str, size_type __pos, size_type __n) const noexcept + { + ; + + if (__n == 0) + return __pos <= _M_len ? __pos : npos; + if (__pos >= _M_len) + return npos; + + const _CharT __elem0 = __str[0]; + const _CharT* __first = _M_str + __pos; + const _CharT* const __last = _M_str + _M_len; + size_type __len = _M_len - __pos; + + while (__len >= __n) + { + + __first = traits_type::find(__first, __len - __n + 1, __elem0); + if (!__first) + return npos; + + + + if (traits_type::compare(__first, __str, __n) == 0) + return __first - _M_str; + __len = __last - ++__first; + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find(_CharT __c, size_type __pos) const noexcept + { + size_type __ret = npos; + if (__pos < this->_M_len) + { + const size_type __n = this->_M_len - __pos; + const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c); + if (__p) + __ret = __p - this->_M_str; + } + return __ret; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept + { + ; + + if (__n <= this->_M_len) + { + __pos = std::min(size_type(this->_M_len - __n), __pos); + do + { + if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0) + return __pos; + } + while (__pos-- > 0); + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + rfind(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->_M_len; + if (__size > 0) + { + if (--__size > __pos) + __size = __pos; + for (++__size; __size-- > 0; ) + if (traits_type::eq(this->_M_str[__size], __c)) + return __size; + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_first_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept + { + ; + for (; __n && __pos < this->_M_len; ++__pos) + { + const _CharT* __p = traits_type::find(__str, __n, + this->_M_str[__pos]); + if (__p) + return __pos; + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_last_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept + { + ; + size_type __size = this->size(); + if (__size && __n) + { + if (--__size > __pos) + __size = __pos; + do + { + if (traits_type::find(__str, __n, this->_M_str[__size])) + return __size; + } + while (__size-- != 0); + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_first_not_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept + { + ; + for (; __pos < this->_M_len; ++__pos) + if (!traits_type::find(__str, __n, this->_M_str[__pos])) + return __pos; + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_first_not_of(_CharT __c, size_type __pos) const noexcept + { + for (; __pos < this->_M_len; ++__pos) + if (!traits_type::eq(this->_M_str[__pos], __c)) + return __pos; + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_last_not_of(const _CharT* __str, size_type __pos, + size_type __n) const noexcept + { + ; + size_type __size = this->_M_len; + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::find(__str, __n, this->_M_str[__size])) + return __size; + } + while (__size--); + } + return npos; + } + + template + constexpr typename basic_string_view<_CharT, _Traits>::size_type + basic_string_view<_CharT, _Traits>:: + find_last_not_of(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->_M_len; + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::eq(this->_M_str[__size], __c)) + return __size; + } + while (__size--); + } + return npos; + } + + +} +# 905 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string_view" 2 3 +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 2 3 + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 55 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 2 3 + + + + + +namespace std +{ + +namespace __cxx11 { +# 85 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + class basic_string + { + + + + + + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<_CharT>::other _Char_alloc_type; + + + typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; + + + public: + typedef _Traits traits_type; + typedef typename _Traits::char_type value_type; + typedef _Char_alloc_type allocator_type; + typedef typename _Alloc_traits::size_type size_type; + typedef typename _Alloc_traits::difference_type difference_type; + typedef typename _Alloc_traits::reference reference; + typedef typename _Alloc_traits::const_reference const_reference; + typedef typename _Alloc_traits::pointer pointer; + typedef typename _Alloc_traits::const_pointer const_pointer; + typedef __gnu_cxx::__normal_iterator iterator; + typedef __gnu_cxx::__normal_iterator + const_iterator; + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + + + static const size_type npos = static_cast(-1); + + protected: + + + + + typedef const_iterator __const_iterator; + + + private: + static pointer + _S_allocate(_Char_alloc_type& __a, size_type __n) + { + pointer __p = _Alloc_traits::allocate(__a, __n); +# 141 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + return __p; + } + + + + typedef basic_string_view<_CharT, _Traits> __sv_type; + + template + using _If_sv = enable_if_t< + __and_, + __not_>, + __not_>>::value, + _Res>; + + + + static __sv_type + _S_to_string_view(__sv_type __svt) noexcept + { return __svt; } + + + + + + struct __sv_wrapper + { + explicit + __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } + + __sv_type _M_sv; + }; + + + + + + + + + explicit + basic_string(__sv_wrapper __svw, const _Alloc& __a) + : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } + + + + struct _Alloc_hider : allocator_type + { + + + + + + _Alloc_hider(pointer __dat, const _Alloc& __a) + : allocator_type(__a), _M_p(__dat) { } + + + _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) + : allocator_type(std::move(__a)), _M_p(__dat) { } + + + pointer _M_p; + }; + + _Alloc_hider _M_dataplus; + size_type _M_string_length; + + enum { _S_local_capacity = 15 / sizeof(_CharT) }; + + union + { + _CharT _M_local_buf[_S_local_capacity + 1]; + size_type _M_allocated_capacity; + }; + + + void + _M_data(pointer __p) + { _M_dataplus._M_p = __p; } + + + void + _M_length(size_type __length) + { _M_string_length = __length; } + + + pointer + _M_data() const + { return _M_dataplus._M_p; } + + + pointer + _M_local_data() + { + + return std::pointer_traits::pointer_to(*_M_local_buf); + + + + } + + + const_pointer + _M_local_data() const + { + + return std::pointer_traits::pointer_to(*_M_local_buf); + + + + } + + + void + _M_capacity(size_type __capacity) + { _M_allocated_capacity = __capacity; } + + + void + _M_set_length(size_type __n) + { + _M_length(__n); + traits_type::assign(_M_data()[__n], _CharT()); + } + + + bool + _M_is_local() const + { + if (_M_data() == _M_local_data()) + { + if (_M_string_length > _S_local_capacity) + __builtin_unreachable(); + return true; + } + return false; + } + + + + pointer + _M_create(size_type&, size_type); + + + void + _M_dispose() + { + if (!_M_is_local()) + _M_destroy(_M_allocated_capacity); + } + + + void + _M_destroy(size_type __size) throw() + { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } +# 321 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + void + _M_construct(_InIterator __beg, _InIterator __end, + std::input_iterator_tag); + + + + template + + void + _M_construct(_FwdIterator __beg, _FwdIterator __end, + std::forward_iterator_tag); + + + void + _M_construct(size_type __req, _CharT __c); + + + allocator_type& + _M_get_allocator() + { return _M_dataplus; } + + + const allocator_type& + _M_get_allocator() const + { return _M_dataplus; } + + + __attribute__((__always_inline__)) + constexpr + void + _M_init_local_buf() noexcept + { + + + + + + } + + __attribute__((__always_inline__)) + constexpr + pointer + _M_use_local_data() noexcept + { + + + + return _M_local_data(); + } + + private: +# 389 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + size_type + _M_check(size_type __pos, const char* __s) const + { + if (__pos > this->size()) + __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") + , + __s, __pos, this->size()); + return __pos; + } + + + void + _M_check_length(size_type __n1, size_type __n2, const char* __s) const + { + if (this->max_size() - (this->size() - __n1) < __n2) + __throw_length_error((__s)); + } + + + + + size_type + _M_limit(size_type __pos, size_type __off) const noexcept + { + const bool __testoff = __off < this->size() - __pos; + return __testoff ? __off : this->size() - __pos; + } + + + bool + _M_disjunct(const _CharT* __s) const noexcept + { + return (less()(__s, _M_data()) + || less()(_M_data() + this->size(), __s)); + } + + + + + static void + _S_copy(_CharT* __d, const _CharT* __s, size_type __n) + { + if (__n == 1) + traits_type::assign(*__d, *__s); + else + traits_type::copy(__d, __s, __n); + } + + + static void + _S_move(_CharT* __d, const _CharT* __s, size_type __n) + { + if (__n == 1) + traits_type::assign(*__d, *__s); + else + traits_type::move(__d, __s, __n); + } + + + static void + _S_assign(_CharT* __d, size_type __n, _CharT __c) + { + if (__n == 1) + traits_type::assign(*__d, __c); + else + traits_type::assign(__d, __n, __c); + } + + + + template + + static void + _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) + { + for (; __k1 != __k2; ++__k1, (void)++__p) + traits_type::assign(*__p, *__k1); + } + + + static void + _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept + { _S_copy_chars(__p, __k1.base(), __k2.base()); } + + + static void + _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) + noexcept + { _S_copy_chars(__p, __k1.base(), __k2.base()); } + + + static void + _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept + { _S_copy(__p, __k1, __k2 - __k1); } + + + static void + _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) + noexcept + { _S_copy(__p, __k1, __k2 - __k1); } + + + static int + _S_compare(size_type __n1, size_type __n2) noexcept + { + const difference_type __d = difference_type(__n1 - __n2); + + if (__d > __gnu_cxx::__numeric_traits::__max) + return __gnu_cxx::__numeric_traits::__max; + else if (__d < __gnu_cxx::__numeric_traits::__min) + return __gnu_cxx::__numeric_traits::__min; + else + return int(__d); + } + + + void + _M_assign(const basic_string&); + + + void + _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, + size_type __len2); + + + void + _M_erase(size_type __pos, size_type __n); + + public: + + + + + + + + + basic_string() + noexcept(is_nothrow_default_constructible<_Alloc>::value) + : _M_dataplus(_M_local_data()) + { + _M_init_local_buf(); + _M_set_length(0); + } + + + + + + explicit + basic_string(const _Alloc& __a) noexcept + : _M_dataplus(_M_local_data(), __a) + { + _M_init_local_buf(); + _M_set_length(0); + } + + + + + + + basic_string(const basic_string& __str) + : _M_dataplus(_M_local_data(), + _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) + { + _M_construct(__str._M_data(), __str._M_data() + __str.length(), + std::forward_iterator_tag()); + } +# 568 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string(const basic_string& __str, size_type __pos, + const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { + const _CharT* __start = __str._M_data() + + __str._M_check(__pos, "basic_string::basic_string"); + _M_construct(__start, __start + __str._M_limit(__pos, npos), + std::forward_iterator_tag()); + } + + + + + + + + + basic_string(const basic_string& __str, size_type __pos, + size_type __n) + : _M_dataplus(_M_local_data()) + { + const _CharT* __start = __str._M_data() + + __str._M_check(__pos, "basic_string::basic_string"); + _M_construct(__start, __start + __str._M_limit(__pos, __n), + std::forward_iterator_tag()); + } +# 603 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string(const basic_string& __str, size_type __pos, + size_type __n, const _Alloc& __a) + : _M_dataplus(_M_local_data(), __a) + { + const _CharT* __start + = __str._M_data() + __str._M_check(__pos, "string::string"); + _M_construct(__start, __start + __str._M_limit(__pos, __n), + std::forward_iterator_tag()); + } +# 623 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string(const _CharT* __s, size_type __n, + const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { + + if (__s == 0 && __n > 0) + std::__throw_logic_error(("basic_string: " "construction from null is not valid") + ); + _M_construct(__s, __s + __n, std::forward_iterator_tag()); + } +# 643 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + + basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { + + if (__s == 0) + std::__throw_logic_error(("basic_string: " "construction from null is not valid") + ); + const _CharT* __end = __s + traits_type::length(__s); + _M_construct(__s, __end, forward_iterator_tag()); + } +# 666 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + + basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__n, __c); } +# 681 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string(basic_string&& __str) noexcept + : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) + { + if (__str._M_is_local()) + { + _M_init_local_buf(); + traits_type::copy(_M_local_buf, __str._M_local_buf, + __str.length() + 1); + } + else + { + _M_data(__str._M_data()); + _M_capacity(__str._M_allocated_capacity); + } + + + + + _M_length(__str.length()); + __str._M_data(__str._M_use_local_data()); + __str._M_set_length(0); + } + + + + + + + + basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); } + + + basic_string(const basic_string& __str, const _Alloc& __a) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); } + + + basic_string(basic_string&& __str, const _Alloc& __a) + noexcept(_Alloc_traits::_S_always_equal()) + : _M_dataplus(_M_local_data(), __a) + { + if (__str._M_is_local()) + { + _M_init_local_buf(); + traits_type::copy(_M_local_buf, __str._M_local_buf, + __str.length() + 1); + _M_length(__str.length()); + __str._M_set_length(0); + } + else if (_Alloc_traits::_S_always_equal() + || __str.get_allocator() == __a) + { + _M_data(__str._M_data()); + _M_length(__str.length()); + _M_capacity(__str._M_allocated_capacity); + __str._M_data(__str._M_use_local_data()); + __str._M_set_length(0); + } + else + _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); + } +# 759 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + + + + basic_string(_InputIterator __beg, _InputIterator __end, + const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a), _M_string_length(0) + { + + _M_construct(__beg, __end, std::__iterator_category(__beg)); + + + + + } +# 785 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template>> + + basic_string(const _Tp& __t, size_type __pos, size_type __n, + const _Alloc& __a = _Alloc()) + : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { } + + + + + + + template> + + explicit + basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) + : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } + + + + + + + ~basic_string() + { _M_dispose(); } + + + + + + + basic_string& + operator=(const basic_string& __str) + { + return this->assign(__str); + } + + + + + + + basic_string& + operator=(const _CharT* __s) + { return this->assign(__s); } +# 838 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + operator=(_CharT __c) + { + this->assign(1, __c); + return *this; + } +# 856 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + operator=(basic_string&& __str) + noexcept(_Alloc_traits::_S_nothrow_move()) + { + const bool __equal_allocs = _Alloc_traits::_S_always_equal() + || _M_get_allocator() == __str._M_get_allocator(); + if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() + && !__equal_allocs) + { + + _M_destroy(_M_allocated_capacity); + _M_data(_M_local_data()); + _M_set_length(0); + } + + std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); + + if (__str._M_is_local()) + { + + + + if (__builtin_expect(std::__addressof(__str) != this, true)) + { + if (__str.size()) + this->_S_copy(_M_data(), __str._M_data(), __str.size()); + _M_set_length(__str.size()); + } + } + else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs) + { + + pointer __data = nullptr; + size_type __capacity; + if (!_M_is_local()) + { + if (__equal_allocs) + { + + __data = _M_data(); + __capacity = _M_allocated_capacity; + } + else + _M_destroy(_M_allocated_capacity); + } + + _M_data(__str._M_data()); + _M_length(__str.length()); + _M_capacity(__str._M_allocated_capacity); + if (__data) + { + __str._M_data(__data); + __str._M_capacity(__capacity); + } + else + __str._M_data(__str._M_use_local_data()); + } + else + assign(__str); + __str.clear(); + return *this; + } + + + + + + + basic_string& + operator=(initializer_list<_CharT> __l) + { + this->assign(__l.begin(), __l.size()); + return *this; + } + + + + + + + + template + + _If_sv<_Tp, basic_string&> + operator=(const _Tp& __svt) + { return this->assign(__svt); } + + + + + + + operator __sv_type() const noexcept + { return __sv_type(data(), size()); } + + + + + + + + [[__nodiscard__]] + iterator + begin() noexcept + { return iterator(_M_data()); } + + + + + + [[__nodiscard__]] + const_iterator + begin() const noexcept + { return const_iterator(_M_data()); } + + + + + + [[__nodiscard__]] + iterator + end() noexcept + { return iterator(_M_data() + this->size()); } + + + + + + [[__nodiscard__]] + const_iterator + end() const noexcept + { return const_iterator(_M_data() + this->size()); } + + + + + + + [[__nodiscard__]] + reverse_iterator + rbegin() noexcept + { return reverse_iterator(this->end()); } + + + + + + + [[__nodiscard__]] + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + + + + + + [[__nodiscard__]] + reverse_iterator + rend() noexcept + { return reverse_iterator(this->begin()); } + + + + + + + [[__nodiscard__]] + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(this->begin()); } + + + + + + + [[__nodiscard__]] + const_iterator + cbegin() const noexcept + { return const_iterator(this->_M_data()); } + + + + + + [[__nodiscard__]] + const_iterator + cend() const noexcept + { return const_iterator(this->_M_data() + this->size()); } + + + + + + + [[__nodiscard__]] + const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + + + + + + [[__nodiscard__]] + const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(this->begin()); } + + + public: + + + + [[__nodiscard__]] + size_type + size() const noexcept + { return _M_string_length; } + + + + [[__nodiscard__]] + size_type + length() const noexcept + { return _M_string_length; } + + + [[__nodiscard__]] + size_type + max_size() const noexcept + { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } +# 1102 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + void + resize(size_type __n, _CharT __c); +# 1116 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + void + resize(size_type __n) + { this->resize(__n, _CharT()); } + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + void + shrink_to_fit() noexcept + { reserve(); } +#pragma GCC diagnostic pop +# 1169 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + void + __resize_and_overwrite(size_type __n, _Operation __op); + + + + + + + [[__nodiscard__]] + size_type + capacity() const noexcept + { + return _M_is_local() ? size_type(_S_local_capacity) + : _M_allocated_capacity; + } +# 1203 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + void + reserve(size_type __res_arg); + + + + + + + + + void + reserve(); + + + + + + void + clear() noexcept + { _M_set_length(0); } + + + + + + [[__nodiscard__]] + bool + empty() const noexcept + { return this->size() == 0; } +# 1245 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + const_reference + operator[] (size_type __pos) const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); + return _M_data()[__pos]; + } +# 1263 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + reference + operator[](size_type __pos) + { + + + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); + + ; + return _M_data()[__pos]; + } +# 1285 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + const_reference + at(size_type __n) const + { + if (__n >= this->size()) + __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") + + , + __n, this->size()); + return _M_data()[__n]; + } +# 1307 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + reference + at(size_type __n) + { + if (__n >= size()) + __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") + + , + __n, this->size()); + return _M_data()[__n]; + } + + + + + + + [[__nodiscard__]] + reference + front() noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); + return operator[](0); + } + + + + + + [[__nodiscard__]] + const_reference + front() const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); + return operator[](0); + } + + + + + + [[__nodiscard__]] + reference + back() noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); + return operator[](this->size() - 1); + } + + + + + + [[__nodiscard__]] + const_reference + back() const noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); + return operator[](this->size() - 1); + } +# 1375 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + operator+=(const basic_string& __str) + { return this->append(__str); } + + + + + + + + basic_string& + operator+=(const _CharT* __s) + { return this->append(__s); } + + + + + + + + basic_string& + operator+=(_CharT __c) + { + this->push_back(__c); + return *this; + } + + + + + + + + + basic_string& + operator+=(initializer_list<_CharT> __l) + { return this->append(__l.begin(), __l.size()); } +# 1421 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + operator+=(const _Tp& __svt) + { return this->append(__svt); } + + + + + + + + + basic_string& + append(const basic_string& __str) + { return this->append(__str._M_data(), __str.size()); } +# 1451 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + append(const basic_string& __str, size_type __pos, size_type __n = npos) + { return this->append(__str._M_data() + + __str._M_check(__pos, "basic_string::append"), + __str._M_limit(__pos, __n)); } + + + + + + + + + basic_string& + append(const _CharT* __s, size_type __n) + { + ; + _M_check_length(size_type(0), __n, "basic_string::append"); + return _M_append(__s, __n); + } + + + + + + + + basic_string& + append(const _CharT* __s) + { + ; + const size_type __n = traits_type::length(__s); + _M_check_length(size_type(0), __n, "basic_string::append"); + return _M_append(__s, __n); + } +# 1496 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + append(size_type __n, _CharT __c) + { return _M_replace_aux(this->size(), size_type(0), __n, __c); } + + + + + + + + + basic_string& + append(initializer_list<_CharT> __l) + { return this->append(__l.begin(), __l.size()); } +# 1522 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + + + + basic_string& + append(_InputIterator __first, _InputIterator __last) + { return this->replace(end(), end(), __first, __last); } + + + + + + + + template + + _If_sv<_Tp, basic_string&> + append(const _Tp& __svt) + { + __sv_type __sv = __svt; + return this->append(__sv.data(), __sv.size()); + } +# 1554 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + append(const _Tp& __svt, size_type __pos, size_type __n = npos) + { + __sv_type __sv = __svt; + return _M_append(__sv.data() + + std::__sv_check(__sv.size(), __pos, "basic_string::append"), + std::__sv_limit(__sv.size(), __pos, __n)); + } + + + + + + + + void + push_back(_CharT __c) + { + const size_type __size = this->size(); + if (__size + 1 > this->capacity()) + this->_M_mutate(__size, size_type(0), 0, size_type(1)); + traits_type::assign(this->_M_data()[__size], __c); + this->_M_set_length(__size + 1); + } + + + + + + + + basic_string& + assign(const basic_string& __str) + { + + if (_Alloc_traits::_S_propagate_on_copy_assign()) + { + if (!_Alloc_traits::_S_always_equal() && !_M_is_local() + && _M_get_allocator() != __str._M_get_allocator()) + { + + + if (__str.size() <= _S_local_capacity) + { + _M_destroy(_M_allocated_capacity); + _M_data(_M_use_local_data()); + _M_set_length(0); + } + else + { + const auto __len = __str.size(); + auto __alloc = __str._M_get_allocator(); + + auto __ptr = _S_allocate(__alloc, __len + 1); + _M_destroy(_M_allocated_capacity); + _M_data(__ptr); + _M_capacity(__len); + _M_set_length(__len); + } + } + std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); + } + + this->_M_assign(__str); + return *this; + } +# 1632 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(basic_string&& __str) + noexcept(_Alloc_traits::_S_nothrow_move()) + { + + + return *this = std::move(__str); + } +# 1656 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(const basic_string& __str, size_type __pos, size_type __n = npos) + { return _M_replace(size_type(0), this->size(), __str._M_data() + + __str._M_check(__pos, "basic_string::assign"), + __str._M_limit(__pos, __n)); } +# 1673 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(const _CharT* __s, size_type __n) + { + ; + return _M_replace(size_type(0), this->size(), __s, __n); + } +# 1690 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(const _CharT* __s) + { + ; + return _M_replace(size_type(0), this->size(), __s, + traits_type::length(__s)); + } +# 1708 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(size_type __n, _CharT __c) + { return _M_replace_aux(size_type(0), this->size(), __n, __c); } +# 1722 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++17-extensions" + template> + + basic_string& + assign(_InputIterator __first, _InputIterator __last) + { + + + + + if constexpr (__is_one_of<_InputIterator, const_iterator, iterator, + const _CharT*, _CharT*>::value) + + { + ; + return _M_replace(size_type(0), size(), + std::__to_address(__first), __last - __first); + } + else + return *this = basic_string(__first, __last, get_allocator()); + } +#pragma GCC diagnostic pop +# 1759 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + assign(initializer_list<_CharT> __l) + { + + + const size_type __n = __l.size(); + if (__n > capacity()) + *this = basic_string(__l.begin(), __l.end(), get_allocator()); + else + { + if (__n) + _S_copy(_M_data(), __l.begin(), __n); + _M_set_length(__n); + } + return *this; + } +# 1784 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + assign(const _Tp& __svt) + { + __sv_type __sv = __svt; + return this->assign(__sv.data(), __sv.size()); + } +# 1800 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + assign(const _Tp& __svt, size_type __pos, size_type __n = npos) + { + __sv_type __sv = __svt; + return _M_replace(size_type(0), this->size(), + __sv.data() + + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), + std::__sv_limit(__sv.size(), __pos, __n)); + } +# 1829 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + iterator + insert(const_iterator __p, size_type __n, _CharT __c) + { + ; + const size_type __pos = __p - begin(); + this->replace(__p, __p, __n, __c); + return iterator(this->_M_data() + __pos); + } +# 1872 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + iterator + insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) + { + ; + const size_type __pos = __p - begin(); + this->replace(__p, __p, __beg, __end); + return iterator(this->_M_data() + __pos); + } +# 1909 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + iterator + insert(const_iterator __p, initializer_list<_CharT> __l) + { return this->insert(__p, __l.begin(), __l.end()); } +# 1937 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + insert(size_type __pos1, const basic_string& __str) + { return this->replace(__pos1, size_type(0), + __str._M_data(), __str.size()); } +# 1961 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + insert(size_type __pos1, const basic_string& __str, + size_type __pos2, size_type __n = npos) + { return this->replace(__pos1, size_type(0), __str._M_data() + + __str._M_check(__pos2, "basic_string::insert"), + __str._M_limit(__pos2, __n)); } +# 1985 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + insert(size_type __pos, const _CharT* __s, size_type __n) + { return this->replace(__pos, size_type(0), __s, __n); } +# 2005 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + insert(size_type __pos, const _CharT* __s) + { + ; + return this->replace(__pos, size_type(0), __s, + traits_type::length(__s)); + } +# 2030 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + insert(size_type __pos, size_type __n, _CharT __c) + { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), + size_type(0), __n, __c); } +# 2049 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + iterator + insert(__const_iterator __p, _CharT __c) + { + ; + const size_type __pos = __p - begin(); + _M_replace_aux(__pos, size_type(0), size_type(1), __c); + return iterator(_M_data() + __pos); + } +# 2066 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + insert(size_type __pos, const _Tp& __svt) + { + __sv_type __sv = __svt; + return this->insert(__pos, __sv.data(), __sv.size()); + } +# 2083 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + insert(size_type __pos1, const _Tp& __svt, + size_type __pos2, size_type __n = npos) + { + __sv_type __sv = __svt; + return this->replace(__pos1, size_type(0), + __sv.data() + + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"), + std::__sv_limit(__sv.size(), __pos2, __n)); + } +# 2112 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + erase(size_type __pos = 0, size_type __n = npos) + { + _M_check(__pos, "basic_string::erase"); + if (__n == npos) + this->_M_set_length(__pos); + else if (__n != 0) + this->_M_erase(__pos, _M_limit(__pos, __n)); + return *this; + } +# 2132 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + iterator + erase(__const_iterator __position) + { + + ; + const size_type __pos = __position - begin(); + this->_M_erase(__pos, size_type(1)); + return iterator(_M_data() + __pos); + } +# 2152 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + iterator + erase(__const_iterator __first, __const_iterator __last) + { + + ; + const size_type __pos = __first - begin(); + if (__last == end()) + this->_M_set_length(__pos); + else + this->_M_erase(__pos, __last - __first); + return iterator(this->_M_data() + __pos); + } + + + + + + + + + void + pop_back() noexcept + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); + _M_erase(size() - 1, 1); + } +# 2198 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(size_type __pos, size_type __n, const basic_string& __str) + { return this->replace(__pos, __n, __str._M_data(), __str.size()); } +# 2221 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(size_type __pos1, size_type __n1, const basic_string& __str, + size_type __pos2, size_type __n2 = npos) + { return this->replace(__pos1, __n1, __str._M_data() + + __str._M_check(__pos2, "basic_string::replace"), + __str._M_limit(__pos2, __n2)); } +# 2247 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) + { + ; + return _M_replace(_M_check(__pos, "basic_string::replace"), + _M_limit(__pos, __n1), __s, __n2); + } +# 2273 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(size_type __pos, size_type __n1, const _CharT* __s) + { + ; + return this->replace(__pos, __n1, __s, traits_type::length(__s)); + } +# 2298 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) + { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), + _M_limit(__pos, __n1), __n2, __c); } +# 2317 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const basic_string& __str) + { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } +# 2338 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const _CharT* __s, size_type __n) + { + + ; + return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); + } +# 2361 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) + { + ; + return this->replace(__i1, __i2, __s, traits_type::length(__s)); + } +# 2383 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, size_type __n, + _CharT __c) + { + + ; + return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); + } +# 2409 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template> + + basic_string& + replace(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2) + { + + ; + ; + return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, + std::__false_type()); + } +# 2442 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + _CharT* __k1, _CharT* __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1, __k2 - __k1); + } + + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const _CharT* __k1, const _CharT* __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1, __k2 - __k1); + } + + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + iterator __k1, iterator __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1.base(), __k2 - __k1); + } + + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const_iterator __k1, const_iterator __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1.base(), __k2 - __k1); + } +# 2505 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + basic_string& replace(const_iterator __i1, const_iterator __i2, + initializer_list<_CharT> __l) + { return this->replace(__i1, __i2, __l.begin(), __l.size()); } +# 2519 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + replace(size_type __pos, size_type __n, const _Tp& __svt) + { + __sv_type __sv = __svt; + return this->replace(__pos, __n, __sv.data(), __sv.size()); + } +# 2537 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + replace(size_type __pos1, size_type __n1, const _Tp& __svt, + size_type __pos2, size_type __n2 = npos) + { + __sv_type __sv = __svt; + return this->replace(__pos1, __n1, + __sv.data() + + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"), + std::__sv_limit(__sv.size(), __pos2, __n2)); + } +# 2559 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + _If_sv<_Tp, basic_string&> + replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt) + { + __sv_type __sv = __svt; + return this->replace(__i1 - begin(), __i2 - __i1, __sv); + } + + + private: + template + + basic_string& + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _Integer __n, _Integer __val, __true_type) + { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } + + template + + basic_string& + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2, + __false_type); + + + basic_string& + _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, + _CharT __c); + + __attribute__((__noinline__, __noclone__, __cold__)) void + _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, + const size_type __len2, const size_type __how_much); + + + basic_string& + _M_replace(size_type __pos, size_type __len1, const _CharT* __s, + const size_type __len2); + + + basic_string& + _M_append(const _CharT* __s, size_type __n); + + public: +# 2616 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + size_type + copy(_CharT* __s, size_type __n, size_type __pos = 0) const; +# 2627 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + + void + swap(basic_string& __s) noexcept; +# 2638 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + const _CharT* + c_str() const noexcept + { return _M_data(); } +# 2651 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + const _CharT* + data() const noexcept + { return _M_data(); } +# 2663 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + _CharT* + data() noexcept + { return _M_data(); } + + + + + + [[__nodiscard__]] + allocator_type + get_allocator() const noexcept + { return _M_get_allocator(); } +# 2689 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find(const _CharT* __s, size_type __pos, size_type __n) const + noexcept; +# 2704 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find(__str.data(), __pos, __str.size()); } +# 2717 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + find(const _Tp& __svt, size_type __pos = 0) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->find(__sv.data(), __pos, __sv.size()); + } +# 2738 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find(const _CharT* __s, size_type __pos = 0) const noexcept + { + ; + return this->find(__s, __pos, traits_type::length(__s)); + } +# 2756 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find(_CharT __c, size_type __pos = 0) const noexcept; +# 2770 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + rfind(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->rfind(__str.data(), __pos, __str.size()); } +# 2783 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + rfind(const _Tp& __svt, size_type __pos = npos) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->rfind(__sv.data(), __pos, __sv.size()); + } +# 2806 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + rfind(const _CharT* __s, size_type __pos, size_type __n) const + noexcept; +# 2821 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + rfind(const _CharT* __s, size_type __pos = npos) const + { + ; + return this->rfind(__s, __pos, traits_type::length(__s)); + } +# 2839 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + rfind(_CharT __c, size_type __pos = npos) const noexcept; +# 2854 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_of(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find_first_of(__str.data(), __pos, __str.size()); } +# 2868 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + find_first_of(const _Tp& __svt, size_type __pos = 0) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->find_first_of(__sv.data(), __pos, __sv.size()); + } +# 2891 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept; +# 2906 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_of(const _CharT* __s, size_type __pos = 0) const + noexcept + { + ; + return this->find_first_of(__s, __pos, traits_type::length(__s)); + } +# 2927 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_of(_CharT __c, size_type __pos = 0) const noexcept + { return this->find(__c, __pos); } +# 2943 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_of(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->find_last_of(__str.data(), __pos, __str.size()); } +# 2957 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + find_last_of(const _Tp& __svt, size_type __pos = npos) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->find_last_of(__sv.data(), __pos, __sv.size()); + } +# 2980 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept; +# 2995 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_of(const _CharT* __s, size_type __pos = npos) const + noexcept + { + ; + return this->find_last_of(__s, __pos, traits_type::length(__s)); + } +# 3016 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_of(_CharT __c, size_type __pos = npos) const noexcept + { return this->rfind(__c, __pos); } +# 3031 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_not_of(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find_first_not_of(__str.data(), __pos, __str.size()); } +# 3045 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + find_first_not_of(const _Tp& __svt, size_type __pos = 0) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->find_first_not_of(__sv.data(), __pos, __sv.size()); + } +# 3068 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_not_of(const _CharT* __s, size_type __pos, + size_type __n) const noexcept; +# 3083 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_not_of(const _CharT* __s, size_type __pos = 0) const + noexcept + { + ; + return this->find_first_not_of(__s, __pos, traits_type::length(__s)); + } +# 3102 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_first_not_of(_CharT __c, size_type __pos = 0) const + noexcept; +# 3118 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_not_of(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->find_last_not_of(__str.data(), __pos, __str.size()); } +# 3132 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, size_type> + find_last_not_of(const _Tp& __svt, size_type __pos = npos) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return this->find_last_not_of(__sv.data(), __pos, __sv.size()); + } +# 3155 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_not_of(const _CharT* __s, size_type __pos, + size_type __n) const noexcept; +# 3170 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_not_of(const _CharT* __s, size_type __pos = npos) const + noexcept + { + ; + return this->find_last_not_of(__s, __pos, traits_type::length(__s)); + } +# 3189 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + size_type + find_last_not_of(_CharT __c, size_type __pos = npos) const + noexcept; +# 3206 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + basic_string + substr(size_type __pos = 0, size_type __n = npos) const + { return basic_string(*this, + _M_check(__pos, "basic_string::substr"), __n); } +# 3226 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(const basic_string& __str) const + { + const size_type __size = this->size(); + const size_type __osize = __str.size(); + const size_type __len = std::min(__size, __osize); + + int __r = traits_type::compare(_M_data(), __str.data(), __len); + if (!__r) + __r = _S_compare(__size, __osize); + return __r; + } + + + + + + + + template + [[__nodiscard__]] + _If_sv<_Tp, int> + compare(const _Tp& __svt) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + const size_type __size = this->size(); + const size_type __osize = __sv.size(); + const size_type __len = std::min(__size, __osize); + + int __r = traits_type::compare(_M_data(), __sv.data(), __len); + if (!__r) + __r = _S_compare(__size, __osize); + return __r; + } +# 3271 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, int> + compare(size_type __pos, size_type __n, const _Tp& __svt) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return __sv_type(*this).substr(__pos, __n).compare(__sv); + } +# 3291 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + _If_sv<_Tp, int> + compare(size_type __pos1, size_type __n1, const _Tp& __svt, + size_type __pos2, size_type __n2 = npos) const + noexcept(is_same<_Tp, __sv_type>::value) + { + __sv_type __sv = __svt; + return __sv_type(*this) + .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2)); + } +# 3323 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(size_type __pos, size_type __n, const basic_string& __str) const + { + _M_check(__pos, "basic_string::compare"); + __n = _M_limit(__pos, __n); + const size_type __osize = __str.size(); + const size_type __len = std::min(__n, __osize); + int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); + if (!__r) + __r = _S_compare(__n, __osize); + return __r; + } +# 3360 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(size_type __pos1, size_type __n1, const basic_string& __str, + size_type __pos2, size_type __n2 = npos) const + { + _M_check(__pos1, "basic_string::compare"); + __str._M_check(__pos2, "basic_string::compare"); + __n1 = _M_limit(__pos1, __n1); + __n2 = __str._M_limit(__pos2, __n2); + const size_type __len = std::min(__n1, __n2); + int __r = traits_type::compare(_M_data() + __pos1, + __str.data() + __pos2, __len); + if (!__r) + __r = _S_compare(__n1, __n2); + return __r; + } +# 3391 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(const _CharT* __s) const noexcept + { + ; + const size_type __size = this->size(); + const size_type __osize = traits_type::length(__s); + const size_type __len = std::min(__size, __osize); + int __r = traits_type::compare(_M_data(), __s, __len); + if (!__r) + __r = _S_compare(__size, __osize); + return __r; + } +# 3426 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(size_type __pos, size_type __n1, const _CharT* __s) const + { + ; + _M_check(__pos, "basic_string::compare"); + __n1 = _M_limit(__pos, __n1); + const size_type __osize = traits_type::length(__s); + const size_type __len = std::min(__n1, __osize); + int __r = traits_type::compare(_M_data() + __pos, __s, __len); + if (!__r) + __r = _S_compare(__n1, __osize); + return __r; + } +# 3465 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + int + compare(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) const + { + ; + _M_check(__pos, "basic_string::compare"); + __n1 = _M_limit(__pos, __n1); + const size_type __len = std::min(__n1, __n2); + int __r = traits_type::compare(_M_data() + __pos, __s, __len); + if (!__r) + __r = _S_compare(__n1, __n2); + return __r; + } +# 3530 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template friend class basic_stringbuf; + }; +} + +} + + +namespace std +{ + + + +namespace __cxx11 { + template::value_type, + typename _Allocator = allocator<_CharT>, + typename = _RequireInputIter<_InputIterator>, + typename = _RequireAllocator<_Allocator>> + basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) + -> basic_string<_CharT, char_traits<_CharT>, _Allocator>; + + + + template, + typename = _RequireAllocator<_Allocator>> + basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) + -> basic_string<_CharT, _Traits, _Allocator>; + + template, + typename = _RequireAllocator<_Allocator>> + basic_string(basic_string_view<_CharT, _Traits>, + typename basic_string<_CharT, _Traits, _Allocator>::size_type, + typename basic_string<_CharT, _Traits, _Allocator>::size_type, + const _Allocator& = _Allocator()) + -> basic_string<_CharT, _Traits, _Allocator>; +} + + + template + + inline _Str + __str_concat(typename _Str::value_type const* __lhs, + typename _Str::size_type __lhs_len, + typename _Str::value_type const* __rhs, + typename _Str::size_type __rhs_len, + typename _Str::allocator_type const& __a) + { + typedef typename _Str::allocator_type allocator_type; + typedef __gnu_cxx::__alloc_traits _Alloc_traits; + _Str __str(_Alloc_traits::_S_select_on_copy(__a)); + __str.reserve(__lhs_len + __rhs_len); + __str.append(__lhs, __lhs_len); + __str.append(__rhs, __rhs_len); + return __str; + } +# 3595 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { + typedef basic_string<_CharT, _Traits, _Alloc> _Str; + return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), + __rhs.c_str(), __rhs.size(), + __lhs.get_allocator()); + } + + + + + + + + template + [[__nodiscard__]] + inline basic_string<_CharT,_Traits,_Alloc> + operator+(const _CharT* __lhs, + const basic_string<_CharT,_Traits,_Alloc>& __rhs) + { + ; + typedef basic_string<_CharT, _Traits, _Alloc> _Str; + return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs), + __rhs.c_str(), __rhs.size(), + __rhs.get_allocator()); + } + + + + + + + + template + [[__nodiscard__]] + inline basic_string<_CharT,_Traits,_Alloc> + operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) + { + typedef basic_string<_CharT, _Traits, _Alloc> _Str; + return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1, + __rhs.c_str(), __rhs.size(), + __rhs.get_allocator()); + } + + + + + + + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { + ; + typedef basic_string<_CharT, _Traits, _Alloc> _Str; + return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), + __rhs, _Traits::length(__rhs), + __lhs.get_allocator()); + } + + + + + + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) + { + typedef basic_string<_CharT, _Traits, _Alloc> _Str; + return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), + __builtin_addressof(__rhs), 1, + __lhs.get_allocator()); + } + + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return std::move(__lhs.append(__rhs)); } + + template + + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { + + using _Alloc_traits = allocator_traits<_Alloc>; + bool __use_rhs = false; + if constexpr (typename _Alloc_traits::is_always_equal{}) + __use_rhs = true; + else if (__lhs.get_allocator() == __rhs.get_allocator()) + __use_rhs = true; + if (__use_rhs) + + { + const auto __size = __lhs.size() + __rhs.size(); + if (__size > __lhs.capacity() && __size <= __rhs.capacity()) + return std::move(__rhs.insert(0, __lhs)); + } + return std::move(__lhs.append(__rhs)); + } + + template + [[__nodiscard__]] [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const _CharT* __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(_CharT __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, 1, __lhs)); } + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const _CharT* __rhs) + { return std::move(__lhs.append(__rhs)); } + + template + [[__nodiscard__]] + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + _CharT __rhs) + { return std::move(__lhs.append(1, __rhs)); } +# 3752 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { + return __lhs.size() == __rhs.size() + && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size()); + } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { + return __lhs.size() == _Traits::length(__rhs) + && !_Traits::compare(__lhs.data(), __rhs, __lhs.size()); + } +# 3816 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator==(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs == __lhs; } +# 3830 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return !(__lhs == __rhs); } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator!=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return !(__rhs == __lhs); } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return !(__lhs == __rhs); } +# 3871 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) < 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) < 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator<(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) > 0; } +# 3912 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) > 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) > 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator>(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) < 0; } +# 3953 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) <= 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) <= 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator<=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) >= 0; } +# 3994 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + [[__nodiscard__]] + inline bool + operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) >= 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) >= 0; } + + + + + + + + template + [[__nodiscard__]] + inline bool + operator>=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) <= 0; } +# 4036 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + + inline void + swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, + basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept(noexcept(__lhs.swap(__rhs))) + { __lhs.swap(__rhs); } +# 4057 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str); + + template<> + basic_istream& + operator>>(basic_istream& __is, basic_string& __str); +# 4075 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT, _Traits, _Alloc>& __str) + { + + + return __ostream_insert(__os, __str.data(), __str.size()); + } +# 4098 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); +# 4115 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str) + { return std::getline(__is, __str, __is.widen('\n')); } + + + + template + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) + { return std::getline(__is, __str, __delim); } + + + template + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Alloc>& __str) + { return std::getline(__is, __str); } + + + template<> + basic_istream& + getline(basic_istream& __in, basic_string& __str, + char __delim); + + + template<> + basic_istream& + getline(basic_istream& __in, basic_string& __str, + wchar_t __delim); + + + +} + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 3 +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +# 44 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwchar" 3 +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 3 +# 96 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 3 +namespace std +{ + using ::FILE; + using ::fpos_t; + + using ::clearerr; + using ::fclose; + using ::feof; + using ::ferror; + using ::fflush; + using ::fgetc; + using ::fgetpos; + using ::fgets; + using ::fopen; + using ::fprintf; + using ::fputc; + using ::fputs; + using ::fread; + using ::freopen; + using ::fscanf; + using ::fseek; + using ::fsetpos; + using ::ftell; + using ::fwrite; + using ::getc; + using ::getchar; + + + + + using ::perror; + using ::printf; + using ::putc; + using ::putchar; + using ::puts; + using ::remove; + using ::rename; + using ::rewind; + using ::scanf; + using ::setbuf; + using ::setvbuf; + using ::sprintf; + using ::sscanf; + using ::tmpfile; + + using ::tmpnam; + + using ::ungetc; + using ::vfprintf; + using ::vprintf; + using ::vsprintf; +} +# 157 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 3 +namespace __gnu_cxx +{ +# 175 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdio" 3 + using ::snprintf; + using ::vfscanf; + using ::vscanf; + using ::vsnprintf; + using ::vsscanf; + +} + +namespace std +{ + using ::__gnu_cxx::snprintf; + using ::__gnu_cxx::vfscanf; + using ::__gnu_cxx::vscanf; + using ::__gnu_cxx::vsnprintf; + using ::__gnu_cxx::vsscanf; +} +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ext/string_conversions.h" 2 3 + +namespace __gnu_cxx +{ + + + + template + _Ret + __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), + const char* __name, const _CharT* __str, std::size_t* __idx, + _Base... __base) + { + _Ret __ret; + + _CharT* __endptr; + + struct _Save_errno { + _Save_errno() : _M_errno((*_errno())) { (*_errno()) = 0; } + ~_Save_errno() { if ((*_errno()) == 0) (*_errno()) = _M_errno; } + int _M_errno; + } const __save_errno; + + struct _Range_chk { + static bool + _S_chk(_TRet, std::false_type) { return false; } + + static bool + _S_chk(_TRet __val, std::true_type) + { + return __val < _TRet(__numeric_traits::__min) + || __val > _TRet(__numeric_traits::__max); + } + }; + + const _TRet __tmp = __convf(__str, &__endptr, __base...); + + if (__endptr == __str) + std::__throw_invalid_argument(__name); + else if ((*_errno()) == 34 + || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) + std::__throw_out_of_range(__name); + else + __ret = __tmp; + + if (__idx) + *__idx = __endptr - __str; + + return __ret; + } + + + template + _String + __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, + __builtin_va_list), std::size_t __n, + const _CharT* __fmt, ...) + { + + + _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __n)); + + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + + const int __len = __convf(__s, __n, __fmt, __args); + + __builtin_va_end(__args); + + return _String(__s, __s + __len); + } + + +} +# 4155 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/charconv.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/charconv.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/charconv.h" 3 + + + + + + +namespace std +{ + +namespace __detail +{ + + + template + constexpr bool __integer_to_chars_is_unsigned + = ! __gnu_cxx::__int_traits<_Tp>::__is_signed; + + + + template + constexpr unsigned + __to_chars_len(_Tp __value, int __base = 10) noexcept + { + + static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug"); + + + unsigned __n = 1; + const unsigned __b2 = __base * __base; + const unsigned __b3 = __b2 * __base; + const unsigned long __b4 = __b3 * __base; + for (;;) + { + if (__value < (unsigned)__base) return __n; + if (__value < __b2) return __n + 1; + if (__value < __b3) return __n + 2; + if (__value < __b4) return __n + 3; + __value /= __b4; + __n += 4; + } + } + + + + + template + void + __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept + { + + static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug"); + + + constexpr char __digits[201] = + "0001020304050607080910111213141516171819" + "2021222324252627282930313233343536373839" + "4041424344454647484950515253545556575859" + "6061626364656667686970717273747576777879" + "8081828384858687888990919293949596979899"; + unsigned __pos = __len - 1; + while (__val >= 100) + { + auto const __num = (__val % 100) * 2; + __val /= 100; + __first[__pos] = __digits[__num + 1]; + __first[__pos - 1] = __digits[__num]; + __pos -= 2; + } + if (__val >= 10) + { + auto const __num = __val * 2; + __first[1] = __digits[__num + 1]; + __first[0] = __digits[__num]; + } + else + __first[0] = '0' + __val; + } + +} + +} +# 4156 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 2 3 + +namespace std +{ + +namespace __cxx11 { + + + inline int + stoi(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), + __idx, __base); } + + inline long + stol(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), + __idx, __base); } + + inline unsigned long + stoul(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), + __idx, __base); } + + + inline long long + stoll(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), + __idx, __base); } + + inline unsigned long long + stoull(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), + __idx, __base); } +# 4198 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + inline double + stod(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } + + + + inline float + stof(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } +# 4226 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + inline long double + stold(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } +# 4238 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + inline string + to_string(int __val) + + noexcept + + { + const bool __neg = __val < 0; + const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; + const auto __len = __detail::__to_chars_len(__uval); + string __str; + __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { + __p[0] = '-'; + __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); + return __n; + }); + return __str; + } + + [[__nodiscard__]] + inline string + to_string(unsigned __val) + + noexcept + + { + const auto __len = __detail::__to_chars_len(__val); + string __str; + __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { + __detail::__to_chars_10_impl(__p, __n, __val); + return __n; + }); + return __str; + } + + [[__nodiscard__]] + inline string + to_string(long __val) + + noexcept + + { + const bool __neg = __val < 0; + const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val; + const auto __len = __detail::__to_chars_len(__uval); + string __str; + __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { + __p[0] = '-'; + __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); + return __n; + }); + return __str; + } + + [[__nodiscard__]] + inline string + to_string(unsigned long __val) + + noexcept + + { + const auto __len = __detail::__to_chars_len(__val); + string __str; + __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { + __detail::__to_chars_10_impl(__p, __n, __val); + return __n; + }); + return __str; + } + + [[__nodiscard__]] + inline string + to_string(long long __val) + { + const bool __neg = __val < 0; + const unsigned long long __uval + = __neg ? (unsigned long long)~__val + 1ull : __val; + const auto __len = __detail::__to_chars_len(__uval); + string __str; + __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { + __p[0] = '-'; + __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); + return __n; + }); + return __str; + } + + [[__nodiscard__]] + inline string + to_string(unsigned long long __val) + { + const auto __len = __detail::__to_chars_len(__val); + string __str; + __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { + __detail::__to_chars_10_impl(__p, __n, __val); + return __n; + }); + return __str; + } +# 4399 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + [[__nodiscard__]] + inline string + to_string(float __val) + { + const int __n = + __gnu_cxx::__numeric_traits::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, + "%f", __val); + } + + [[__nodiscard__]] + inline string + to_string(double __val) + { + const int __n = + __gnu_cxx::__numeric_traits::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, + "%f", __val); + } + + [[__nodiscard__]] + inline string + to_string(long double __val) + { + const int __n = + __gnu_cxx::__numeric_traits::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, + "%Lf", __val); + } + + + + inline int + stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), + __idx, __base); } + + inline long + stol(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), + __idx, __base); } + + inline unsigned long + stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), + __idx, __base); } + + inline long long + stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), + __idx, __base); } + + inline unsigned long long + stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), + __idx, __base); } + + + inline float + stof(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } + + inline double + stod(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } + + inline long double + stold(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } + + + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++17-extensions" + + inline void + __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout) + { + + + if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' + && wchar_t('.') == L'.' && wchar_t('e') == L'e') + { + for (int __i = 0; __i < __len; ++__i) + __wout[__i] = (wchar_t) __s[__i]; + } + else + { + wchar_t __wc[256]; + for (int __i = '0'; __i <= '9'; ++__i) + __wc[__i] = L'0' + __i; + __wc['.'] = L'.'; + __wc['+'] = L'+'; + __wc['-'] = L'-'; + __wc['a'] = L'a'; + __wc['b'] = L'b'; + __wc['c'] = L'c'; + __wc['d'] = L'd'; + __wc['e'] = L'e'; + __wc['f'] = L'f'; + __wc['n'] = L'n'; + __wc['p'] = L'p'; + __wc['x'] = L'x'; + __wc['A'] = L'A'; + __wc['B'] = L'B'; + __wc['C'] = L'C'; + __wc['D'] = L'D'; + __wc['E'] = L'E'; + __wc['F'] = L'F'; + __wc['N'] = L'N'; + __wc['P'] = L'P'; + __wc['X'] = L'X'; + + for (int __i = 0; __i < __len; ++__i) + __wout[__i] = __wc[(int)__s[__i]]; + } + } + + + + + inline wstring + + __to_wstring_numeric(string_view __s) + + + + { + if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' + && wchar_t('.') == L'.' && wchar_t('e') == L'e') + return wstring(__s.data(), __s.data() + __s.size()); + else + { + wstring __ws; + auto __f = __s.data(); + __ws.__resize_and_overwrite(__s.size(), + [__f] (wchar_t* __to, int __n) { + std::__to_wstring_numeric(__f, __n, __to); + return __n; + }); + return __ws; + } + } +#pragma GCC diagnostic pop + + [[__nodiscard__]] + inline wstring + to_wstring(int __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(unsigned __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(long __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(unsigned long __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(long long __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(unsigned long long __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + + [[__nodiscard__]] + inline wstring + to_wstring(float __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(double __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + [[__nodiscard__]] + inline wstring + to_wstring(long double __val) + { return std::__to_wstring_numeric(std::to_string(__val)); } + + + +} + +} + + + + + + + +namespace std +{ + + + + + + template, _Alloc>> + struct __str_hash_base + : public __hash_base + { + [[__nodiscard__]] + size_t + operator()(const _StrT& __s) const noexcept + { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); } + }; + + + + template + struct hash, _Alloc>> + : public __str_hash_base + { }; + + + template + struct hash, _Alloc>> + : public __str_hash_base + { }; + + template + struct __is_fast_hash, + _Alloc>>> + : std::false_type + { }; +# 4649 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + template + struct hash, _Alloc>> + : public __str_hash_base + { }; + + + template + struct hash, _Alloc>> + : public __str_hash_base + { }; + + + + template<> struct __is_fast_hash> : std::false_type { }; + template<> struct __is_fast_hash> : std::false_type { }; + template<> struct __is_fast_hash> : std::false_type { }; + template<> struct __is_fast_hash> : std::false_type { }; +# 4678 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + inline namespace literals + { + inline namespace string_literals + { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wliteral-suffix" + + + + + + + + __attribute ((__abi_tag__ ("cxx11"))) + inline basic_string + operator""s(const char* __str, size_t __len) + { return basic_string{__str, __len}; } + + __attribute ((__abi_tag__ ("cxx11"))) + inline basic_string + operator""s(const wchar_t* __str, size_t __len) + { return basic_string{__str, __len}; } +# 4708 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.h" 3 + __attribute ((__abi_tag__ ("cxx11"))) + inline basic_string + operator""s(const char16_t* __str, size_t __len) + { return basic_string{__str, __len}; } + + __attribute ((__abi_tag__ ("cxx11"))) + inline basic_string + operator""s(const char32_t* __str, size_t __len) + { return basic_string{__str, __len}; } + + +#pragma GCC diagnostic pop + } + } + + + + namespace __detail::__variant + { + template struct _Never_valueless_alt; + + + + template + struct _Never_valueless_alt> + : __and_< + is_nothrow_move_constructible>, + is_nothrow_move_assignable> + >::type + { }; + } + + + +} +# 55 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 1 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + + + +namespace std +{ + + + + + template + const typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>::npos; + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + swap(basic_string& __s) noexcept + { + if (this == std::__addressof(__s)) + return; + + _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); + + if (_M_is_local()) + if (__s._M_is_local()) + { + if (length() && __s.length()) + { + _CharT __tmp_data[_S_local_capacity + 1]; + traits_type::copy(__tmp_data, __s._M_local_buf, + __s.length() + 1); + traits_type::copy(__s._M_local_buf, _M_local_buf, + length() + 1); + traits_type::copy(_M_local_buf, __tmp_data, + __s.length() + 1); + } + else if (__s.length()) + { + _M_init_local_buf(); + traits_type::copy(_M_local_buf, __s._M_local_buf, + __s.length() + 1); + _M_length(__s.length()); + __s._M_set_length(0); + return; + } + else if (length()) + { + __s._M_init_local_buf(); + traits_type::copy(__s._M_local_buf, _M_local_buf, + length() + 1); + __s._M_length(length()); + _M_set_length(0); + return; + } + } + else + { + const size_type __tmp_capacity = __s._M_allocated_capacity; + __s._M_init_local_buf(); + traits_type::copy(__s._M_local_buf, _M_local_buf, + length() + 1); + _M_data(__s._M_data()); + __s._M_data(__s._M_local_buf); + _M_capacity(__tmp_capacity); + } + else + { + const size_type __tmp_capacity = _M_allocated_capacity; + if (__s._M_is_local()) + { + _M_init_local_buf(); + traits_type::copy(_M_local_buf, __s._M_local_buf, + __s.length() + 1); + __s._M_data(_M_data()); + _M_data(_M_local_buf); + } + else + { + pointer __tmp_ptr = _M_data(); + _M_data(__s._M_data()); + __s._M_data(__tmp_ptr); + _M_capacity(__s._M_allocated_capacity); + } + __s._M_capacity(__tmp_capacity); + } + + const size_type __tmp_length = length(); + _M_length(__s.length()); + __s._M_length(__tmp_length); + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::pointer + basic_string<_CharT, _Traits, _Alloc>:: + _M_create(size_type& __capacity, size_type __old_capacity) + { + + + if (__capacity > max_size()) + std::__throw_length_error(("basic_string::_M_create")); + + + + + if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) + { + __capacity = 2 * __old_capacity; + + if (__capacity > max_size()) + __capacity = max_size(); + } + + + + return _S_allocate(_M_get_allocator(), __capacity + 1); + } + + + + + + template + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(_InIterator __beg, _InIterator __end, + std::input_iterator_tag) + { + size_type __len = 0; + size_type __capacity = size_type(_S_local_capacity); + + _M_init_local_buf(); + + while (__beg != __end && __len < __capacity) + { + _M_local_buf[__len++] = *__beg; + ++__beg; + } + + struct _Guard + { + + explicit _Guard(basic_string* __s) : _M_guarded(__s) { } + + + ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } + + basic_string* _M_guarded; + } __guard(this); + + while (__beg != __end) + { + if (__len == __capacity) + { + + __capacity = __len + 1; + pointer __another = _M_create(__capacity, __len); + this->_S_copy(__another, _M_data(), __len); + _M_dispose(); + _M_data(__another); + _M_capacity(__capacity); + } + traits_type::assign(_M_data()[__len++], *__beg); + ++__beg; + } + + __guard._M_guarded = 0; + + _M_set_length(__len); + } + + template + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(_InIterator __beg, _InIterator __end, + std::forward_iterator_tag) + { + size_type __dnew = static_cast(std::distance(__beg, __end)); + + if (__dnew > size_type(_S_local_capacity)) + { + _M_data(_M_create(__dnew, size_type(0))); + _M_capacity(__dnew); + } + else + _M_init_local_buf(); + + + struct _Guard + { + + explicit _Guard(basic_string* __s) : _M_guarded(__s) { } + + + ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } + + basic_string* _M_guarded; + } __guard(this); + + this->_S_copy_chars(_M_data(), __beg, __end); + + __guard._M_guarded = 0; + + _M_set_length(__dnew); + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(size_type __n, _CharT __c) + { + if (__n > size_type(_S_local_capacity)) + { + _M_data(_M_create(__n, size_type(0))); + _M_capacity(__n); + } + else + _M_init_local_buf(); + + if (__n) + this->_S_assign(_M_data(), __n, __c); + + _M_set_length(__n); + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_assign(const basic_string& __str) + { + if (this != std::__addressof(__str)) + { + const size_type __rsize = __str.length(); + const size_type __capacity = capacity(); + + if (__rsize > __capacity) + { + size_type __new_capacity = __rsize; + pointer __tmp = _M_create(__new_capacity, __capacity); + _M_dispose(); + _M_data(__tmp); + _M_capacity(__new_capacity); + } + + if (__rsize) + this->_S_copy(_M_data(), __str._M_data(), __rsize); + + _M_set_length(__rsize); + } + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + reserve(size_type __res) + { + const size_type __capacity = capacity(); + + + + + if (__res <= __capacity) + return; + + pointer __tmp = _M_create(__res, __capacity); + this->_S_copy(__tmp, _M_data(), length() + 1); + _M_dispose(); + _M_data(__tmp); + _M_capacity(__res); + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, + size_type __len2) + { + const size_type __how_much = length() - __pos - __len1; + + size_type __new_capacity = length() + __len2 - __len1; + pointer __r = _M_create(__new_capacity, capacity()); + + if (__pos) + this->_S_copy(__r, _M_data(), __pos); + if (__s && __len2) + this->_S_copy(__r + __pos, __s, __len2); + if (__how_much) + this->_S_copy(__r + __pos + __len2, + _M_data() + __pos + __len1, __how_much); + + _M_dispose(); + _M_data(__r); + _M_capacity(__new_capacity); + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_erase(size_type __pos, size_type __n) + { + const size_type __how_much = length() - __pos - __n; + + if (__how_much && __n) + this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); + + _M_set_length(length() - __n); + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + reserve() + { + if (_M_is_local()) + return; + + const size_type __length = length(); + const size_type __capacity = _M_allocated_capacity; + + if (__length <= size_type(_S_local_capacity)) + { + _M_init_local_buf(); + this->_S_copy(_M_local_buf, _M_data(), __length + 1); + _M_destroy(__capacity); + _M_data(_M_local_data()); + } + + else if (__length < __capacity) + try + { + pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1); + this->_S_copy(__tmp, _M_data(), __length + 1); + _M_dispose(); + _M_data(__tmp); + _M_capacity(__length); + } + catch (const __cxxabiv1::__forced_unwind&) + { throw; } + catch (...) + { } + + } + + template + + void + basic_string<_CharT, _Traits, _Alloc>:: + resize(size_type __n, _CharT __c) + { + const size_type __size = this->size(); + if (__size < __n) + this->append(__n - __size, __c); + else if (__n < __size) + this->_M_set_length(__n); + } + + template + + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_append(const _CharT* __s, size_type __n) + { + const size_type __len = __n + this->size(); + + if (__len <= this->capacity()) + { + if (__n) + this->_S_copy(this->_M_data() + this->size(), __s, __n); + } + else + this->_M_mutate(this->size(), size_type(0), __s, __n); + + this->_M_set_length(__len); + return *this; + } + + template + template + + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2, + std::__false_type) + { + + + const basic_string __s(__k1, __k2, this->get_allocator()); + const size_type __n1 = __i2 - __i1; + return _M_replace(__i1 - begin(), __n1, __s._M_data(), + __s.size()); + } + + template + + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, + _CharT __c) + { + _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); + + const size_type __old_size = this->size(); + const size_type __new_size = __old_size + __n2 - __n1; + + if (__new_size <= this->capacity()) + { + pointer __p = this->_M_data() + __pos1; + + const size_type __how_much = __old_size - __pos1 - __n1; + if (__how_much && __n1 != __n2) + this->_S_move(__p + __n2, __p + __n1, __how_much); + } + else + this->_M_mutate(__pos1, __n1, 0, __n2); + + if (__n2) + this->_S_assign(this->_M_data() + __pos1, __n2, __c); + + this->_M_set_length(__new_size); + return *this; + } + + template + __attribute__((__noinline__, __noclone__, __cold__)) void + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, + const size_type __len2, const size_type __how_much) + { + + if (__len2 && __len2 <= __len1) + this->_S_move(__p, __s, __len2); + if (__how_much && __len1 != __len2) + this->_S_move(__p + __len2, __p + __len1, __how_much); + if (__len2 > __len1) + { + if (__s + __len2 <= __p + __len1) + this->_S_move(__p, __s, __len2); + else if (__s >= __p + __len1) + { + + + const size_type __poff = (__s - __p) + (__len2 - __len1); + this->_S_copy(__p, __p + __poff, __len2); + } + else + { + const size_type __nleft = (__p + __len1) - __s; + this->_S_move(__p, __s, __nleft); + this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); + } + } + } + + template + + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace(size_type __pos, size_type __len1, const _CharT* __s, + const size_type __len2) + { + _M_check_length(__len1, __len2, "basic_string::_M_replace"); + + const size_type __old_size = this->size(); + const size_type __new_size = __old_size + __len2 - __len1; + + if (__new_size <= this->capacity()) + { + pointer __p = this->_M_data() + __pos; + + const size_type __how_much = __old_size - __pos - __len1; +# 537 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + if (__builtin_expect(_M_disjunct(__s), true)) + { + if (__how_much && __len1 != __len2) + this->_S_move(__p + __len2, __p + __len1, __how_much); + if (__len2) + this->_S_copy(__p, __s, __len2); + } + else + _M_replace_cold(__p, __len1, __s, __len2, __how_much); + } + else + this->_M_mutate(__pos, __len1, __s, __len2); + + this->_M_set_length(__new_size); + return *this; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + copy(_CharT* __s, size_type __n, size_type __pos) const + { + _M_check(__pos, "basic_string::copy"); + __n = _M_limit(__pos, __n); + ; + if (__n) + _S_copy(__s, _M_data() + __pos, __n); + + return __n; + } +# 580 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + template + template + void + basic_string<_CharT, _Traits, _Alloc>:: + + + + __resize_and_overwrite(const size_type __n, _Operation __op) + + { + reserve(__n); + _CharT* const __p = _M_data(); + + + + + struct _Terminator { + ~_Terminator() { _M_this->_M_set_length(_M_r); } + basic_string* _M_this; + size_type _M_r; + }; + _Terminator __term{this, 0}; + auto __r = std::move(__op)(__p + 0, __n + 0); + + + + static_assert(__gnu_cxx::__is_integer_nonstrict::__value, + "resize_and_overwrite operation must return an integer"); + + ; + __term._M_r = size_type(__r); + if (__term._M_r > __n) + __builtin_unreachable(); + } +# 623 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + const size_type __size = this->size(); + + if (__n == 0) + return __pos <= __size ? __pos : npos; + if (__pos >= __size) + return npos; + + const _CharT __elem0 = __s[0]; + const _CharT* const __data = data(); + const _CharT* __first = __data + __pos; + const _CharT* const __last = __data + __size; + size_type __len = __size - __pos; + + while (__len >= __n) + { + + __first = traits_type::find(__first, __len - __n + 1, __elem0); + if (!__first) + return npos; + + + + if (traits_type::compare(__first, __s, __n) == 0) + return __first - __data; + __len = __last - ++__first; + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find(_CharT __c, size_type __pos) const noexcept + { + size_type __ret = npos; + const size_type __size = this->size(); + if (__pos < __size) + { + const _CharT* __data = _M_data(); + const size_type __n = __size - __pos; + const _CharT* __p = traits_type::find(__data + __pos, __n, __c); + if (__p) + __ret = __p - __data; + } + return __ret; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + rfind(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + const size_type __size = this->size(); + if (__n <= __size) + { + __pos = std::min(size_type(__size - __n), __pos); + const _CharT* __data = _M_data(); + do + { + if (traits_type::compare(__data + __pos, __s, __n) == 0) + return __pos; + } + while (__pos-- > 0); + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + rfind(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + for (++__size; __size-- > 0; ) + if (traits_type::eq(_M_data()[__size], __c)) + return __size; + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + for (; __n && __pos < this->size(); ++__pos) + { + const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); + if (__p) + return __pos; + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + size_type __size = this->size(); + if (__size && __n) + { + if (--__size > __pos) + __size = __pos; + do + { + if (traits_type::find(__s, __n, _M_data()[__size])) + return __size; + } + while (__size-- != 0); + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + for (; __pos < this->size(); ++__pos) + if (!traits_type::find(__s, __n, _M_data()[__pos])) + return __pos; + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_not_of(_CharT __c, size_type __pos) const noexcept + { + for (; __pos < this->size(); ++__pos) + if (!traits_type::eq(_M_data()[__pos], __c)) + return __pos; + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const + noexcept + { + ; + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::find(__s, __n, _M_data()[__size])) + return __size; + } + while (__size--); + } + return npos; + } + + template + + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_not_of(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::eq(_M_data()[__size], __c)) + return __size; + } + while (__size--); + } + return npos; + } + + + + + template + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, + basic_string<_CharT, _Traits, _Alloc>& __str) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __istream_type::ios_base __ios_base; + typedef typename __istream_type::int_type __int_type; + typedef typename __string_type::size_type __size_type; + typedef ctype<_CharT> __ctype_type; + typedef typename __ctype_type::ctype_base __ctype_base; + + __size_type __extracted = 0; + typename __ios_base::iostate __err = __ios_base::goodbit; + typename __istream_type::sentry __cerb(__in, false); + if (__cerb) + { + try + { + + __str.erase(); + _CharT __buf[128]; + __size_type __len = 0; + const streamsize __w = __in.width(); + const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) + : __str.max_size(); + const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); + const __int_type __eof = _Traits::eof(); + __int_type __c = __in.rdbuf()->sgetc(); + + while (__extracted < __n + && !_Traits::eq_int_type(__c, __eof) + && !__ct.is(__ctype_base::space, + _Traits::to_char_type(__c))) + { + if (__len == sizeof(__buf) / sizeof(_CharT)) + { + __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); + __len = 0; + } + __buf[__len++] = _Traits::to_char_type(__c); + ++__extracted; + __c = __in.rdbuf()->snextc(); + } + __str.append(__buf, __len); + + if (__extracted < __n && _Traits::eq_int_type(__c, __eof)) + __err |= __ios_base::eofbit; + __in.width(0); + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { + + + + __in._M_setstate(__ios_base::badbit); + } + } + + if (!__extracted) + __err |= __ios_base::failbit; + if (__err) + __in.setstate(__err); + return __in; + } + + template + basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __in, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __istream_type::ios_base __ios_base; + typedef typename __istream_type::int_type __int_type; + typedef typename __string_type::size_type __size_type; + + __size_type __extracted = 0; + const __size_type __n = __str.max_size(); + typename __ios_base::iostate __err = __ios_base::goodbit; + typename __istream_type::sentry __cerb(__in, true); + if (__cerb) + { + try + { + __str.erase(); + const __int_type __idelim = _Traits::to_int_type(__delim); + const __int_type __eof = _Traits::eof(); + __int_type __c = __in.rdbuf()->sgetc(); + + while (__extracted < __n + && !_Traits::eq_int_type(__c, __eof) + && !_Traits::eq_int_type(__c, __idelim)) + { + __str += _Traits::to_char_type(__c); + ++__extracted; + __c = __in.rdbuf()->snextc(); + } + + if (_Traits::eq_int_type(__c, __eof)) + __err |= __ios_base::eofbit; + else if (_Traits::eq_int_type(__c, __idelim)) + { + ++__extracted; + __in.rdbuf()->sbumpc(); + } + else + __err |= __ios_base::failbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { + + + + __in._M_setstate(__ios_base::badbit); + } + } + if (!__extracted) + __err |= __ios_base::failbit; + if (__err) + __in.setstate(__err); + return __in; + } +# 977 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + extern template class basic_string; +# 990 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + extern template + basic_istream& + operator>>(basic_istream&, string&); + extern template + basic_ostream& + operator<<(basic_ostream&, const string&); + extern template + basic_istream& + getline(basic_istream&, string&, char); + extern template + basic_istream& + getline(basic_istream&, string&); + + + + extern template class basic_string; +# 1016 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_string.tcc" 3 + extern template + basic_istream& + operator>>(basic_istream&, wstring&); + extern template + basic_ostream& + operator<<(basic_ostream&, const wstring&); + extern template + basic_istream& + getline(basic_istream&, wstring&, wchar_t); + extern template + basic_istream& + getline(basic_istream&, wstring&); + + + + +} +# 56 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 1 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 3 + +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 3 + + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/stddef.h" 1 3 4 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/stddef.h" 1 3 4 +# 2 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/stddef.h" 2 3 4 +# 51 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 54 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 2 3 + +extern "C++" +{ + +namespace std +{ + + using ::max_align_t; +} + + + +namespace std +{ + + + enum class byte : unsigned char {}; + + template struct __byte_operand { }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + + + + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + template<> struct __byte_operand { using __type = byte; }; + + template<> struct __byte_operand<__int128> + { using __type = byte; }; + template<> struct __byte_operand + { using __type = byte; }; +# 109 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstddef" 3 + template + struct __byte_operand + : __byte_operand<_IntegerType> { }; + template + struct __byte_operand + : __byte_operand<_IntegerType> { }; + template + struct __byte_operand + : __byte_operand<_IntegerType> { }; + + template + using __byte_op_t = typename __byte_operand<_IntegerType>::__type; + + template + [[__gnu__::__always_inline__]] + constexpr __byte_op_t<_IntegerType> + operator<<(byte __b, _IntegerType __shift) noexcept + { return (byte)(unsigned char)((unsigned)__b << __shift); } + + template + [[__gnu__::__always_inline__]] + constexpr __byte_op_t<_IntegerType> + operator>>(byte __b, _IntegerType __shift) noexcept + { return (byte)(unsigned char)((unsigned)__b >> __shift); } + + [[__gnu__::__always_inline__]] + constexpr byte + operator|(byte __l, byte __r) noexcept + { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); } + + [[__gnu__::__always_inline__]] + constexpr byte + operator&(byte __l, byte __r) noexcept + { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); } + + [[__gnu__::__always_inline__]] + constexpr byte + operator^(byte __l, byte __r) noexcept + { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); } + + [[__gnu__::__always_inline__]] + constexpr byte + operator~(byte __b) noexcept + { return (byte)(unsigned char)~(unsigned)__b; } + + template + [[__gnu__::__always_inline__]] + constexpr __byte_op_t<_IntegerType>& + operator<<=(byte& __b, _IntegerType __shift) noexcept + { return __b = __b << __shift; } + + template + [[__gnu__::__always_inline__]] + constexpr __byte_op_t<_IntegerType>& + operator>>=(byte& __b, _IntegerType __shift) noexcept + { return __b = __b >> __shift; } + + [[__gnu__::__always_inline__]] + constexpr byte& + operator|=(byte& __l, byte __r) noexcept + { return __l = __l | __r; } + + [[__gnu__::__always_inline__]] + constexpr byte& + operator&=(byte& __l, byte __r) noexcept + { return __l = __l & __r; } + + [[__gnu__::__always_inline__]] + constexpr byte& + operator^=(byte& __l, byte __r) noexcept + { return __l = __l ^ __r; } + + template + [[nodiscard,__gnu__::__always_inline__]] + constexpr _IntegerType + to_integer(__byte_op_t<_IntegerType> __b) noexcept + { return _IntegerType(__b); } + + +} + +} +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator.h" 1 3 +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator.h" 3 +namespace std +{ + + + + + struct __erased_type { }; + + + + + template + using __is_erased_or_convertible + = __or_, is_same<_Tp, __erased_type>>; + + + struct allocator_arg_t { explicit allocator_arg_t() = default; }; + + inline constexpr allocator_arg_t allocator_arg = + allocator_arg_t(); + + template> + struct __uses_allocator_helper + : false_type { }; + + template + struct __uses_allocator_helper<_Tp, _Alloc, + __void_t> + : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type + { }; + + + template + struct uses_allocator + : __uses_allocator_helper<_Tp, _Alloc>::type + { }; + + struct __uses_alloc_base { }; + + struct __uses_alloc0 : __uses_alloc_base + { + struct _Sink { void operator=(const void*) { } } _M_a; + }; + + template + struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; + + template + struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; + + template + struct __uses_alloc; + + template + struct __uses_alloc + : __conditional_t< + is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value, + __uses_alloc1<_Alloc>, + __uses_alloc2<_Alloc>> + { + + + static_assert(__or_< + is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, + is_constructible<_Tp, _Args..., const _Alloc&>>::value, + "construction with an allocator must be possible" + " if uses_allocator is true"); + }; + + template + struct __uses_alloc + : __uses_alloc0 { }; + + template + using __uses_alloc_t = + __uses_alloc::value, _Tp, _Alloc, _Args...>; + + template + + inline __uses_alloc_t<_Tp, _Alloc, _Args...> + __use_alloc(const _Alloc& __a) + { + __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; + __ret._M_a = std::__addressof(__a); + return __ret; + } + + template + void + __use_alloc(const _Alloc&&) = delete; + + + template + inline constexpr bool uses_allocator_v = + uses_allocator<_Tp, _Alloc>::value; + + + template class _Predicate, + typename _Tp, typename _Alloc, typename... _Args> + struct __is_uses_allocator_predicate + : __conditional_t::value, + __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, + _Predicate<_Tp, _Args..., _Alloc>>, + _Predicate<_Tp, _Args...>> { }; + + template + struct __is_uses_allocator_constructible + : __is_uses_allocator_predicate + { }; + + + template + inline constexpr bool __is_uses_allocator_constructible_v = + __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; + + + template + struct __is_nothrow_uses_allocator_constructible + : __is_uses_allocator_predicate + { }; + + + + template + inline constexpr bool + __is_nothrow_uses_allocator_constructible_v = + __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; + + + template + void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr, + _Args&&... __args) + { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } + + template + void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, + _Args&&... __args) + { + ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, + std::forward<_Args>(__args)...); + } + + template + void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, + _Args&&... __args) + { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } + + template + void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, + _Args&&... __args) + { + std::__uses_allocator_construct_impl( + std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, + std::forward<_Args>(__args)...); + } + + + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator_args.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator_args.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator_args.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uses_allocator_args.h" 2 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 2 3 + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 +# 54 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 55 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 2 3 + +namespace std +{ + + + + + + + + template + class tuple; + + template + struct __is_empty_non_tuple : is_empty<_Tp> { }; + + + template + struct __is_empty_non_tuple> : false_type { }; + + + template + using __empty_not_final + = __conditional_t<__is_final(_Tp), false_type, + __is_empty_non_tuple<_Tp>>; + + template::value> + struct _Head_base; + + + template + struct _Head_base<_Idx, _Head, true> + { + constexpr _Head_base() + : _M_head_impl() { } + + constexpr _Head_base(const _Head& __h) + : _M_head_impl(__h) { } + + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template + constexpr _Head_base(_UHead&& __h) + : _M_head_impl(std::forward<_UHead>(__h)) { } + + + _Head_base(allocator_arg_t, __uses_alloc0) + : _M_head_impl() { } + + template + + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) + : _M_head_impl(allocator_arg, *__a._M_a) { } + + template + + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) + : _M_head_impl(*__a._M_a) { } + + template + + _Head_base(__uses_alloc0, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead)) { } + + template + + _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) + { } + + template + + _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } + + static constexpr _Head& + _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } + + static constexpr const _Head& + _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } + + [[__no_unique_address__]] _Head _M_head_impl; + }; +# 195 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + struct _Head_base<_Idx, _Head, false> + { + constexpr _Head_base() + : _M_head_impl() { } + + constexpr _Head_base(const _Head& __h) + : _M_head_impl(__h) { } + + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template + constexpr _Head_base(_UHead&& __h) + : _M_head_impl(std::forward<_UHead>(__h)) { } + + + _Head_base(allocator_arg_t, __uses_alloc0) + : _M_head_impl() { } + + template + + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) + : _M_head_impl(allocator_arg, *__a._M_a) { } + + template + + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) + : _M_head_impl(*__a._M_a) { } + + template + + _Head_base(__uses_alloc0, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead)) { } + + template + + _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) + { } + + template + + _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } + + static constexpr _Head& + _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } + + static constexpr const _Head& + _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } + + _Head _M_head_impl; + }; +# 274 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + struct _Tuple_impl; + + + + + + + template + struct _Tuple_impl<_Idx, _Head, _Tail...> + : public _Tuple_impl<_Idx + 1, _Tail...>, + private _Head_base<_Idx, _Head> + { + template friend struct _Tuple_impl; + + typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; + typedef _Head_base<_Idx, _Head> _Base; + + static constexpr _Head& + _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr const _Head& + _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr _Inherited& + _M_tail(_Tuple_impl& __t) noexcept { return __t; } + + static constexpr const _Inherited& + _M_tail(const _Tuple_impl& __t) noexcept { return __t; } + + constexpr _Tuple_impl() + : _Inherited(), _Base() { } + + explicit constexpr + _Tuple_impl(const _Head& __head, const _Tail&... __tail) + : _Inherited(__tail...), _Base(__head) + { } + + template> + explicit constexpr + _Tuple_impl(_UHead&& __head, _UTail&&... __tail) + : _Inherited(std::forward<_UTail>(__tail)...), + _Base(std::forward<_UHead>(__head)) + { } + + constexpr _Tuple_impl(const _Tuple_impl&) = default; + + + + _Tuple_impl& operator=(const _Tuple_impl&) = delete; + + _Tuple_impl(_Tuple_impl&&) = default; + + template + constexpr + _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) + : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), + _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) + { } + + template + constexpr + _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + : _Inherited(std::move + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), + _Base(std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) + { } +# 370 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a), + _Base(__tag, __use_alloc<_Head>(__a)) + { } + + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Head& __head, const _Tail&... __tail) + : _Inherited(__tag, __a, __tail...), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) + { } + + template> + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _UHead&& __head, _UTail&&... __tail) + : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), + _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(__head)) + { } + + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl& __in) + : _Inherited(__tag, __a, _M_tail(__in)), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) + { } + + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl&& __in) + : _Inherited(__tag, __a, std::move(_M_tail(__in))), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + std::forward<_Head>(_M_head(__in))) + { } + + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl<_Idx, _UHead, _UTails...>& __in) + : _Inherited(__tag, __a, + _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)), + _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), + _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)) + { } + + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + : _Inherited(__tag, __a, std::move + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), + _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) + { } +# 465 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + + void + _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) + { + _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); + _M_tail(*this)._M_assign( + _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); + } + + template + + void + _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + { + _M_head(*this) = std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); + _M_tail(*this)._M_assign( + std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); + } +# 525 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + protected: + + void + _M_swap(_Tuple_impl& __in) + { + using std::swap; + swap(_M_head(*this), _M_head(__in)); + _Inherited::_M_swap(_M_tail(__in)); + } +# 544 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + }; + + + template + struct _Tuple_impl<_Idx, _Head> + : private _Head_base<_Idx, _Head> + { + template friend struct _Tuple_impl; + + typedef _Head_base<_Idx, _Head> _Base; + + static constexpr _Head& + _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr const _Head& + _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + constexpr + _Tuple_impl() + : _Base() { } + + explicit constexpr + _Tuple_impl(const _Head& __head) + : _Base(__head) + { } + + template + explicit constexpr + _Tuple_impl(_UHead&& __head) + : _Base(std::forward<_UHead>(__head)) + { } + + constexpr _Tuple_impl(const _Tuple_impl&) = default; + + + + _Tuple_impl& operator=(const _Tuple_impl&) = delete; + + + + + constexpr + _Tuple_impl(_Tuple_impl&& __in) + noexcept(is_nothrow_move_constructible<_Head>::value) + : _Base(static_cast<_Base&&>(__in)) + { } + + + template + constexpr + _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) + : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) + { } + + template + constexpr + _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) + : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) + { } +# 626 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) + : _Base(__tag, __use_alloc<_Head>(__a)) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + const _Head& __head) + : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + _UHead&& __head) + : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(__head)) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + const _Tuple_impl& __in) + : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in)) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + _Tuple_impl&& __in) + : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + std::forward<_Head>(_M_head(__in))) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + const _Tuple_impl<_Idx, _UHead>& __in) + : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), + _Tuple_impl<_Idx, _UHead>::_M_head(__in)) + { } + + template + + _Tuple_impl(allocator_arg_t, const _Alloc& __a, + _Tuple_impl<_Idx, _UHead>&& __in) + : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) + { } +# 705 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + + void + _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) + { + _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); + } + + template + + void + _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) + { + _M_head(*this) + = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); + } +# 751 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + protected: + + void + _M_swap(_Tuple_impl& __in) + { + using std::swap; + swap(_M_head(*this), _M_head(__in)); + } +# 768 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + }; + + + + template + struct _TupleConstraints + { + template + using __constructible = __and_...>; + + template + using __convertible = __and_...>; + + + + + template + static constexpr bool __is_implicitly_constructible() + { + return __and_<__constructible<_UTypes...>, + __convertible<_UTypes...> + >::value; + } + + + + + template + static constexpr bool __is_explicitly_constructible() + { + return __and_<__constructible<_UTypes...>, + __not_<__convertible<_UTypes...>> + >::value; + } + + static constexpr bool __is_implicitly_default_constructible() + { + return __and_... + >::value; + } + + static constexpr bool __is_explicitly_default_constructible() + { + return __and_..., + __not_<__and_< + std::__is_implicitly_default_constructible<_Types>...> + >>::value; + } + }; + + + + template + struct _TupleConstraints + { + template + static constexpr bool __is_implicitly_constructible() + { return false; } + + template + static constexpr bool __is_explicitly_constructible() + { return false; } + }; + + + template + class tuple : public _Tuple_impl<0, _Elements...> + { + using _Inherited = _Tuple_impl<0, _Elements...>; +# 1351 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + using _TCC = _TupleConstraints<_Cond, _Elements...>; + + + template + using _ImplicitDefaultCtor = __enable_if_t< + _TCC<_Dummy>::__is_implicitly_default_constructible(), + bool>; + + + template + using _ExplicitDefaultCtor = __enable_if_t< + _TCC<_Dummy>::__is_explicitly_default_constructible(), + bool>; + + + template + using _ImplicitCtor = __enable_if_t< + _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(), + bool>; + + + template + using _ExplicitCtor = __enable_if_t< + _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(), + bool>; + + + template + static constexpr bool __nothrow_constructible() + { + return + __and_...>::value; + } + + + template + static constexpr bool __valid_args() + { + return sizeof...(_Elements) == 1 + && !is_same>::value; + } + + + template + static constexpr bool __valid_args() + { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); } +# 1408 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template> + struct _UseOtherCtor + : false_type + { }; + + + template + struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>> + : __or_, is_constructible<_Tp, _Tuple>>::type + { }; + + + template + struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>> + : true_type + { }; + + + + + template + static constexpr bool __use_other_ctor() + { return _UseOtherCtor<_Tuple>::value; } +# 1454 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + public: + template::value> = true> + constexpr + tuple() + noexcept(__and_...>::value) + : _Inherited() { } + + template::value> = false> + explicit constexpr + tuple() + noexcept(__and_...>::value) + : _Inherited() { } + + template= 1), + _ImplicitCtor<_NotEmpty, const _Elements&...> = true> + constexpr + tuple(const _Elements&... __elements) + noexcept(__nothrow_constructible()) + : _Inherited(__elements...) { } + + template= 1), + _ExplicitCtor<_NotEmpty, const _Elements&...> = false> + explicit constexpr + tuple(const _Elements&... __elements) + noexcept(__nothrow_constructible()) + : _Inherited(__elements...) { } + + template(), + _ImplicitCtor<_Valid, _UElements...> = true> + constexpr + tuple(_UElements&&... __elements) + noexcept(__nothrow_constructible<_UElements...>()) + : _Inherited(std::forward<_UElements>(__elements)...) + { ; } + + template(), + _ExplicitCtor<_Valid, _UElements...> = false> + explicit constexpr + tuple(_UElements&&... __elements) + noexcept(__nothrow_constructible<_UElements...>()) + : _Inherited(std::forward<_UElements>(__elements)...) + { ; } + + constexpr tuple(const tuple&) = default; + + constexpr tuple(tuple&&) = default; + + template&>(), + _ImplicitCtor<_Valid, const _UElements&...> = true> + constexpr + tuple(const tuple<_UElements...>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(static_cast&>(__in)) + { ; } + + template&>(), + _ExplicitCtor<_Valid, const _UElements&...> = false> + explicit constexpr + tuple(const tuple<_UElements...>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(static_cast&>(__in)) + { ; } + + template&&>(), + _ImplicitCtor<_Valid, _UElements...> = true> + constexpr + tuple(tuple<_UElements...>&& __in) + noexcept(__nothrow_constructible<_UElements...>()) + : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { ; } + + template&&>(), + _ExplicitCtor<_Valid, _UElements...> = false> + explicit constexpr + tuple(tuple<_UElements...>&& __in) + noexcept(__nothrow_constructible<_UElements...>()) + : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { ; } + + + + template::value> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template::value> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template= 1), + _ImplicitCtor<_NotEmpty, const _Elements&...> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _Elements&... __elements) + : _Inherited(__tag, __a, __elements...) { } + + template= 1), + _ExplicitCtor<_NotEmpty, const _Elements&...> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _Elements&... __elements) + : _Inherited(__tag, __a, __elements...) { } + + template(), + _ImplicitCtor<_Valid, _UElements...> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + _UElements&&... __elements) + : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) + { ; } + + template(), + _ExplicitCtor<_Valid, _UElements...> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a, + _UElements&&... __elements) + : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) + { ; } + + template + + tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) + : _Inherited(__tag, __a, static_cast(__in)) { } + + template + + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) + : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } + + template&>(), + _ImplicitCtor<_Valid, const _UElements&...> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_UElements...>& __in) + : _Inherited(__tag, __a, + static_cast&>(__in)) + { ; } + + template&>(), + _ExplicitCtor<_Valid, const _UElements&...> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_UElements...>& __in) + : _Inherited(__tag, __a, + static_cast&>(__in)) + { ; } + + template&&>(), + _ImplicitCtor<_Valid, _UElements...> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + tuple<_UElements...>&& __in) + : _Inherited(__tag, __a, + static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { ; } + + template&&>(), + _ExplicitCtor<_Valid, _UElements...> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a, + tuple<_UElements...>&& __in) + : _Inherited(__tag, __a, + static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { ; } +# 1886 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + private: + template + static constexpr + __enable_if_t + __assignable() + { return __and_...>::value; } + + + template + static constexpr bool __nothrow_assignable() + { + return + __and_...>::value; + } + + public: + + + tuple& + operator=(__conditional_t<__assignable(), + const tuple&, + const __nonesuch&> __in) + noexcept(__nothrow_assignable()) + { + this->_M_assign(__in); + return *this; + } + + + tuple& + operator=(__conditional_t<__assignable<_Elements...>(), + tuple&&, + __nonesuch&&> __in) + noexcept(__nothrow_assignable<_Elements...>()) + { + this->_M_assign(std::move(__in)); + return *this; + } + + template + + __enable_if_t<__assignable(), tuple&> + operator=(const tuple<_UElements...>& __in) + noexcept(__nothrow_assignable()) + { + this->_M_assign(__in); + return *this; + } + + template + + __enable_if_t<__assignable<_UElements...>(), tuple&> + operator=(tuple<_UElements...>&& __in) + noexcept(__nothrow_assignable<_UElements...>()) + { + this->_M_assign(std::move(__in)); + return *this; + } + + + + + void + swap(tuple& __in) + noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) + { _Inherited::_M_swap(__in); } +# 1966 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + }; + + + template + tuple(_UTypes...) -> tuple<_UTypes...>; + template + tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; + template + tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; + template + tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; + template + tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; + + + + template<> + class tuple<> + { + public: + + void swap(tuple&) noexcept { } + + + + + + tuple() = default; + + template + + tuple(allocator_arg_t, const _Alloc&) noexcept { } + template + + tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } + }; + + + + + template + class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> + { + typedef _Tuple_impl<0, _T1, _T2> _Inherited; + + + template + using _ImplicitDefaultCtor = __enable_if_t< + _TupleConstraints<_Dummy, _U1, _U2>:: + __is_implicitly_default_constructible(), + bool>; + + + template + using _ExplicitDefaultCtor = __enable_if_t< + _TupleConstraints<_Dummy, _U1, _U2>:: + __is_explicitly_default_constructible(), + bool>; + + template + using _TCC = _TupleConstraints<_Dummy, _T1, _T2>; + + + template + using _ImplicitCtor = __enable_if_t< + _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(), + bool>; + + + template + using _ExplicitCtor = __enable_if_t< + _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(), + bool>; + + template + static constexpr bool __assignable() + { + return __and_, + is_assignable<_T2&, _U2>>::value; + } + + template + static constexpr bool __nothrow_assignable() + { + return __and_, + is_nothrow_assignable<_T2&, _U2>>::value; + } + + template + static constexpr bool __nothrow_constructible() + { + return __and_, + is_nothrow_constructible<_T2, _U2>>::value; + } + + static constexpr bool __nothrow_default_constructible() + { + return __and_, + is_nothrow_default_constructible<_T2>>::value; + } + + template + static constexpr bool __is_alloc_arg() + { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; } +# 2085 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + public: + template = true> + constexpr + tuple() + noexcept(__nothrow_default_constructible()) + : _Inherited() { } + + template = false> + explicit constexpr + tuple() + noexcept(__nothrow_default_constructible()) + : _Inherited() { } + + template = true> + constexpr + tuple(const _T1& __a1, const _T2& __a2) + noexcept(__nothrow_constructible()) + : _Inherited(__a1, __a2) { } + + template = false> + explicit constexpr + tuple(const _T1& __a1, const _T2& __a2) + noexcept(__nothrow_constructible()) + : _Inherited(__a1, __a2) { } + + template(), _U1, _U2> = true> + constexpr + tuple(_U1&& __a1, _U2&& __a2) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) + { ; } + + template(), _U1, _U2> = false> + explicit constexpr + tuple(_U1&& __a1, _U2&& __a2) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) + { ; } + + constexpr tuple(const tuple&) = default; + + constexpr tuple(tuple&&) = default; + + template = true> + constexpr + tuple(const tuple<_U1, _U2>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(static_cast&>(__in)) + { ; } + + template = false> + explicit constexpr + tuple(const tuple<_U1, _U2>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(static_cast&>(__in)) + { ; } + + template = true> + constexpr + tuple(tuple<_U1, _U2>&& __in) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { ; } + + template = false> + explicit constexpr + tuple(tuple<_U1, _U2>&& __in) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { ; } + + template = true> + constexpr + tuple(const pair<_U1, _U2>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(__in.first, __in.second) + { ; } + + template = false> + explicit constexpr + tuple(const pair<_U1, _U2>& __in) + noexcept(__nothrow_constructible()) + : _Inherited(__in.first, __in.second) + { ; } + + template = true> + constexpr + tuple(pair<_U1, _U2>&& __in) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) + { ; } + + template = false> + explicit constexpr + tuple(pair<_U1, _U2>&& __in) + noexcept(__nothrow_constructible<_U1, _U2>()) + : _Inherited(std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) + { ; } + + + + template::value, _T1, _T2> = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template::value, _T1, _T2> = false> + + explicit + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _T1& __a1, const _T2& __a2) + : _Inherited(__tag, __a, __a1, __a2) { } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _T1& __a1, const _T2& __a2) + : _Inherited(__tag, __a, __a1, __a2) { } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) + : _Inherited(__tag, __a, std::forward<_U1>(__a1), + std::forward<_U2>(__a2)) + { ; } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, + _U1&& __a1, _U2&& __a2) + : _Inherited(__tag, __a, std::forward<_U1>(__a1), + std::forward<_U2>(__a2)) + { ; } + + template + + tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) + : _Inherited(__tag, __a, static_cast(__in)) { } + + template + + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) + : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_U1, _U2>& __in) + : _Inherited(__tag, __a, + static_cast&>(__in)) + { ; } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_U1, _U2>& __in) + : _Inherited(__tag, __a, + static_cast&>(__in)) + { ; } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) + : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { ; } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) + : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { ; } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const pair<_U1, _U2>& __in) + : _Inherited(__tag, __a, __in.first, __in.second) + { ; } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const pair<_U1, _U2>& __in) + : _Inherited(__tag, __a, __in.first, __in.second) + { ; } + + template = true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) + : _Inherited(__tag, __a, std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) + { ; } + + template = false> + explicit + + tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) + : _Inherited(__tag, __a, std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) + { ; } + + + + + tuple& + operator=(__conditional_t<__assignable(), + const tuple&, + const __nonesuch&> __in) + noexcept(__nothrow_assignable()) + { + this->_M_assign(__in); + return *this; + } + + + tuple& + operator=(__conditional_t<__assignable<_T1, _T2>(), + tuple&&, + __nonesuch&&> __in) + noexcept(__nothrow_assignable<_T1, _T2>()) + { + this->_M_assign(std::move(__in)); + return *this; + } + + template + + __enable_if_t<__assignable(), tuple&> + operator=(const tuple<_U1, _U2>& __in) + noexcept(__nothrow_assignable()) + { + this->_M_assign(__in); + return *this; + } + + template + + __enable_if_t<__assignable<_U1, _U2>(), tuple&> + operator=(tuple<_U1, _U2>&& __in) + noexcept(__nothrow_assignable<_U1, _U2>()) + { + this->_M_assign(std::move(__in)); + return *this; + } + + template + + __enable_if_t<__assignable(), tuple&> + operator=(const pair<_U1, _U2>& __in) + noexcept(__nothrow_assignable()) + { + this->_M_head(*this) = __in.first; + this->_M_tail(*this)._M_head(*this) = __in.second; + return *this; + } + + template + + __enable_if_t<__assignable<_U1, _U2>(), tuple&> + operator=(pair<_U1, _U2>&& __in) + noexcept(__nothrow_assignable<_U1, _U2>()) + { + this->_M_head(*this) = std::forward<_U1>(__in.first); + this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); + return *this; + } + + + void + swap(tuple& __in) + noexcept(__and_<__is_nothrow_swappable<_T1>, + __is_nothrow_swappable<_T2>>::value) + { _Inherited::_M_swap(__in); } + }; + + + + template + struct tuple_size> + : public integral_constant { }; + + + template + inline constexpr size_t tuple_size_v> + = sizeof...(_Types); + + template + inline constexpr size_t tuple_size_v> + = sizeof...(_Types); + + + + template + struct tuple_element<__i, tuple<_Types...>> + { + static_assert(__i < sizeof...(_Types), "tuple index must be in range"); + + using type = typename _Nth_type<__i, _Types...>::type; + }; + + template + constexpr _Head& + __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept + { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } + + template + constexpr const _Head& + __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept + { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } + + + template + __enable_if_t<(__i >= sizeof...(_Types))> + __get_helper(const tuple<_Types...>&) = delete; + + + template + constexpr __tuple_element_t<__i, tuple<_Elements...>>& + get(tuple<_Elements...>& __t) noexcept + { return std::__get_helper<__i>(__t); } + + + template + constexpr const __tuple_element_t<__i, tuple<_Elements...>>& + get(const tuple<_Elements...>& __t) noexcept + { return std::__get_helper<__i>(__t); } + + + template + constexpr __tuple_element_t<__i, tuple<_Elements...>>&& + get(tuple<_Elements...>&& __t) noexcept + { + typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; + return std::forward<__element_type>(std::__get_helper<__i>(__t)); + } + + + template + constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& + get(const tuple<_Elements...>&& __t) noexcept + { + typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; + return std::forward(std::__get_helper<__i>(__t)); + } + + + + template + constexpr __enable_if_t<(__i >= sizeof...(_Elements))> + get(const tuple<_Elements...>&) = delete; + + + + + template + constexpr _Tp& + get(tuple<_Types...>& __t) noexcept + { + constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); + static_assert(__idx < sizeof...(_Types), + "the type T in std::get must occur exactly once in the tuple"); + return std::__get_helper<__idx>(__t); + } + + + template + constexpr _Tp&& + get(tuple<_Types...>&& __t) noexcept + { + constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); + static_assert(__idx < sizeof...(_Types), + "the type T in std::get must occur exactly once in the tuple"); + return std::forward<_Tp>(std::__get_helper<__idx>(__t)); + } + + + template + constexpr const _Tp& + get(const tuple<_Types...>& __t) noexcept + { + constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); + static_assert(__idx < sizeof...(_Types), + "the type T in std::get must occur exactly once in the tuple"); + return std::__get_helper<__idx>(__t); + } + + + + template + constexpr const _Tp&& + get(const tuple<_Types...>&& __t) noexcept + { + constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); + static_assert(__idx < sizeof...(_Types), + "the type T in std::get must occur exactly once in the tuple"); + return std::forward(std::__get_helper<__idx>(__t)); + } + + + + template + struct __tuple_compare + { + static constexpr bool + __eq(const _Tp& __t, const _Up& __u) + { + return bool(std::get<__i>(__t) == std::get<__i>(__u)) + && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); + } + + static constexpr bool + __less(const _Tp& __t, const _Up& __u) + { + return bool(std::get<__i>(__t) < std::get<__i>(__u)) + || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) + && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); + } + }; + + template + struct __tuple_compare<_Tp, _Up, __size, __size> + { + static constexpr bool + __eq(const _Tp&, const _Up&) { return true; } + + static constexpr bool + __less(const _Tp&, const _Up&) { return false; } + }; + + template + constexpr bool + operator==(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { + static_assert(sizeof...(_TElements) == sizeof...(_UElements), + "tuple objects can only be compared if they have equal sizes."); + using __compare = __tuple_compare, + tuple<_UElements...>, + 0, sizeof...(_TElements)>; + return __compare::__eq(__t, __u); + } +# 2596 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + constexpr bool + operator<(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { + static_assert(sizeof...(_TElements) == sizeof...(_UElements), + "tuple objects can only be compared if they have equal sizes."); + using __compare = __tuple_compare, + tuple<_UElements...>, + 0, sizeof...(_TElements)>; + return __compare::__less(__t, __u); + } + + template + constexpr bool + operator!=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__t == __u); } + + template + constexpr bool + operator>(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return __u < __t; } + + template + constexpr bool + operator<=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__u < __t); } + + template + constexpr bool + operator>=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__t < __u); } + + + + + template + constexpr tuple::__type...> + make_tuple(_Elements&&... __args) + { + typedef tuple::__type...> + __result_type; + return __result_type(std::forward<_Elements>(__args)...); + } + + + + + template + constexpr tuple<_Elements&&...> + forward_as_tuple(_Elements&&... __args) noexcept + { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } + + + template + struct __make_tuple_impl; + + template + struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> + : __make_tuple_impl<_Idx + 1, + tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, + _Tuple, _Nm> + { }; + + template + struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> + { + typedef tuple<_Tp...> __type; + }; + + template + struct __do_make_tuple + : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value> + { }; + + + template + struct __make_tuple + : public __do_make_tuple<__remove_cvref_t<_Tuple>> + { }; + + + template + struct __combine_tuples; + + template<> + struct __combine_tuples<> + { + typedef tuple<> __type; + }; + + template + struct __combine_tuples> + { + typedef tuple<_Ts...> __type; + }; + + template + struct __combine_tuples, tuple<_T2s...>, _Rem...> + { + typedef typename __combine_tuples, + _Rem...>::__type __type; + }; + + + template + struct __tuple_cat_result + { + typedef typename __combine_tuples + ::__type...>::__type __type; + }; + + + + template + struct __make_1st_indices; + + template<> + struct __make_1st_indices<> + { + typedef _Index_tuple<> __type; + }; + + template + struct __make_1st_indices<_Tp, _Tpls...> + { + typedef typename _Build_index_tuple::type>::value>::__type __type; + }; + + + + + template + struct __tuple_concater; + + template + struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...> + { + template + static constexpr _Ret + _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) + { + typedef typename __make_1st_indices<_Tpls...>::__type __idx; + typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; + return __next::_S_do(std::forward<_Tpls>(__tps)..., + std::forward<_Us>(__us)..., + std::get<_Is>(std::forward<_Tp>(__tp))...); + } + }; + + template + struct __tuple_concater<_Ret, _Index_tuple<>> + { + template + static constexpr _Ret + _S_do(_Us&&... __us) + { + return _Ret(std::forward<_Us>(__us)...); + } + }; + + template + struct __is_tuple_like_impl> : true_type + { }; + + + + + + + template...>::value>::type> + + constexpr auto + tuple_cat(_Tpls&&... __tpls) + -> typename __tuple_cat_result<_Tpls...>::__type + { + typedef typename __tuple_cat_result<_Tpls...>::__type __ret; + typedef typename __make_1st_indices<_Tpls...>::__type __idx; + typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; + return __concater::_S_do(std::forward<_Tpls>(__tpls)...); + } + + + + + template + constexpr tuple<_Elements&...> + tie(_Elements&... __args) noexcept + { return tuple<_Elements&...>(__args...); } + + + template + + inline + + + typename enable_if<__and_<__is_swappable<_Elements>...>::value + >::type + + + + swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } +# 2818 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + + typename enable_if...>::value>::type + swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; + + + + + + + struct _Swallow_assign + { + template + constexpr const _Swallow_assign& + operator=(const _Tp&) const + { return *this; } + }; +# 2853 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + inline constexpr _Swallow_assign ignore{}; + + + template + struct uses_allocator, _Alloc> : true_type { }; +# 2868 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + template + template + + inline + pair<_T1, _T2>:: + pair(piecewise_construct_t, + tuple<_Args1...> __first, tuple<_Args2...> __second) + : pair(__first, __second, + typename _Build_index_tuple::__type(), + typename _Build_index_tuple::__type()) + { } + + template + template + inline + pair<_T1, _T2>:: + pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, + _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) + : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), + second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) + { } + + + + + + + template class _Trait, typename _Tp, typename _Tuple> + inline constexpr bool __unpack_std_tuple = false; + + template class _Trait, typename _Tp, typename... _Up> + inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>> + = _Trait<_Tp, _Up...>::value; + + template class _Trait, typename _Tp, typename... _Up> + inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&> + = _Trait<_Tp, _Up&...>::value; + + template class _Trait, typename _Tp, typename... _Up> + inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>> + = _Trait<_Tp, const _Up...>::value; + + template class _Trait, typename _Tp, typename... _Up> + inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&> + = _Trait<_Tp, const _Up&...>::value; + + + + template + constexpr decltype(auto) + __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) + { + return std::__invoke(std::forward<_Fn>(__f), + std::get<_Idx>(std::forward<_Tuple>(__t))...); + } + + + + + template + + constexpr decltype(auto) + apply(_Fn&& __f, _Tuple&& __t) + noexcept(__unpack_std_tuple) + { + using _Indices + = make_index_sequence>>; + return std::__apply_impl(std::forward<_Fn>(__f), + std::forward<_Tuple>(__t), + _Indices{}); + } + + + + template + constexpr _Tp + __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) + { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } + + + + + template + + constexpr _Tp + make_from_tuple(_Tuple&& __t) + noexcept(__unpack_std_tuple) + { + constexpr size_t __n = tuple_size_v>; + + if constexpr (__n == 1) + { + using _Elt = decltype(std::get<0>(std::declval<_Tuple>())); + static_assert(!__reference_constructs_from_temporary(_Tp, _Elt)); + } + + return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t), + make_index_sequence<__n>{}); + } +# 3030 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/tuple" 3 + +} +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 2 3 + + +namespace std +{ + +namespace pmr +{ + + + + + + + class memory_resource + { + static constexpr size_t _S_max_align = alignof(max_align_t); + + public: + memory_resource() = default; + memory_resource(const memory_resource&) = default; + virtual ~memory_resource(); + + memory_resource& operator=(const memory_resource&) = default; + + [[nodiscard]] + void* + allocate(size_t __bytes, size_t __alignment = _S_max_align) + __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3))) + { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); } + + void + deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align) + __attribute__((__nonnull__)) + { return do_deallocate(__p, __bytes, __alignment); } + + [[nodiscard]] + bool + is_equal(const memory_resource& __other) const noexcept + { return do_is_equal(__other); } + + private: + virtual void* + do_allocate(size_t __bytes, size_t __alignment) = 0; + + virtual void + do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0; + + virtual bool + do_is_equal(const memory_resource& __other) const noexcept = 0; + }; + + [[nodiscard]] + inline bool + operator==(const memory_resource& __a, const memory_resource& __b) noexcept + { return &__a == &__b || __a.is_equal(__b); } + + + [[nodiscard]] + inline bool + operator!=(const memory_resource& __a, const memory_resource& __b) noexcept + { return !(__a == __b); } +# 119 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + template + class polymorphic_allocator + { + + + template + struct __not_pair { using type = void; }; + + template + struct __not_pair> { }; + + public: + using value_type = _Tp; + + polymorphic_allocator() noexcept + { + extern memory_resource* get_default_resource() noexcept + __attribute__((__returns_nonnull__)); + _M_resource = get_default_resource(); + } + + polymorphic_allocator(memory_resource* __r) noexcept + __attribute__((__nonnull__)) + : _M_resource(__r) + { ; } + + polymorphic_allocator(const polymorphic_allocator& __other) = default; + + template + polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept + : _M_resource(__x.resource()) + { } + + polymorphic_allocator& + operator=(const polymorphic_allocator&) = delete; + + [[nodiscard]] + _Tp* + allocate(size_t __n) + __attribute__((__returns_nonnull__)) + { + if ((__gnu_cxx::__int_traits::__max / sizeof(_Tp)) < __n) + std::__throw_bad_array_new_length(); + return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp), + alignof(_Tp))); + } + + void + deallocate(_Tp* __p, size_t __n) noexcept + __attribute__((__nonnull__)) + { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); } +# 224 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + template + __attribute__((__nonnull__)) + typename __not_pair<_Tp1>::type + construct(_Tp1* __p, _Args&&... __args) + { + + + using __use_tag + = std::__uses_alloc_t<_Tp1, polymorphic_allocator, _Args...>; + if constexpr (is_base_of_v<__uses_alloc0, __use_tag>) + ::new(__p) _Tp1(std::forward<_Args>(__args)...); + else if constexpr (is_base_of_v<__uses_alloc1_, __use_tag>) + ::new(__p) _Tp1(allocator_arg, *this, + std::forward<_Args>(__args)...); + else + ::new(__p) _Tp1(std::forward<_Args>(__args)..., *this); + } + + template + __attribute__((__nonnull__)) + void + construct(pair<_Tp1, _Tp2>* __p, piecewise_construct_t, + tuple<_Args1...> __x, tuple<_Args2...> __y) + { + auto __x_tag = + __use_alloc<_Tp1, polymorphic_allocator, _Args1...>(*this); + auto __y_tag = + __use_alloc<_Tp2, polymorphic_allocator, _Args2...>(*this); + index_sequence_for<_Args1...> __x_i; + index_sequence_for<_Args2...> __y_i; + + ::new(__p) pair<_Tp1, _Tp2>(piecewise_construct, + _S_construct_p(__x_tag, __x_i, __x), + _S_construct_p(__y_tag, __y_i, __y)); + } + + template + __attribute__((__nonnull__)) + void + construct(pair<_Tp1, _Tp2>* __p) + { this->construct(__p, piecewise_construct, tuple<>(), tuple<>()); } + + template + __attribute__((__nonnull__)) + void + construct(pair<_Tp1, _Tp2>* __p, _Up&& __x, _Vp&& __y) + { + this->construct(__p, piecewise_construct, + std::forward_as_tuple(std::forward<_Up>(__x)), + std::forward_as_tuple(std::forward<_Vp>(__y))); + } + + template + __attribute__((__nonnull__)) + void + construct(pair<_Tp1, _Tp2>* __p, const std::pair<_Up, _Vp>& __pr) + { + this->construct(__p, piecewise_construct, + std::forward_as_tuple(__pr.first), + std::forward_as_tuple(__pr.second)); + } + + template + __attribute__((__nonnull__)) + void + construct(pair<_Tp1, _Tp2>* __p, pair<_Up, _Vp>&& __pr) + { + this->construct(__p, piecewise_construct, + std::forward_as_tuple(std::forward<_Up>(__pr.first)), + std::forward_as_tuple(std::forward<_Vp>(__pr.second))); + } +# 307 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + template + + __attribute__((__nonnull__)) + void + destroy(_Up* __p) + { __p->~_Up(); } + + polymorphic_allocator + select_on_container_copy_construction() const noexcept + { return polymorphic_allocator(); } + + memory_resource* + resource() const noexcept + __attribute__((__returns_nonnull__)) + { return _M_resource; } + + + + [[nodiscard]] + friend bool + operator==(const polymorphic_allocator& __a, + const polymorphic_allocator& __b) noexcept + { return *__a.resource() == *__b.resource(); } + + + [[nodiscard]] + friend bool + operator!=(const polymorphic_allocator& __a, + const polymorphic_allocator& __b) noexcept + { return !(__a == __b); } + + + private: + + using __uses_alloc1_ = __uses_alloc1; + using __uses_alloc2_ = __uses_alloc2; + + template + static tuple<_Args&&...> + _S_construct_p(__uses_alloc0, _Ind, tuple<_Args...>& __t) + { return std::move(__t); } + + template + static tuple + _S_construct_p(__uses_alloc1_ __ua, index_sequence<_Ind...>, + tuple<_Args...>& __t) + { + return { + allocator_arg, *__ua._M_a, std::get<_Ind>(std::move(__t))... + }; + } + + template + static tuple<_Args&&..., polymorphic_allocator> + _S_construct_p(__uses_alloc2_ __ua, index_sequence<_Ind...>, + tuple<_Args...>& __t) + { return { std::get<_Ind>(std::move(__t))..., *__ua._M_a }; } + + + memory_resource* _M_resource; + }; + + template + [[nodiscard]] + inline bool + operator==(const polymorphic_allocator<_Tp1>& __a, + const polymorphic_allocator<_Tp2>& __b) noexcept + { return *__a.resource() == *__b.resource(); } + + + template + [[nodiscard]] + inline bool + operator!=(const polymorphic_allocator<_Tp1>& __a, + const polymorphic_allocator<_Tp2>& __b) noexcept + { return !(__a == __b); } + + +} + + template struct allocator_traits; + + + template + struct allocator_traits> + { + + using allocator_type = pmr::polymorphic_allocator<_Tp>; + + + using value_type = _Tp; + + + using pointer = _Tp*; + + + using const_pointer = const _Tp*; + + + using void_pointer = void*; + + + using const_void_pointer = const void*; + + + using difference_type = std::ptrdiff_t; + + + using size_type = std::size_t; + + + + + + using propagate_on_container_copy_assignment = false_type; + using propagate_on_container_move_assignment = false_type; + using propagate_on_container_swap = false_type; + + static allocator_type + select_on_container_copy_construction(const allocator_type&) noexcept + { return allocator_type(); } + + + + using is_always_equal = false_type; + + template + using rebind_alloc = pmr::polymorphic_allocator<_Up>; + + template + using rebind_traits = allocator_traits>; +# 446 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + [[nodiscard]] static pointer + allocate(allocator_type& __a, size_type __n) + { return __a.allocate(__n); } +# 461 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + [[nodiscard]] static pointer + allocate(allocator_type& __a, size_type __n, const_void_pointer) + { return __a.allocate(__n); } +# 473 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + static void + deallocate(allocator_type& __a, pointer __p, size_type __n) + { __a.deallocate(__p, __n); } +# 488 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + template + static void + construct(allocator_type& __a, _Up* __p, _Args&&... __args) + { __a.construct(__p, std::forward<_Args>(__args)...); } +# 500 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/memory_resource.h" 3 + template + static void + destroy(allocator_type&, _Up* __p) + noexcept(is_nothrow_destructible<_Up>::value) + { __p->~_Up(); } + + + + + + static size_type + max_size(const allocator_type&) noexcept + { return size_t(-1) / sizeof(value_type); } + }; + + +} +# 68 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/string" 2 3 +namespace std +{ + + namespace pmr { + template> + using basic_string = std::basic_string<_CharT, _Traits, + polymorphic_allocator<_CharT>>; + using string = basic_string; + + + + using u16string = basic_string; + using u32string = basic_string; + using wstring = basic_string; + } + +} +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 2 3 + + + + + + +namespace std +{ + +# 66 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + class locale + { + public: + + + typedef int category; + + + class facet; + class id; + class _Impl; + + friend class facet; + friend class _Impl; + + template + friend bool + has_facet(const locale&) throw(); + + template + friend const _Facet& + use_facet(const locale&); + + template + friend const _Facet* + __try_use_facet(const locale&) noexcept; + + template + friend struct __use_cache; +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + static const category none = 0; + static const category ctype = 1L << 0; + static const category numeric = 1L << 1; + static const category collate = 1L << 2; + static const category time = 1L << 3; + static const category monetary = 1L << 4; + static const category messages = 1L << 5; + static const category all = (ctype | numeric | collate | + time | monetary | messages); +# 125 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + locale() throw(); +# 134 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + locale(const locale& __other) throw(); +# 144 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + explicit + locale(const char* __s); +# 159 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + locale(const locale& __base, const char* __s, category __cat); +# 170 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + explicit + locale(const std::string& __s) : locale(__s.c_str()) { } +# 185 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + locale(const locale& __base, const std::string& __s, category __cat) + : locale(__base, __s.c_str(), __cat) { } +# 200 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + locale(const locale& __base, const locale& __add, category __cat); +# 213 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + template + locale(const locale& __other, _Facet* __f); + + + ~locale() throw(); +# 227 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + const locale& + operator=(const locale& __other) throw(); +# 242 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + template + locale + combine(const locale& __other) const; + + + + + + + __attribute ((__abi_tag__ ("cxx11"))) + string + name() const; +# 272 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + bool + operator==(const locale& __other) const throw(); +# 282 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + bool + operator!=(const locale& __other) const throw() + { return !(this->operator==(__other)); } +# 302 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + template + bool + operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, + const basic_string<_Char, _Traits, _Alloc>& __s2) const; +# 318 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + static locale + global(const locale& __loc); + + + + + static const locale& + classic(); + + private: + + _Impl* _M_impl; + + + static _Impl* _S_classic; + + + static _Impl* _S_global; + + + + + + static const char* const* const _S_categories; +# 353 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + enum { _S_categories_size = 6 + 0 }; + + + static __gthread_once_t _S_once; + + + explicit + locale(_Impl*) throw(); + + static void + _S_initialize(); + + static void + _S_initialize_once() throw(); + + static category + _S_normalize_category(category); + + void + _M_coalesce(const locale& __base, const locale& __add, category __cat); + + + static const id* const _S_twinned_facets[]; + + }; +# 391 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + class locale::facet + { + private: + friend class locale; + friend class locale::_Impl; + + mutable _Atomic_word _M_refcount; + + + static __c_locale _S_c_locale; + + + static const char _S_c_name[2]; + + + static __gthread_once_t _S_once; + + + static void + _S_initialize_once(); + + protected: +# 422 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + explicit + facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) + { } + + + virtual + ~facet(); + + static void + _S_create_c_locale(__c_locale& __cloc, const char* __s, + __c_locale __old = 0); + + static __c_locale + _S_clone_c_locale(__c_locale& __cloc) throw(); + + static void + _S_destroy_c_locale(__c_locale& __cloc); + + static __c_locale + _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); + + + + static __c_locale + _S_get_c_locale(); + + __attribute__ ((__const__)) static const char* + _S_get_c_name() throw(); +# 458 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + facet(const facet&) = delete; + + facet& + operator=(const facet&) = delete; + + + private: + void + _M_add_reference() const throw() + { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } + + void + _M_remove_reference() const throw() + { + + ; + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) + { + ; + try + { delete this; } + catch(...) + { } + } + } + + const facet* _M_sso_shim(const id*) const; + const facet* _M_cow_shim(const id*) const; + + protected: + class __shim; + }; +# 503 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + class locale::id + { + private: + friend class locale; + friend class locale::_Impl; + + template + friend const _Facet& + use_facet(const locale&); + + template + friend bool + has_facet(const locale&) throw(); + + template + friend const _Facet* + __try_use_facet(const locale&) noexcept; + + + + + mutable size_t _M_index; + + + static _Atomic_word _S_refcount; + + void + operator=(const id&); + + id(const id&); + + public: + + + + id() { } + + size_t + _M_id() const throw(); + }; + + + + class locale::_Impl + { + public: + + friend class locale; + friend class locale::facet; + + template + friend bool + has_facet(const locale&) throw(); + + template + friend const _Facet& + use_facet(const locale&); + + template + friend const _Facet* + __try_use_facet(const locale&) noexcept; + + template + friend struct __use_cache; + + private: + + _Atomic_word _M_refcount; + const facet** _M_facets; + size_t _M_facets_size; + const facet** _M_caches; + char** _M_names; + static const locale::id* const _S_id_ctype[]; + static const locale::id* const _S_id_numeric[]; + static const locale::id* const _S_id_collate[]; + static const locale::id* const _S_id_time[]; + static const locale::id* const _S_id_monetary[]; + static const locale::id* const _S_id_messages[]; + static const locale::id* const* const _S_facet_categories[]; + + void + _M_add_reference() throw() + { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } + + void + _M_remove_reference() throw() + { + + ; + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) + { + ; + try + { delete this; } + catch(...) + { } + } + } + + _Impl(const _Impl&, size_t); + _Impl(const char*, size_t); + _Impl(size_t) throw(); + + ~_Impl() throw(); + + _Impl(const _Impl&); + + void + operator=(const _Impl&); + + bool + _M_check_same_name() + { + bool __ret = true; + if (_M_names[1]) + + for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) + __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; + return __ret; + } + + void + _M_replace_categories(const _Impl*, category); + + void + _M_replace_category(const _Impl*, const locale::id* const*); + + void + _M_replace_facet(const _Impl*, const locale::id*); + + void + _M_install_facet(const locale::id*, const facet*); + + template + void + _M_init_facet(_Facet* __facet) + { _M_install_facet(&_Facet::id, __facet); } + + template + void + _M_init_facet_unchecked(_Facet* __facet) + { + __facet->_M_add_reference(); + _M_facets[_Facet::id._M_id()] = __facet; + } + + void + _M_install_cache(const facet*, size_t); + + void _M_init_extra(facet**); + void _M_init_extra(void*, void*, const char*, const char*); + + + + + }; +# 673 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + template + class __cxx11:: collate : public locale::facet + { + public: + + + + typedef _CharT char_type; + typedef basic_string<_CharT> string_type; + + + protected: + + + __c_locale _M_c_locale_collate; + + public: + + static locale::id id; +# 700 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + explicit + collate(size_t __refs = 0) + : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) + { } +# 714 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + explicit + collate(__c_locale __cloc, size_t __refs = 0) + : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) + { } +# 731 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + int + compare(const _CharT* __lo1, const _CharT* __hi1, + const _CharT* __lo2, const _CharT* __hi2) const + { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } +# 750 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + string_type + transform(const _CharT* __lo, const _CharT* __hi) const + { return this->do_transform(__lo, __hi); } +# 764 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + long + hash(const _CharT* __lo, const _CharT* __hi) const + { return this->do_hash(__lo, __hi); } + + + int + _M_compare(const _CharT*, const _CharT*) const throw(); + + size_t + _M_transform(_CharT*, const _CharT*, size_t) const throw(); + + protected: + + virtual + ~collate() + { _S_destroy_c_locale(_M_c_locale_collate); } +# 793 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + virtual int + do_compare(const _CharT* __lo1, const _CharT* __hi1, + const _CharT* __lo2, const _CharT* __hi2) const; +# 807 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + virtual string_type + do_transform(const _CharT* __lo, const _CharT* __hi) const; +# 820 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 3 + virtual long + do_hash(const _CharT* __lo, const _CharT* __hi) const; + }; + + template + locale::id collate<_CharT>::id; + + + template<> + int + collate::_M_compare(const char*, const char*) const throw(); + + template<> + size_t + collate::_M_transform(char*, const char*, size_t) const throw(); + + + template<> + int + collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); + + template<> + size_t + collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); + + + + template + class __cxx11:: collate_byname : public collate<_CharT> + { + public: + + + typedef _CharT char_type; + typedef basic_string<_CharT> string_type; + + + explicit + collate_byname(const char* __s, size_t __refs = 0) + : collate<_CharT>(__refs) + { + if (__builtin_strcmp(__s, "C") != 0 + && __builtin_strcmp(__s, "POSIX") != 0) + { + this->_S_destroy_c_locale(this->_M_c_locale_collate); + this->_S_create_c_locale(this->_M_c_locale_collate, __s); + } + } + + + explicit + collate_byname(const string& __s, size_t __refs = 0) + : collate_byname(__s.c_str(), __refs) { } + + + protected: + virtual + ~collate_byname() { } + }; + + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.tcc" 3 + +namespace std +{ + + + template + locale:: + locale(const locale& __other, _Facet* __f) + { + _M_impl = new _Impl(*__other._M_impl, 1); + + try + { _M_impl->_M_install_facet(&_Facet::id, __f); } + catch(...) + { + _M_impl->_M_remove_reference(); + throw; + } + delete [] _M_impl->_M_names[0]; + _M_impl->_M_names[0] = 0; + } + + template + locale + locale:: + combine(const locale& __other) const + { + _Impl* __tmp = new _Impl(*_M_impl, 1); + try + { + __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); + } + catch(...) + { + __tmp->_M_remove_reference(); + throw; + } + return locale(__tmp); + } + + template + bool + locale:: + operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, + const basic_string<_CharT, _Traits, _Alloc>& __s2) const + { + typedef std::collate<_CharT> __collate_type; + const __collate_type& __collate = use_facet<__collate_type>(*this); + return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), + __s2.data(), __s2.data() + __s2.length()) < 0); + } + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++17-extensions" + template + inline const _Facet* + __try_use_facet(const locale& __loc) noexcept + { + const size_t __i = _Facet::id._M_id(); + const locale::facet** __facets = __loc._M_impl->_M_facets; + + + + + + + + if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); + + + if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); + + + if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); + if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); + + + + + if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) + return 0; + + + return dynamic_cast(__facets[__i]); + + + + } +#pragma GCC diagnostic pop +# 164 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.tcc" 3 + template + inline bool + has_facet(const locale& __loc) throw() + { + + static_assert(__is_base_of(locale::facet, _Facet), + "template argument must be derived from locale::facet"); + + + + return std::__try_use_facet<_Facet>(__loc) != 0; + } +# 191 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.tcc" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-reference" + template + inline const _Facet& + use_facet(const locale& __loc) + { + + static_assert(__is_base_of(locale::facet, _Facet), + "template argument must be derived from locale::facet"); + + + + if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc)) + return *__f; + __throw_bad_cast(); + } +#pragma GCC diagnostic pop + + + + template + int + collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () + { return 0; } + + + template + size_t + collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () + { return 0; } + + template + int + collate<_CharT>:: + do_compare(const _CharT* __lo1, const _CharT* __hi1, + const _CharT* __lo2, const _CharT* __hi2) const + { + + + const string_type __one(__lo1, __hi1); + const string_type __two(__lo2, __hi2); + + const _CharT* __p = __one.c_str(); + const _CharT* __pend = __one.data() + __one.length(); + const _CharT* __q = __two.c_str(); + const _CharT* __qend = __two.data() + __two.length(); + + + + + for (;;) + { + const int __res = _M_compare(__p, __q); + if (__res) + return __res; + + __p += char_traits<_CharT>::length(__p); + __q += char_traits<_CharT>::length(__q); + if (__p == __pend && __q == __qend) + return 0; + else if (__p == __pend) + return -1; + else if (__q == __qend) + return 1; + + __p++; + __q++; + } + } + + template + typename collate<_CharT>::string_type + collate<_CharT>:: + do_transform(const _CharT* __lo, const _CharT* __hi) const + { + string_type __ret; + + + const string_type __str(__lo, __hi); + + const _CharT* __p = __str.c_str(); + const _CharT* __pend = __str.data() + __str.length(); + + size_t __len = (__hi - __lo) * 2; + + _CharT* __c = new _CharT[__len]; + + try + { + + + + for (;;) + { + + size_t __res = _M_transform(__c, __p, __len); + + + if (__res >= __len) + { + __len = __res + 1; + delete [] __c, __c = 0; + __c = new _CharT[__len]; + __res = _M_transform(__c, __p, __len); + } + + __ret.append(__c, __res); + __p += char_traits<_CharT>::length(__p); + if (__p == __pend) + break; + + __p++; + __ret.push_back(_CharT()); + } + } + catch(...) + { + delete [] __c; + throw; + } + + delete [] __c; + + return __ret; + } + + template + long + collate<_CharT>:: + do_hash(const _CharT* __lo, const _CharT* __hi) const + { + unsigned long __val = 0; + for (; __lo < __hi; ++__lo) + __val = + *__lo + ((__val << 7) + | (__val >> (__gnu_cxx::__numeric_traits:: + __digits - 7))); + return static_cast(__val); + } + + + + + extern template class collate; + extern template class collate_byname; + + extern template + const collate* + __try_use_facet >(const locale&) noexcept; + + extern template + const collate& + use_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + + extern template class collate; + extern template class collate_byname; + + extern template + const collate* + __try_use_facet >(const locale&) noexcept; + + extern template + const collate& + use_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + + + +} +# 884 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_classes.h" 2 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 2 3 + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 1 3 +# 32 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h" 1 3 +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cerrno" 3 +# 35 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h" 2 3 + +namespace std +{ + + + + + enum class errc + { + address_family_not_supported = 102, + address_in_use = 100, + address_not_available = 101, + already_connected = 113, + argument_list_too_long = 7, + argument_out_of_domain = 33, + bad_address = 14, + bad_file_descriptor = 9, + + bad_message = 104, + + broken_pipe = 32, + connection_aborted = 106, + connection_already_in_progress = 103, + connection_refused = 107, + connection_reset = 108, + cross_device_link = 18, + destination_address_required = 109, + device_or_resource_busy = 16, + directory_not_empty = 41, + executable_format_error = 8, + file_exists = 17, + file_too_large = 27, + filename_too_long = 38, + function_not_supported = 40, + host_unreachable = 110, + + identifier_removed = 111, + + illegal_byte_sequence = 42, + inappropriate_io_control_operation = 25, + interrupted = 4, + invalid_argument = 22, + invalid_seek = 29, + io_error = 5, + is_a_directory = 21, + message_size = 115, + network_down = 116, + network_reset = 117, + network_unreachable = 118, + no_buffer_space = 119, + + no_child_process = 10, + + + no_link = 121, + + no_lock_available = 39, + + no_message_available = 120, + + + no_message = 122, + + no_protocol_option = 123, + + no_space_on_device = 28, + + + no_stream_resources = 124, + + no_such_device_or_address = 6, + no_such_device = 19, + no_such_file_or_directory = 2, + no_such_process = 3, + not_a_directory = 20, + not_a_socket = 128, + + not_a_stream = 125, + + not_connected = 126, + not_enough_memory = 12, + + not_supported = 129, + + operation_canceled = 105, + operation_in_progress = 112, + + operation_not_permitted = 1, + + operation_not_supported = 130, + + operation_would_block = 140, + + + owner_dead = 133, + + permission_denied = 13, + protocol_error = 134, + protocol_not_supported = 135, + read_only_file_system = 30, + resource_deadlock_would_occur = 36, + resource_unavailable_try_again = 11, + result_out_of_range = 34, + + state_not_recoverable = 127, + + + stream_timeout = 137, + + + text_file_busy = 139, + + + timed_out = 138, + + too_many_files_open_in_system = 23, + too_many_files_open = 24, + too_many_links = 31, + too_many_symbolic_link_levels = 114, + + value_too_large = 132, + + wrong_protocol_type = 136 + }; + + +} +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdexcept" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdexcept" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdexcept" 3 + + + + +namespace std +{ + + + + + + struct __cow_string + { + union { + const char* _M_p; + char _M_bytes[sizeof(const char*)]; + }; + + __cow_string(); + __cow_string(const std::string&); + __cow_string(const char*, size_t); + __cow_string(const __cow_string&) noexcept; + __cow_string& operator=(const __cow_string&) noexcept; + ~__cow_string(); + + __cow_string(__cow_string&&) noexcept; + __cow_string& operator=(__cow_string&&) noexcept; + + }; + + typedef basic_string __sso_string; +# 113 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/stdexcept" 3 + class logic_error : public exception + { + __cow_string _M_msg; + + public: + + explicit + logic_error(const string& __arg) ; + + + explicit + logic_error(const char*) ; + + logic_error(logic_error&&) noexcept; + logic_error& operator=(logic_error&&) noexcept; + + + + logic_error(const logic_error&) noexcept; + logic_error& operator=(const logic_error&) noexcept; + + + + + + virtual ~logic_error() noexcept; + + + + virtual const char* + what() const noexcept; + + + + + + }; + + + + class domain_error : public logic_error + { + public: + explicit domain_error(const string& __arg) ; + + explicit domain_error(const char*) ; + domain_error(const domain_error&) = default; + domain_error& operator=(const domain_error&) = default; + domain_error(domain_error&&) = default; + domain_error& operator=(domain_error&&) = default; + + virtual ~domain_error() noexcept; + }; + + + class invalid_argument : public logic_error + { + public: + explicit invalid_argument(const string& __arg) ; + + explicit invalid_argument(const char*) ; + invalid_argument(const invalid_argument&) = default; + invalid_argument& operator=(const invalid_argument&) = default; + invalid_argument(invalid_argument&&) = default; + invalid_argument& operator=(invalid_argument&&) = default; + + virtual ~invalid_argument() noexcept; + }; + + + + class length_error : public logic_error + { + public: + explicit length_error(const string& __arg) ; + + explicit length_error(const char*) ; + length_error(const length_error&) = default; + length_error& operator=(const length_error&) = default; + length_error(length_error&&) = default; + length_error& operator=(length_error&&) = default; + + virtual ~length_error() noexcept; + }; + + + + class out_of_range : public logic_error + { + public: + explicit out_of_range(const string& __arg) ; + + explicit out_of_range(const char*) ; + out_of_range(const out_of_range&) = default; + out_of_range& operator=(const out_of_range&) = default; + out_of_range(out_of_range&&) = default; + out_of_range& operator=(out_of_range&&) = default; + + virtual ~out_of_range() noexcept; + }; + + + + + + + class runtime_error : public exception + { + __cow_string _M_msg; + + public: + + explicit + runtime_error(const string& __arg) ; + + + explicit + runtime_error(const char*) ; + + runtime_error(runtime_error&&) noexcept; + runtime_error& operator=(runtime_error&&) noexcept; + + + + runtime_error(const runtime_error&) noexcept; + runtime_error& operator=(const runtime_error&) noexcept; + + + + + + virtual ~runtime_error() noexcept; + + + + virtual const char* + what() const noexcept; + + + + + + }; + + + class range_error : public runtime_error + { + public: + explicit range_error(const string& __arg) ; + + explicit range_error(const char*) ; + range_error(const range_error&) = default; + range_error& operator=(const range_error&) = default; + range_error(range_error&&) = default; + range_error& operator=(range_error&&) = default; + + virtual ~range_error() noexcept; + }; + + + class overflow_error : public runtime_error + { + public: + explicit overflow_error(const string& __arg) ; + + explicit overflow_error(const char*) ; + overflow_error(const overflow_error&) = default; + overflow_error& operator=(const overflow_error&) = default; + overflow_error(overflow_error&&) = default; + overflow_error& operator=(overflow_error&&) = default; + + virtual ~overflow_error() noexcept; + }; + + + class underflow_error : public runtime_error + { + public: + explicit underflow_error(const string& __arg) ; + + explicit underflow_error(const char*) ; + underflow_error(const underflow_error&) = default; + underflow_error& operator=(const underflow_error&) = default; + underflow_error(underflow_error&&) = default; + underflow_error& operator=(underflow_error&&) = default; + + virtual ~underflow_error() noexcept; + }; + + + + +} +# 44 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 2 3 + + + + +namespace std +{ + + + + + + + class error_code; + class error_condition; + class system_error; + + + template + struct is_error_code_enum : public false_type { }; + + + template + struct is_error_condition_enum : public false_type { }; + + template<> + struct is_error_condition_enum + : public true_type { }; + + + template + inline constexpr bool is_error_code_enum_v = + is_error_code_enum<_Tp>::value; + template + inline constexpr bool is_error_condition_enum_v = + is_error_condition_enum<_Tp>::value; + + + +inline namespace _V2 { +# 106 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + class error_category + { + public: + constexpr error_category() noexcept = default; + + virtual ~error_category(); + + error_category(const error_category&) = delete; + error_category& operator=(const error_category&) = delete; + + + virtual const char* + name() const noexcept = 0; + + + + + + + private: + __attribute ((__abi_tag__ ("cxx11"))) + virtual __cow_string + _M_message(int) const; + + public: + + __attribute ((__abi_tag__ ("cxx11"))) + virtual string + message(int) const = 0; +# 144 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + public: + + virtual error_condition + default_error_condition(int __i) const noexcept; + + + virtual bool + equivalent(int __i, const error_condition& __cond) const noexcept; + + + virtual bool + equivalent(const error_code& __code, int __i) const noexcept; + + + [[__nodiscard__]] + bool + operator==(const error_category& __other) const noexcept + { return this == &__other; } +# 170 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + bool + operator<(const error_category& __other) const noexcept + { return less()(this, &__other); } + + bool + operator!=(const error_category& __other) const noexcept + { return this != &__other; } + + }; + + + + + [[__nodiscard__, __gnu__::__const__]] + const error_category& + generic_category() noexcept; + + + [[__nodiscard__, __gnu__::__const__]] + const error_category& + system_category() noexcept; + + + +} + + + + + +namespace __adl_only +{ + void make_error_code() = delete; + void make_error_condition() = delete; +} +# 223 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + class error_code + { + template + using _Check + = __enable_if_t::value>; + + public: + error_code() noexcept + : _M_value(0), _M_cat(&system_category()) { } + + error_code(int __v, const error_category& __cat) noexcept + : _M_value(__v), _M_cat(&__cat) { } + + + template> + error_code(_ErrorCodeEnum __e) noexcept + { + using __adl_only::make_error_code; + *this = make_error_code(__e); + } + + error_code(const error_code&) = default; + error_code& operator=(const error_code&) = default; + + void + assign(int __v, const error_category& __cat) noexcept + { + _M_value = __v; + _M_cat = &__cat; + } + + void + clear() noexcept + { assign(0, system_category()); } + + + [[__nodiscard__]] + int + value() const noexcept { return _M_value; } + + + [[__nodiscard__]] + const error_category& + category() const noexcept { return *_M_cat; } + + + error_condition + default_error_condition() const noexcept; + + + __attribute ((__abi_tag__ ("cxx11"))) + string + message() const + { return category().message(value()); } + + + [[__nodiscard__]] + explicit operator bool() const noexcept + { return _M_value != 0; } + + + private: + int _M_value; + const error_category* _M_cat; + }; +# 300 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + [[__nodiscard__]] + inline error_code + make_error_code(errc __e) noexcept + { return error_code(static_cast(__e), generic_category()); } +# 323 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + inline bool + operator<(const error_code& __lhs, const error_code& __rhs) noexcept + { + return (__lhs.category() < __rhs.category() + || (__lhs.category() == __rhs.category() + && __lhs.value() < __rhs.value())); + } + + + + + + + + template + basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) + { return (__os << __e.category().name() << ':' << __e.value()); } +# 354 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + class error_condition + { + template + using _Check + = __enable_if_t::value>; + + public: + + error_condition() noexcept + : _M_value(0), _M_cat(&generic_category()) { } + + + error_condition(int __v, const error_category& __cat) noexcept + : _M_value(__v), _M_cat(&__cat) { } + + + template> + error_condition(_ErrorConditionEnum __e) noexcept + { + using __adl_only::make_error_condition; + *this = make_error_condition(__e); + } + + error_condition(const error_condition&) = default; + error_condition& operator=(const error_condition&) = default; + + + void + assign(int __v, const error_category& __cat) noexcept + { + _M_value = __v; + _M_cat = &__cat; + } + + + void + clear() noexcept + { assign(0, generic_category()); } + + + + + [[__nodiscard__]] + int + value() const noexcept { return _M_value; } + + + [[__nodiscard__]] + const error_category& + category() const noexcept { return *_M_cat; } + + + __attribute ((__abi_tag__ ("cxx11"))) + string + message() const + { return category().message(value()); } + + + [[__nodiscard__]] + explicit operator bool() const noexcept + { return _M_value != 0; } + + + private: + int _M_value; + const error_category* _M_cat; + }; +# 433 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + [[__nodiscard__]] + inline error_condition + make_error_condition(errc __e) noexcept + { return error_condition(static_cast(__e), generic_category()); } +# 447 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + [[__nodiscard__]] + inline bool + operator==(const error_code& __lhs, const error_code& __rhs) noexcept + { + return __lhs.category() == __rhs.category() + && __lhs.value() == __rhs.value(); + } +# 463 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + [[__nodiscard__]] + inline bool + operator==(const error_code& __lhs, const error_condition& __rhs) noexcept + { + return __lhs.category().equivalent(__lhs.value(), __rhs) + || __rhs.category().equivalent(__lhs, __rhs.value()); + } +# 478 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + [[__nodiscard__]] + inline bool + operator==(const error_condition& __lhs, + const error_condition& __rhs) noexcept + { + return __lhs.category() == __rhs.category() + && __lhs.value() == __rhs.value(); + } +# 506 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + inline bool + operator<(const error_condition& __lhs, + const error_condition& __rhs) noexcept + { + return (__lhs.category() < __rhs.category() + || (__lhs.category() == __rhs.category() + && __lhs.value() < __rhs.value())); + } + + + inline bool + operator==(const error_condition& __lhs, const error_code& __rhs) noexcept + { + return (__rhs.category().equivalent(__rhs.value(), __lhs) + || __lhs.category().equivalent(__rhs, __lhs.value())); + } + + + inline bool + operator!=(const error_code& __lhs, const error_code& __rhs) noexcept + { return !(__lhs == __rhs); } + + + inline bool + operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept + { return !(__lhs == __rhs); } + + + inline bool + operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept + { return !(__lhs == __rhs); } + + + inline bool + operator!=(const error_condition& __lhs, + const error_condition& __rhs) noexcept + { return !(__lhs == __rhs); } +# 556 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/system_error" 3 + class system_error : public std::runtime_error + { + private: + error_code _M_code; + + public: + system_error(error_code __ec = error_code()) + : runtime_error(__ec.message()), _M_code(__ec) { } + + system_error(error_code __ec, const string& __what) + : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } + + system_error(error_code __ec, const char* __what) + : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } + + system_error(int __v, const error_category& __ecat, const char* __what) + : system_error(error_code(__v, __ecat), __what) { } + + system_error(int __v, const error_category& __ecat) + : runtime_error(error_code(__v, __ecat).message()), + _M_code(__v, __ecat) { } + + system_error(int __v, const error_category& __ecat, const string& __what) + : runtime_error(__what + (": " + error_code(__v, __ecat).message())), + _M_code(__v, __ecat) { } + + + system_error (const system_error &) = default; + system_error &operator= (const system_error &) = default; + + + virtual ~system_error() noexcept; + + const error_code& + code() const noexcept { return _M_code; } + }; + + +} + + + +namespace std +{ + + + + + + + template<> + struct hash + : public __hash_base + { + size_t + operator()(const error_code& __e) const noexcept + { + const size_t __tmp = std::_Hash_impl::hash(__e.value()); + return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); + } + }; + + + + + + + template<> + struct hash + : public __hash_base + { + size_t + operator()(const error_condition& __e) const noexcept + { + const size_t __tmp = std::_Hash_impl::hash(__e.value()); + return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); + } + }; + + + +} +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 2 3 + + +namespace std +{ + + + + + + + enum _Ios_Fmtflags + { + _S_boolalpha = 1L << 0, + _S_dec = 1L << 1, + _S_fixed = 1L << 2, + _S_hex = 1L << 3, + _S_internal = 1L << 4, + _S_left = 1L << 5, + _S_oct = 1L << 6, + _S_right = 1L << 7, + _S_scientific = 1L << 8, + _S_showbase = 1L << 9, + _S_showpoint = 1L << 10, + _S_showpos = 1L << 11, + _S_skipws = 1L << 12, + _S_unitbuf = 1L << 13, + _S_uppercase = 1L << 14, + _S_adjustfield = _S_left | _S_right | _S_internal, + _S_basefield = _S_dec | _S_oct | _S_hex, + _S_floatfield = _S_scientific | _S_fixed, + _S_ios_fmtflags_end = 1L << 16, + _S_ios_fmtflags_max = 0x7fffffff, + _S_ios_fmtflags_min = ~0x7fffffff + }; + + [[__nodiscard__]] constexpr + inline _Ios_Fmtflags + operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept + { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Fmtflags + operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept + { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Fmtflags + operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept + { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Fmtflags + operator~(_Ios_Fmtflags __a) noexcept + { return _Ios_Fmtflags(~static_cast(__a)); } + + constexpr + inline const _Ios_Fmtflags& + operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept + { return __a = __a | __b; } + + constexpr + inline const _Ios_Fmtflags& + operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept + { return __a = __a & __b; } + + constexpr + inline const _Ios_Fmtflags& + operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept + { return __a = __a ^ __b; } + + + enum _Ios_Openmode + { + _S_app = 1L << 0, + _S_ate = 1L << 1, + _S_bin = 1L << 2, + _S_in = 1L << 3, + _S_out = 1L << 4, + _S_trunc = 1L << 5, + _S_noreplace = 1L << 6, + _S_ios_openmode_end = 1L << 16, + _S_ios_openmode_max = 0x7fffffff, + _S_ios_openmode_min = ~0x7fffffff + }; + + [[__nodiscard__]] constexpr + inline _Ios_Openmode + operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept + { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Openmode + operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept + { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Openmode + operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept + { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Openmode + operator~(_Ios_Openmode __a) noexcept + { return _Ios_Openmode(~static_cast(__a)); } + + constexpr + inline const _Ios_Openmode& + operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept + { return __a = __a | __b; } + + constexpr + inline const _Ios_Openmode& + operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept + { return __a = __a & __b; } + + constexpr + inline const _Ios_Openmode& + operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept + { return __a = __a ^ __b; } + + + enum _Ios_Iostate + { + _S_goodbit = 0, + _S_badbit = 1L << 0, + _S_eofbit = 1L << 1, + _S_failbit = 1L << 2, + _S_ios_iostate_end = 1L << 16, + _S_ios_iostate_max = 0x7fffffff, + _S_ios_iostate_min = ~0x7fffffff + }; + + [[__nodiscard__]] constexpr + inline _Ios_Iostate + operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept + { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Iostate + operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept + { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Iostate + operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept + { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } + + [[__nodiscard__]] constexpr + inline _Ios_Iostate + operator~(_Ios_Iostate __a) noexcept + { return _Ios_Iostate(~static_cast(__a)); } + + constexpr + inline const _Ios_Iostate& + operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept + { return __a = __a | __b; } + + constexpr + inline const _Ios_Iostate& + operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept + { return __a = __a & __b; } + + constexpr + inline const _Ios_Iostate& + operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept + { return __a = __a ^ __b; } + + + enum _Ios_Seekdir + { + _S_beg = 0, + _S_cur = 1, + _S_end = 2, + _S_ios_seekdir_end = 1L << 16 + }; + + + + enum class io_errc { stream = 1 }; + + template <> struct is_error_code_enum : public true_type { }; + + [[__nodiscard__, __gnu__::__const__]] + const error_category& + iostream_category() noexcept; + + [[__nodiscard__]] + inline error_code + make_error_code(io_errc __e) noexcept + { return error_code(static_cast(__e), iostream_category()); } + + [[__nodiscard__]] + inline error_condition + make_error_condition(io_errc __e) noexcept + { return error_condition(static_cast(__e), iostream_category()); } +# 254 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + class ios_base + { +# 272 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + public: +# 281 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error + { + public: + explicit + failure(const string& __str); + + + explicit + failure(const string&, const error_code&); + + explicit + failure(const char*, const error_code& = io_errc::stream); + + + virtual + ~failure() throw(); + + virtual const char* + what() const throw(); + }; +# 367 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + typedef _Ios_Fmtflags fmtflags; + + + static const fmtflags boolalpha = _S_boolalpha; + + + static const fmtflags dec = _S_dec; + + + static const fmtflags fixed = _S_fixed; + + + static const fmtflags hex = _S_hex; + + + + + static const fmtflags internal = _S_internal; + + + + static const fmtflags left = _S_left; + + + static const fmtflags oct = _S_oct; + + + + static const fmtflags right = _S_right; + + + static const fmtflags scientific = _S_scientific; + + + + static const fmtflags showbase = _S_showbase; + + + + static const fmtflags showpoint = _S_showpoint; + + + static const fmtflags showpos = _S_showpos; + + + static const fmtflags skipws = _S_skipws; + + + static const fmtflags unitbuf = _S_unitbuf; + + + + static const fmtflags uppercase = _S_uppercase; + + + static const fmtflags adjustfield = _S_adjustfield; + + + static const fmtflags basefield = _S_basefield; + + + static const fmtflags floatfield = _S_floatfield; +# 442 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + typedef _Ios_Iostate iostate; + + + + static const iostate badbit = _S_badbit; + + + static const iostate eofbit = _S_eofbit; + + + + + static const iostate failbit = _S_failbit; + + + static const iostate goodbit = _S_goodbit; +# 473 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + typedef _Ios_Openmode openmode; + + + static const openmode app = _S_app; + + + static const openmode ate = _S_ate; + + + + + static const openmode binary = _S_bin; + + + static const openmode in = _S_in; + + + static const openmode out = _S_out; + + + static const openmode trunc = _S_trunc; + + static const openmode __noreplace = _S_noreplace; +# 512 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + typedef _Ios_Seekdir seekdir; + + + static const seekdir beg = _S_beg; + + + static const seekdir cur = _S_cur; + + + static const seekdir end = _S_end; +# 545 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + enum event + { + erase_event, + imbue_event, + copyfmt_event + }; +# 562 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + typedef void (*event_callback) (event __e, ios_base& __b, int __i); +# 574 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + void + register_callback(event_callback __fn, int __index); + + protected: + streamsize _M_precision; + streamsize _M_width; + fmtflags _M_flags; + iostate _M_exception; + iostate _M_streambuf_state; + + + + struct _Callback_list + { + + _Callback_list* _M_next; + ios_base::event_callback _M_fn; + int _M_index; + _Atomic_word _M_refcount; + + _Callback_list(ios_base::event_callback __fn, int __index, + _Callback_list* __cb) + : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } + + void + _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } + + + int + _M_remove_reference() + { + + ; + int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); + if (__res == 0) + { + ; + } + return __res; + } + }; + + _Callback_list* _M_callbacks; + + void + _M_call_callbacks(event __ev) throw(); + + void + _M_dispose_callbacks(void) throw(); + + + struct _Words + { + void* _M_pword; + long _M_iword; + _Words() : _M_pword(0), _M_iword(0) { } + }; + + + _Words _M_word_zero; + + + + enum { _S_local_word_size = 8 }; + _Words _M_local_word[_S_local_word_size]; + + + int _M_word_size; + _Words* _M_word; + + _Words& + _M_grow_words(int __index, bool __iword); + + + locale _M_ios_locale; + + void + _M_init() throw(); + + public: + + + + + + class Init + { + friend class ios_base; + public: + Init(); + ~Init(); + + + Init(const Init&) = default; + Init& operator=(const Init&) = default; + + + private: + static _Atomic_word _S_refcount; + static bool _S_synced_with_stdio; + }; + + + + + + + fmtflags + flags() const + { return _M_flags; } +# 692 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + fmtflags + flags(fmtflags __fmtfl) + { + fmtflags __old = _M_flags; + _M_flags = __fmtfl; + return __old; + } +# 708 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + fmtflags + setf(fmtflags __fmtfl) + { + fmtflags __old = _M_flags; + _M_flags |= __fmtfl; + return __old; + } +# 725 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + fmtflags + setf(fmtflags __fmtfl, fmtflags __mask) + { + fmtflags __old = _M_flags; + _M_flags &= ~__mask; + _M_flags |= (__fmtfl & __mask); + return __old; + } + + + + + + + + void + unsetf(fmtflags __mask) + { _M_flags &= ~__mask; } +# 751 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + streamsize + precision() const + { return _M_precision; } + + + + + + + streamsize + precision(streamsize __prec) + { + streamsize __old = _M_precision; + _M_precision = __prec; + return __old; + } + + + + + + + + streamsize + width() const + { return _M_width; } + + + + + + + streamsize + width(streamsize __wide) + { + streamsize __old = _M_width; + _M_width = __wide; + return __old; + } +# 802 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + static bool + sync_with_stdio(bool __sync = true); +# 814 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + locale + imbue(const locale& __loc) throw(); +# 825 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + locale + getloc() const + { return _M_ios_locale; } +# 836 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + const locale& + _M_getloc() const + { return _M_ios_locale; } +# 855 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + static int + xalloc() throw(); +# 871 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + long& + iword(int __ix) + { + _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) + ? _M_word[__ix] : _M_grow_words(__ix, true); + return __word._M_iword; + } +# 892 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + void*& + pword(int __ix) + { + _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) + ? _M_word[__ix] : _M_grow_words(__ix, false); + return __word._M_pword; + } +# 909 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + virtual ~ios_base(); + + protected: + ios_base() throw (); +# 923 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ios_base.h" 3 + public: + ios_base(const ios_base&) = delete; + + ios_base& + operator=(const ios_base&) = delete; + + protected: + void + _M_move(ios_base&) noexcept; + + void + _M_swap(ios_base& __rhs) noexcept; + + }; + + + + inline ios_base& + boolalpha(ios_base& __base) + { + __base.setf(ios_base::boolalpha); + return __base; + } + + + inline ios_base& + noboolalpha(ios_base& __base) + { + __base.unsetf(ios_base::boolalpha); + return __base; + } + + + inline ios_base& + showbase(ios_base& __base) + { + __base.setf(ios_base::showbase); + return __base; + } + + + inline ios_base& + noshowbase(ios_base& __base) + { + __base.unsetf(ios_base::showbase); + return __base; + } + + + inline ios_base& + showpoint(ios_base& __base) + { + __base.setf(ios_base::showpoint); + return __base; + } + + + inline ios_base& + noshowpoint(ios_base& __base) + { + __base.unsetf(ios_base::showpoint); + return __base; + } + + + inline ios_base& + showpos(ios_base& __base) + { + __base.setf(ios_base::showpos); + return __base; + } + + + inline ios_base& + noshowpos(ios_base& __base) + { + __base.unsetf(ios_base::showpos); + return __base; + } + + + inline ios_base& + skipws(ios_base& __base) + { + __base.setf(ios_base::skipws); + return __base; + } + + + inline ios_base& + noskipws(ios_base& __base) + { + __base.unsetf(ios_base::skipws); + return __base; + } + + + inline ios_base& + uppercase(ios_base& __base) + { + __base.setf(ios_base::uppercase); + return __base; + } + + + inline ios_base& + nouppercase(ios_base& __base) + { + __base.unsetf(ios_base::uppercase); + return __base; + } + + + inline ios_base& + unitbuf(ios_base& __base) + { + __base.setf(ios_base::unitbuf); + return __base; + } + + + inline ios_base& + nounitbuf(ios_base& __base) + { + __base.unsetf(ios_base::unitbuf); + return __base; + } + + + + inline ios_base& + internal(ios_base& __base) + { + __base.setf(ios_base::internal, ios_base::adjustfield); + return __base; + } + + + inline ios_base& + left(ios_base& __base) + { + __base.setf(ios_base::left, ios_base::adjustfield); + return __base; + } + + + inline ios_base& + right(ios_base& __base) + { + __base.setf(ios_base::right, ios_base::adjustfield); + return __base; + } + + + + inline ios_base& + dec(ios_base& __base) + { + __base.setf(ios_base::dec, ios_base::basefield); + return __base; + } + + + inline ios_base& + hex(ios_base& __base) + { + __base.setf(ios_base::hex, ios_base::basefield); + return __base; + } + + + inline ios_base& + oct(ios_base& __base) + { + __base.setf(ios_base::oct, ios_base::basefield); + return __base; + } + + + + inline ios_base& + fixed(ios_base& __base) + { + __base.setf(ios_base::fixed, ios_base::floatfield); + return __base; + } + + + inline ios_base& + scientific(ios_base& __base) + { + __base.setf(ios_base::scientific, ios_base::floatfield); + return __base; + } + + + + + + + inline ios_base& + hexfloat(ios_base& __base) + { + __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); + return __base; + } + + + inline ios_base& + defaultfloat(ios_base& __base) + { + __base.unsetf(ios_base::floatfield); + return __base; + } + + + +} +# 45 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 +namespace std +{ + + + + + template + streamsize + __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, + basic_streambuf<_CharT, _Traits>*, bool&); +# 123 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + template + class basic_streambuf + { + public: + + + + + + + typedef _CharT char_type; + typedef _Traits traits_type; + typedef typename traits_type::int_type int_type; + typedef typename traits_type::pos_type pos_type; + typedef typename traits_type::off_type off_type; + + + + + typedef basic_streambuf __streambuf_type; + + + friend class basic_ios; + friend class basic_istream; + friend class basic_ostream; + friend class istreambuf_iterator; + friend class ostreambuf_iterator; + + friend streamsize + __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + _CharT2*>::__type + __copy_move_a2(istreambuf_iterator<_CharT2>, + istreambuf_iterator<_CharT2>, _CharT2*); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + istreambuf_iterator<_CharT2> >::__type + find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, + const _CharT2&); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + void>::__type + advance(istreambuf_iterator<_CharT2>&, _Distance); + + friend void __istream_extract(istream&, char*, streamsize); + + template + friend basic_istream<_CharT2, _Traits2>& + operator>>(basic_istream<_CharT2, _Traits2>&, + basic_string<_CharT2, _Traits2, _Alloc>&); + + template + friend basic_istream<_CharT2, _Traits2>& + getline(basic_istream<_CharT2, _Traits2>&, + basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); + + protected: + + + + + + + + char_type* _M_in_beg; + char_type* _M_in_cur; + char_type* _M_in_end; + char_type* _M_out_beg; + char_type* _M_out_cur; + char_type* _M_out_end; + + + locale _M_buf_locale; + + public: + + virtual + ~basic_streambuf() + { } +# 215 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + locale + pubimbue(const locale& __loc) + { + locale __tmp(this->getloc()); + this->imbue(__loc); + _M_buf_locale = __loc; + return __tmp; + } +# 232 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + locale + getloc() const + { return _M_buf_locale; } +# 245 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + basic_streambuf* + pubsetbuf(char_type* __s, streamsize __n) + { return this->setbuf(__s, __n); } +# 257 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + pos_type + pubseekoff(off_type __off, ios_base::seekdir __way, + ios_base::openmode __mode = ios_base::in | ios_base::out) + { return this->seekoff(__off, __way, __mode); } +# 269 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + pos_type + pubseekpos(pos_type __sp, + ios_base::openmode __mode = ios_base::in | ios_base::out) + { return this->seekpos(__sp, __mode); } + + + + + int + pubsync() { return this->sync(); } +# 290 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + streamsize + in_avail() + { + const streamsize __ret = this->egptr() - this->gptr(); + return __ret ? __ret : this->showmanyc(); + } +# 304 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + snextc() + { + int_type __ret = traits_type::eof(); + if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), + __ret), true)) + __ret = this->sgetc(); + return __ret; + } +# 322 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + sbumpc() + { + int_type __ret; + if (__builtin_expect(this->gptr() < this->egptr(), true)) + { + __ret = traits_type::to_int_type(*this->gptr()); + this->gbump(1); + } + else + __ret = this->uflow(); + return __ret; + } +# 344 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + sgetc() + { + int_type __ret; + if (__builtin_expect(this->gptr() < this->egptr(), true)) + __ret = traits_type::to_int_type(*this->gptr()); + else + __ret = this->underflow(); + return __ret; + } +# 363 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + streamsize + sgetn(char_type* __s, streamsize __n) + { return this->xsgetn(__s, __n); } +# 378 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + sputbackc(char_type __c) + { + int_type __ret; + const bool __testpos = this->eback() < this->gptr(); + if (__builtin_expect(!__testpos || + !traits_type::eq(__c, this->gptr()[-1]), false)) + __ret = this->pbackfail(traits_type::to_int_type(__c)); + else + { + this->gbump(-1); + __ret = traits_type::to_int_type(*this->gptr()); + } + return __ret; + } +# 403 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + sungetc() + { + int_type __ret; + if (__builtin_expect(this->eback() < this->gptr(), true)) + { + this->gbump(-1); + __ret = traits_type::to_int_type(*this->gptr()); + } + else + __ret = this->pbackfail(); + return __ret; + } +# 430 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + int_type + sputc(char_type __c) + { + int_type __ret; + if (__builtin_expect(this->pptr() < this->epptr(), true)) + { + *this->pptr() = __c; + this->pbump(1); + __ret = traits_type::to_int_type(__c); + } + else + __ret = this->overflow(traits_type::to_int_type(__c)); + return __ret; + } +# 456 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + streamsize + sputn(const char_type* __s, streamsize __n) + { return this->xsputn(__s, __n); } + + protected: +# 470 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + basic_streambuf() + : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), + _M_out_beg(0), _M_out_cur(0), _M_out_end(0), + _M_buf_locale(locale()) + { } +# 488 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + char_type* + eback() const { return _M_in_beg; } + + char_type* + gptr() const { return _M_in_cur; } + + char_type* + egptr() const { return _M_in_end; } +# 504 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + void + gbump(int __n) { _M_in_cur += __n; } +# 515 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + void + setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) + { + _M_in_beg = __gbeg; + _M_in_cur = __gnext; + _M_in_end = __gend; + } +# 535 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + char_type* + pbase() const { return _M_out_beg; } + + char_type* + pptr() const { return _M_out_cur; } + + char_type* + epptr() const { return _M_out_end; } +# 551 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + void + pbump(int __n) { _M_out_cur += __n; } +# 561 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + void + setp(char_type* __pbeg, char_type* __pend) + { + _M_out_beg = _M_out_cur = __pbeg; + _M_out_end = __pend; + } +# 582 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual void + imbue(const locale& __loc __attribute__ ((__unused__))) + { } +# 597 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual basic_streambuf* + setbuf(char_type*, streamsize) + { return this; } +# 608 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual pos_type + seekoff(off_type, ios_base::seekdir, + ios_base::openmode = ios_base::in | ios_base::out) + { return pos_type(off_type(-1)); } +# 620 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual pos_type + seekpos(pos_type, + ios_base::openmode = ios_base::in | ios_base::out) + { return pos_type(off_type(-1)); } +# 633 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual int + sync() { return 0; } +# 655 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual streamsize + showmanyc() { return 0; } +# 671 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual streamsize + xsgetn(char_type* __s, streamsize __n); +# 693 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual int_type + underflow() + { return traits_type::eof(); } +# 706 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual int_type + uflow() + { + int_type __ret = traits_type::eof(); + const bool __testeof = traits_type::eq_int_type(this->underflow(), + __ret); + if (!__testeof) + { + __ret = traits_type::to_int_type(*this->gptr()); + this->gbump(1); + } + return __ret; + } +# 730 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual int_type + pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) + { return traits_type::eof(); } +# 748 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual streamsize + xsputn(const char_type* __s, streamsize __n); +# 774 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + virtual int_type + overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) + { return traits_type::eof(); } +# 801 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 3 + void + __safe_gbump(streamsize __n) { _M_in_cur += __n; } + + void + __safe_pbump(streamsize __n) { _M_out_cur += __n; } + + + + + protected: + + basic_streambuf(const basic_streambuf&); + + basic_streambuf& + operator=(const basic_streambuf&); + + + void + swap(basic_streambuf& __sb) + { + std::swap(_M_in_beg, __sb._M_in_beg); + std::swap(_M_in_cur, __sb._M_in_cur); + std::swap(_M_in_end, __sb._M_in_end); + std::swap(_M_out_beg, __sb._M_out_beg); + std::swap(_M_out_cur, __sb._M_out_cur); + std::swap(_M_out_end, __sb._M_out_end); + std::swap(_M_buf_locale, __sb._M_buf_locale); + } + + }; + + + template + std::basic_streambuf<_CharT, _Traits>:: + basic_streambuf(const basic_streambuf&) = default; + + template + std::basic_streambuf<_CharT, _Traits>& + std::basic_streambuf<_CharT, _Traits>:: + operator=(const basic_streambuf&) = default; + + + + template<> + streamsize + __copy_streambufs_eof(basic_streambuf* __sbin, + basic_streambuf* __sbout, bool& __ineof); + + template<> + streamsize + __copy_streambufs_eof(basic_streambuf* __sbin, + basic_streambuf* __sbout, bool& __ineof); + + + + + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf.tcc" 3 + +namespace std +{ + + + template + streamsize + basic_streambuf<_CharT, _Traits>:: + xsgetn(char_type* __s, streamsize __n) + { + streamsize __ret = 0; + while (__ret < __n) + { + const streamsize __buf_len = this->egptr() - this->gptr(); + if (__buf_len) + { + const streamsize __remaining = __n - __ret; + const streamsize __len = std::min(__buf_len, __remaining); + traits_type::copy(__s, this->gptr(), __len); + __ret += __len; + __s += __len; + this->__safe_gbump(__len); + } + + if (__ret < __n) + { + const int_type __c = this->uflow(); + if (!traits_type::eq_int_type(__c, traits_type::eof())) + { + traits_type::assign(*__s++, traits_type::to_char_type(__c)); + ++__ret; + } + else + break; + } + } + return __ret; + } + + template + streamsize + basic_streambuf<_CharT, _Traits>:: + xsputn(const char_type* __s, streamsize __n) + { + streamsize __ret = 0; + while (__ret < __n) + { + const streamsize __buf_len = this->epptr() - this->pptr(); + if (__buf_len) + { + const streamsize __remaining = __n - __ret; + const streamsize __len = std::min(__buf_len, __remaining); + traits_type::copy(this->pptr(), __s, __len); + __ret += __len; + __s += __len; + this->__safe_pbump(__len); + } + + if (__ret < __n) + { + int_type __c = this->overflow(traits_type::to_int_type(*__s)); + if (!traits_type::eq_int_type(__c, traits_type::eof())) + { + ++__ret; + ++__s; + } + else + break; + } + } + return __ret; + } + + + + + template + streamsize + __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, + basic_streambuf<_CharT, _Traits>* __sbout, + bool& __ineof) + { + streamsize __ret = 0; + __ineof = true; + typename _Traits::int_type __c = __sbin->sgetc(); + while (!_Traits::eq_int_type(__c, _Traits::eof())) + { + __c = __sbout->sputc(_Traits::to_char_type(__c)); + if (_Traits::eq_int_type(__c, _Traits::eof())) + { + __ineof = false; + break; + } + ++__ret; + __c = __sbin->snextc(); + } + return __ret; + } + + template + inline streamsize + __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, + basic_streambuf<_CharT, _Traits>* __sbout) + { + bool __ineof; + return __copy_streambufs_eof(__sbin, __sbout, __ineof); + } + + + + + extern template class basic_streambuf; + + extern template + streamsize + __copy_streambufs(basic_streambuf*, + basic_streambuf*); + + + extern template class basic_streambuf; + + extern template + streamsize + __copy_streambufs(basic_streambuf*, + basic_streambuf*); + + + + +} +# 861 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/streambuf" 2 3 +# 46 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 3 +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wctype.h" 1 3 +# 15 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wctype.h" 3 +#pragma pack(push,_CRT_PACKING) + + +extern "C" { +# 176 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/x86_64-w64-mingw32/include/wctype.h" 3 + typedef wchar_t wctrans_t; + wint_t __attribute__((__cdecl__)) towctrans(wint_t,wctrans_t); + wctrans_t __attribute__((__cdecl__)) wctrans(const char *); + wctype_t __attribute__((__cdecl__)) wctype(const char *); + + +} + + +#pragma pack(pop) +# 51 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 2 3 +# 80 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cwctype" 3 +namespace std +{ + using ::wctrans_t; + using ::wctype_t; + using ::wint_t; + + using ::iswalnum; + using ::iswalpha; + + using ::iswblank; + + using ::iswcntrl; + using ::iswctype; + using ::iswdigit; + using ::iswgraph; + using ::iswlower; + using ::iswprint; + using ::iswpunct; + using ::iswspace; + using ::iswupper; + using ::iswxdigit; + using ::towctrans; + using ::towlower; + using ::towupper; + using ::wctrans; + using ::wctype; +} +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cctype" 3 +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h" 3 +namespace std +{ + + + + struct ctype_base + { + + typedef const int* __to_type; + + + + typedef unsigned short mask; + static const mask upper = 1 << 0; + static const mask lower = 1 << 1; + static const mask alpha = 1 << 2; + static const mask digit = 1 << 3; + static const mask xdigit = 1 << 4; + static const mask space = 1 << 5; + static const mask print = 1 << 6; + static const mask graph = (1 << 2) | (1 << 3) | (1 << 9); + static const mask cntrl = 1 << 8; + static const mask punct = 1 << 9; + static const mask alnum = (1 << 2) | (1 << 3); + + static const mask blank = 1 << 10; + + }; + + +} +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 + + + + + +namespace std +{ + + + + + + + + + +# 49 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + template + class istreambuf_iterator + : public iterator + { + public: +# 70 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 + typedef _CharT char_type; + typedef _Traits traits_type; + typedef typename _Traits::int_type int_type; + typedef basic_streambuf<_CharT, _Traits> streambuf_type; + typedef basic_istream<_CharT, _Traits> istream_type; + + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + ostreambuf_iterator<_CharT2> >::__type + copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, + ostreambuf_iterator<_CharT2>); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + _CharT2*>::__type + __copy_move_a2(istreambuf_iterator<_CharT2>, + istreambuf_iterator<_CharT2>, _CharT2*); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + _CharT2*>::__type + __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + istreambuf_iterator<_CharT2> >::__type + find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, + const _CharT2&); + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + void>::__type + advance(istreambuf_iterator<_CharT2>&, _Distance); + + private: + + + + + + + + mutable streambuf_type* _M_sbuf; + int_type _M_c; + + public: + + constexpr istreambuf_iterator() noexcept + : _M_sbuf(0), _M_c(traits_type::eof()) { } + + + + + + + + istreambuf_iterator(const istreambuf_iterator&) noexcept = default; + + ~istreambuf_iterator() = default; + + + + istreambuf_iterator(istream_type& __s) noexcept + : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } + + + istreambuf_iterator(streambuf_type* __s) noexcept + : _M_sbuf(__s), _M_c(traits_type::eof()) { } + + + istreambuf_iterator& + operator=(const istreambuf_iterator&) noexcept = default; + + + + + + [[__nodiscard__]] + char_type + operator*() const + { + int_type __c = _M_get(); +# 161 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 + return traits_type::to_char_type(__c); + } + + + istreambuf_iterator& + operator++() + { + + + + ; + + _M_sbuf->sbumpc(); + _M_c = traits_type::eof(); + return *this; + } + + + istreambuf_iterator + operator++(int) + { + + + + ; + + istreambuf_iterator __old = *this; + __old._M_c = _M_sbuf->sbumpc(); + _M_c = traits_type::eof(); + return __old; + } + + + + + + [[__nodiscard__]] + bool + equal(const istreambuf_iterator& __b) const + { return _M_at_eof() == __b._M_at_eof(); } + + private: + int_type + _M_get() const + { + int_type __ret = _M_c; + if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) + _M_sbuf = 0; + return __ret; + } + + bool + _M_at_eof() const + { return _S_is_eof(_M_get()); } + + static bool + _S_is_eof(int_type __c) + { + const int_type __eof = traits_type::eof(); + return traits_type::eq_int_type(__c, __eof); + } + + + + + + + + }; + + template + [[__nodiscard__]] + inline bool + operator==(const istreambuf_iterator<_CharT, _Traits>& __a, + const istreambuf_iterator<_CharT, _Traits>& __b) + { return __a.equal(__b); } + + + template + [[__nodiscard__]] + inline bool + operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, + const istreambuf_iterator<_CharT, _Traits>& __b) + { return !__a.equal(__b); } + + + + template + class ostreambuf_iterator + : public iterator + { + public: + + + + + + + typedef _CharT char_type; + typedef _Traits traits_type; + typedef basic_streambuf<_CharT, _Traits> streambuf_type; + typedef basic_ostream<_CharT, _Traits> ostream_type; + + + template + friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, + ostreambuf_iterator<_CharT2> >::__type + copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, + ostreambuf_iterator<_CharT2>); + + private: + streambuf_type* _M_sbuf; + bool _M_failed; + + public: +# 284 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/streambuf_iterator.h" 3 + ostreambuf_iterator(ostream_type& __s) noexcept + : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } + + + ostreambuf_iterator(streambuf_type* __s) noexcept + : _M_sbuf(__s), _M_failed(!_M_sbuf) { } + + + ostreambuf_iterator& + operator=(_CharT __c) + { + if (!_M_failed && + _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) + _M_failed = true; + return *this; + } + + + [[__nodiscard__]] + ostreambuf_iterator& + operator*() + { return *this; } + + + ostreambuf_iterator& + operator++(int) + { return *this; } + + + ostreambuf_iterator& + operator++() + { return *this; } + + + [[__nodiscard__]] + bool + failed() const noexcept + { return _M_failed; } + + ostreambuf_iterator& + _M_put(const _CharT* __ws, streamsize __len) + { + if (__builtin_expect(!_M_failed, true) + && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, + false)) + _M_failed = true; + return *this; + } + }; +#pragma GCC diagnostic pop + + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT> >::__type + copy(istreambuf_iterator<_CharT> __first, + istreambuf_iterator<_CharT> __last, + ostreambuf_iterator<_CharT> __result) + { + if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) + { + bool __ineof; + __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); + if (!__ineof) + __result._M_failed = true; + } + return __result; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT> >::__type + __copy_move_a2(_CharT* __first, _CharT* __last, + ostreambuf_iterator<_CharT> __result) + { + const streamsize __num = __last - __first; + if (__num > 0) + __result._M_put(__first, __num); + return __result; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT> >::__type + __copy_move_a2(const _CharT* __first, const _CharT* __last, + ostreambuf_iterator<_CharT> __result) + { + const streamsize __num = __last - __first; + if (__num > 0) + __result._M_put(__first, __num); + return __result; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + _CharT*>::__type + __copy_move_a2(istreambuf_iterator<_CharT> __first, + istreambuf_iterator<_CharT> __last, _CharT* __result) + { + typedef istreambuf_iterator<_CharT> __is_iterator_type; + typedef typename __is_iterator_type::traits_type traits_type; + typedef typename __is_iterator_type::streambuf_type streambuf_type; + typedef typename traits_type::int_type int_type; + + if (__first._M_sbuf && !__last._M_sbuf) + { + streambuf_type* __sb = __first._M_sbuf; + int_type __c = __sb->sgetc(); + while (!traits_type::eq_int_type(__c, traits_type::eof())) + { + const streamsize __n = __sb->egptr() - __sb->gptr(); + if (__n > 1) + { + traits_type::copy(__result, __sb->gptr(), __n); + __sb->__safe_gbump(__n); + __result += __n; + __c = __sb->underflow(); + } + else + { + *__result++ = traits_type::to_char_type(__c); + __c = __sb->snextc(); + } + } + } + return __result; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + _CharT*>::__type + __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result, + bool __strict __attribute__((__unused__))) + { + if (__n == 0) + return __result; + + + + ; + _CharT* __beg = __result; + __result += __it._M_sbuf->sgetn(__beg, __n); + + + ; + return __result; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + istreambuf_iterator<_CharT> >::__type + find(istreambuf_iterator<_CharT> __first, + istreambuf_iterator<_CharT> __last, const _CharT& __val) + { + typedef istreambuf_iterator<_CharT> __is_iterator_type; + typedef typename __is_iterator_type::traits_type traits_type; + typedef typename __is_iterator_type::streambuf_type streambuf_type; + typedef typename traits_type::int_type int_type; + const int_type __eof = traits_type::eof(); + + if (__first._M_sbuf && !__last._M_sbuf) + { + const int_type __ival = traits_type::to_int_type(__val); + streambuf_type* __sb = __first._M_sbuf; + int_type __c = __sb->sgetc(); + while (!traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __ival)) + { + streamsize __n = __sb->egptr() - __sb->gptr(); + if (__n > 1) + { + const _CharT* __p = traits_type::find(__sb->gptr(), + __n, __val); + if (__p) + __n = __p - __sb->gptr(); + __sb->__safe_gbump(__n); + __c = __sb->sgetc(); + } + else + __c = __sb->snextc(); + } + + __first._M_c = __eof; + } + + return __first; + } + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + void>::__type + advance(istreambuf_iterator<_CharT>& __i, _Distance __n) + { + if (__n == 0) + return; + + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail(); } while (false); + + + ; + + typedef istreambuf_iterator<_CharT> __is_iterator_type; + typedef typename __is_iterator_type::traits_type traits_type; + typedef typename __is_iterator_type::streambuf_type streambuf_type; + typedef typename traits_type::int_type int_type; + const int_type __eof = traits_type::eof(); + + streambuf_type* __sb = __i._M_sbuf; + while (__n > 0) + { + streamsize __size = __sb->egptr() - __sb->gptr(); + if (__size > __n) + { + __sb->__safe_gbump(__n); + break; + } + + __sb->__safe_gbump(__size); + __n -= __size; + if (traits_type::eq_int_type(__sb->underflow(), __eof)) + { + + + ; + break; + } + } + + __i._M_c = __eof; + } + + + + +} +# 49 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 + +namespace std +{ + +# 74 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + void + __convert_to_v(const char*, _Tp&, ios_base::iostate&, + const __c_locale&) throw(); + + + template<> + void + __convert_to_v(const char*, float&, ios_base::iostate&, + const __c_locale&) throw(); + + template<> + void + __convert_to_v(const char*, double&, ios_base::iostate&, + const __c_locale&) throw(); + + template<> + void + __convert_to_v(const char*, long double&, ios_base::iostate&, + const __c_locale&) throw(); + + + + template + struct __pad + { + static void + _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, + const _CharT* __olds, streamsize __newlen, streamsize __oldlen); + }; + + + + + + + template + _CharT* + __add_grouping(_CharT* __s, _CharT __sep, + const char* __gbeg, size_t __gsize, + const _CharT* __first, const _CharT* __last); + + + + + template + inline + ostreambuf_iterator<_CharT> + __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) + { + __s._M_put(__ws, __len); + return __s; + } + + + template + inline + _OutIter + __write(_OutIter __s, const _CharT* __ws, int __len) + { + for (int __j = 0; __j < __len; __j++, ++__s) + *__s = __ws[__j]; + return __s; + } +# 152 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + class __ctype_abstract_base : public locale::facet, public ctype_base + { + public: + + + typedef _CharT char_type; +# 171 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + bool + is(mask __m, char_type __c) const + { return this->do_is(__m, __c); } +# 188 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + is(const char_type *__lo, const char_type *__hi, mask *__vec) const + { return this->do_is(__lo, __hi, __vec); } +# 204 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + scan_is(mask __m, const char_type* __lo, const char_type* __hi) const + { return this->do_scan_is(__m, __lo, __hi); } +# 220 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + scan_not(mask __m, const char_type* __lo, const char_type* __hi) const + { return this->do_scan_not(__m, __lo, __hi); } +# 234 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + toupper(char_type __c) const + { return this->do_toupper(__c); } +# 249 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + toupper(char_type *__lo, const char_type* __hi) const + { return this->do_toupper(__lo, __hi); } +# 263 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + tolower(char_type __c) const + { return this->do_tolower(__c); } +# 278 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + tolower(char_type* __lo, const char_type* __hi) const + { return this->do_tolower(__lo, __hi); } +# 295 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + widen(char __c) const + { return this->do_widen(__c); } +# 314 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char* + widen(const char* __lo, const char* __hi, char_type* __to) const + { return this->do_widen(__lo, __hi, __to); } +# 333 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char + narrow(char_type __c, char __dfault) const + { return this->do_narrow(__c, __dfault); } +# 355 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + narrow(const char_type* __lo, const char_type* __hi, + char __dfault, char* __to) const + { return this->do_narrow(__lo, __hi, __dfault, __to); } + + protected: + explicit + __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } + + virtual + ~__ctype_abstract_base() { } +# 380 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual bool + do_is(mask __m, char_type __c) const = 0; +# 399 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_is(const char_type* __lo, const char_type* __hi, + mask* __vec) const = 0; +# 418 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_scan_is(mask __m, const char_type* __lo, + const char_type* __hi) const = 0; +# 437 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_scan_not(mask __m, const char_type* __lo, + const char_type* __hi) const = 0; +# 455 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_toupper(char_type __c) const = 0; +# 472 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_toupper(char_type* __lo, const char_type* __hi) const = 0; +# 488 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_tolower(char_type __c) const = 0; +# 505 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_tolower(char_type* __lo, const char_type* __hi) const = 0; +# 524 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_widen(char __c) const = 0; +# 545 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char* + do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; +# 566 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char + do_narrow(char_type __c, char __dfault) const = 0; +# 591 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_narrow(const char_type* __lo, const char_type* __hi, + char __dfault, char* __to) const = 0; + }; +# 614 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + class ctype : public __ctype_abstract_base<_CharT> + { + public: + + typedef _CharT char_type; + typedef typename __ctype_abstract_base<_CharT>::mask mask; + + + static locale::id id; + + explicit + ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } + + protected: + virtual + ~ctype(); + + virtual bool + do_is(mask __m, char_type __c) const; + + virtual const char_type* + do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; + + virtual const char_type* + do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; + + virtual const char_type* + do_scan_not(mask __m, const char_type* __lo, + const char_type* __hi) const; + + virtual char_type + do_toupper(char_type __c) const; + + virtual const char_type* + do_toupper(char_type* __lo, const char_type* __hi) const; + + virtual char_type + do_tolower(char_type __c) const; + + virtual const char_type* + do_tolower(char_type* __lo, const char_type* __hi) const; + + virtual char_type + do_widen(char __c) const; + + virtual const char* + do_widen(const char* __lo, const char* __hi, char_type* __dest) const; + + virtual char + do_narrow(char_type, char __dfault) const; + + virtual const char_type* + do_narrow(const char_type* __lo, const char_type* __hi, + char __dfault, char* __to) const; + }; + + template + locale::id ctype<_CharT>::id; + + + + template + class ctype >; +# 688 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template<> + class ctype : public locale::facet, public ctype_base + { + public: + + + typedef char char_type; + + protected: + + __c_locale _M_c_locale_ctype; + bool _M_del; + __to_type _M_toupper; + __to_type _M_tolower; + const mask* _M_table; + mutable char _M_widen_ok; + mutable char _M_widen[1 + static_cast(-1)]; + mutable char _M_narrow[1 + static_cast(-1)]; + mutable char _M_narrow_ok; + + + public: + + static locale::id id; + + static const size_t table_size = 1 + static_cast(-1); +# 725 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); +# 738 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, + size_t __refs = 0); +# 751 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + inline bool + is(mask __m, char __c) const; +# 766 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + inline const char* + is(const char* __lo, const char* __hi, mask* __vec) const; +# 780 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + inline const char* + scan_is(mask __m, const char* __lo, const char* __hi) const; +# 794 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + inline const char* + scan_not(mask __m, const char* __lo, const char* __hi) const; +# 809 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + toupper(char_type __c) const + { return this->do_toupper(__c); } +# 826 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + toupper(char_type *__lo, const char_type* __hi) const + { return this->do_toupper(__lo, __hi); } +# 842 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + tolower(char_type __c) const + { return this->do_tolower(__c); } +# 859 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + tolower(char_type* __lo, const char_type* __hi) const + { return this->do_tolower(__lo, __hi); } +# 879 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + widen(char __c) const + { + if (_M_widen_ok) + return _M_widen[static_cast(__c)]; + this->_M_widen_init(); + return this->do_widen(__c); + } +# 906 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char* + widen(const char* __lo, const char* __hi, char_type* __to) const + { + if (_M_widen_ok == 1) + { + if (__builtin_expect(__hi != __lo, true)) + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + if (!_M_widen_ok) + _M_widen_init(); + return this->do_widen(__lo, __hi, __to); + } +# 938 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char + narrow(char_type __c, char __dfault) const + { + if (_M_narrow[static_cast(__c)]) + return _M_narrow[static_cast(__c)]; + const char __t = do_narrow(__c, __dfault); + if (__t != __dfault) + _M_narrow[static_cast(__c)] = __t; + return __t; + } +# 971 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + const char_type* + narrow(const char_type* __lo, const char_type* __hi, + char __dfault, char* __to) const + { + if (__builtin_expect(_M_narrow_ok == 1, true)) + { + if (__builtin_expect(__hi != __lo, true)) + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + if (!_M_narrow_ok) + _M_narrow_init(); + return this->do_narrow(__lo, __hi, __dfault, __to); + } + + + + + + const mask* + table() const throw() + { return _M_table; } + + + static const mask* + classic_table() throw(); + protected: + + + + + + + + virtual + ~ctype(); +# 1021 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_toupper(char_type __c) const; +# 1038 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_toupper(char_type* __lo, const char_type* __hi) const; +# 1054 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_tolower(char_type __c) const; +# 1071 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_tolower(char_type* __lo, const char_type* __hi) const; +# 1091 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_widen(char __c) const + { return __c; } +# 1114 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char* + do_widen(const char* __lo, const char* __hi, char_type* __to) const + { + if (__builtin_expect(__hi != __lo, true)) + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } +# 1141 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char + do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const + { return __c; } +# 1167 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_narrow(const char_type* __lo, const char_type* __hi, + char __dfault __attribute__((__unused__)), char* __to) const + { + if (__builtin_expect(__hi != __lo, true)) + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + + private: + void _M_narrow_init() const; + void _M_widen_init() const; + }; +# 1193 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template<> + class ctype : public __ctype_abstract_base + { + public: + + + typedef wchar_t char_type; + typedef wctype_t __wmask_type; + + protected: + __c_locale _M_c_locale_ctype; + + + bool _M_narrow_ok; + char _M_narrow[128]; + wint_t _M_widen[1 + static_cast(-1)]; + + + mask _M_bit[16]; + __wmask_type _M_wmask[16]; + + public: + + + static locale::id id; +# 1226 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + ctype(size_t __refs = 0); +# 1237 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + ctype(__c_locale __cloc, size_t __refs = 0); + + protected: + __wmask_type + _M_convert_to_wmask(const mask __m) const throw(); + + + virtual + ~ctype(); +# 1261 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual bool + do_is(mask __m, char_type __c) const; +# 1280 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; +# 1298 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; +# 1316 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_scan_not(mask __m, const char_type* __lo, + const char_type* __hi) const; +# 1333 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_toupper(char_type __c) const; +# 1350 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_toupper(char_type* __lo, const char_type* __hi) const; +# 1366 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_tolower(char_type __c) const; +# 1383 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_tolower(char_type* __lo, const char_type* __hi) const; +# 1403 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_widen(char __c) const; +# 1425 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char* + do_widen(const char* __lo, const char* __hi, char_type* __to) const; +# 1448 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char + do_narrow(char_type __c, char __dfault) const; +# 1474 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual const char_type* + do_narrow(const char_type* __lo, const char_type* __hi, + char __dfault, char* __to) const; + + + void + _M_initialize_ctype() throw(); + }; + + + + template + class ctype_byname : public ctype<_CharT> + { + public: + typedef typename ctype<_CharT>::mask mask; + + explicit + ctype_byname(const char* __s, size_t __refs = 0); + + + explicit + ctype_byname(const string& __s, size_t __refs = 0) + : ctype_byname(__s.c_str(), __refs) { } + + + protected: + virtual + ~ctype_byname() { } + }; + + + template<> + class ctype_byname : public ctype + { + public: + explicit + ctype_byname(const char* __s, size_t __refs = 0); + + + explicit + ctype_byname(const string& __s, size_t __refs = 0); + + + protected: + virtual + ~ctype_byname(); + }; + + + template<> + class ctype_byname : public ctype + { + public: + explicit + ctype_byname(const char* __s, size_t __refs = 0); + + + explicit + ctype_byname(const string& __s, size_t __refs = 0); + + + protected: + virtual + ~ctype_byname(); + }; + + + +} + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h" 3 +namespace std +{ + + + bool + ctype:: + is(mask __m, char __c) const + { return (_M_table[static_cast(__c) ] & __m); } + + + const char* + ctype:: + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) + *__vec++ = _M_table[static_cast(*__low++)]; + return __high; + } + + const char* + ctype:: + scan_is(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && !this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } + + +} +# 1547 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 + +namespace std +{ + + + + class __num_base + { + public: + + + enum + { + _S_ominus, + _S_oplus, + _S_ox, + _S_oX, + _S_odigits, + _S_odigits_end = _S_odigits + 16, + _S_oudigits = _S_odigits_end, + _S_oudigits_end = _S_oudigits + 16, + _S_oe = _S_odigits + 14, + _S_oE = _S_oudigits + 14, + _S_oend = _S_oudigits_end + }; + + + + + + + static const char* _S_atoms_out; + + + + static const char* _S_atoms_in; + + enum + { + _S_iminus, + _S_iplus, + _S_ix, + _S_iX, + _S_izero, + _S_ie = _S_izero + 14, + _S_iE = _S_izero + 20, + _S_iend = 26 + }; + + + + static void + _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); + }; + + template + struct __numpunct_cache : public locale::facet + { + const char* _M_grouping; + size_t _M_grouping_size; + bool _M_use_grouping; + const _CharT* _M_truename; + size_t _M_truename_size; + const _CharT* _M_falsename; + size_t _M_falsename_size; + _CharT _M_decimal_point; + _CharT _M_thousands_sep; + + + + + + _CharT _M_atoms_out[__num_base::_S_oend]; + + + + + + _CharT _M_atoms_in[__num_base::_S_iend]; + + bool _M_allocated; + + __numpunct_cache(size_t __refs = 0) + : facet(__refs), _M_grouping(0), _M_grouping_size(0), + _M_use_grouping(false), + _M_truename(0), _M_truename_size(0), _M_falsename(0), + _M_falsename_size(0), _M_decimal_point(_CharT()), + _M_thousands_sep(_CharT()), _M_allocated(false) + { } + + ~__numpunct_cache(); + + void + _M_cache(const locale& __loc); + + private: + __numpunct_cache& + operator=(const __numpunct_cache&); + + explicit + __numpunct_cache(const __numpunct_cache&); + }; + + template + __numpunct_cache<_CharT>::~__numpunct_cache() + { + if (_M_allocated) + { + delete [] _M_grouping; + delete [] _M_truename; + delete [] _M_falsename; + } + } + +namespace __cxx11 { +# 1677 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + class numpunct : public locale::facet + { + public: + + + + typedef _CharT char_type; + typedef basic_string<_CharT> string_type; + + typedef __numpunct_cache<_CharT> __cache_type; + + protected: + __cache_type* _M_data; + + public: + + static locale::id id; + + + + + + + explicit + numpunct(size_t __refs = 0) + : facet(__refs), _M_data(0) + { _M_initialize_numpunct(); } +# 1715 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + numpunct(__cache_type* __cache, size_t __refs = 0) + : facet(__refs), _M_data(__cache) + { _M_initialize_numpunct(); } +# 1729 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + numpunct(__c_locale __cloc, size_t __refs = 0) + : facet(__refs), _M_data(0) + { _M_initialize_numpunct(__cloc); } +# 1743 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + decimal_point() const + { return this->do_decimal_point(); } +# 1756 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + char_type + thousands_sep() const + { return this->do_thousands_sep(); } +# 1787 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + string + grouping() const + { return this->do_grouping(); } +# 1800 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + string_type + truename() const + { return this->do_truename(); } +# 1813 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + string_type + falsename() const + { return this->do_falsename(); } + + protected: + + virtual + ~numpunct(); +# 1830 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_decimal_point() const + { return _M_data->_M_decimal_point; } +# 1842 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual char_type + do_thousands_sep() const + { return _M_data->_M_thousands_sep; } +# 1855 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual string + do_grouping() const + { return _M_data->_M_grouping; } +# 1868 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual string_type + do_truename() const + { return _M_data->_M_truename; } +# 1881 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual string_type + do_falsename() const + { return _M_data->_M_falsename; } + + + void + _M_initialize_numpunct(__c_locale __cloc = 0); + }; + + template + locale::id numpunct<_CharT>::id; + + template<> + numpunct::~numpunct(); + + template<> + void + numpunct::_M_initialize_numpunct(__c_locale __cloc); + + + template<> + numpunct::~numpunct(); + + template<> + void + numpunct::_M_initialize_numpunct(__c_locale __cloc); + + + + template + class numpunct_byname : public numpunct<_CharT> + { + public: + typedef _CharT char_type; + typedef basic_string<_CharT> string_type; + + explicit + numpunct_byname(const char* __s, size_t __refs = 0) + : numpunct<_CharT>(__refs) + { + if (__builtin_strcmp(__s, "C") != 0 + && __builtin_strcmp(__s, "POSIX") != 0) + { + __c_locale __tmp; + this->_S_create_c_locale(__tmp, __s); + this->_M_initialize_numpunct(__tmp); + this->_S_destroy_c_locale(__tmp); + } + } + + + explicit + numpunct_byname(const string& __s, size_t __refs = 0) + : numpunct_byname(__s.c_str(), __refs) { } + + + protected: + virtual + ~numpunct_byname() { } + }; + +} + + +# 1959 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + class num_get : public locale::facet + { + public: + + + + typedef _CharT char_type; + typedef _InIter iter_type; + + + + static locale::id id; +# 1980 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + num_get(size_t __refs = 0) : facet(__refs) { } +# 2006 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, bool& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } +# 2043 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned short& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned int& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned long& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long long& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned long long& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } +# 2103 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, float& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, double& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long double& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } +# 2146 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + get(iter_type __in, iter_type __end, ios_base& __io, + ios_base::iostate& __err, void*& __v) const + { return this->do_get(__in, __end, __io, __err, __v); } + + protected: + + virtual ~num_get() { } + + __attribute ((__abi_tag__ ("cxx11"))) + iter_type + _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, + string&) const; + + template + __attribute ((__abi_tag__ ("cxx11"))) + iter_type + _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, + _ValueT&) const; + + template + typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type + _M_find(const _CharT2*, size_t __len, _CharT2 __c) const + { + int __ret = -1; + if (__len <= 10) + { + if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) + __ret = __c - _CharT2('0'); + } + else + { + if (__c >= _CharT2('0') && __c <= _CharT2('9')) + __ret = __c - _CharT2('0'); + else if (__c >= _CharT2('a') && __c <= _CharT2('f')) + __ret = 10 + (__c - _CharT2('a')); + else if (__c >= _CharT2('A') && __c <= _CharT2('F')) + __ret = 10 + (__c - _CharT2('A')); + } + return __ret; + } + + template + typename __gnu_cxx::__enable_if::__value, + int>::__type + _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const + { + int __ret = -1; + const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); + if (__q) + { + __ret = __q - __zero; + if (__ret > 15) + __ret -= 6; + } + return __ret; + } +# 2219 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual iter_type + do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned short& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned int& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned long& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long long& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + virtual iter_type + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, unsigned long long& __v) const + { return _M_extract_int(__beg, __end, __io, __err, __v); } + + + virtual iter_type + do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; + + virtual iter_type + do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, + double&) const; +# 2271 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual iter_type + do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, + long double&) const; + + + virtual iter_type + do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; +# 2299 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + }; + + template + locale::id num_get<_CharT, _InIter>::id; +# 2317 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + template + class num_put : public locale::facet + { + public: + + + + typedef _CharT char_type; + typedef _OutIter iter_type; + + + + static locale::id id; +# 2338 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + explicit + num_put(size_t __refs = 0) : facet(__refs) { } +# 2356 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const + { return this->do_put(__s, __io, __fill, __v); } +# 2398 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, long __v) const + { return this->do_put(__s, __io, __fill, __v); } + + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, + unsigned long __v) const + { return this->do_put(__s, __io, __fill, __v); } + + + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const + { return this->do_put(__s, __io, __fill, __v); } + + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, + unsigned long long __v) const + { return this->do_put(__s, __io, __fill, __v); } +# 2461 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, double __v) const + { return this->do_put(__s, __io, __fill, __v); } + + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, + long double __v) const + { return this->do_put(__s, __io, __fill, __v); } +# 2486 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + iter_type + put(iter_type __s, ios_base& __io, char_type __fill, + const void* __v) const + { return this->do_put(__s, __io, __fill, __v); } + + protected: + template + iter_type + _M_insert_float(iter_type, ios_base& __io, char_type __fill, + char __mod, _ValueT __v) const; + + void + _M_group_float(const char* __grouping, size_t __grouping_size, + char_type __sep, const char_type* __p, char_type* __new, + char_type* __cs, int& __len) const; + + template + iter_type + _M_insert_int(iter_type, ios_base& __io, char_type __fill, + _ValueT __v) const; + + void + _M_group_int(const char* __grouping, size_t __grouping_size, + char_type __sep, ios_base& __io, char_type* __new, + char_type* __cs, int& __len) const; + + void + _M_pad(char_type __fill, streamsize __w, ios_base& __io, + char_type* __new, const char_type* __cs, int& __len) const; + + + virtual + ~num_put() { } +# 2534 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + virtual iter_type + do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; + + virtual iter_type + do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const + { return _M_insert_int(__s, __io, __fill, __v); } + + virtual iter_type + do_put(iter_type __s, ios_base& __io, char_type __fill, + unsigned long __v) const + { return _M_insert_int(__s, __io, __fill, __v); } + + + virtual iter_type + do_put(iter_type __s, ios_base& __io, char_type __fill, + long long __v) const + { return _M_insert_int(__s, __io, __fill, __v); } + + virtual iter_type + do_put(iter_type __s, ios_base& __io, char_type __fill, + unsigned long long __v) const + { return _M_insert_int(__s, __io, __fill, __v); } + + + virtual iter_type + do_put(iter_type, ios_base&, char_type, double) const; + + + + + + + virtual iter_type + do_put(iter_type, ios_base&, char_type, long double) const; + + + virtual iter_type + do_put(iter_type, ios_base&, char_type, const void*) const; +# 2586 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 3 + }; + + template + locale::id num_put<_CharT, _OutIter>::id; + + + + + + + + + + template + inline bool + isspace(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::space, __c); } + + + template + inline bool + isprint(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::print, __c); } + + + template + inline bool + iscntrl(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::cntrl, __c); } + + + template + inline bool + isupper(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::upper, __c); } + + + template + inline bool + islower(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::lower, __c); } + + + template + inline bool + isalpha(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::alpha, __c); } + + + template + inline bool + isdigit(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::digit, __c); } + + + template + inline bool + ispunct(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::punct, __c); } + + + template + inline bool + isxdigit(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::xdigit, __c); } + + + template + inline bool + isalnum(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::alnum, __c); } + + + template + inline bool + isgraph(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::graph, __c); } + + + + template + inline bool + isblank(_CharT __c, const locale& __loc) + { return use_facet >(__loc).is(ctype_base::blank, __c); } + + + + template + inline _CharT + toupper(_CharT __c, const locale& __loc) + { return use_facet >(__loc).toupper(__c); } + + + template + inline _CharT + tolower(_CharT __c, const locale& __loc) + { return use_facet >(__loc).tolower(__c); } + + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + +namespace std +{ + + + + + template + struct __use_cache + { + const _Facet* + operator() (const locale& __loc) const; + }; + + + template + struct __use_cache<__numpunct_cache<_CharT> > + { + const __numpunct_cache<_CharT>* + operator() (const locale& __loc) const + { + const size_t __i = numpunct<_CharT>::id._M_id(); + const locale::facet** __caches = __loc._M_impl->_M_caches; + if (!__caches[__i]) + { + __numpunct_cache<_CharT>* __tmp = 0; + try + { + __tmp = new __numpunct_cache<_CharT>; + __tmp->_M_cache(__loc); + } + catch(...) + { + delete __tmp; + throw; + } + __loc._M_impl->_M_install_cache(__tmp, __i); + } + return static_cast*>(__caches[__i]); + } + }; + + template + void + __numpunct_cache<_CharT>::_M_cache(const locale& __loc) + { + const numpunct<_CharT>& __np = use_facet >(__loc); + + char* __grouping = 0; + _CharT* __truename = 0; + _CharT* __falsename = 0; + try + { + const string& __g = __np.grouping(); + _M_grouping_size = __g.size(); + __grouping = new char[_M_grouping_size]; + __g.copy(__grouping, _M_grouping_size); + _M_use_grouping = (_M_grouping_size + && static_cast(__grouping[0]) > 0 + && (__grouping[0] + != __gnu_cxx::__numeric_traits::__max)); + + const basic_string<_CharT>& __tn = __np.truename(); + _M_truename_size = __tn.size(); + __truename = new _CharT[_M_truename_size]; + __tn.copy(__truename, _M_truename_size); + + const basic_string<_CharT>& __fn = __np.falsename(); + _M_falsename_size = __fn.size(); + __falsename = new _CharT[_M_falsename_size]; + __fn.copy(__falsename, _M_falsename_size); + + _M_decimal_point = __np.decimal_point(); + _M_thousands_sep = __np.thousands_sep(); + + const ctype<_CharT>& __ct = use_facet >(__loc); + __ct.widen(__num_base::_S_atoms_out, + __num_base::_S_atoms_out + + __num_base::_S_oend, _M_atoms_out); + __ct.widen(__num_base::_S_atoms_in, + __num_base::_S_atoms_in + + __num_base::_S_iend, _M_atoms_in); + + _M_grouping = __grouping; + _M_truename = __truename; + _M_falsename = __falsename; + _M_allocated = true; + } + catch(...) + { + delete [] __grouping; + delete [] __truename; + delete [] __falsename; + throw; + } + } +# 139 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + __attribute__ ((__pure__)) bool + __verify_grouping(const char* __grouping, size_t __grouping_size, + const string& __grouping_tmp) throw (); + + + + template + __attribute ((__abi_tag__ ("cxx11"))) + _InIter + num_get<_CharT, _InIter>:: + _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, + ios_base::iostate& __err, string& __xtrc) const + { + typedef char_traits<_CharT> __traits_type; + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + const _CharT* __lit = __lc->_M_atoms_in; + char_type __c = char_type(); + + + bool __testeof = __beg == __end; + + + if (!__testeof) + { + __c = *__beg; + const bool __plus = __c == __lit[__num_base::_S_iplus]; + if ((__plus || __c == __lit[__num_base::_S_iminus]) + && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + && !(__c == __lc->_M_decimal_point)) + { + __xtrc += __plus ? '+' : '-'; + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + } + + + bool __found_mantissa = false; + int __sep_pos = 0; + while (!__testeof) + { + if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + || __c == __lc->_M_decimal_point) + break; + else if (__c == __lit[__num_base::_S_izero]) + { + if (!__found_mantissa) + { + __xtrc += '0'; + __found_mantissa = true; + } + ++__sep_pos; + + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + else + break; + } + + + bool __found_dec = false; + bool __found_sci = false; + string __found_grouping; + if (__lc->_M_use_grouping) + __found_grouping.reserve(32); + const char_type* __lit_zero = __lit + __num_base::_S_izero; + + if (!__lc->_M_allocated) + + while (!__testeof) + { + const int __digit = _M_find(__lit_zero, 10, __c); + if (__digit != -1) + { + __xtrc += '0' + __digit; + __found_mantissa = true; + } + else if (__c == __lc->_M_decimal_point + && !__found_dec && !__found_sci) + { + __xtrc += '.'; + __found_dec = true; + } + else if ((__c == __lit[__num_base::_S_ie] + || __c == __lit[__num_base::_S_iE]) + && !__found_sci && __found_mantissa) + { + + __xtrc += 'e'; + __found_sci = true; + + + if (++__beg != __end) + { + __c = *__beg; + const bool __plus = __c == __lit[__num_base::_S_iplus]; + if (__plus || __c == __lit[__num_base::_S_iminus]) + __xtrc += __plus ? '+' : '-'; + else + continue; + } + else + { + __testeof = true; + break; + } + } + else + break; + + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + else + while (!__testeof) + { + + + if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + { + if (!__found_dec && !__found_sci) + { + + + if (__sep_pos) + { + __found_grouping += static_cast(__sep_pos); + __sep_pos = 0; + } + else + { + + + __xtrc.clear(); + break; + } + } + else + break; + } + else if (__c == __lc->_M_decimal_point) + { + if (!__found_dec && !__found_sci) + { + + + + if (__found_grouping.size()) + __found_grouping += static_cast(__sep_pos); + __xtrc += '.'; + __found_dec = true; + } + else + break; + } + else + { + const char_type* __q = + __traits_type::find(__lit_zero, 10, __c); + if (__q) + { + __xtrc += '0' + (__q - __lit_zero); + __found_mantissa = true; + ++__sep_pos; + } + else if ((__c == __lit[__num_base::_S_ie] + || __c == __lit[__num_base::_S_iE]) + && !__found_sci && __found_mantissa) + { + + if (__found_grouping.size() && !__found_dec) + __found_grouping += static_cast(__sep_pos); + __xtrc += 'e'; + __found_sci = true; + + + if (++__beg != __end) + { + __c = *__beg; + const bool __plus = __c == __lit[__num_base::_S_iplus]; + if ((__plus || __c == __lit[__num_base::_S_iminus]) + && !(__lc->_M_use_grouping + && __c == __lc->_M_thousands_sep) + && !(__c == __lc->_M_decimal_point)) + __xtrc += __plus ? '+' : '-'; + else + continue; + } + else + { + __testeof = true; + break; + } + } + else + break; + } + + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + + + + if (__found_grouping.size()) + { + + if (!__found_dec && !__found_sci) + __found_grouping += static_cast(__sep_pos); + + if (!std::__verify_grouping(__lc->_M_grouping, + __lc->_M_grouping_size, + __found_grouping)) + __err = ios_base::failbit; + } + + return __beg; + } + + template + template + __attribute ((__abi_tag__ ("cxx11"))) + _InIter + num_get<_CharT, _InIter>:: + _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, + ios_base::iostate& __err, _ValueT& __v) const + { + typedef char_traits<_CharT> __traits_type; + using __gnu_cxx::__add_unsigned; + typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + const _CharT* __lit = __lc->_M_atoms_in; + char_type __c = char_type(); + + + const ios_base::fmtflags __basefield = __io.flags() + & ios_base::basefield; + const bool __oct = __basefield == ios_base::oct; + int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); + + + bool __testeof = __beg == __end; + + + bool __negative = false; + if (!__testeof) + { + __c = *__beg; + __negative = __c == __lit[__num_base::_S_iminus]; + if ((__negative || __c == __lit[__num_base::_S_iplus]) + && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + && !(__c == __lc->_M_decimal_point)) + { + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + } + + + + bool __found_zero = false; + int __sep_pos = 0; + while (!__testeof) + { + if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + || __c == __lc->_M_decimal_point) + break; + else if (__c == __lit[__num_base::_S_izero] + && (!__found_zero || __base == 10)) + { + __found_zero = true; + ++__sep_pos; + if (__basefield == 0) + __base = 8; + if (__base == 8) + __sep_pos = 0; + } + else if (__found_zero + && (__c == __lit[__num_base::_S_ix] + || __c == __lit[__num_base::_S_iX])) + { + if (__basefield == 0) + __base = 16; + if (__base == 16) + { + __found_zero = false; + __sep_pos = 0; + } + else + break; + } + else + break; + + if (++__beg != __end) + { + __c = *__beg; + if (!__found_zero) + break; + } + else + __testeof = true; + } + + + + const size_t __len = (__base == 16 ? __num_base::_S_iend + - __num_base::_S_izero : __base); + + + typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; + string __found_grouping; + if (__lc->_M_use_grouping) + __found_grouping.reserve(32); + bool __testfail = false; + bool __testoverflow = false; + const __unsigned_type __max = + (__negative && __num_traits::__is_signed) + ? -static_cast<__unsigned_type>(__num_traits::__min) + : __num_traits::__max; + const __unsigned_type __smax = __max / __base; + __unsigned_type __result = 0; + int __digit = 0; + const char_type* __lit_zero = __lit + __num_base::_S_izero; + + if (!__lc->_M_allocated) + + while (!__testeof) + { + __digit = _M_find(__lit_zero, __len, __c); + if (__digit == -1) + break; + + if (__result > __smax) + __testoverflow = true; + else + { + __result *= __base; + __testoverflow |= __result > __max - __digit; + __result += __digit; + ++__sep_pos; + } + + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + else + while (!__testeof) + { + + + if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) + { + + + if (__sep_pos) + { + __found_grouping += static_cast(__sep_pos); + __sep_pos = 0; + } + else + { + __testfail = true; + break; + } + } + else if (__c == __lc->_M_decimal_point) + break; + else + { + const char_type* __q = + __traits_type::find(__lit_zero, __len, __c); + if (!__q) + break; + + __digit = __q - __lit_zero; + if (__digit > 15) + __digit -= 6; + if (__result > __smax) + __testoverflow = true; + else + { + __result *= __base; + __testoverflow |= __result > __max - __digit; + __result += __digit; + ++__sep_pos; + } + } + + if (++__beg != __end) + __c = *__beg; + else + __testeof = true; + } + + + + if (__found_grouping.size()) + { + + __found_grouping += static_cast(__sep_pos); + + if (!std::__verify_grouping(__lc->_M_grouping, + __lc->_M_grouping_size, + __found_grouping)) + __err = ios_base::failbit; + } + + + + if ((!__sep_pos && !__found_zero && !__found_grouping.size()) + || __testfail) + { + __v = 0; + __err = ios_base::failbit; + } + else if (__testoverflow) + { + if (__negative && __num_traits::__is_signed) + __v = __num_traits::__min; + else + __v = __num_traits::__max; + __err = ios_base::failbit; + } + else + __v = __negative ? -__result : __result; + + if (__testeof) + __err |= ios_base::eofbit; + return __beg; + } + + + + template + _InIter + num_get<_CharT, _InIter>:: + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, bool& __v) const + { + if (!(__io.flags() & ios_base::boolalpha)) + { + + + + long __l = -1; + __beg = _M_extract_int(__beg, __end, __io, __err, __l); + if (__l == 0 || __l == 1) + __v = bool(__l); + else + { + + + __v = true; + __err = ios_base::failbit; + if (__beg == __end) + __err |= ios_base::eofbit; + } + } + else + { + + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + + bool __testf = true; + bool __testt = true; + bool __donef = __lc->_M_falsename_size == 0; + bool __donet = __lc->_M_truename_size == 0; + bool __testeof = false; + size_t __n = 0; + while (!__donef || !__donet) + { + if (__beg == __end) + { + __testeof = true; + break; + } + + const char_type __c = *__beg; + + if (!__donef) + __testf = __c == __lc->_M_falsename[__n]; + + if (!__testf && __donet) + break; + + if (!__donet) + __testt = __c == __lc->_M_truename[__n]; + + if (!__testt && __donef) + break; + + if (!__testt && !__testf) + break; + + ++__n; + ++__beg; + + __donef = !__testf || __n >= __lc->_M_falsename_size; + __donet = !__testt || __n >= __lc->_M_truename_size; + } + if (__testf && __n == __lc->_M_falsename_size && __n) + { + __v = false; + if (__testt && __n == __lc->_M_truename_size) + __err = ios_base::failbit; + else + __err = __testeof ? ios_base::eofbit : ios_base::goodbit; + } + else if (__testt && __n == __lc->_M_truename_size && __n) + { + __v = true; + __err = __testeof ? ios_base::eofbit : ios_base::goodbit; + } + else + { + + + __v = false; + __err = ios_base::failbit; + if (__testeof) + __err |= ios_base::eofbit; + } + } + return __beg; + } + + template + _InIter + num_get<_CharT, _InIter>:: + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, float& __v) const + { + string __xtrc; + __xtrc.reserve(32); + __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); + std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); + if (__beg == __end) + __err |= ios_base::eofbit; + return __beg; + } + + template + _InIter + num_get<_CharT, _InIter>:: + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, double& __v) const + { + string __xtrc; + __xtrc.reserve(32); + __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); + std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); + if (__beg == __end) + __err |= ios_base::eofbit; + return __beg; + } +# 735 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + template + _InIter + num_get<_CharT, _InIter>:: + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, long double& __v) const + { + string __xtrc; + __xtrc.reserve(32); + __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); + std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); + if (__beg == __end) + __err |= ios_base::eofbit; + return __beg; + } + + template + _InIter + num_get<_CharT, _InIter>:: + do_get(iter_type __beg, iter_type __end, ios_base& __io, + ios_base::iostate& __err, void*& __v) const + { + + typedef ios_base::fmtflags fmtflags; + const fmtflags __fmt = __io.flags(); + __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); + + typedef __gnu_cxx::__conditional_type<(sizeof(void*) + <= sizeof(unsigned long)), + unsigned long, unsigned long long>::__type _UIntPtrType; + + _UIntPtrType __ul; + __beg = _M_extract_int(__beg, __end, __io, __err, __ul); + + + __io.flags(__fmt); + + __v = reinterpret_cast(__ul); + return __beg; + } +# 795 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + template + void + num_put<_CharT, _OutIter>:: + _M_pad(_CharT __fill, streamsize __w, ios_base& __io, + _CharT* __new, const _CharT* __cs, int& __len) const + { + + + __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, + __cs, __w, __len); + __len = static_cast(__w); + } + + + + template + int + __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, + ios_base::fmtflags __flags, bool __dec) + { + _CharT* __buf = __bufend; + if (__builtin_expect(__dec, true)) + { + + do + { + *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; + __v /= 10; + } + while (__v != 0); + } + else if ((__flags & ios_base::basefield) == ios_base::oct) + { + + do + { + *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; + __v >>= 3; + } + while (__v != 0); + } + else + { + + const bool __uppercase = __flags & ios_base::uppercase; + const int __case_offset = __uppercase ? __num_base::_S_oudigits + : __num_base::_S_odigits; + do + { + *--__buf = __lit[(__v & 0xf) + __case_offset]; + __v >>= 4; + } + while (__v != 0); + } + return __bufend - __buf; + } + + + + template + void + num_put<_CharT, _OutIter>:: + _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, + ios_base&, _CharT* __new, _CharT* __cs, int& __len) const + { + _CharT* __p = std::__add_grouping(__new, __sep, __grouping, + __grouping_size, __cs, __cs + __len); + __len = __p - __new; + } + + template + template + _OutIter + num_put<_CharT, _OutIter>:: + _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, + _ValueT __v) const + { + using __gnu_cxx::__add_unsigned; + typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + const _CharT* __lit = __lc->_M_atoms_out; + const ios_base::fmtflags __flags = __io.flags(); + + + const int __ilen = 5 * sizeof(_ValueT); + _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __ilen)); + + + + const ios_base::fmtflags __basefield = __flags & ios_base::basefield; + const bool __dec = (__basefield != ios_base::oct + && __basefield != ios_base::hex); + const __unsigned_type __u = ((__v > 0 || !__dec) + ? __unsigned_type(__v) + : -__unsigned_type(__v)); + int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); + __cs += __ilen - __len; + + + if (__lc->_M_use_grouping) + { + + + _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * (__len + 1) + * 2)); + _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, + __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); + __cs = __cs2 + 2; + } + + + if (__builtin_expect(__dec, true)) + { + + if (__v >= 0) + { + if (bool(__flags & ios_base::showpos) + && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) + *--__cs = __lit[__num_base::_S_oplus], ++__len; + } + else + *--__cs = __lit[__num_base::_S_ominus], ++__len; + } + else if (bool(__flags & ios_base::showbase) && __v) + { + if (__basefield == ios_base::oct) + *--__cs = __lit[__num_base::_S_odigits], ++__len; + else + { + + const bool __uppercase = __flags & ios_base::uppercase; + *--__cs = __lit[__num_base::_S_ox + __uppercase]; + + *--__cs = __lit[__num_base::_S_odigits]; + __len += 2; + } + } + + + const streamsize __w = __io.width(); + if (__w > static_cast(__len)) + { + _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __w)); + _M_pad(__fill, __w, __io, __cs3, __cs, __len); + __cs = __cs3; + } + __io.width(0); + + + + return std::__write(__s, __cs, __len); + } + + template + void + num_put<_CharT, _OutIter>:: + _M_group_float(const char* __grouping, size_t __grouping_size, + _CharT __sep, const _CharT* __p, _CharT* __new, + _CharT* __cs, int& __len) const + { + + + + const int __declen = __p ? __p - __cs : __len; + _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, + __grouping_size, + __cs, __cs + __declen); + + + int __newlen = __p2 - __new; + if (__p) + { + char_traits<_CharT>::copy(__p2, __p, __len - __declen); + __newlen += __len - __declen; + } + __len = __newlen; + } +# 989 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + template + template + _OutIter + num_put<_CharT, _OutIter>:: + _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, + _ValueT __v) const + { + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + + + const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); + + const int __max_digits = + __gnu_cxx::__numeric_traits<_ValueT>::__digits10; + + + int __len; + + char __fbuf[16]; + __num_base::_S_format_float(__io, __fbuf, __mod); + + + + const bool __use_prec = + (__io.flags() & ios_base::floatfield) != ios_base::floatfield; + + + + int __cs_size = __max_digits * 3; + char* __cs = static_cast(__builtin_alloca(__cs_size)); + if (__use_prec) + __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, + __fbuf, __prec, __v); + else + __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, + __fbuf, __v); + + + if (__len >= __cs_size) + { + __cs_size = __len + 1; + __cs = static_cast(__builtin_alloca(__cs_size)); + if (__use_prec) + __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, + __fbuf, __prec, __v); + else + __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, + __fbuf, __v); + } +# 1062 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + const ctype<_CharT>& __ctype = use_facet >(__loc); + + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len)); + __ctype.widen(__cs, __cs + __len, __ws); + + + _CharT* __wp = 0; + const char* __p = char_traits::find(__cs, __len, '.'); + if (__p) + { + __wp = __ws + (__p - __cs); + *__wp = __lc->_M_decimal_point; + } + + + + + if (__lc->_M_use_grouping + && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' + && __cs[1] >= '0' && __cs[2] >= '0'))) + { + + + _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len * 2)); + + streamsize __off = 0; + if (__cs[0] == '-' || __cs[0] == '+') + { + __off = 1; + __ws2[0] = __ws[0]; + __len -= 1; + } + + _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, + __lc->_M_thousands_sep, __wp, __ws2 + __off, + __ws + __off, __len); + __len += __off; + + __ws = __ws2; + } + + + const streamsize __w = __io.width(); + if (__w > static_cast(__len)) + { + _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __w)); + _M_pad(__fill, __w, __io, __ws3, __ws, __len); + __ws = __ws3; + } + __io.width(0); + + + + return std::__write(__s, __ws, __len); + } + + template + _OutIter + num_put<_CharT, _OutIter>:: + do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const + { + const ios_base::fmtflags __flags = __io.flags(); + if ((__flags & ios_base::boolalpha) == 0) + { + const long __l = __v; + __s = _M_insert_int(__s, __io, __fill, __l); + } + else + { + typedef __numpunct_cache<_CharT> __cache_type; + __use_cache<__cache_type> __uc; + const locale& __loc = __io._M_getloc(); + const __cache_type* __lc = __uc(__loc); + + const _CharT* __name = __v ? __lc->_M_truename + : __lc->_M_falsename; + int __len = __v ? __lc->_M_truename_size + : __lc->_M_falsename_size; + + const streamsize __w = __io.width(); + if (__w > static_cast(__len)) + { + const streamsize __plen = __w - __len; + _CharT* __ps + = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __plen)); + + char_traits<_CharT>::assign(__ps, __plen, __fill); + __io.width(0); + + if ((__flags & ios_base::adjustfield) == ios_base::left) + { + __s = std::__write(__s, __name, __len); + __s = std::__write(__s, __ps, __plen); + } + else + { + __s = std::__write(__s, __ps, __plen); + __s = std::__write(__s, __name, __len); + } + return __s; + } + __io.width(0); + __s = std::__write(__s, __name, __len); + } + return __s; + } + + template + _OutIter + num_put<_CharT, _OutIter>:: + do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const + { return _M_insert_float(__s, __io, __fill, char(), __v); } +# 1187 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + template + _OutIter + num_put<_CharT, _OutIter>:: + do_put(iter_type __s, ios_base& __io, char_type __fill, + long double __v) const + { return _M_insert_float(__s, __io, __fill, 'L', __v); } + + template + _OutIter + num_put<_CharT, _OutIter>:: + do_put(iter_type __s, ios_base& __io, char_type __fill, + const void* __v) const + { + const ios_base::fmtflags __flags = __io.flags(); + const ios_base::fmtflags __fmt = ~(ios_base::basefield + | ios_base::uppercase); + __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); + + typedef __gnu_cxx::__conditional_type<(sizeof(const void*) + <= sizeof(unsigned long)), + unsigned long, unsigned long long>::__type _UIntPtrType; + + __s = _M_insert_int(__s, __io, __fill, + reinterpret_cast<_UIntPtrType>(__v)); + __io.flags(__flags); + return __s; + } +# 1224 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + +# 1233 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.tcc" 3 + template + void + __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, + _CharT* __news, const _CharT* __olds, + streamsize __newlen, streamsize __oldlen) + { + const size_t __plen = static_cast(__newlen - __oldlen); + const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; + + + if (__adjust == ios_base::left) + { + _Traits::copy(__news, __olds, __oldlen); + _Traits::assign(__news + __oldlen, __plen, __fill); + return; + } + + size_t __mod = 0; + if (__adjust == ios_base::internal) + { + + + + const locale& __loc = __io._M_getloc(); + const ctype<_CharT>& __ctype = use_facet >(__loc); + + if (__ctype.widen('-') == __olds[0] + || __ctype.widen('+') == __olds[0]) + { + __news[0] = __olds[0]; + __mod = 1; + ++__news; + } + else if (__ctype.widen('0') == __olds[0] + && __oldlen > 1 + && (__ctype.widen('x') == __olds[1] + || __ctype.widen('X') == __olds[1])) + { + __news[0] = __olds[0]; + __news[1] = __olds[1]; + __mod = 2; + __news += 2; + } + + } + _Traits::assign(__news, __plen, __fill); + _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); + } + + template + _CharT* + __add_grouping(_CharT* __s, _CharT __sep, + const char* __gbeg, size_t __gsize, + const _CharT* __first, const _CharT* __last) + { + size_t __idx = 0; + size_t __ctr = 0; + + while (__last - __first > __gbeg[__idx] + && static_cast(__gbeg[__idx]) > 0 + && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) + { + __last -= __gbeg[__idx]; + __idx < __gsize - 1 ? ++__idx : ++__ctr; + } + + while (__first != __last) + *__s++ = *__first++; + + while (__ctr--) + { + *__s++ = __sep; + for (char __i = __gbeg[__idx]; __i > 0; --__i) + *__s++ = *__first++; + } + + while (__idx--) + { + *__s++ = __sep; + for (char __i = __gbeg[__idx]; __i > 0; --__i) + *__s++ = *__first++; + } + + return __s; + } + + + + + extern template class __cxx11:: numpunct; + extern template class __cxx11:: numpunct_byname; + extern template class num_get; + extern template class num_put; + extern template class ctype_byname; + + extern template + const ctype* + __try_use_facet >(const locale&) noexcept; + + extern template + const numpunct* + __try_use_facet >(const locale&) noexcept; + + extern template + const num_put* + __try_use_facet >(const locale&) noexcept; + + extern template + const num_get* + __try_use_facet >(const locale&) noexcept; + + extern template + const ctype& + use_facet >(const locale&); + + extern template + const numpunct& + use_facet >(const locale&); + + extern template + const num_put& + use_facet >(const locale&); + + extern template + const num_get& + use_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + + extern template class __cxx11:: numpunct; + extern template class __cxx11:: numpunct_byname; + extern template class num_get; + extern template class num_put; + extern template class ctype_byname; + + extern template + const ctype* + __try_use_facet >(const locale&) noexcept; + + extern template + const numpunct* + __try_use_facet >(const locale&) noexcept; + + extern template + const num_put* + __try_use_facet >(const locale&) noexcept; + + extern template + const num_get* + __try_use_facet >(const locale&) noexcept; + + extern template + const ctype& + use_facet >(const locale&); + + extern template + const numpunct& + use_facet >(const locale&); + + extern template + const num_put& + use_facet >(const locale&); + + extern template + const num_get& + use_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + extern template + bool + has_facet >(const locale&); + + + + +} +# 2688 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/locale_facets.h" 2 3 +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 2 3 + + + +namespace std +{ + + + template + inline const _Facet& + __check_facet(const _Facet* __f) + { + if (!__f) + __throw_bad_cast(); + return *__f; + } +# 66 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + template + class basic_ios : public ios_base + { + + + + + public: + + + + + + + typedef _CharT char_type; + typedef typename _Traits::int_type int_type; + typedef typename _Traits::pos_type pos_type; + typedef typename _Traits::off_type off_type; + typedef _Traits traits_type; + + + + + + + typedef ctype<_CharT> __ctype_type; + typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > + __num_put_type; + typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > + __num_get_type; + + + + protected: + basic_ostream<_CharT, _Traits>* _M_tie; + mutable char_type _M_fill; + mutable bool _M_fill_init; + basic_streambuf<_CharT, _Traits>* _M_streambuf; + + + const __ctype_type* _M_ctype; + + const __num_put_type* _M_num_put; + + const __num_get_type* _M_num_get; + + public: +# 121 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + explicit operator bool() const + { return !this->fail(); } + + + + + + bool + operator!() const + { return this->fail(); } +# 140 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + iostate + rdstate() const + { return _M_streambuf_state; } +# 151 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + void + clear(iostate __state = goodbit); + + + + + + + + void + setstate(iostate __state) + { this->clear(this->rdstate() | __state); } + + + + + void + _M_setstate(iostate __state) + { + + + _M_streambuf_state |= __state; + if (this->exceptions() & __state) + throw; + } + + + + + + + + bool + good() const + { return this->rdstate() == 0; } + + + + + + + + bool + eof() const + { return (this->rdstate() & eofbit) != 0; } +# 204 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + bool + fail() const + { return (this->rdstate() & (badbit | failbit)) != 0; } + + + + + + + + bool + bad() const + { return (this->rdstate() & badbit) != 0; } +# 225 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + iostate + exceptions() const + { return _M_exception; } +# 260 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + void + exceptions(iostate __except) + { + _M_exception = __except; + this->clear(_M_streambuf_state); + } + + + + + + + + explicit + basic_ios(basic_streambuf<_CharT, _Traits>* __sb) + : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), + _M_ctype(0), _M_num_put(0), _M_num_get(0) + { this->init(__sb); } + + + + + + + + virtual + ~basic_ios() { } +# 298 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + basic_ostream<_CharT, _Traits>* + tie() const + { return _M_tie; } +# 310 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + basic_ostream<_CharT, _Traits>* + tie(basic_ostream<_CharT, _Traits>* __tiestr) + { + basic_ostream<_CharT, _Traits>* __old = _M_tie; + _M_tie = __tiestr; + return __old; + } + + + + + + + + basic_streambuf<_CharT, _Traits>* + rdbuf() const + { return _M_streambuf; } +# 350 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + basic_streambuf<_CharT, _Traits>* + rdbuf(basic_streambuf<_CharT, _Traits>* __sb); +# 364 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + basic_ios& + copyfmt(const basic_ios& __rhs); + + + + + + + + char_type + fill() const + { + if (!_M_fill_init) + { + _M_fill = this->widen(' '); + _M_fill_init = true; + } + return _M_fill; + } +# 393 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + char_type + fill(char_type __ch) + { + char_type __old = this->fill(); + _M_fill = __ch; + return __old; + } +# 413 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + locale + imbue(const locale& __loc); +# 433 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + char + narrow(char_type __c, char __dfault) const + { return __check_facet(_M_ctype).narrow(__c, __dfault); } +# 452 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 3 + char_type + widen(char __c) const + { return __check_facet(_M_ctype).widen(__c); } + + protected: + + + + + + + + basic_ios() + : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), + _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) + { } + + + + + + + + void + init(basic_streambuf<_CharT, _Traits>* __sb); + + + basic_ios(const basic_ios&) = delete; + basic_ios& operator=(const basic_ios&) = delete; + + void + move(basic_ios& __rhs) + { + ios_base::_M_move(__rhs); + _M_cache_locale(_M_ios_locale); + this->tie(__rhs.tie(nullptr)); + _M_fill = __rhs._M_fill; + _M_fill_init = __rhs._M_fill_init; + _M_streambuf = nullptr; + } + + void + move(basic_ios&& __rhs) + { this->move(__rhs); } + + void + swap(basic_ios& __rhs) noexcept + { + ios_base::_M_swap(__rhs); + _M_cache_locale(_M_ios_locale); + __rhs._M_cache_locale(__rhs._M_ios_locale); + std::swap(_M_tie, __rhs._M_tie); + std::swap(_M_fill, __rhs._M_fill); + std::swap(_M_fill_init, __rhs._M_fill_init); + } + + void + set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) + { _M_streambuf = __sb; } + + + void + _M_cache_locale(const locale& __loc); + }; + + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.tcc" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.tcc" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.tcc" 3 + +namespace std +{ + + + template + void + basic_ios<_CharT, _Traits>::clear(iostate __state) + { + if (this->rdbuf()) + _M_streambuf_state = __state; + else + _M_streambuf_state = __state | badbit; + if (this->exceptions() & this->rdstate()) + __throw_ios_failure(("basic_ios::clear")); + } + + template + basic_streambuf<_CharT, _Traits>* + basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) + { + basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; + _M_streambuf = __sb; + this->clear(); + return __old; + } + + template + basic_ios<_CharT, _Traits>& + basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) + { + + + if (this != std::__addressof(__rhs)) + { + + + + + _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? + _M_local_word : new _Words[__rhs._M_word_size]; + + + _Callback_list* __cb = __rhs._M_callbacks; + if (__cb) + __cb->_M_add_reference(); + _M_call_callbacks(erase_event); + if (_M_word != _M_local_word) + { + delete [] _M_word; + _M_word = 0; + } + _M_dispose_callbacks(); + + + _M_callbacks = __cb; + for (int __i = 0; __i < __rhs._M_word_size; ++__i) + __words[__i] = __rhs._M_word[__i]; + _M_word = __words; + _M_word_size = __rhs._M_word_size; + + this->flags(__rhs.flags()); + this->width(__rhs.width()); + this->precision(__rhs.precision()); + this->tie(__rhs.tie()); + this->fill(__rhs.fill()); + _M_ios_locale = __rhs.getloc(); + _M_cache_locale(_M_ios_locale); + + _M_call_callbacks(copyfmt_event); + + + this->exceptions(__rhs.exceptions()); + } + return *this; + } + + + template + locale + basic_ios<_CharT, _Traits>::imbue(const locale& __loc) + { + locale __old(this->getloc()); + ios_base::imbue(__loc); + _M_cache_locale(__loc); + if (this->rdbuf() != 0) + this->rdbuf()->pubimbue(__loc); + return __old; + } + + template + void + basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) + { + + ios_base::_M_init(); + + + _M_cache_locale(_M_ios_locale); +# 146 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.tcc" 3 + _M_fill = _CharT(); + _M_fill_init = false; + + _M_tie = 0; + _M_exception = goodbit; + _M_streambuf = __sb; + _M_streambuf_state = __sb ? goodbit : badbit; + } + + template + void + basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) + { + _M_ctype = std::__try_use_facet<__ctype_type>(__loc); + _M_num_put = std::__try_use_facet<__num_put_type>(__loc); + _M_num_get = std::__try_use_facet<__num_get_type>(__loc); + } + + + + + extern template class basic_ios; + + + extern template class basic_ios; + + + + +} +# 521 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/basic_ios.h" 2 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 50 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ios" 2 3 +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 2 3 + + + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 2 3 + +namespace std +{ + +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + class basic_ostream : virtual public basic_ios<_CharT, _Traits> + { + public: + + typedef _CharT char_type; + typedef typename _Traits::int_type int_type; + typedef typename _Traits::pos_type pos_type; + typedef typename _Traits::off_type off_type; + typedef _Traits traits_type; + + + typedef basic_streambuf<_CharT, _Traits> __streambuf_type; + typedef basic_ios<_CharT, _Traits> __ios_type; + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > + __num_put_type; + typedef ctype<_CharT> __ctype_type; +# 91 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + explicit + basic_ostream(__streambuf_type* __sb) + { this->init(__sb); } + + + + + + + virtual + ~basic_ostream() { } + + + class sentry; + friend class sentry; +# 115 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + operator<<(__ostream_type& (*__pf)(__ostream_type&)) + { + + + + return __pf(*this); + } + + __ostream_type& + operator<<(__ios_type& (*__pf)(__ios_type&)) + { + + + + __pf(*this); + return *this; + } + + __ostream_type& + operator<<(ios_base& (*__pf) (ios_base&)) + { + + + + __pf(*this); + return *this; + } +# 173 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + operator<<(long __n) + { return _M_insert(__n); } + + __ostream_type& + operator<<(unsigned long __n) + { return _M_insert(__n); } + + __ostream_type& + operator<<(bool __n) + { return _M_insert(__n); } + + __ostream_type& + operator<<(short __n); + + __ostream_type& + operator<<(unsigned short __n) + { + + + return _M_insert(static_cast(__n)); + } + + __ostream_type& + operator<<(int __n); + + __ostream_type& + operator<<(unsigned int __n) + { + + + return _M_insert(static_cast(__n)); + } + + + __ostream_type& + operator<<(long long __n) + { return _M_insert(__n); } + + __ostream_type& + operator<<(unsigned long long __n) + { return _M_insert(__n); } +# 227 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + operator<<(double __f) + { return _M_insert(__f); } + + __ostream_type& + operator<<(float __f) + { + + + return _M_insert(static_cast(__f)); + } + + __ostream_type& + operator<<(long double __f) + { return _M_insert(__f); } +# 297 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + operator<<(const void* __p) + { return _M_insert(__p); } + + + __ostream_type& + operator<<(nullptr_t) + { return *this << "nullptr"; } +# 335 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + operator<<(__streambuf_type* __sb); +# 368 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + put(char_type __c); +# 387 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + write(const char_type* __s, streamsize __n); +# 400 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + flush(); +# 410 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + pos_type + tellp(); +# 421 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + seekp(pos_type); +# 433 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + __ostream_type& + seekp(off_type, ios_base::seekdir); + + protected: + basic_ostream() + { this->init(0); } + + + + basic_ostream(basic_iostream<_CharT, _Traits>&) { } + + basic_ostream(const basic_ostream&) = delete; + + basic_ostream(basic_ostream&& __rhs) + : __ios_type() + { __ios_type::move(__rhs); } + + + + basic_ostream& operator=(const basic_ostream&) = delete; + + basic_ostream& + operator=(basic_ostream&& __rhs) + { + swap(__rhs); + return *this; + } + + void + swap(basic_ostream& __rhs) + { __ios_type::swap(__rhs); } + + + template + __ostream_type& + _M_insert(_ValueT __v); + + private: + + void + _M_write(const char_type* __s, streamsize __n) + { std::__ostream_insert(*this, __s, __n); } + + }; +# 485 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + class basic_ostream<_CharT, _Traits>::sentry + { + + bool _M_ok; + basic_ostream<_CharT, _Traits>& _M_os; + + public: +# 504 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + explicit + sentry(basic_ostream<_CharT, _Traits>& __os); + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + + + + + + + + ~sentry() + { + + if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) + { + + if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) + _M_os.setstate(ios_base::badbit); + } + } +#pragma GCC diagnostic pop +# 536 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + explicit + + operator bool() const + { return _M_ok; } + }; +# 558 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) + { + if (__out.width() != 0) + return __ostream_insert(__out, &__c, 1); + __out.put(__c); + return __out; + } + + template + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) + { return (__out << __out.widen(__c)); } + + + template + inline basic_ostream& + operator<<(basic_ostream& __out, char __c) + { + if (__out.width() != 0) + return __ostream_insert(__out, &__c, 1); + __out.put(__c); + return __out; + } + + + template + inline basic_ostream& + operator<<(basic_ostream& __out, signed char __c) + { return (__out << static_cast(__c)); } + + template + inline basic_ostream& + operator<<(basic_ostream& __out, unsigned char __c) + { return (__out << static_cast(__c)); } +# 649 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) + { + if (!__s) + __out.setstate(ios_base::badbit); + else + __ostream_insert(__out, __s, + static_cast(_Traits::length(__s))); + return __out; + } + + template + basic_ostream<_CharT, _Traits> & + operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); + + + template + inline basic_ostream& + operator<<(basic_ostream& __out, const char* __s) + { + if (!__s) + __out.setstate(ios_base::badbit); + else + __ostream_insert(__out, __s, + static_cast(_Traits::length(__s))); + return __out; + } + + + template + inline basic_ostream& + operator<<(basic_ostream& __out, const signed char* __s) + { return (__out << reinterpret_cast(__s)); } + + template + inline basic_ostream & + operator<<(basic_ostream& __out, const unsigned char* __s) + { return (__out << reinterpret_cast(__s)); } +# 739 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + inline basic_ostream<_CharT, _Traits>& + endl(basic_ostream<_CharT, _Traits>& __os) + { return flush(__os.put(__os.widen('\n'))); } +# 751 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + inline basic_ostream<_CharT, _Traits>& + ends(basic_ostream<_CharT, _Traits>& __os) + { return __os.put(_CharT()); } + + + + + + + template + inline basic_ostream<_CharT, _Traits>& + flush(basic_ostream<_CharT, _Traits>& __os) + { return __os.flush(); } +# 783 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + using _Require_derived_from_ios_base + = _Require, __not_>, + is_convertible::type, ios_base*>>; + + template, + typename + = decltype(std::declval<_Os&>() << std::declval())> + using __rvalue_stream_insertion_t = _Os&&; +# 805 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + template + inline __rvalue_stream_insertion_t<_Ostream, _Tp> + operator<<(_Ostream&& __os, const _Tp& __x) + { + __os << __x; + return std::move(__os); + } +# 1014 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 3 + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/ostream.tcc" 3 + + + +namespace std +{ + + + template + basic_ostream<_CharT, _Traits>::sentry:: + sentry(basic_ostream<_CharT, _Traits>& __os) + : _M_ok(false), _M_os(__os) + { + + if (__os.tie() && __os.good()) + __os.tie()->flush(); + + if (__os.good()) + _M_ok = true; + else if (__os.bad()) + __os.setstate(ios_base::failbit); + } + + template + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + _M_insert(_ValueT __v) + { + sentry __cerb(*this); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + + const __num_put_type& __np = __check_facet(this->_M_num_put); + + + + + if (__np.put(*this, *this, this->fill(), __v).failed()) + __err |= ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + operator<<(short __n) + { + + + const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; + if (__fmt == ios_base::oct || __fmt == ios_base::hex) + return _M_insert(static_cast(static_cast(__n))); + else + return _M_insert(static_cast(__n)); + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + operator<<(int __n) + { + + + const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; + if (__fmt == ios_base::oct || __fmt == ios_base::hex) + return _M_insert(static_cast(static_cast(__n))); + else + return _M_insert(static_cast(__n)); + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + operator<<(__streambuf_type* __sbin) + { + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this); + if (__cerb && __sbin) + { + try + { + if (!__copy_streambufs(__sbin, this->rdbuf())) + __err |= ios_base::failbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::failbit); } + } + else if (!__sbin) + __err |= ios_base::badbit; + if (__err) + this->setstate(__err); + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + put(char_type __c) + { + + + + + + + sentry __cerb(*this); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __put = this->rdbuf()->sputc(__c); + if (traits_type::eq_int_type(__put, traits_type::eof())) + __err |= ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + write(const _CharT* __s, streamsize __n) + { + + + + + + + + sentry __cerb(*this); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + if (this->rdbuf()->sputn(__s, __n) != __n) + __err = ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(ios_base::badbit); + } + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + flush() + { + + + + + + if (__streambuf_type* __buf = this->rdbuf()) + { + sentry __cerb(*this); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + if (this->rdbuf()->pubsync() == -1) + __err |= ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + } + return *this; + } + + template + typename basic_ostream<_CharT, _Traits>::pos_type + basic_ostream<_CharT, _Traits>:: + tellp() + { + sentry __cerb(*this); + pos_type __ret = pos_type(-1); + if (!this->fail()) + __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); + return __ret; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + seekp(pos_type __pos) + { + sentry __cerb(*this); + if (!this->fail()) + { + + + const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); + + + if (__p == pos_type(off_type(-1))) + this->setstate(ios_base::failbit); + } + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + basic_ostream<_CharT, _Traits>:: + seekp(off_type __off, ios_base::seekdir __dir) + { + sentry __cerb(*this); + if (!this->fail()) + { + + + const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, + ios_base::out); + + + if (__p == pos_type(off_type(-1))) + this->setstate(ios_base::failbit); + } + return *this; + } + + template + basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) + { + if (!__s) + __out.setstate(ios_base::badbit); + else + { + + + const size_t __clen = char_traits::length(__s); + try + { + struct __ptr_guard + { + _CharT *__p; + __ptr_guard (_CharT *__ip): __p(__ip) { } + ~__ptr_guard() { delete[] __p; } + _CharT* __get() { return __p; } + } __pg (new _CharT[__clen]); + + _CharT *__ws = __pg.__get(); + for (size_t __i = 0; __i < __clen; ++__i) + __ws[__i] = __out.widen(__s[__i]); + __ostream_insert(__out, __ws, __clen); + } + catch(__cxxabiv1::__forced_unwind&) + { + __out._M_setstate(ios_base::badbit); + throw; + } + catch(...) + { __out._M_setstate(ios_base::badbit); } + } + return __out; + } + + + + + extern template class basic_ostream; + extern template ostream& endl(ostream&); + extern template ostream& ends(ostream&); + extern template ostream& flush(ostream&); + extern template ostream& operator<<(ostream&, char); + extern template ostream& operator<<(ostream&, unsigned char); + extern template ostream& operator<<(ostream&, signed char); + extern template ostream& operator<<(ostream&, const char*); + extern template ostream& operator<<(ostream&, const unsigned char*); + extern template ostream& operator<<(ostream&, const signed char*); + + extern template ostream& ostream::_M_insert(long); + extern template ostream& ostream::_M_insert(unsigned long); + extern template ostream& ostream::_M_insert(bool); + + extern template ostream& ostream::_M_insert(long long); + extern template ostream& ostream::_M_insert(unsigned long long); + + extern template ostream& ostream::_M_insert(double); + extern template ostream& ostream::_M_insert(long double); + extern template ostream& ostream::_M_insert(const void*); + + + extern template class basic_ostream; + extern template wostream& endl(wostream&); + extern template wostream& ends(wostream&); + extern template wostream& flush(wostream&); + extern template wostream& operator<<(wostream&, wchar_t); + extern template wostream& operator<<(wostream&, char); + extern template wostream& operator<<(wostream&, const wchar_t*); + extern template wostream& operator<<(wostream&, const char*); + + extern template wostream& wostream::_M_insert(long); + extern template wostream& wostream::_M_insert(unsigned long); + extern template wostream& wostream::_M_insert(bool); + + extern template wostream& wostream::_M_insert(long long); + extern template wostream& wostream::_M_insert(unsigned long long); + + extern template wostream& wostream::_M_insert(double); + extern template wostream& wostream::_M_insert(long double); + extern template wostream& wostream::_M_insert(const void*); + + + + +} +# 1018 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/ostream" 2 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 2 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + + + + + + +namespace std +{ + +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + class basic_istream : virtual public basic_ios<_CharT, _Traits> + { + public: + + typedef _CharT char_type; + typedef typename _Traits::int_type int_type; + typedef typename _Traits::pos_type pos_type; + typedef typename _Traits::off_type off_type; + typedef _Traits traits_type; + + + typedef basic_streambuf<_CharT, _Traits> __streambuf_type; + typedef basic_ios<_CharT, _Traits> __ios_type; + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > + __num_get_type; + typedef ctype<_CharT> __ctype_type; + + protected: + + + + + + streamsize _M_gcount; + + public: + + + + + + + + explicit + basic_istream(__streambuf_type* __sb) + : _M_gcount(streamsize(0)) + { this->init(__sb); } + + + + + + + virtual + ~basic_istream() + { _M_gcount = streamsize(0); } + + + class sentry; + friend class sentry; +# 121 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + operator>>(__istream_type& (*__pf)(__istream_type&)) + { return __pf(*this); } + + __istream_type& + operator>>(__ios_type& (*__pf)(__ios_type&)) + { + __pf(*this); + return *this; + } + + __istream_type& + operator>>(ios_base& (*__pf)(ios_base&)) + { + __pf(*this); + return *this; + } +# 169 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + operator>>(bool& __n) + { return _M_extract(__n); } + + __istream_type& + operator>>(short& __n); + + __istream_type& + operator>>(unsigned short& __n) + { return _M_extract(__n); } + + __istream_type& + operator>>(int& __n); + + __istream_type& + operator>>(unsigned int& __n) + { return _M_extract(__n); } + + __istream_type& + operator>>(long& __n) + { return _M_extract(__n); } + + __istream_type& + operator>>(unsigned long& __n) + { return _M_extract(__n); } + + + __istream_type& + operator>>(long long& __n) + { return _M_extract(__n); } + + __istream_type& + operator>>(unsigned long long& __n) + { return _M_extract(__n); } +# 215 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + operator>>(float& __f) + { return _M_extract(__f); } + + __istream_type& + operator>>(double& __f) + { return _M_extract(__f); } + + __istream_type& + operator>>(long double& __f) + { return _M_extract(__f); } +# 324 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + operator>>(void*& __p) + { return _M_extract(__p); } +# 348 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + operator>>(__streambuf_type* __sb); +# 358 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + streamsize + gcount() const + { return _M_gcount; } +# 391 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + int_type + get(); +# 405 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + get(char_type& __c); +# 432 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + get(char_type* __s, streamsize __n, char_type __delim); +# 443 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + get(char_type* __s, streamsize __n) + { return this->get(__s, __n, this->widen('\n')); } +# 466 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + get(__streambuf_type& __sb, char_type __delim); +# 476 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + get(__streambuf_type& __sb) + { return this->get(__sb, this->widen('\n')); } +# 505 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + getline(char_type* __s, streamsize __n, char_type __delim); +# 516 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + getline(char_type* __s, streamsize __n) + { return this->getline(__s, __n, this->widen('\n')); } +# 540 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + ignore(streamsize __n, int_type __delim); + + __istream_type& + ignore(streamsize __n); + + __istream_type& + ignore(); +# 557 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + int_type + peek(); +# 575 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + read(char_type* __s, streamsize __n); +# 594 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + streamsize + readsome(char_type* __s, streamsize __n); +# 611 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + putback(char_type __c); +# 627 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + unget(); +# 645 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + int + sync(); +# 660 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + pos_type + tellg(); +# 675 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + seekg(pos_type); +# 691 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + __istream_type& + seekg(off_type, ios_base::seekdir); + + + protected: + basic_istream() + : _M_gcount(streamsize(0)) + { this->init(0); } + + + basic_istream(const basic_istream&) = delete; + + basic_istream(basic_istream&& __rhs) + : __ios_type(), _M_gcount(__rhs._M_gcount) + { + __ios_type::move(__rhs); + __rhs._M_gcount = 0; + } + + + + basic_istream& operator=(const basic_istream&) = delete; + + basic_istream& + operator=(basic_istream&& __rhs) + { + swap(__rhs); + return *this; + } + + void + swap(basic_istream& __rhs) + { + __ios_type::swap(__rhs); + std::swap(_M_gcount, __rhs._M_gcount); + } + + + template + __istream_type& + _M_extract(_ValueT& __v); + }; + + + template<> + basic_istream& + basic_istream:: + getline(char_type* __s, streamsize __n, char_type __delim); + + template<> + basic_istream& + basic_istream:: + ignore(streamsize __n); + + template<> + basic_istream& + basic_istream:: + ignore(streamsize __n, int_type __delim); + + + template<> + basic_istream& + basic_istream:: + getline(char_type* __s, streamsize __n, char_type __delim); + + template<> + basic_istream& + basic_istream:: + ignore(streamsize __n); + + template<> + basic_istream& + basic_istream:: + ignore(streamsize __n, int_type __delim); +# 775 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + class basic_istream<_CharT, _Traits>::sentry + { + + bool _M_ok; + + public: + + typedef _Traits traits_type; + typedef basic_streambuf<_CharT, _Traits> __streambuf_type; + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef typename __istream_type::__ctype_type __ctype_type; + typedef typename _Traits::int_type __int_type; +# 811 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + explicit + sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); +# 822 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + explicit + + operator bool() const + { return _M_ok; } + }; +# 840 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); + + template + inline basic_istream& + operator>>(basic_istream& __in, unsigned char& __c) + { return (__in >> reinterpret_cast(__c)); } + + template + inline basic_istream& + operator>>(basic_istream& __in, signed char& __c) + { return (__in >> reinterpret_cast(__c)); } + + + + template + void + __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize); + + void __istream_extract(istream&, char*, streamsize); +# 890 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + __attribute__((__nonnull__(2), __access__(__write_only__, 2))) + inline basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) + { +# 924 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + { + + streamsize __n = __gnu_cxx::__numeric_traits::__max; + __n /= sizeof(_CharT); + std::__istream_extract(__in, __s, __n); + } + return __in; + } + + template + __attribute__((__nonnull__(2), __access__(__write_only__, 2))) + inline basic_istream& + operator>>(basic_istream& __in, unsigned char* __s) + { return __in >> reinterpret_cast(__s); } + + template + __attribute__((__nonnull__(2), __access__(__write_only__, 2))) + inline basic_istream& + operator>>(basic_istream& __in, signed char* __s) + { return __in >> reinterpret_cast(__s); } +# 979 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + class basic_iostream + : public basic_istream<_CharT, _Traits>, + public basic_ostream<_CharT, _Traits> + { + public: + + + + typedef _CharT char_type; + typedef typename _Traits::int_type int_type; + typedef typename _Traits::pos_type pos_type; + typedef typename _Traits::off_type off_type; + typedef _Traits traits_type; + + + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_ostream<_CharT, _Traits> __ostream_type; + + + + + + + + explicit + basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) + : __istream_type(__sb), __ostream_type(__sb) { } + + + + + virtual + ~basic_iostream() { } + + protected: + basic_iostream() + : __istream_type(), __ostream_type() { } + + + basic_iostream(const basic_iostream&) = delete; + + basic_iostream(basic_iostream&& __rhs) + : __istream_type(std::move(__rhs)), __ostream_type(*this) + { } + + + + basic_iostream& operator=(const basic_iostream&) = delete; + + basic_iostream& + operator=(basic_iostream&& __rhs) + { + swap(__rhs); + return *this; + } + + void + swap(basic_iostream& __rhs) + { __istream_type::swap(__rhs); } + + }; +# 1062 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + basic_istream<_CharT, _Traits>& + ws(basic_istream<_CharT, _Traits>& __is); +# 1078 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template, + typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())> + using __rvalue_stream_extraction_t = _Is&&; +# 1094 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 3 + template + inline __rvalue_stream_extraction_t<_Istream, _Tp> + operator>>(_Istream&& __is, _Tp&& __x) + { + __is >> std::forward<_Tp>(__x); + return std::move(__is); + } + + + +} + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/istream.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/istream.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/istream.tcc" 3 + + + +namespace std +{ + + + template + basic_istream<_CharT, _Traits>::sentry:: + sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) + { + ios_base::iostate __err = ios_base::goodbit; + if (__in.good()) + { + try + { + if (__in.tie()) + __in.tie()->flush(); + if (!__noskip && bool(__in.flags() & ios_base::skipws)) + { + const __int_type __eof = traits_type::eof(); + __streambuf_type* __sb = __in.rdbuf(); + __int_type __c = __sb->sgetc(); + + const __ctype_type& __ct = __check_facet(__in._M_ctype); + while (!traits_type::eq_int_type(__c, __eof) + && __ct.is(ctype_base::space, + traits_type::to_char_type(__c))) + __c = __sb->snextc(); + + + + + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(ios_base::badbit); + throw; + } + catch(...) + { __in._M_setstate(ios_base::badbit); } + } + + if (__in.good() && __err == ios_base::goodbit) + _M_ok = true; + else + { + __err |= ios_base::failbit; + __in.setstate(__err); + } + } + + template + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + _M_extract(_ValueT& __v) + { + sentry __cerb(*this, false); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + + const __num_get_type& __ng = __check_facet(this->_M_num_get); + + + + + __ng.get(*this, 0, *this, __err, __v); + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + operator>>(short& __n) + { + + + sentry __cerb(*this, false); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + long __l; + + const __num_get_type& __ng = __check_facet(this->_M_num_get); + + + + + __ng.get(*this, 0, *this, __err, __l); + + + + if (__l < __gnu_cxx::__numeric_traits::__min) + { + __err |= ios_base::failbit; + __n = __gnu_cxx::__numeric_traits::__min; + } + else if (__l > __gnu_cxx::__numeric_traits::__max) + { + __err |= ios_base::failbit; + __n = __gnu_cxx::__numeric_traits::__max; + } + else + __n = short(__l); + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + operator>>(int& __n) + { + + + sentry __cerb(*this, false); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + long __l; + + const __num_get_type& __ng = __check_facet(this->_M_num_get); + + + + + __ng.get(*this, 0, *this, __err, __l); + + + + if (__l < __gnu_cxx::__numeric_traits::__min) + { + __err |= ios_base::failbit; + __n = __gnu_cxx::__numeric_traits::__min; + } + else if (__l > __gnu_cxx::__numeric_traits::__max) + { + __err |= ios_base::failbit; + __n = __gnu_cxx::__numeric_traits::__max; + } + else + __n = int(__l); + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + operator>>(__streambuf_type* __sbout) + { + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, false); + if (__cerb && __sbout) + { + try + { + bool __ineof; + if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) + __err |= ios_base::failbit; + if (__ineof) + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::failbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::failbit); } + } + else if (!__sbout) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return *this; + } + + template + typename basic_istream<_CharT, _Traits>::int_type + basic_istream<_CharT, _Traits>:: + get(void) + { + const int_type __eof = traits_type::eof(); + int_type __c = __eof; + _M_gcount = 0; + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, true); + if (__cerb) + { + try + { + __c = this->rdbuf()->sbumpc(); + + if (!traits_type::eq_int_type(__c, __eof)) + _M_gcount = 1; + else + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + if (!_M_gcount) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return __c; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + get(char_type& __c) + { + _M_gcount = 0; + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, true); + if (__cerb) + { + try + { + const int_type __cb = this->rdbuf()->sbumpc(); + + if (!traits_type::eq_int_type(__cb, traits_type::eof())) + { + _M_gcount = 1; + __c = traits_type::to_char_type(__cb); + } + else + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + if (!_M_gcount) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + get(char_type* __s, streamsize __n, char_type __delim) + { + _M_gcount = 0; + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, true); + if (__cerb) + { + try + { + const int_type __idelim = traits_type::to_int_type(__delim); + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + int_type __c = __sb->sgetc(); + + while (_M_gcount + 1 < __n + && !traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __idelim)) + { + *__s++ = traits_type::to_char_type(__c); + ++_M_gcount; + __c = __sb->snextc(); + } + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + + + if (__n > 0) + *__s = char_type(); + if (!_M_gcount) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + get(__streambuf_type& __sb, char_type __delim) + { + _M_gcount = 0; + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, true); + if (__cerb) + { + try + { + const int_type __idelim = traits_type::to_int_type(__delim); + const int_type __eof = traits_type::eof(); + __streambuf_type* __this_sb = this->rdbuf(); + int_type __c = __this_sb->sgetc(); + char_type __c2 = traits_type::to_char_type(__c); + unsigned long long __gcount = 0; + + while (!traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __idelim) + && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) + { + ++__gcount; + __c = __this_sb->snextc(); + __c2 = traits_type::to_char_type(__c); + } + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + + + if (__gcount <= __gnu_cxx::__numeric_traits::__max) + _M_gcount = __gcount; + else + _M_gcount = __gnu_cxx::__numeric_traits::__max; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + if (!_M_gcount) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + getline(char_type* __s, streamsize __n, char_type __delim) + { + _M_gcount = 0; + ios_base::iostate __err = ios_base::goodbit; + sentry __cerb(*this, true); + if (__cerb) + { + try + { + const int_type __idelim = traits_type::to_int_type(__delim); + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + int_type __c = __sb->sgetc(); + + while (_M_gcount + 1 < __n + && !traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __idelim)) + { + *__s++ = traits_type::to_char_type(__c); + __c = __sb->snextc(); + ++_M_gcount; + } + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + else + { + if (traits_type::eq_int_type(__c, __idelim)) + { + __sb->sbumpc(); + ++_M_gcount; + } + else + __err |= ios_base::failbit; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + + + if (__n > 0) + *__s = char_type(); + if (!_M_gcount) + __err |= ios_base::failbit; + if (__err) + this->setstate(__err); + return *this; + } + + + + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + ignore(void) + { + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + + if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) + __err |= ios_base::eofbit; + else + _M_gcount = 1; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + ignore(streamsize __n) + { + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb && __n > 0) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + int_type __c = __sb->sgetc(); +# 545 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/istream.tcc" 3 + bool __large_ignore = false; + while (true) + { + while (_M_gcount < __n + && !traits_type::eq_int_type(__c, __eof)) + { + ++_M_gcount; + __c = __sb->snextc(); + } + if (__n == __gnu_cxx::__numeric_traits::__max + && !traits_type::eq_int_type(__c, __eof)) + { + _M_gcount = + __gnu_cxx::__numeric_traits::__min; + __large_ignore = true; + } + else + break; + } + + if (__n == __gnu_cxx::__numeric_traits::__max) + { + if (__large_ignore) + _M_gcount = __gnu_cxx::__numeric_traits::__max; + + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + } + else if (_M_gcount < __n) + { + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + ignore(streamsize __n, int_type __delim) + { + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb && __n > 0) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + int_type __c = __sb->sgetc(); + + + bool __large_ignore = false; + while (true) + { + while (_M_gcount < __n + && !traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __delim)) + { + ++_M_gcount; + __c = __sb->snextc(); + } + if (__n == __gnu_cxx::__numeric_traits::__max + && !traits_type::eq_int_type(__c, __eof) + && !traits_type::eq_int_type(__c, __delim)) + { + _M_gcount = + __gnu_cxx::__numeric_traits::__min; + __large_ignore = true; + } + else + break; + } + + if (__n == __gnu_cxx::__numeric_traits::__max) + { + if (__large_ignore) + _M_gcount = __gnu_cxx::__numeric_traits::__max; + + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + else + { + if (_M_gcount != __n) + ++_M_gcount; + __sb->sbumpc(); + } + } + else if (_M_gcount < __n) + { + if (traits_type::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + else + { + ++_M_gcount; + __sb->sbumpc(); + } + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + typename basic_istream<_CharT, _Traits>::int_type + basic_istream<_CharT, _Traits>:: + peek(void) + { + int_type __c = traits_type::eof(); + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + __c = this->rdbuf()->sgetc(); + if (traits_type::eq_int_type(__c, traits_type::eof())) + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return __c; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + read(char_type* __s, streamsize __n) + { + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + _M_gcount = this->rdbuf()->sgetn(__s, __n); + if (_M_gcount != __n) + __err |= (ios_base::eofbit | ios_base::failbit); + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + streamsize + basic_istream<_CharT, _Traits>:: + readsome(char_type* __s, streamsize __n) + { + _M_gcount = 0; + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + + const streamsize __num = this->rdbuf()->in_avail(); + if (__num > 0) + _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); + else if (__num == -1) + __err |= ios_base::eofbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return _M_gcount; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + putback(char_type __c) + { + + + _M_gcount = 0; + + this->clear(this->rdstate() & ~ios_base::eofbit); + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + if (!__sb + || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) + __err |= ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + unget(void) + { + + + _M_gcount = 0; + + this->clear(this->rdstate() & ~ios_base::eofbit); + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const int_type __eof = traits_type::eof(); + __streambuf_type* __sb = this->rdbuf(); + if (!__sb + || traits_type::eq_int_type(__sb->sungetc(), __eof)) + __err |= ios_base::badbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + int + basic_istream<_CharT, _Traits>:: + sync(void) + { + + + int __ret = -1; + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + __streambuf_type* __sb = this->rdbuf(); + if (__sb) + { + if (__sb->pubsync() == -1) + __err |= ios_base::badbit; + else + __ret = 0; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return __ret; + } + + template + typename basic_istream<_CharT, _Traits>::pos_type + basic_istream<_CharT, _Traits>:: + tellg(void) + { + + + pos_type __ret = pos_type(-1); + sentry __cerb(*this, true); + if (__cerb) + { + try + { + if (!this->fail()) + __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, + ios_base::in); + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + } + return __ret; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + seekg(pos_type __pos) + { + + + + this->clear(this->rdstate() & ~ios_base::eofbit); + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + if (!this->fail()) + { + + const pos_type __p = this->rdbuf()->pubseekpos(__pos, + ios_base::in); + + + if (__p == pos_type(off_type(-1))) + __err |= ios_base::failbit; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + template + basic_istream<_CharT, _Traits>& + basic_istream<_CharT, _Traits>:: + seekg(off_type __off, ios_base::seekdir __dir) + { + + + + this->clear(this->rdstate() & ~ios_base::eofbit); + sentry __cerb(*this, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + if (!this->fail()) + { + + const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, + ios_base::in); + + + if (__p == pos_type(off_type(-1))) + __err |= ios_base::failbit; + } + } + catch(__cxxabiv1::__forced_unwind&) + { + this->_M_setstate(ios_base::badbit); + throw; + } + catch(...) + { this->_M_setstate(ios_base::badbit); } + if (__err) + this->setstate(__err); + } + return *this; + } + + + template + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef typename __istream_type::int_type __int_type; + + typename __istream_type::sentry __cerb(__in, false); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const __int_type __cb = __in.rdbuf()->sbumpc(); + if (!_Traits::eq_int_type(__cb, _Traits::eof())) + __c = _Traits::to_char_type(__cb); + else + __err |= (ios_base::eofbit | ios_base::failbit); + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(ios_base::badbit); + throw; + } + catch(...) + { __in._M_setstate(ios_base::badbit); } + if (__err) + __in.setstate(__err); + } + return __in; + } + + template + void + __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s, + streamsize __num) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_streambuf<_CharT, _Traits> __streambuf_type; + typedef typename _Traits::int_type int_type; + typedef _CharT char_type; + typedef ctype<_CharT> __ctype_type; + + streamsize __extracted = 0; + ios_base::iostate __err = ios_base::goodbit; + typename __istream_type::sentry __cerb(__in, false); + if (__cerb) + { + try + { + + streamsize __width = __in.width(); + if (0 < __width && __width < __num) + __num = __width; + + const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); + + const int_type __eof = _Traits::eof(); + __streambuf_type* __sb = __in.rdbuf(); + int_type __c = __sb->sgetc(); + + while (__extracted < __num - 1 + && !_Traits::eq_int_type(__c, __eof) + && !__ct.is(ctype_base::space, + _Traits::to_char_type(__c))) + { + *__s++ = _Traits::to_char_type(__c); + ++__extracted; + __c = __sb->snextc(); + } + + if (__extracted < __num - 1 + && _Traits::eq_int_type(__c, __eof)) + __err |= ios_base::eofbit; + + + + *__s = char_type(); + __in.width(0); + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(ios_base::badbit); + throw; + } + catch(...) + { __in._M_setstate(ios_base::badbit); } + } + if (!__extracted) + __err |= ios_base::failbit; + if (__err) + __in.setstate(__err); + } + + + template + basic_istream<_CharT, _Traits>& + ws(basic_istream<_CharT, _Traits>& __in) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_streambuf<_CharT, _Traits> __streambuf_type; + typedef typename __istream_type::int_type __int_type; + typedef ctype<_CharT> __ctype_type; + + + + typename __istream_type::sentry __cerb(__in, true); + if (__cerb) + { + ios_base::iostate __err = ios_base::goodbit; + try + { + const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); + const __int_type __eof = _Traits::eof(); + __streambuf_type* __sb = __in.rdbuf(); + __int_type __c = __sb->sgetc(); + + while (true) + { + if (_Traits::eq_int_type(__c, __eof)) + { + __err = ios_base::eofbit; + break; + } + if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c))) + break; + __c = __sb->snextc(); + } + } + catch(const __cxxabiv1::__forced_unwind&) + { + __in._M_setstate(ios_base::badbit); + throw; + } + catch(...) + { + __in._M_setstate(ios_base::badbit); + } + if (__err) + __in.setstate(__err); + } + return __in; + } + + + + + extern template class basic_istream; + extern template istream& ws(istream&); + extern template istream& operator>>(istream&, char&); + extern template istream& operator>>(istream&, unsigned char&); + extern template istream& operator>>(istream&, signed char&); + + extern template istream& istream::_M_extract(unsigned short&); + extern template istream& istream::_M_extract(unsigned int&); + extern template istream& istream::_M_extract(long&); + extern template istream& istream::_M_extract(unsigned long&); + extern template istream& istream::_M_extract(bool&); + + extern template istream& istream::_M_extract(long long&); + extern template istream& istream::_M_extract(unsigned long long&); + + extern template istream& istream::_M_extract(float&); + extern template istream& istream::_M_extract(double&); + extern template istream& istream::_M_extract(long double&); + extern template istream& istream::_M_extract(void*&); + + extern template class basic_iostream; + + + extern template class basic_istream; + extern template wistream& ws(wistream&); + extern template wistream& operator>>(wistream&, wchar_t&); + extern template void __istream_extract(wistream&, wchar_t*, streamsize); + + extern template wistream& wistream::_M_extract(unsigned short&); + extern template wistream& wistream::_M_extract(unsigned int&); + extern template wistream& wistream::_M_extract(long&); + extern template wistream& wistream::_M_extract(unsigned long&); + extern template wistream& wistream::_M_extract(bool&); + + extern template wistream& wistream::_M_extract(long long&); + extern template wistream& wistream::_M_extract(unsigned long long&); + + extern template wistream& wistream::_M_extract(float&); + extern template wistream& wistream::_M_extract(double&); + extern template wistream& wistream::_M_extract(long double&); + extern template wistream& wistream::_M_extract(void*&); + + extern template class basic_iostream; + + + + +} +# 1107 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/istream" 2 3 +# 43 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 2 3 + +namespace std +{ + +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 3 + extern istream cin; + extern ostream cout; + extern ostream cerr; + extern ostream clog; + + + extern wistream wcin; + extern wostream wcout; + extern wostream wcerr; + extern wostream wclog; +# 85 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/iostream" 3 + +} +# 5 "src\\P2822\\P2822_debug.cpp" 2 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 1 3 +# 58 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 3 + +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 3 + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 1 3 +# 59 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 1 3 +# 33 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 + +# 34 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 +# 42 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 +namespace std +{ + +# 195 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 + template + + bool + all_of(_IIter, _IIter, _Predicate); + + template + + bool + any_of(_IIter, _IIter, _Predicate); + + + template + + bool + binary_search(_FIter, _FIter, const _Tp&); + + template + + bool + binary_search(_FIter, _FIter, const _Tp&, _Compare); + + + template + constexpr + const _Tp& + clamp(const _Tp&, const _Tp&, const _Tp&); + + template + constexpr + const _Tp& + clamp(const _Tp&, const _Tp&, const _Tp&, _Compare); + + + template + + _OIter + copy(_IIter, _IIter, _OIter); + + template + + _BIter2 + copy_backward(_BIter1, _BIter1, _BIter2); + + + template + + _OIter + copy_if(_IIter, _IIter, _OIter, _Predicate); + + template + + _OIter + copy_n(_IIter, _Size, _OIter); + + + + + + template + + pair<_FIter, _FIter> + equal_range(_FIter, _FIter, const _Tp&); + + template + + pair<_FIter, _FIter> + equal_range(_FIter, _FIter, const _Tp&, _Compare); + + template + + void + fill(_FIter, _FIter, const _Tp&); + + template + + _OIter + fill_n(_OIter, _Size, const _Tp&); + + + + template + + _FIter1 + find_end(_FIter1, _FIter1, _FIter2, _FIter2); + + template + + _FIter1 + find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); + + + + + + template + + _IIter + find_if_not(_IIter, _IIter, _Predicate); + + + + + + + template + + bool + includes(_IIter1, _IIter1, _IIter2, _IIter2); + + template + + bool + includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); + + template + void + inplace_merge(_BIter, _BIter, _BIter); + + template + void + inplace_merge(_BIter, _BIter, _BIter, _Compare); + + + template + + bool + is_heap(_RAIter, _RAIter); + + template + + bool + is_heap(_RAIter, _RAIter, _Compare); + + template + + _RAIter + is_heap_until(_RAIter, _RAIter); + + template + + _RAIter + is_heap_until(_RAIter, _RAIter, _Compare); + + template + + bool + is_partitioned(_IIter, _IIter, _Predicate); + + template + + bool + is_permutation(_FIter1, _FIter1, _FIter2); + + template + + bool + is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); + + template + + bool + is_sorted(_FIter, _FIter); + + template + + bool + is_sorted(_FIter, _FIter, _Compare); + + template + + _FIter + is_sorted_until(_FIter, _FIter); + + template + + _FIter + is_sorted_until(_FIter, _FIter, _Compare); + + + template + + void + iter_swap(_FIter1, _FIter2); + + template + + _FIter + lower_bound(_FIter, _FIter, const _Tp&); + + template + + _FIter + lower_bound(_FIter, _FIter, const _Tp&, _Compare); + + template + + void + make_heap(_RAIter, _RAIter); + + template + + void + make_heap(_RAIter, _RAIter, _Compare); + + template + constexpr + const _Tp& + max(const _Tp&, const _Tp&); + + template + constexpr + const _Tp& + max(const _Tp&, const _Tp&, _Compare); + + + + + template + constexpr + const _Tp& + min(const _Tp&, const _Tp&); + + template + constexpr + const _Tp& + min(const _Tp&, const _Tp&, _Compare); + + + + + template + constexpr + pair + minmax(const _Tp&, const _Tp&); + + template + constexpr + pair + minmax(const _Tp&, const _Tp&, _Compare); + + template + constexpr + pair<_FIter, _FIter> + minmax_element(_FIter, _FIter); + + template + constexpr + pair<_FIter, _FIter> + minmax_element(_FIter, _FIter, _Compare); + + template + constexpr + _Tp + min(initializer_list<_Tp>); + + template + constexpr + _Tp + min(initializer_list<_Tp>, _Compare); + + template + constexpr + _Tp + max(initializer_list<_Tp>); + + template + constexpr + _Tp + max(initializer_list<_Tp>, _Compare); + + template + constexpr + pair<_Tp, _Tp> + minmax(initializer_list<_Tp>); + + template + constexpr + pair<_Tp, _Tp> + minmax(initializer_list<_Tp>, _Compare); + + + + + template + + bool + next_permutation(_BIter, _BIter); + + template + + bool + next_permutation(_BIter, _BIter, _Compare); + + + template + + bool + none_of(_IIter, _IIter, _Predicate); + + + + + + template + + _RAIter + partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); + + template + + _RAIter + partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); + + + + + template + + pair<_OIter1, _OIter2> + partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); + + template + + _FIter + partition_point(_FIter, _FIter, _Predicate); + + + template + + void + pop_heap(_RAIter, _RAIter); + + template + + void + pop_heap(_RAIter, _RAIter, _Compare); + + template + + bool + prev_permutation(_BIter, _BIter); + + template + + bool + prev_permutation(_BIter, _BIter, _Compare); + + template + + void + push_heap(_RAIter, _RAIter); + + template + + void + push_heap(_RAIter, _RAIter, _Compare); + + + + template + + _FIter + remove(_FIter, _FIter, const _Tp&); + + template + + _FIter + remove_if(_FIter, _FIter, _Predicate); + + template + + _OIter + remove_copy(_IIter, _IIter, _OIter, const _Tp&); + + template + + _OIter + remove_copy_if(_IIter, _IIter, _OIter, _Predicate); + + + + template + + _OIter + replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); + + template + + _OIter + replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); + + + + template + + void + reverse(_BIter, _BIter); + + template + + _OIter + reverse_copy(_BIter, _BIter, _OIter); + +inline namespace _V2 { + + template + + _FIter + rotate(_FIter, _FIter, _FIter); + +} + + template + + _OIter + rotate_copy(_FIter, _FIter, _FIter, _OIter); +# 622 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 + template + void + shuffle(_RAIter, _RAIter, _UGenerator&&); + + + template + + void + sort_heap(_RAIter, _RAIter); + + template + + void + sort_heap(_RAIter, _RAIter, _Compare); + + + template + _BIter + stable_partition(_BIter, _BIter, _Predicate); +# 657 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/algorithmfwd.h" 3 + template + + _FIter2 + swap_ranges(_FIter1, _FIter1, _FIter2); + + + + template + + _FIter + unique(_FIter, _FIter); + + template + + _FIter + unique(_FIter, _FIter, _BinaryPredicate); + + + + template + + _FIter + upper_bound(_FIter, _FIter, const _Tp&); + + template + + _FIter + upper_bound(_FIter, _FIter, const _Tp&, _Compare); + + + + template + + _FIter + adjacent_find(_FIter, _FIter); + + template + + _FIter + adjacent_find(_FIter, _FIter, _BinaryPredicate); + + template + + typename iterator_traits<_IIter>::difference_type + count(_IIter, _IIter, const _Tp&); + + template + + typename iterator_traits<_IIter>::difference_type + count_if(_IIter, _IIter, _Predicate); + + template + + bool + equal(_IIter1, _IIter1, _IIter2); + + template + + bool + equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); + + template + + _IIter + find(_IIter, _IIter, const _Tp&); + + template + + _FIter1 + find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); + + template + + _FIter1 + find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); + + template + + _IIter + find_if(_IIter, _IIter, _Predicate); + + template + + _Funct + for_each(_IIter, _IIter, _Funct); + + template + + void + generate(_FIter, _FIter, _Generator); + + template + + _OIter + generate_n(_OIter, _Size, _Generator); + + template + + bool + lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); + + template + + bool + lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); + + template + constexpr + _FIter + max_element(_FIter, _FIter); + + template + constexpr + _FIter + max_element(_FIter, _FIter, _Compare); + + template + + _OIter + merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); + + template + + _OIter + merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); + + template + constexpr + _FIter + min_element(_FIter, _FIter); + + template + constexpr + _FIter + min_element(_FIter, _FIter, _Compare); + + template + + pair<_IIter1, _IIter2> + mismatch(_IIter1, _IIter1, _IIter2); + + template + + pair<_IIter1, _IIter2> + mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); + + template + + void + nth_element(_RAIter, _RAIter, _RAIter); + + template + + void + nth_element(_RAIter, _RAIter, _RAIter, _Compare); + + template + + void + partial_sort(_RAIter, _RAIter, _RAIter); + + template + + void + partial_sort(_RAIter, _RAIter, _RAIter, _Compare); + + template + + _BIter + partition(_BIter, _BIter, _Predicate); + + + template + __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead"))) + void + random_shuffle(_RAIter, _RAIter); + + template + __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead"))) + void + random_shuffle(_RAIter, _RAIter, + + _Generator&&); + + + + + + template + + void + replace(_FIter, _FIter, const _Tp&, const _Tp&); + + template + + void + replace_if(_FIter, _FIter, _Predicate, const _Tp&); + + template + + _FIter1 + search(_FIter1, _FIter1, _FIter2, _FIter2); + + template + + _FIter1 + search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); + + template + + _FIter + search_n(_FIter, _FIter, _Size, const _Tp&); + + template + + _FIter + search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); + + template + + _OIter + set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); + + template + + _OIter + set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); + + template + + _OIter + set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); + + template + + _OIter + set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); + + template + + _OIter + set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); + + template + + _OIter + set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, + _OIter, _Compare); + + template + + _OIter + set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); + + template + + _OIter + set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); + + template + + void + sort(_RAIter, _RAIter); + + template + + void + sort(_RAIter, _RAIter, _Compare); + + template + void + stable_sort(_RAIter, _RAIter); + + template + void + stable_sort(_RAIter, _RAIter, _Compare); + + template + + _OIter + transform(_IIter, _IIter, _OIter, _UnaryOperation); + + template + + _OIter + transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); + + template + + _OIter + unique_copy(_IIter, _IIter, _OIter); + + template + + _OIter + unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); + + + +} +# 60 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 1 3 +# 63 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 +namespace std +{ + + + + + + + + template + + _Distance + __is_heap_until(_RandomAccessIterator __first, _Distance __n, + _Compare& __comp) + { + _Distance __parent = 0; + for (_Distance __child = 1; __child < __n; ++__child) + { + if (__comp(__first + __parent, __first + __child)) + return __child; + if ((__child & 1) == 0) + ++__parent; + } + return __n; + } + + + + template + + inline bool + __is_heap(_RandomAccessIterator __first, _Distance __n) + { + __gnu_cxx::__ops::_Iter_less_iter __comp; + return std::__is_heap_until(__first, __n, __comp) == __n; + } + + template + + inline bool + __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) + { + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + return std::__is_heap_until(__first, __n, __cmp) == __n; + } + + template + + inline bool + __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { return std::__is_heap(__first, std::distance(__first, __last)); } + + template + + inline bool + __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + return std::__is_heap(__first, std::move(__comp), + std::distance(__first, __last)); + } + + + + + template + + void + __push_heap(_RandomAccessIterator __first, + _Distance __holeIndex, _Distance __topIndex, _Tp __value, + _Compare& __comp) + { + _Distance __parent = (__holeIndex - 1) / 2; + while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) + { + *(__first + __holeIndex) = std::move(*(__first + __parent)); + __holeIndex = __parent; + __parent = (__holeIndex - 1) / 2; + } + *(__first + __holeIndex) = std::move(__value); + } +# 159 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + + + + + ; + ; + ; + + __gnu_cxx::__ops::_Iter_less_val __comp; + _ValueType __value = std::move(*(__last - 1)); + std::__push_heap(__first, _DistanceType((__last - __first) - 1), + _DistanceType(0), std::move(__value), __comp); + } +# 195 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + + + + ; + ; + ; + + __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) + __cmp(std::move(__comp)); + _ValueType __value = std::move(*(__last - 1)); + std::__push_heap(__first, _DistanceType((__last - __first) - 1), + _DistanceType(0), std::move(__value), __cmp); + } + + template + + void + __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, + _Distance __len, _Tp __value, _Compare __comp) + { + const _Distance __topIndex = __holeIndex; + _Distance __secondChild = __holeIndex; + while (__secondChild < (__len - 1) / 2) + { + __secondChild = 2 * (__secondChild + 1); + if (__comp(__first + __secondChild, + __first + (__secondChild - 1))) + __secondChild--; + *(__first + __holeIndex) = std::move(*(__first + __secondChild)); + __holeIndex = __secondChild; + } + if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) + { + __secondChild = 2 * (__secondChild + 1); + *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) + ; + __holeIndex = __secondChild - 1; + } + __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) + __cmp(std::move(__comp)); + std::__push_heap(__first, __holeIndex, __topIndex, + std::move(__value), __cmp); + } + + template + + inline void + __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _RandomAccessIterator __result, _Compare& __comp) + { + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + _ValueType __value = std::move(*__result); + *__result = std::move(*__first); + std::__adjust_heap(__first, _DistanceType(0), + _DistanceType(__last - __first), + std::move(__value), __comp); + } +# 280 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + ; + ; + + if (__last - __first > 1) + { + --__last; + __gnu_cxx::__ops::_Iter_less_iter __comp; + std::__pop_heap(__first, __last, __last, __comp); + } + } +# 314 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + pop_heap(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + + + + ; + ; + ; + ; + + if (__last - __first > 1) + { + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + --__last; + std::__pop_heap(__first, __last, __last, __cmp); + } + } + + template + + void + __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare& __comp) + { + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + if (__last - __first < 2) + return; + + const _DistanceType __len = __last - __first; + _DistanceType __parent = (__len - 2) / 2; + while (true) + { + _ValueType __value = std::move(*(__first + __parent)); + std::__adjust_heap(__first, __parent, __len, std::move(__value), + __comp); + if (__parent == 0) + return; + __parent--; + } + } +# 372 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + + __gnu_cxx::__ops::_Iter_less_iter __comp; + std::__make_heap(__first, __last, __comp); + } +# 399 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + ; + ; + + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + std::__make_heap(__first, __last, __cmp); + } + + template + + void + __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare& __comp) + { + while (__last - __first > 1) + { + --__last; + std::__pop_heap(__first, __last, __last, __comp); + } + } +# 437 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + ; + + __gnu_cxx::__ops::_Iter_less_iter __comp; + std::__sort_heap(__first, __last, __comp); + } +# 465 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + + inline void + sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + ; + ; + ; + + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + std::__sort_heap(__first, __last, __cmp); + } +# 494 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + [[__nodiscard__]] + inline _RandomAccessIterator + is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + + __gnu_cxx::__ops::_Iter_less_iter __comp; + return __first + + std::__is_heap_until(__first, std::distance(__first, __last), __comp); + } +# 523 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + [[__nodiscard__]] + inline _RandomAccessIterator + is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + ; + ; + + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + return __first + + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); + } +# 548 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + [[__nodiscard__]] + inline bool + is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) + { return std::is_heap_until(__first, __last) == __last; } +# 562 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_heap.h" 3 + template + [[__nodiscard__]] + inline bool + is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + ; + ; + + const auto __dist = std::distance(__first, __last); + typedef __decltype(__comp) _Cmp; + __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); + return std::__is_heap_until(__first, __dist, __cmp) == __dist; + } + + + +} +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 2 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 1 3 +# 41 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 3 +namespace std +{ + +# 64 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 3 + namespace __detail + { + + + + template + constexpr bool + _Power_of_2(_Tp __x) + { + return ((__x - 1) & __x) == 0; + } + } +# 87 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 3 + template + class uniform_int_distribution + { + static_assert(std::is_integral<_IntType>::value, + "template argument must be an integral type"); + + public: + + typedef _IntType result_type; + + struct param_type + { + typedef uniform_int_distribution<_IntType> distribution_type; + + param_type() : param_type(0) { } + + explicit + param_type(_IntType __a, + _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max) + : _M_a(__a), _M_b(__b) + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_a <= _M_b), false)) std::__glibcxx_assert_fail(); } while (false); + } + + result_type + a() const + { return _M_a; } + + result_type + b() const + { return _M_b; } + + friend bool + operator==(const param_type& __p1, const param_type& __p2) + { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } + + friend bool + operator!=(const param_type& __p1, const param_type& __p2) + { return !(__p1 == __p2); } + + private: + _IntType _M_a; + _IntType _M_b; + }; + + public: + + + + uniform_int_distribution() : uniform_int_distribution(0) { } + + + + + explicit + uniform_int_distribution(_IntType __a, + _IntType __b + = __gnu_cxx::__int_traits<_IntType>::__max) + : _M_param(__a, __b) + { } + + explicit + uniform_int_distribution(const param_type& __p) + : _M_param(__p) + { } + + + + + + + void + reset() { } + + result_type + a() const + { return _M_param.a(); } + + result_type + b() const + { return _M_param.b(); } + + + + + param_type + param() const + { return _M_param; } + + + + + + void + param(const param_type& __param) + { _M_param = __param; } + + + + + result_type + min() const + { return this->a(); } + + + + + result_type + max() const + { return this->b(); } + + + + + template + result_type + operator()(_UniformRandomBitGenerator& __urng) + { return this->operator()(__urng, _M_param); } + + template + result_type + operator()(_UniformRandomBitGenerator& __urng, + const param_type& __p); + + template + void + __generate(_ForwardIterator __f, _ForwardIterator __t, + _UniformRandomBitGenerator& __urng) + { this->__generate(__f, __t, __urng, _M_param); } + + template + void + __generate(_ForwardIterator __f, _ForwardIterator __t, + _UniformRandomBitGenerator& __urng, + const param_type& __p) + { this->__generate_impl(__f, __t, __urng, __p); } + + template + void + __generate(result_type* __f, result_type* __t, + _UniformRandomBitGenerator& __urng, + const param_type& __p) + { this->__generate_impl(__f, __t, __urng, __p); } + + + + + + friend bool + operator==(const uniform_int_distribution& __d1, + const uniform_int_distribution& __d2) + { return __d1._M_param == __d2._M_param; } + + private: + template + void + __generate_impl(_ForwardIterator __f, _ForwardIterator __t, + _UniformRandomBitGenerator& __urng, + const param_type& __p); + + param_type _M_param; + + + + + template + static _Up + _S_nd(_Urbg& __g, _Up __range) + { + using _Up_traits = __gnu_cxx::__int_traits<_Up>; + using _Wp_traits = __gnu_cxx::__int_traits<_Wp>; + static_assert(!_Up_traits::__is_signed, "U must be unsigned"); + static_assert(!_Wp_traits::__is_signed, "W must be unsigned"); + static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits), + "W must be twice as wide as U"); + + + + + _Wp __product = _Wp(__g()) * _Wp(__range); + _Up __low = _Up(__product); + if (__low < __range) + { + _Up __threshold = -__range % __range; + while (__low < __threshold) + { + __product = _Wp(__g()) * _Wp(__range); + __low = _Up(__product); + } + } + return __product >> _Up_traits::__digits; + } + }; + + template + template + typename uniform_int_distribution<_IntType>::result_type + uniform_int_distribution<_IntType>:: + operator()(_UniformRandomBitGenerator& __urng, + const param_type& __param) + { + typedef typename _UniformRandomBitGenerator::result_type _Gresult_type; + typedef typename make_unsigned::type __utype; + typedef typename common_type<_Gresult_type, __utype>::type __uctype; + + constexpr __uctype __urngmin = _UniformRandomBitGenerator::min(); + constexpr __uctype __urngmax = _UniformRandomBitGenerator::max(); + static_assert( __urngmin < __urngmax, + "Uniform random bit generator must define min() < max()"); + constexpr __uctype __urngrange = __urngmax - __urngmin; + + const __uctype __urange + = __uctype(__param.b()) - __uctype(__param.a()); + + __uctype __ret; + if (__urngrange > __urange) + { + + + const __uctype __uerange = __urange + 1; + + + + if constexpr (__urngrange == 0xffffffffffffffffULL) + { + + + long long unsigned int __u64erange = __uerange; + __ret = __extension__ _S_nd(__urng, + __u64erange); + } + else + + if constexpr (__urngrange == 0xffffffffU) + { + + + unsigned int __u32erange = __uerange; + __ret = _S_nd(__urng, __u32erange); + } + else + + { + + const __uctype __scaling = __urngrange / __uerange; + const __uctype __past = __uerange * __scaling; + do + __ret = __uctype(__urng()) - __urngmin; + while (__ret >= __past); + __ret /= __scaling; + } + } + else if (__urngrange < __urange) + { +# 359 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 3 + __uctype __tmp; + do + { + const __uctype __uerngrange = __urngrange + 1; + __tmp = (__uerngrange * operator() + (__urng, param_type(0, __urange / __uerngrange))); + __ret = __tmp + (__uctype(__urng()) - __urngmin); + } + while (__ret > __urange || __ret < __tmp); + } + else + __ret = __uctype(__urng()) - __urngmin; + + return __ret + __param.a(); + } + + + template + template + void + uniform_int_distribution<_IntType>:: + __generate_impl(_ForwardIterator __f, _ForwardIterator __t, + _UniformRandomBitGenerator& __urng, + const param_type& __param) + { + + typedef typename _UniformRandomBitGenerator::result_type _Gresult_type; + typedef typename make_unsigned::type __utype; + typedef typename common_type<_Gresult_type, __utype>::type __uctype; + + static_assert( __urng.min() < __urng.max(), + "Uniform random bit generator must define min() < max()"); + + constexpr __uctype __urngmin = __urng.min(); + constexpr __uctype __urngmax = __urng.max(); + constexpr __uctype __urngrange = __urngmax - __urngmin; + const __uctype __urange + = __uctype(__param.b()) - __uctype(__param.a()); + + __uctype __ret; + + if (__urngrange > __urange) + { + if (__detail::_Power_of_2(__urngrange + 1) + && __detail::_Power_of_2(__urange + 1)) + { + while (__f != __t) + { + __ret = __uctype(__urng()) - __urngmin; + *__f++ = (__ret & __urange) + __param.a(); + } + } + else + { + + const __uctype __uerange = __urange + 1; + const __uctype __scaling = __urngrange / __uerange; + const __uctype __past = __uerange * __scaling; + while (__f != __t) + { + do + __ret = __uctype(__urng()) - __urngmin; + while (__ret >= __past); + *__f++ = __ret / __scaling + __param.a(); + } + } + } + else if (__urngrange < __urange) + { +# 444 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/uniform_int_dist.h" 3 + __uctype __tmp; + while (__f != __t) + { + do + { + constexpr __uctype __uerngrange = __urngrange + 1; + __tmp = (__uerngrange * operator() + (__urng, param_type(0, __urange / __uerngrange))); + __ret = __tmp + (__uctype(__urng()) - __urngmin); + } + while (__ret > __urange || __ret < __tmp); + *__f++ = __ret; + } + } + else + while (__f != __t) + *__f++ = __uctype(__urng()) - __urngmin + __param.a(); + } + + + + +} +# 66 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 2 3 + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_tempbuf.h" 1 3 +# 65 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_tempbuf.h" 3 +namespace std +{ + + + namespace __detail + { + template + inline void + __return_temporary_buffer(_Tp* __p, + size_t __len __attribute__((__unused__))) + { + + ::operator delete(__p, __len * sizeof(_Tp)); + + + + } + } +# 101 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_tempbuf.h" 3 + template + [[__deprecated__]] + pair<_Tp*, ptrdiff_t> + get_temporary_buffer(ptrdiff_t __len) noexcept + { + const ptrdiff_t __max = + __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); + if (__len > __max) + __len = __max; + + while (__len > 0) + { + _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), + std::nothrow)); + if (__tmp != 0) + return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); + __len = __len == 1 ? 0 : ((__len + 1) / 2); + } + return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); + } +# 129 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_tempbuf.h" 3 + template + inline void + return_temporary_buffer(_Tp* __p) + { ::operator delete(__p); } + + + + + + + template + class _Temporary_buffer + { + + + + public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef pointer iterator; + typedef ptrdiff_t size_type; + + protected: + size_type _M_original_len; + size_type _M_len; + pointer _M_buffer; + + public: + + size_type + size() const + { return _M_len; } + + + size_type + requested_size() const + { return _M_original_len; } + + + iterator + begin() + { return _M_buffer; } + + + iterator + end() + { return _M_buffer + _M_len; } + + + + + + _Temporary_buffer(_ForwardIterator __seed, size_type __original_len); + + ~_Temporary_buffer() + { + std::_Destroy(_M_buffer, _M_buffer + _M_len); + std::__detail::__return_temporary_buffer(_M_buffer, _M_len); + } + + private: + + _Temporary_buffer(const _Temporary_buffer&); + + void + operator=(const _Temporary_buffer&); + }; + + + template + struct __uninitialized_construct_buf_dispatch + { + template + static void + __ucr(_Pointer __first, _Pointer __last, + _ForwardIterator __seed) + { + if (__first == __last) + return; + + _Pointer __cur = __first; + try + { + std::_Construct(std::__addressof(*__first), + std::move(*__seed)); + _Pointer __prev = __cur; + ++__cur; + for(; __cur != __last; ++__cur, ++__prev) + std::_Construct(std::__addressof(*__cur), + std::move(*__prev)); + *__seed = std::move(*__prev); + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_construct_buf_dispatch + { + template + static void + __ucr(_Pointer, _Pointer, _ForwardIterator) { } + }; +# 247 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_tempbuf.h" 3 + template + inline void + __uninitialized_construct_buf(_Pointer __first, _Pointer __last, + _ForwardIterator __seed) + { + typedef typename std::iterator_traits<_Pointer>::value_type + _ValueType; + + std::__uninitialized_construct_buf_dispatch< + __has_trivial_constructor(_ValueType)>:: + __ucr(__first, __last, __seed); + } + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + template + _Temporary_buffer<_ForwardIterator, _Tp>:: + _Temporary_buffer(_ForwardIterator __seed, size_type __original_len) + : _M_original_len(__original_len), _M_len(0), _M_buffer(0) + { + std::pair __p( + std::get_temporary_buffer(_M_original_len)); + + if (__p.first) + { + try + { + std::__uninitialized_construct_buf(__p.first, __p.first + __p.second, + __seed); + _M_buffer = __p.first; + _M_len = __p.second; + } + catch(...) + { + std::__detail::__return_temporary_buffer(__p.first, __p.second); + throw; + } + } + } +#pragma GCC diagnostic pop + + +} +# 70 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 2 3 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 1 3 +# 39 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 + +# 40 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/cstdlib" 3 +# 72 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 2 3 + + + + + +namespace std +{ + + + + template + + void + __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, + _Iterator __c, _Compare __comp) + { + if (__comp(__a, __b)) + { + if (__comp(__b, __c)) + std::iter_swap(__result, __b); + else if (__comp(__a, __c)) + std::iter_swap(__result, __c); + else + std::iter_swap(__result, __a); + } + else if (__comp(__a, __c)) + std::iter_swap(__result, __a); + else if (__comp(__b, __c)) + std::iter_swap(__result, __c); + else + std::iter_swap(__result, __b); + } + + + template + + inline _InputIterator + __find_if_not(_InputIterator __first, _InputIterator __last, + _Predicate __pred) + { + return std::__find_if(__first, __last, + __gnu_cxx::__ops::__negate(__pred), + std::__iterator_category(__first)); + } + + + + + template + + _InputIterator + __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) + { + for (; __len; --__len, (void) ++__first) + if (!__pred(__first)) + break; + return __first; + } +# 148 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _ForwardIterator + __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, + _Integer __count, _UnaryPredicate __unary_pred, + std::forward_iterator_tag) + { + __first = std::__find_if(__first, __last, __unary_pred); + while (__first != __last) + { + typename iterator_traits<_ForwardIterator>::difference_type + __n = __count; + _ForwardIterator __i = __first; + ++__i; + while (__i != __last && __n != 1 && __unary_pred(__i)) + { + ++__i; + --__n; + } + if (__n == 1) + return __first; + if (__i == __last) + return __last; + __first = std::__find_if(++__i, __last, __unary_pred); + } + return __last; + } + + + + + + template + + _RandomAccessIter + __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, + _Integer __count, _UnaryPredicate __unary_pred, + std::random_access_iterator_tag) + { + typedef typename std::iterator_traits<_RandomAccessIter>::difference_type + _DistanceType; + + _DistanceType __tailSize = __last - __first; + _DistanceType __remainder = __count; + + while (__remainder <= __tailSize) + { + __first += __remainder; + __tailSize -= __remainder; + + + _RandomAccessIter __backTrack = __first; + while (__unary_pred(--__backTrack)) + { + if (--__remainder == 0) + return (__first - __count); + } + __remainder = __count + 1 - (__first - __backTrack); + } + return __last; + } + + template + + _ForwardIterator + __search_n(_ForwardIterator __first, _ForwardIterator __last, + _Integer __count, + _UnaryPredicate __unary_pred) + { + if (__count <= 0) + return __first; + + if (__count == 1) + return std::__find_if(__first, __last, __unary_pred); + + return std::__search_n_aux(__first, __last, __count, __unary_pred, + std::__iterator_category(__first)); + } + + + template + + _ForwardIterator1 + __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + forward_iterator_tag, forward_iterator_tag, + _BinaryPredicate __comp) + { + if (__first2 == __last2) + return __last1; + + _ForwardIterator1 __result = __last1; + while (1) + { + _ForwardIterator1 __new_result + = std::__search(__first1, __last1, __first2, __last2, __comp); + if (__new_result == __last1) + return __result; + else + { + __result = __new_result; + __first1 = __new_result; + ++__first1; + } + } + } + + + template + + _BidirectionalIterator1 + __find_end(_BidirectionalIterator1 __first1, + _BidirectionalIterator1 __last1, + _BidirectionalIterator2 __first2, + _BidirectionalIterator2 __last2, + bidirectional_iterator_tag, bidirectional_iterator_tag, + _BinaryPredicate __comp) + { + + + + + + + typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; + typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; + + _RevIterator1 __rlast1(__first1); + _RevIterator2 __rlast2(__first2); + _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, + _RevIterator2(__last2), __rlast2, + __comp); + + if (__rresult == __rlast1) + return __last1; + else + { + _BidirectionalIterator1 __result = __rresult.base(); + std::advance(__result, -std::distance(__first2, __last2)); + return __result; + } + } +# 322 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator1 + find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2) + { + + + + + + + ; + ; + + return std::__find_end(__first1, __last1, __first2, __last2, + std::__iterator_category(__first1), + std::__iterator_category(__first2), + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 371 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator1 + find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + _BinaryPredicate __comp) + { + + + + + + + ; + ; + + return std::__find_end(__first1, __last1, __first2, __last2, + std::__iterator_category(__first1), + std::__iterator_category(__first2), + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 407 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) + { return __last == std::find_if_not(__first, __last, __pred); } +# 425 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) + { return __last == std::find_if(__first, __last, __pred); } +# 444 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) + { return !std::none_of(__first, __last, __pred); } +# 460 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _InputIterator + find_if_not(_InputIterator __first, _InputIterator __last, + _Predicate __pred) + { + + + + + ; + return std::__find_if_not(__first, __last, + __gnu_cxx::__ops::__pred_iter(__pred)); + } +# 485 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_partitioned(_InputIterator __first, _InputIterator __last, + _Predicate __pred) + { + __first = std::find_if_not(__first, __last, __pred); + if (__first == __last) + return true; + ++__first; + return std::none_of(__first, __last, __pred); + } +# 507 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + _ForwardIterator + partition_point(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + + + + + + + ; + + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _DistanceType __len = std::distance(__first, __last); + + while (__len > 0) + { + _DistanceType __half = __len >> 1; + _ForwardIterator __middle = __first; + std::advance(__middle, __half); + if (__pred(*__middle)) + { + __first = __middle; + ++__first; + __len = __len - __half - 1; + } + else + __len = __half; + } + return __first; + } + + + template + + _OutputIterator + __remove_copy_if(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _Predicate __pred) + { + for (; __first != __last; ++__first) + if (!__pred(__first)) + { + *__result = *__first; + ++__result; + } + return __result; + } +# 574 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + remove_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, const _Tp& __value) + { + + + + + + + ; + + return std::__remove_copy_if(__first, __last, __result, + __gnu_cxx::__ops::__iter_equals_val(__value)); + } +# 607 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + remove_copy_if(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _Predicate __pred) + { + + + + + + + ; + + return std::__remove_copy_if(__first, __last, __result, + __gnu_cxx::__ops::__pred_iter(__pred)); + } +# 642 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _OutputIterator + copy_if(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _Predicate __pred) + { + + + + + + + ; + + for (; __first != __last; ++__first) + if (__pred(*__first)) + { + *__result = *__first; + ++__result; + } + return __result; + } + + template + + _OutputIterator + __copy_n(_InputIterator __first, _Size __n, + _OutputIterator __result, input_iterator_tag) + { + return std::__niter_wrap(__result, + __copy_n_a(__first, __n, + std::__niter_base(__result), true)); + } + + template + + inline _OutputIterator + __copy_n(_RandomAccessIterator __first, _Size __n, + _OutputIterator __result, random_access_iterator_tag) + { return std::copy(__first, __first + __n, __result); } +# 698 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) + { + + + + + + const auto __n2 = std::__size_to_integer(__n); + if (__n2 <= 0) + return __result; + + ; + ; + + return std::__copy_n(__first, __n2, __result, + std::__iterator_category(__first)); + } +# 734 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + pair<_OutputIterator1, _OutputIterator2> + partition_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator1 __out_true, _OutputIterator2 __out_false, + _Predicate __pred) + { + + + + + + + + + ; + + for (; __first != __last; ++__first) + if (__pred(*__first)) + { + *__out_true = *__first; + ++__out_true; + } + else + { + *__out_false = *__first; + ++__out_false; + } + + return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); + } +# 785 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + remove(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __value) + { + + + + + + ; + + return std::__remove_if(__first, __last, + __gnu_cxx::__ops::__iter_equals_val(__value)); + } +# 819 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + remove_if(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + + + + + + ; + + return std::__remove_if(__first, __last, + __gnu_cxx::__ops::__pred_iter(__pred)); + } + + template + + _ForwardIterator + __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, + _BinaryPredicate __binary_pred) + { + if (__first == __last) + return __last; + _ForwardIterator __next = __first; + while (++__next != __last) + { + if (__binary_pred(__first, __next)) + return __first; + __first = __next; + } + return __last; + } + + template + + _ForwardIterator + __unique(_ForwardIterator __first, _ForwardIterator __last, + _BinaryPredicate __binary_pred) + { + + __first = std::__adjacent_find(__first, __last, __binary_pred); + if (__first == __last) + return __last; + + + _ForwardIterator __dest = __first; + ++__first; + while (++__first != __last) + if (!__binary_pred(__dest, __first)) + *++__dest = std::move(*__first); + return ++__dest; + } +# 888 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + unique(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + + ; + + return std::__unique(__first, __last, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 919 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + unique(_ForwardIterator __first, _ForwardIterator __last, + _BinaryPredicate __binary_pred) + { + + + + + + + ; + + return std::__unique(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); + } + + + + + + + + template + + _OutputIterator + __unique_copy(_ForwardIterator __first, _ForwardIterator __last, + _OutputIterator __result, _BinaryPredicate __binary_pred, + forward_iterator_tag, output_iterator_tag) + { + + + + + + _ForwardIterator __next = __first; + *__result = *__first; + while (++__next != __last) + if (!__binary_pred(__first, __next)) + { + __first = __next; + *++__result = *__first; + } + return ++__result; + } + + + + + + + + template + + _OutputIterator + __unique_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _BinaryPredicate __binary_pred, + input_iterator_tag, output_iterator_tag) + { + + + + + + typename iterator_traits<_InputIterator>::value_type __value = *__first; + __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) + __rebound_pred + = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); + *__result = __value; + while (++__first != __last) + if (!__rebound_pred(__first, __value)) + { + __value = *__first; + *++__result = __value; + } + return ++__result; + } + + + + + + + + template + + _ForwardIterator + __unique_copy(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result, _BinaryPredicate __binary_pred, + input_iterator_tag, forward_iterator_tag) + { + + + + + *__result = *__first; + while (++__first != __last) + if (!__binary_pred(__result, __first)) + *++__result = *__first; + return ++__result; + } + + + + + + + template + + void + __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, + bidirectional_iterator_tag) + { + while (true) + if (__first == __last || __first == --__last) + return; + else + { + std::iter_swap(__first, __last); + ++__first; + } + } + + + + + + + template + + void + __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, + random_access_iterator_tag) + { + if (__first == __last) + return; + --__last; + while (__first < __last) + { + std::iter_swap(__first, __last); + ++__first; + --__last; + } + } +# 1080 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) + { + + + + ; + std::__reverse(__first, __last, std::__iterator_category(__first)); + } +# 1108 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _OutputIterator + reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, + _OutputIterator __result) + { + + + + + + ; + + while (__first != __last) + { + --__last; + *__result = *__last; + ++__result; + } + return __result; + } + + + + + + template + + _EuclideanRingElement + __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) + { + while (__n != 0) + { + _EuclideanRingElement __t = __m % __n; + __m = __n; + __n = __t; + } + return __m; + } + +inline namespace _V2 { + + + template + + _ForwardIterator + __rotate(_ForwardIterator __first, + _ForwardIterator __middle, + _ForwardIterator __last, + forward_iterator_tag) + { + if (__first == __middle) + return __last; + else if (__last == __middle) + return __first; + + _ForwardIterator __first2 = __middle; + do + { + std::iter_swap(__first, __first2); + ++__first; + ++__first2; + if (__first == __middle) + __middle = __first2; + } + while (__first2 != __last); + + _ForwardIterator __ret = __first; + + __first2 = __middle; + + while (__first2 != __last) + { + std::iter_swap(__first, __first2); + ++__first; + ++__first2; + if (__first == __middle) + __middle = __first2; + else if (__first2 == __last) + __first2 = __middle; + } + return __ret; + } + + + template + + _BidirectionalIterator + __rotate(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + bidirectional_iterator_tag) + { + + + + + if (__first == __middle) + return __last; + else if (__last == __middle) + return __first; + + std::__reverse(__first, __middle, bidirectional_iterator_tag()); + std::__reverse(__middle, __last, bidirectional_iterator_tag()); + + while (__first != __middle && __middle != __last) + { + std::iter_swap(__first, --__last); + ++__first; + } + + if (__first == __middle) + { + std::__reverse(__middle, __last, bidirectional_iterator_tag()); + return __last; + } + else + { + std::__reverse(__first, __middle, bidirectional_iterator_tag()); + return __first; + } + } + + + template + + _RandomAccessIterator + __rotate(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last, + random_access_iterator_tag) + { + + + + + if (__first == __middle) + return __last; + else if (__last == __middle) + return __first; + + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _Distance; + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + + + typedef typename make_unsigned<_Distance>::type _UDistance; + + + + + _Distance __n = __last - __first; + _Distance __k = __middle - __first; + + if (__k == __n - __k) + { + std::swap_ranges(__first, __middle, __middle); + return __middle; + } + + _RandomAccessIterator __p = __first; + _RandomAccessIterator __ret = __first + (__last - __middle); + + for (;;) + { + if (__k < __n - __k) + { + if (__is_pod(_ValueType) && __k == 1) + { + _ValueType __t = std::move(*__p); + std::move(__p + 1, __p + __n, __p); + *(__p + __n - 1) = std::move(__t); + return __ret; + } + _RandomAccessIterator __q = __p + __k; + for (_Distance __i = 0; __i < __n - __k; ++ __i) + { + std::iter_swap(__p, __q); + ++__p; + ++__q; + } + __n = static_cast<_UDistance>(__n) % static_cast<_UDistance>(__k); + if (__n == 0) + return __ret; + std::swap(__n, __k); + __k = __n - __k; + } + else + { + __k = __n - __k; + if (__is_pod(_ValueType) && __k == 1) + { + _ValueType __t = std::move(*(__p + __n - 1)); + std::move_backward(__p, __p + __n - 1, __p + __n); + *__p = std::move(__t); + return __ret; + } + _RandomAccessIterator __q = __p + __n; + __p = __q - __k; + for (_Distance __i = 0; __i < __n - __k; ++ __i) + { + --__p; + --__q; + std::iter_swap(__p, __q); + } + __n = static_cast<_UDistance>(__n) % static_cast<_UDistance>(__k); + if (__n == 0) + return __ret; + std::swap(__n, __k); + } + } + } +# 1345 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _ForwardIterator + rotate(_ForwardIterator __first, _ForwardIterator __middle, + _ForwardIterator __last) + { + + + + ; + ; + + return std::__rotate(__first, __middle, __last, + std::__iterator_category(__first)); + } + +} +# 1383 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, + _ForwardIterator __last, _OutputIterator __result) + { + + + + + ; + ; + + return std::copy(__first, __middle, + std::copy(__middle, __last, __result)); + } + + + template + + _ForwardIterator + __partition(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred, forward_iterator_tag) + { + if (__first == __last) + return __first; + + while (__pred(*__first)) + if (++__first == __last) + return __first; + + _ForwardIterator __next = __first; + + while (++__next != __last) + if (__pred(*__next)) + { + std::iter_swap(__first, __next); + ++__first; + } + + return __first; + } + + + template + + _BidirectionalIterator + __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, + _Predicate __pred, bidirectional_iterator_tag) + { + while (true) + { + while (true) + if (__first == __last) + return __first; + else if (__pred(*__first)) + ++__first; + else + break; + --__last; + while (true) + if (__first == __last) + return __first; + else if (!bool(__pred(*__last))) + --__last; + else + break; + std::iter_swap(__first, __last); + ++__first; + } + } +# 1464 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + _ForwardIterator + __stable_partition_adaptive(_ForwardIterator __first, + _ForwardIterator __last, + _Predicate __pred, _Distance __len, + _Pointer __buffer, + _Distance __buffer_size) + { + if (__len == 1) + return __first; + + if (__len <= __buffer_size) + { + _ForwardIterator __result1 = __first; + _Pointer __result2 = __buffer; + + + + + *__result2 = std::move(*__first); + ++__result2; + ++__first; + for (; __first != __last; ++__first) + if (__pred(__first)) + { + *__result1 = std::move(*__first); + ++__result1; + } + else + { + *__result2 = std::move(*__first); + ++__result2; + } + + std::move(__buffer, __result2, __result1); + return __result1; + } + + _ForwardIterator __middle = __first; + std::advance(__middle, __len / 2); + _ForwardIterator __left_split = + std::__stable_partition_adaptive(__first, __middle, __pred, + __len / 2, __buffer, + __buffer_size); + + + + _Distance __right_len = __len - __len / 2; + _ForwardIterator __right_split = + std::__find_if_not_n(__middle, __right_len, __pred); + + if (__right_len) + __right_split = + std::__stable_partition_adaptive(__right_split, __last, __pred, + __right_len, + __buffer, __buffer_size); + + return std::rotate(__left_split, __middle, __right_split); + } + + template + _ForwardIterator + __stable_partition(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + __first = std::__find_if_not(__first, __last, __pred); + + if (__first == __last) + return __first; + + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _Temporary_buffer<_ForwardIterator, _ValueType> + __buf(__first, std::distance(__first, __last)); + return + std::__stable_partition_adaptive(__first, __last, __pred, + _DistanceType(__buf.requested_size()), + __buf.begin(), + _DistanceType(__buf.size())); + } +# 1566 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + inline _ForwardIterator + stable_partition(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + + + + + + ; + + return std::__stable_partition(__first, __last, + __gnu_cxx::__ops::__pred_iter(__pred)); + } + + + + + + template + + void + __heap_select(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last, _Compare __comp) + { + std::__make_heap(__first, __middle, __comp); + for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) + if (__comp(__i, __first)) + std::__pop_heap(__first, __middle, __i, __comp); + } + + + + template + + _RandomAccessIterator + __partial_sort_copy(_InputIterator __first, _InputIterator __last, + _RandomAccessIterator __result_first, + _RandomAccessIterator __result_last, + _Compare __comp) + { + typedef typename iterator_traits<_InputIterator>::value_type + _InputValueType; + typedef iterator_traits<_RandomAccessIterator> _RItTraits; + typedef typename _RItTraits::difference_type _DistanceType; + + if (__result_first == __result_last) + return __result_last; + _RandomAccessIterator __result_real_last = __result_first; + while (__first != __last && __result_real_last != __result_last) + { + *__result_real_last = *__first; + ++__result_real_last; + ++__first; + } + + std::__make_heap(__result_first, __result_real_last, __comp); + while (__first != __last) + { + if (__comp(__first, __result_first)) + std::__adjust_heap(__result_first, _DistanceType(0), + _DistanceType(__result_real_last + - __result_first), + _InputValueType(*__first), __comp); + ++__first; + } + std::__sort_heap(__result_first, __result_real_last, __comp); + return __result_real_last; + } +# 1659 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _RandomAccessIterator + partial_sort_copy(_InputIterator __first, _InputIterator __last, + _RandomAccessIterator __result_first, + _RandomAccessIterator __result_last) + { +# 1674 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + + + + + + + ; + ; + ; + + return std::__partial_sort_copy(__first, __last, + __result_first, __result_last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 1709 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _RandomAccessIterator + partial_sort_copy(_InputIterator __first, _InputIterator __last, + _RandomAccessIterator __result_first, + _RandomAccessIterator __result_last, + _Compare __comp) + { +# 1726 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + + + + + + + + + + ; + ; + ; + + return std::__partial_sort_copy(__first, __last, + __result_first, __result_last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + + + + template + + void + __unguarded_linear_insert(_RandomAccessIterator __last, + _Compare __comp) + { + typename iterator_traits<_RandomAccessIterator>::value_type + __val = std::move(*__last); + _RandomAccessIterator __next = __last; + --__next; + while (__comp(__val, __next)) + { + *__last = std::move(*__next); + __last = __next; + --__next; + } + *__last = std::move(__val); + } + + + template + + void + __insertion_sort(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + if (__first == __last) return; + + for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) + { + if (__comp(__i, __first)) + { + typename iterator_traits<_RandomAccessIterator>::value_type + __val = std::move(*__i); + std::move_backward(__first, __i, __i + 1); + *__first = std::move(__val); + } + else + std::__unguarded_linear_insert(__i, + __gnu_cxx::__ops::__val_comp_iter(__comp)); + } + } + + + template + + inline void + __unguarded_insertion_sort(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + for (_RandomAccessIterator __i = __first; __i != __last; ++__i) + std::__unguarded_linear_insert(__i, + __gnu_cxx::__ops::__val_comp_iter(__comp)); + } + + + + + + enum { _S_threshold = 16 }; + + + template + + void + __final_insertion_sort(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + if (__last - __first > int(_S_threshold)) + { + std::__insertion_sort(__first, __first + int(_S_threshold), __comp); + std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, + __comp); + } + else + std::__insertion_sort(__first, __last, __comp); + } + + + template + + _RandomAccessIterator + __unguarded_partition(_RandomAccessIterator __first, + _RandomAccessIterator __last, + _RandomAccessIterator __pivot, _Compare __comp) + { + while (true) + { + while (__comp(__first, __pivot)) + ++__first; + --__last; + while (__comp(__pivot, __last)) + --__last; + if (!(__first < __last)) + return __first; + std::iter_swap(__first, __last); + ++__first; + } + } + + + template + + inline _RandomAccessIterator + __unguarded_partition_pivot(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + _RandomAccessIterator __mid = __first + (__last - __first) / 2; + std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, + __comp); + return std::__unguarded_partition(__first + 1, __last, __first, __comp); + } + + template + + inline void + __partial_sort(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last, + _Compare __comp) + { + std::__heap_select(__first, __middle, __last, __comp); + std::__sort_heap(__first, __middle, __comp); + } + + + template + + void + __introsort_loop(_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Size __depth_limit, _Compare __comp) + { + while (__last - __first > int(_S_threshold)) + { + if (__depth_limit == 0) + { + std::__partial_sort(__first, __last, __last, __comp); + return; + } + --__depth_limit; + _RandomAccessIterator __cut = + std::__unguarded_partition_pivot(__first, __last, __comp); + std::__introsort_loop(__cut, __last, __depth_limit, __comp); + __last = __cut; + } + } + + + + template + + inline void + __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + if (__first != __last) + { + std::__introsort_loop(__first, __last, + std::__lg(__last - __first) * 2, + __comp); + std::__final_insertion_sort(__first, __last, __comp); + } + } + + template + + void + __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, + _RandomAccessIterator __last, _Size __depth_limit, + _Compare __comp) + { + while (__last - __first > 3) + { + if (__depth_limit == 0) + { + std::__heap_select(__first, __nth + 1, __last, __comp); + + std::iter_swap(__first, __nth); + return; + } + --__depth_limit; + _RandomAccessIterator __cut = + std::__unguarded_partition_pivot(__first, __last, __comp); + if (__cut <= __nth) + __first = __cut; + else + __last = __cut; + } + std::__insertion_sort(__first, __last, __comp); + } +# 1960 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + lower_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + + + + + + ; + + return std::__lower_bound(__first, __last, __val, + __gnu_cxx::__ops::__iter_comp_val(__comp)); + } + + template + + _ForwardIterator + __upper_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _DistanceType __len = std::distance(__first, __last); + + while (__len > 0) + { + _DistanceType __half = __len >> 1; + _ForwardIterator __middle = __first; + std::advance(__middle, __half); + if (__comp(__val, __middle)) + __len = __half; + else + { + __first = __middle; + ++__first; + __len = __len - __half - 1; + } + } + return __first; + } +# 2016 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + upper_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val) + { + + + + + ; + + return std::__upper_bound(__first, __last, __val, + __gnu_cxx::__ops::__val_less_iter()); + } +# 2047 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + upper_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + + + + + + ; + + return std::__upper_bound(__first, __last, __val, + __gnu_cxx::__ops::__val_comp_iter(__comp)); + } + + template + + pair<_ForwardIterator, _ForwardIterator> + __equal_range(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, + _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) + { + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _DistanceType __len = std::distance(__first, __last); + + while (__len > 0) + { + _DistanceType __half = __len >> 1; + _ForwardIterator __middle = __first; + std::advance(__middle, __half); + if (__comp_it_val(__middle, __val)) + { + __first = __middle; + ++__first; + __len = __len - __half - 1; + } + else if (__comp_val_it(__val, __middle)) + __len = __half; + else + { + _ForwardIterator __left + = std::__lower_bound(__first, __middle, __val, __comp_it_val); + std::advance(__first, __len); + _ForwardIterator __right + = std::__upper_bound(++__middle, __first, __val, __comp_val_it); + return pair<_ForwardIterator, _ForwardIterator>(__left, __right); + } + } + return pair<_ForwardIterator, _ForwardIterator>(__first, __first); + } +# 2120 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline pair<_ForwardIterator, _ForwardIterator> + equal_range(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val) + { + + + + + + + ; + ; + + return std::__equal_range(__first, __last, __val, + __gnu_cxx::__ops::__iter_less_val(), + __gnu_cxx::__ops::__val_less_iter()); + } +# 2157 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline pair<_ForwardIterator, _ForwardIterator> + equal_range(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + + + + + + + + ; + + ; + + return std::__equal_range(__first, __last, __val, + __gnu_cxx::__ops::__iter_comp_val(__comp), + __gnu_cxx::__ops::__val_comp_iter(__comp)); + } +# 2191 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + bool + binary_search(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val) + { + + + + + ; + ; + + _ForwardIterator __i + = std::__lower_bound(__first, __last, __val, + __gnu_cxx::__ops::__iter_less_val()); + return __i != __last && !(__val < *__i); + } +# 2225 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + bool + binary_search(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + + + + + + ; + + ; + + _ForwardIterator __i + = std::__lower_bound(__first, __last, __val, + __gnu_cxx::__ops::__iter_comp_val(__comp)); + return __i != __last && !bool(__comp(__val, *__i)); + } + + + + + template + void + __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + { + if (__comp(__first2, __first1)) + { + *__result = std::move(*__first2); + ++__first2; + } + else + { + *__result = std::move(*__first1); + ++__first1; + } + ++__result; + } + if (__first1 != __last1) + std::move(__first1, __last1, __result); + } + + + template + void + __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, + _BidirectionalIterator1 __last1, + _BidirectionalIterator2 __first2, + _BidirectionalIterator2 __last2, + _BidirectionalIterator3 __result, + _Compare __comp) + { + if (__first1 == __last1) + { + std::move_backward(__first2, __last2, __result); + return; + } + else if (__first2 == __last2) + return; + + --__last1; + --__last2; + while (true) + { + if (__comp(__last2, __last1)) + { + *--__result = std::move(*__last1); + if (__first1 == __last1) + { + std::move_backward(__first2, ++__last2, __result); + return; + } + --__last1; + } + else + { + *--__result = std::move(*__last2); + if (__first2 == __last2) + return; + --__last2; + } + } + } + + + template + _BidirectionalIterator1 + __rotate_adaptive(_BidirectionalIterator1 __first, + _BidirectionalIterator1 __middle, + _BidirectionalIterator1 __last, + _Distance __len1, _Distance __len2, + _BidirectionalIterator2 __buffer, + _Distance __buffer_size) + { + _BidirectionalIterator2 __buffer_end; + if (__len1 > __len2 && __len2 <= __buffer_size) + { + if (__len2) + { + __buffer_end = std::move(__middle, __last, __buffer); + std::move_backward(__first, __middle, __last); + return std::move(__buffer, __buffer_end, __first); + } + else + return __first; + } + else if (__len1 <= __buffer_size) + { + if (__len1) + { + __buffer_end = std::move(__first, __middle, __buffer); + std::move(__middle, __last, __first); + return std::move_backward(__buffer, __buffer_end, __last); + } + else + return __last; + } + else + return std::rotate(__first, __middle, __last); + } + + + template + void + __merge_adaptive(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + _Distance __len1, _Distance __len2, + _Pointer __buffer, _Compare __comp) + { + if (__len1 <= __len2) + { + _Pointer __buffer_end = std::move(__first, __middle, __buffer); + std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, + __first, __comp); + } + else + { + _Pointer __buffer_end = std::move(__middle, __last, __buffer); + std::__move_merge_adaptive_backward(__first, __middle, __buffer, + __buffer_end, __last, __comp); + } + } + + template + void + __merge_adaptive_resize(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + _Distance __len1, _Distance __len2, + _Pointer __buffer, _Distance __buffer_size, + _Compare __comp) + { + if (__len1 <= __buffer_size || __len2 <= __buffer_size) + std::__merge_adaptive(__first, __middle, __last, + __len1, __len2, __buffer, __comp); + else + { + _BidirectionalIterator __first_cut = __first; + _BidirectionalIterator __second_cut = __middle; + _Distance __len11 = 0; + _Distance __len22 = 0; + if (__len1 > __len2) + { + __len11 = __len1 / 2; + std::advance(__first_cut, __len11); + __second_cut + = std::__lower_bound(__middle, __last, *__first_cut, + __gnu_cxx::__ops::__iter_comp_val(__comp)); + __len22 = std::distance(__middle, __second_cut); + } + else + { + __len22 = __len2 / 2; + std::advance(__second_cut, __len22); + __first_cut + = std::__upper_bound(__first, __middle, *__second_cut, + __gnu_cxx::__ops::__val_comp_iter(__comp)); + __len11 = std::distance(__first, __first_cut); + } + + _BidirectionalIterator __new_middle + = std::__rotate_adaptive(__first_cut, __middle, __second_cut, + _Distance(__len1 - __len11), __len22, + __buffer, __buffer_size); + std::__merge_adaptive_resize(__first, __first_cut, __new_middle, + __len11, __len22, + __buffer, __buffer_size, __comp); + std::__merge_adaptive_resize(__new_middle, __second_cut, __last, + _Distance(__len1 - __len11), + _Distance(__len2 - __len22), + __buffer, __buffer_size, __comp); + } + } + + + template + void + __merge_without_buffer(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + _Distance __len1, _Distance __len2, + _Compare __comp) + { + if (__len1 == 0 || __len2 == 0) + return; + + if (__len1 + __len2 == 2) + { + if (__comp(__middle, __first)) + std::iter_swap(__first, __middle); + return; + } + + _BidirectionalIterator __first_cut = __first; + _BidirectionalIterator __second_cut = __middle; + _Distance __len11 = 0; + _Distance __len22 = 0; + if (__len1 > __len2) + { + __len11 = __len1 / 2; + std::advance(__first_cut, __len11); + __second_cut + = std::__lower_bound(__middle, __last, *__first_cut, + __gnu_cxx::__ops::__iter_comp_val(__comp)); + __len22 = std::distance(__middle, __second_cut); + } + else + { + __len22 = __len2 / 2; + std::advance(__second_cut, __len22); + __first_cut + = std::__upper_bound(__first, __middle, *__second_cut, + __gnu_cxx::__ops::__val_comp_iter(__comp)); + __len11 = std::distance(__first, __first_cut); + } + + _BidirectionalIterator __new_middle + = std::rotate(__first_cut, __middle, __second_cut); + std::__merge_without_buffer(__first, __first_cut, __new_middle, + __len11, __len22, __comp); + std::__merge_without_buffer(__new_middle, __second_cut, __last, + __len1 - __len11, __len2 - __len22, __comp); + } + + template + void + __inplace_merge(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + _Compare __comp) + { + typedef typename iterator_traits<_BidirectionalIterator>::value_type + _ValueType; + typedef typename iterator_traits<_BidirectionalIterator>::difference_type + _DistanceType; + + if (__first == __middle || __middle == __last) + return; + + const _DistanceType __len1 = std::distance(__first, __middle); + const _DistanceType __len2 = std::distance(__middle, __last); + + + typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; + + + _TmpBuf __buf(__first, std::min(__len1, __len2)); + + if (__builtin_expect(__buf.size() == __buf.requested_size(), true)) + std::__merge_adaptive + (__first, __middle, __last, __len1, __len2, __buf.begin(), __comp); + else if (__builtin_expect(__buf.begin() == 0, false)) + std::__merge_without_buffer + (__first, __middle, __last, __len1, __len2, __comp); + else + std::__merge_adaptive_resize + (__first, __middle, __last, __len1, __len2, __buf.begin(), + _DistanceType(__buf.size()), __comp); + + + + + } +# 2540 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + inline void + inplace_merge(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last) + { + + + + + + ; + ; + ; + + std::__inplace_merge(__first, __middle, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 2581 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + inline void + inplace_merge(_BidirectionalIterator __first, + _BidirectionalIterator __middle, + _BidirectionalIterator __last, + _Compare __comp) + { + + + + + + + ; + ; + ; + + std::__inplace_merge(__first, __middle, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + + + template + _OutputIterator + __move_merge(_InputIterator __first1, _InputIterator __last1, + _InputIterator __first2, _InputIterator __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + { + if (__comp(__first2, __first1)) + { + *__result = std::move(*__first2); + ++__first2; + } + else + { + *__result = std::move(*__first1); + ++__first1; + } + ++__result; + } + return std::move(__first2, __last2, std::move(__first1, __last1, __result)) + + ; + } + + template + void + __merge_sort_loop(_RandomAccessIterator1 __first, + _RandomAccessIterator1 __last, + _RandomAccessIterator2 __result, _Distance __step_size, + _Compare __comp) + { + const _Distance __two_step = 2 * __step_size; + + while (__last - __first >= __two_step) + { + __result = std::__move_merge(__first, __first + __step_size, + __first + __step_size, + __first + __two_step, + __result, __comp); + __first += __two_step; + } + __step_size = std::min(_Distance(__last - __first), __step_size); + + std::__move_merge(__first, __first + __step_size, + __first + __step_size, __last, __result, __comp); + } + + template + + void + __chunk_insertion_sort(_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Distance __chunk_size, _Compare __comp) + { + while (__last - __first >= __chunk_size) + { + std::__insertion_sort(__first, __first + __chunk_size, __comp); + __first += __chunk_size; + } + std::__insertion_sort(__first, __last, __comp); + } + + enum { _S_chunk_size = 7 }; + + template + void + __merge_sort_with_buffer(_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Pointer __buffer, _Compare __comp) + { + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _Distance; + + const _Distance __len = __last - __first; + const _Pointer __buffer_last = __buffer + __len; + + _Distance __step_size = _S_chunk_size; + std::__chunk_insertion_sort(__first, __last, __step_size, __comp); + + while (__step_size < __len) + { + std::__merge_sort_loop(__first, __last, __buffer, + __step_size, __comp); + __step_size *= 2; + std::__merge_sort_loop(__buffer, __buffer_last, __first, + __step_size, __comp); + __step_size *= 2; + } + } + + template + void + __stable_sort_adaptive(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last, + _Pointer __buffer, _Compare __comp) + { + std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); + std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); + + std::__merge_adaptive(__first, __middle, __last, + __middle - __first, __last - __middle, + __buffer, __comp); + } + + template + void + __stable_sort_adaptive_resize(_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Pointer __buffer, _Distance __buffer_size, + _Compare __comp) + { + const _Distance __len = (__last - __first + 1) / 2; + const _RandomAccessIterator __middle = __first + __len; + if (__len > __buffer_size) + { + std::__stable_sort_adaptive_resize(__first, __middle, __buffer, + __buffer_size, __comp); + std::__stable_sort_adaptive_resize(__middle, __last, __buffer, + __buffer_size, __comp); + std::__merge_adaptive_resize(__first, __middle, __last, + _Distance(__middle - __first), + _Distance(__last - __middle), + __buffer, __buffer_size, + __comp); + } + else + std::__stable_sort_adaptive(__first, __middle, __last, + __buffer, __comp); + } + + + template + void + __inplace_stable_sort(_RandomAccessIterator __first, + _RandomAccessIterator __last, _Compare __comp) + { + if (__last - __first < 15) + { + std::__insertion_sort(__first, __last, __comp); + return; + } + _RandomAccessIterator __middle = __first + (__last - __first) / 2; + std::__inplace_stable_sort(__first, __middle, __comp); + std::__inplace_stable_sort(__middle, __last, __comp); + std::__merge_without_buffer(__first, __middle, __last, + __middle - __first, + __last - __middle, + __comp); + } +# 2767 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + bool + __includes(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + { + if (__comp(__first2, __first1)) + return false; + if (!__comp(__first1, __first2)) + ++__first2; + ++__first1; + } + + return __first2 == __last2; + } +# 2805 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + includes(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2) + { + + + + + + + + + + ; + ; + ; + ; + + return std::__includes(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 2850 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + includes(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _Compare __comp) + { + + + + + + + + + + ; + ; + ; + ; + + return std::__includes(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 2886 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + bool + __next_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last, _Compare __comp) + { + if (__first == __last) + return false; + _BidirectionalIterator __i = __first; + ++__i; + if (__i == __last) + return false; + __i = __last; + --__i; + + for(;;) + { + _BidirectionalIterator __ii = __i; + --__i; + if (__comp(__i, __ii)) + { + _BidirectionalIterator __j = __last; + while (!__comp(__i, --__j)) + {} + std::iter_swap(__i, __j); + std::__reverse(__ii, __last, + std::__iterator_category(__first)); + return true; + } + if (__i == __first) + { + std::__reverse(__first, __last, + std::__iterator_category(__first)); + return false; + } + } + } +# 2936 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline bool + next_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last) + { + + + + + + ; + ; + + return std::__next_permutation + (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); + } +# 2969 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline bool + next_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last, _Compare __comp) + { + + + + + + + ; + ; + + return std::__next_permutation + (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + bool + __prev_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last, _Compare __comp) + { + if (__first == __last) + return false; + _BidirectionalIterator __i = __first; + ++__i; + if (__i == __last) + return false; + __i = __last; + --__i; + + for(;;) + { + _BidirectionalIterator __ii = __i; + --__i; + if (__comp(__ii, __i)) + { + _BidirectionalIterator __j = __last; + while (!__comp(--__j, __i)) + {} + std::iter_swap(__i, __j); + std::__reverse(__ii, __last, + std::__iterator_category(__first)); + return true; + } + if (__i == __first) + { + std::__reverse(__first, __last, + std::__iterator_category(__first)); + return false; + } + } + } +# 3039 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline bool + prev_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last) + { + + + + + + ; + ; + + return std::__prev_permutation(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 3072 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline bool + prev_permutation(_BidirectionalIterator __first, + _BidirectionalIterator __last, _Compare __comp) + { + + + + + + + ; + ; + + return std::__prev_permutation(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + + + + template + + _OutputIterator + __replace_copy_if(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, + _Predicate __pred, const _Tp& __new_value) + { + for (; __first != __last; ++__first, (void)++__result) + if (__pred(__first)) + *__result = __new_value; + else + *__result = *__first; + return __result; + } +# 3124 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + replace_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, + const _Tp& __old_value, const _Tp& __new_value) + { + + + + + + + ; + + return std::__replace_copy_if(__first, __last, __result, + __gnu_cxx::__ops::__iter_equals_val(__old_value), + __new_value); + } +# 3159 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + replace_copy_if(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, + _Predicate __pred, const _Tp& __new_value) + { + + + + + + + ; + + return std::__replace_copy_if(__first, __last, __result, + __gnu_cxx::__ops::__pred_iter(__pred), + __new_value); + } +# 3188 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_sorted(_ForwardIterator __first, _ForwardIterator __last) + { return std::is_sorted_until(__first, __last) == __last; } +# 3203 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_sorted(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { return std::is_sorted_until(__first, __last, __comp) == __last; } + + template + + _ForwardIterator + __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + if (__first == __last) + return __last; + + _ForwardIterator __next = __first; + for (++__next; __next != __last; __first = __next, (void)++__next) + if (__comp(__next, __first)) + return __next; + return __next; + } +# 3234 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + ; + ; + + return std::__is_sorted_until(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 3259 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + + + + + + ; + ; + + return std::__is_sorted_until(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 3285 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline pair + minmax(const _Tp& __a, const _Tp& __b) + { + + + + return __b < __a ? pair(__b, __a) + : pair(__a, __b); + } +# 3306 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline pair + minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) + { + return __comp(__b, __a) ? pair(__b, __a) + : pair(__a, __b); + } + + template + constexpr + pair<_ForwardIterator, _ForwardIterator> + __minmax_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + _ForwardIterator __next = __first; + if (__first == __last + || ++__next == __last) + return std::make_pair(__first, __first); + + _ForwardIterator __min{}, __max{}; + if (__comp(__next, __first)) + { + __min = __next; + __max = __first; + } + else + { + __min = __first; + __max = __next; + } + + __first = __next; + ++__first; + + while (__first != __last) + { + __next = __first; + if (++__next == __last) + { + if (__comp(__first, __min)) + __min = __first; + else if (!__comp(__first, __max)) + __max = __first; + break; + } + + if (__comp(__next, __first)) + { + if (__comp(__next, __min)) + __min = __next; + if (!__comp(__first, __max)) + __max = __first; + } + else + { + if (__comp(__first, __min)) + __min = __first; + if (!__comp(__next, __max)) + __max = __next; + } + + __first = __next; + ++__first; + } + + return std::make_pair(__min, __max); + } +# 3386 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline pair<_ForwardIterator, _ForwardIterator> + minmax_element(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + ; + ; + + return std::__minmax_element(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 3414 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline pair<_ForwardIterator, _ForwardIterator> + minmax_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + + + + + + ; + ; + + return std::__minmax_element(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + [[__nodiscard__]] constexpr + inline pair<_Tp, _Tp> + minmax(initializer_list<_Tp> __l) + { + ; + pair __p = + std::__minmax_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_less_iter()); + return std::make_pair(*__p.first, *__p.second); + } + + template + [[__nodiscard__]] constexpr + inline pair<_Tp, _Tp> + minmax(initializer_list<_Tp> __l, _Compare __comp) + { + ; + pair __p = + std::__minmax_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + return std::make_pair(*__p.first, *__p.second); + } +# 3470 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _BinaryPredicate __pred) + { + + + + + + + ; + + return std::__is_permutation(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_comp_iter(__pred)); + } + + + template + + bool + __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + _BinaryPredicate __pred) + { + using _Cat1 + = typename iterator_traits<_ForwardIterator1>::iterator_category; + using _Cat2 + = typename iterator_traits<_ForwardIterator2>::iterator_category; + using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>; + using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>; + constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA(); + if (__ra_iters) + { + auto __d1 = std::distance(__first1, __last1); + auto __d2 = std::distance(__first2, __last2); + if (__d1 != __d2) + return false; + } + + + + for (; __first1 != __last1 && __first2 != __last2; + ++__first1, (void)++__first2) + if (!__pred(__first1, __first2)) + break; + + if (__ra_iters) + { + if (__first1 == __last1) + return true; + } + else + { + auto __d1 = std::distance(__first1, __last1); + auto __d2 = std::distance(__first2, __last2); + if (__d1 == 0 && __d2 == 0) + return true; + if (__d1 != __d2) + return false; + } + + for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) + { + if (__scan != std::__find_if(__first1, __scan, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) + continue; + + auto __matches = std::__count_if(__first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); + if (0 == __matches + || std::__count_if(__scan, __last1, + __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) + != __matches) + return false; + } + return true; + } +# 3565 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2) + { + ; + ; + + return + std::__is_permutation(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 3593 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline bool + is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, + _BinaryPredicate __pred) + { + ; + ; + + return std::__is_permutation(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__pred)); + } +# 3621 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[nodiscard]] constexpr const _Tp& + clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi) + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!(__hi < __lo)), false)) std::__glibcxx_assert_fail(); } while (false); + return std::min(std::max(__val, __lo), __hi); + } +# 3641 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[nodiscard]] constexpr const _Tp& + clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp) + { + do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!__comp(__hi, __lo)), false)) std::__glibcxx_assert_fail(); } while (false); + return std::min(std::max(__val, __lo, __comp), __hi, __comp); + } +# 3671 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + pair<_IntType, _IntType> + __gen_two_uniform_ints(_IntType __b0, _IntType __b1, + _UniformRandomBitGenerator&& __g) + { + _IntType __x + = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); + return std::make_pair(__x / __b1, __x % __b1); + } +# 3693 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + void + shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, + _UniformRandomNumberGenerator&& __g) + { + + + + ; + + if (__first == __last) + return; + + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + typedef typename std::make_unsigned<_DistanceType>::type __ud_type; + typedef typename std::uniform_int_distribution<__ud_type> __distr_type; + typedef typename __distr_type::param_type __p_type; + + typedef typename remove_reference<_UniformRandomNumberGenerator>::type + _Gen; + typedef typename common_type::type + __uc_type; + + const __uc_type __urngrange = __g.max() - __g.min(); + const __uc_type __urange = __uc_type(__last - __first); + + if (__urngrange / __urange >= __urange) + + { + _RandomAccessIterator __i = __first + 1; + + + + + + if ((__urange % 2) == 0) + { + __distr_type __d{0, 1}; + std::iter_swap(__i++, __first + __d(__g)); + } + + + + + + while (__i != __last) + { + const __uc_type __swap_range = __uc_type(__i - __first) + 1; + + const pair<__uc_type, __uc_type> __pospos = + __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); + + std::iter_swap(__i++, __first + __pospos.first); + std::iter_swap(__i++, __first + __pospos.second); + } + + return; + } + + __distr_type __d; + + for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) + std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); + } + + + +# 3776 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _Function + for_each(_InputIterator __first, _InputIterator __last, _Function __f) + { + + + ; + for (; __first != __last; ++__first) + __f(*__first); + return __f; + } +# 3802 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _InputIterator + for_each_n(_InputIterator __first, _Size __n, _Function __f) + { + auto __n2 = std::__size_to_integer(__n); + using _Cat = typename iterator_traits<_InputIterator>::iterator_category; + if constexpr (is_base_of_v) + { + if (__n2 <= 0) + return __first; + auto __last = __first + __n2; + std::for_each(__first, __last, std::move(__f)); + return __last; + } + else + { + while (__n2-->0) + { + __f(*__first); + ++__first; + } + return __first; + } + } +# 3838 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _InputIterator + find(_InputIterator __first, _InputIterator __last, + const _Tp& __val) + { + + + + + ; + return std::__find_if(__first, __last, + __gnu_cxx::__ops::__iter_equals_val(__val)); + } +# 3863 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _InputIterator + find_if(_InputIterator __first, _InputIterator __last, + _Predicate __pred) + { + + + + + ; + + return std::__find_if(__first, __last, + __gnu_cxx::__ops::__pred_iter(__pred)); + } +# 3895 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + _InputIterator + find_first_of(_InputIterator __first1, _InputIterator __last1, + _ForwardIterator __first2, _ForwardIterator __last2) + { + + + + + + + ; + ; + + for (; __first1 != __last1; ++__first1) + for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) + if (*__first1 == *__iter) + return __first1; + return __last1; + } +# 3936 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + _InputIterator + find_first_of(_InputIterator __first1, _InputIterator __last1, + _ForwardIterator __first2, _ForwardIterator __last2, + _BinaryPredicate __comp) + { + + + + + + + ; + ; + + for (; __first1 != __last1; ++__first1) + for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) + if (__comp(*__first1, *__iter)) + return __first1; + return __last1; + } +# 3969 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + adjacent_find(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + ; + + return std::__adjacent_find(__first, __last, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 3995 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + adjacent_find(_ForwardIterator __first, _ForwardIterator __last, + _BinaryPredicate __binary_pred) + { + + + + + + ; + + return std::__adjacent_find(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); + } +# 4021 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline typename iterator_traits<_InputIterator>::difference_type + count(_InputIterator __first, _InputIterator __last, const _Tp& __value) + { + + + + + ; + + return std::__count_if(__first, __last, + __gnu_cxx::__ops::__iter_equals_val(__value)); + } +# 4045 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline typename iterator_traits<_InputIterator>::difference_type + count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) + { + + + + + ; + + return std::__count_if(__first, __last, + __gnu_cxx::__ops::__pred_iter(__pred)); + } +# 4086 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator1 + search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2) + { + + + + + + + ; + ; + + return std::__search(__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 4120 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + search_n(_ForwardIterator __first, _ForwardIterator __last, + _Integer __count, const _Tp& __val) + { + + + + + ; + + return std::__search_n(__first, __last, __count, + __gnu_cxx::__ops::__iter_equals_val(__val)); + } +# 4154 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + search_n(_ForwardIterator __first, _ForwardIterator __last, + _Integer __count, const _Tp& __val, + _BinaryPredicate __binary_pred) + { + + + + + ; + + return std::__search_n(__first, __last, __count, + __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); + } +# 4180 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] + inline _ForwardIterator + search(_ForwardIterator __first, _ForwardIterator __last, + const _Searcher& __searcher) + { return __searcher(__first, __last).first; } +# 4204 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _OutputIterator + transform(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, _UnaryOperation __unary_op) + { + + + + + + ; + + for (; __first != __last; ++__first, (void)++__result) + *__result = __unary_op(*__first); + return __result; + } +# 4242 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _OutputIterator + transform(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _OutputIterator __result, + _BinaryOperation __binary_op) + { + + + + + + + ; + + for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) + *__result = __binary_op(*__first1, *__first2); + return __result; + } +# 4276 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + 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; + } +# 4309 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + void + replace_if(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred, const _Tp& __new_value) + { + + + + + + + + ; + + for (; __first != __last; ++__first) + if (__pred(*__first)) + *__first = __new_value; + } +# 4341 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + void + generate(_ForwardIterator __first, _ForwardIterator __last, + _Generator __gen) + { + + + + + ; + + for (; __first != __last; ++__first) + *__first = __gen(); + } +# 4374 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + _OutputIterator + generate_n(_OutputIterator __first, _Size __n, _Generator __gen) + { + + + + + + typedef __decltype(std::__size_to_integer(__n)) _IntSize; + for (_IntSize __niter = std::__size_to_integer(__n); + __niter > 0; --__niter, (void) ++__first) + *__first = __gen(); + return __first; + } +# 4409 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + unique_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator __result) + { + + + + + + + ; + + if (__first == __last) + return __result; + return std::__unique_copy(__first, __last, __result, + __gnu_cxx::__ops::__iter_equal_to_iter(), + std::__iterator_category(__first), + std::__iterator_category(__result)); + } +# 4449 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + unique_copy(_InputIterator __first, _InputIterator __last, + _OutputIterator __result, + _BinaryPredicate __binary_pred) + { + + + + + ; + + if (__first == __last) + return __result; + return std::__unique_copy(__first, __last, __result, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), + std::__iterator_category(__first), + std::__iterator_category(__result)); + } +# 4488 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead"))) + inline void + random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + ; + + if (__first != __last) + for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) + { + + _RandomAccessIterator __j = __first + + std::rand() % ((__i - __first) + 1); + if (__i != __j) + std::iter_swap(__i, __j); + } + } +# 4527 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead"))) + void + random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, + + _RandomNumberGenerator&& __rand) + + + + { + + + + ; + + if (__first == __last) + return; + for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) + { + _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); + if (__i != __j) + std::iter_swap(__i, __j); + } + } +# 4569 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _ForwardIterator + partition(_ForwardIterator __first, _ForwardIterator __last, + _Predicate __pred) + { + + + + + + ; + + return std::__partition(__first, __last, __pred, + std::__iterator_category(__first)); + } +# 4604 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + partial_sort(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last) + { + + + + + + ; + ; + ; + + std::__partial_sort(__first, __middle, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 4643 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + partial_sort(_RandomAccessIterator __first, + _RandomAccessIterator __middle, + _RandomAccessIterator __last, + _Compare __comp) + { + + + + + + + ; + ; + ; + + std::__partial_sort(__first, __middle, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 4680 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, + _RandomAccessIterator __last) + { + + + + + + ; + ; + ; + + if (__first == __last || __nth == __last) + return; + + std::__introselect(__first, __nth, __last, + std::__lg(__last - __first) * 2, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 4720 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, + _RandomAccessIterator __last, _Compare __comp) + { + + + + + + + ; + ; + ; + + if (__first == __last || __nth == __last) + return; + + std::__introselect(__first, __nth, __last, + std::__lg(__last - __first) * 2, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } +# 4758 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + sort(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + + std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); + } +# 4789 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline void + sort(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + + + + ; + ; + + std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + _OutputIterator + __merge(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + { + if (__comp(__first2, __first1)) + { + *__result = *__first2; + ++__first2; + } + else + { + *__result = *__first1; + ++__first1; + } + ++__result; + } + return std::copy(__first2, __last2, + std::copy(__first1, __last1, __result)); + } +# 4852 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + merge(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result) + { + + + + + + + + + + + ; + ; + ; + ; + + return std::__merge(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 4903 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + merge(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + + + + + + + + + + + ; + ; + ; + ; + + return std::__merge(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + inline void + __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + typedef typename iterator_traits<_RandomAccessIterator>::value_type + _ValueType; + typedef typename iterator_traits<_RandomAccessIterator>::difference_type + _DistanceType; + + if (__first == __last) + return; + + + typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; + + + _TmpBuf __buf(__first, (__last - __first + 1) / 2); + + if (__builtin_expect(__buf.requested_size() == __buf.size(), true)) + std::__stable_sort_adaptive(__first, + __first + _DistanceType(__buf.size()), + __last, __buf.begin(), __comp); + else if (__builtin_expect(__buf.begin() == 0, false)) + std::__inplace_stable_sort(__first, __last, __comp); + else + std::__stable_sort_adaptive_resize(__first, __last, __buf.begin(), + _DistanceType(__buf.size()), __comp); + + + + } +# 4981 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + inline void + stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) + { + + + + + + ; + ; + + std::__stable_sort(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5015 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + inline void + stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, + _Compare __comp) + { + + + + + + + ; + ; + + std::__stable_sort(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + _OutputIterator + __set_union(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + { + if (__comp(__first1, __first2)) + { + *__result = *__first1; + ++__first1; + } + else if (__comp(__first2, __first1)) + { + *__result = *__first2; + ++__first2; + } + else + { + *__result = *__first1; + ++__first1; + ++__first2; + } + ++__result; + } + return std::copy(__first2, __last2, + std::copy(__first1, __last1, __result)); + } +# 5085 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_union(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result) + { + + + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_union(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5136 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_union(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + + + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_union(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + _OutputIterator + __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + if (__comp(__first1, __first2)) + ++__first1; + else if (__comp(__first2, __first1)) + ++__first2; + else + { + *__result = *__first1; + ++__first1; + ++__first2; + ++__result; + } + return __result; + } +# 5209 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result) + { + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_intersection(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5259 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_intersection(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + _OutputIterator + __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + if (__comp(__first1, __first2)) + { + *__result = *__first1; + ++__first1; + ++__result; + } + else if (__comp(__first2, __first1)) + ++__first2; + else + { + ++__first1; + ++__first2; + } + return std::copy(__first1, __last1, __result); + } +# 5334 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_difference(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result) + { + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_difference(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5386 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_difference(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, _Compare __comp) + { + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_difference(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + + _OutputIterator + __set_symmetric_difference(_InputIterator1 __first1, + _InputIterator1 __last1, + _InputIterator2 __first2, + _InputIterator2 __last2, + _OutputIterator __result, + _Compare __comp) + { + while (__first1 != __last1 && __first2 != __last2) + if (__comp(__first1, __first2)) + { + *__result = *__first1; + ++__first1; + ++__result; + } + else if (__comp(__first2, __first1)) + { + *__result = *__first2; + ++__first2; + ++__result; + } + else + { + ++__first1; + ++__first2; + } + return std::copy(__first2, __last2, + std::copy(__first1, __last1, __result)); + } +# 5467 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result) + { + + + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_symmetric_difference(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5519 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + + inline _OutputIterator + set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _InputIterator2 __last2, + _OutputIterator __result, + _Compare __comp) + { + + + + + + + + + + + + + + ; + ; + ; + ; + + return std::__set_symmetric_difference(__first1, __last1, + __first2, __last2, __result, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + constexpr + _ForwardIterator + __min_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + if (__first == __last) + return __first; + _ForwardIterator __result = __first; + while (++__first != __last) + if (__comp(__first, __result)) + __result = __first; + return __result; + } +# 5573 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + _ForwardIterator + inline min_element(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + ; + ; + + return std::__min_element(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5598 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline _ForwardIterator + min_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + + + + + + ; + ; + + return std::__min_element(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + constexpr + _ForwardIterator + __max_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + if (__first == __last) return __first; + _ForwardIterator __result = __first; + while (++__first != __last) + if (__comp(__result, __first)) + __result = __first; + return __result; + } +# 5637 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline _ForwardIterator + max_element(_ForwardIterator __first, _ForwardIterator __last) + { + + + + + ; + ; + + return std::__max_element(__first, __last, + __gnu_cxx::__ops::__iter_less_iter()); + } +# 5662 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/stl_algo.h" 3 + template + [[__nodiscard__]] constexpr + inline _ForwardIterator + max_element(_ForwardIterator __first, _ForwardIterator __last, + _Compare __comp) + { + + + + + + ; + ; + + return std::__max_element(__first, __last, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + + + template + constexpr + inline _Tp + min(initializer_list<_Tp> __l) + { + ; + return *std::__min_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_less_iter()); + } + + template + constexpr + inline _Tp + min(initializer_list<_Tp> __l, _Compare __comp) + { + ; + return *std::__min_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template + constexpr + inline _Tp + max(initializer_list<_Tp> __l) + { + ; + return *std::__max_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_less_iter()); + } + + template + constexpr + inline _Tp + max(initializer_list<_Tp> __l, _Compare __comp) + { + ; + return *std::__max_element(__l.begin(), __l.end(), + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + + + + template + _RandomAccessIterator + __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag, + _RandomAccessIterator __out, random_access_iterator_tag, + _Size __n, _UniformRandomBitGenerator&& __g) + { + using __distrib_type = uniform_int_distribution<_Size>; + using __param_type = typename __distrib_type::param_type; + __distrib_type __d{}; + _Size __sample_sz = 0; + while (__first != __last && __sample_sz != __n) + { + __out[__sample_sz++] = *__first; + ++__first; + } + for (auto __pop_sz = __sample_sz; __first != __last; + ++__first, (void) ++__pop_sz) + { + const auto __k = __d(__g, __param_type{0, __pop_sz}); + if (__k < __n) + __out[__k] = *__first; + } + return __out + __sample_sz; + } + + + template + _OutputIterator + __sample(_ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag, + _OutputIterator __out, _Cat, + _Size __n, _UniformRandomBitGenerator&& __g) + { + using __distrib_type = uniform_int_distribution<_Size>; + using __param_type = typename __distrib_type::param_type; + using _USize = make_unsigned_t<_Size>; + using _Gen = remove_reference_t<_UniformRandomBitGenerator>; + using __uc_type = common_type_t; + + if (__first == __last) + return __out; + + __distrib_type __d{}; + _Size __unsampled_sz = std::distance(__first, __last); + __n = std::min(__n, __unsampled_sz); + + + + + const __uc_type __urngrange = __g.max() - __g.min(); + if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz)) + + + { + while (__n != 0 && __unsampled_sz >= 2) + { + const pair<_Size, _Size> __p = + __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g); + + --__unsampled_sz; + if (__p.first < __n) + { + *__out++ = *__first; + --__n; + } + + ++__first; + + if (__n == 0) break; + + --__unsampled_sz; + if (__p.second < __n) + { + *__out++ = *__first; + --__n; + } + + ++__first; + } + } + + + + for (; __n != 0; ++__first) + if (__d(__g, __param_type{0, --__unsampled_sz}) < __n) + { + *__out++ = *__first; + --__n; + } + return __out; + } + + + + + template + _SampleIterator + sample(_PopulationIterator __first, _PopulationIterator __last, + _SampleIterator __out, _Distance __n, + _UniformRandomBitGenerator&& __g) + { + using __pop_cat = typename + std::iterator_traits<_PopulationIterator>::iterator_category; + using __samp_cat = typename + std::iterator_traits<_SampleIterator>::iterator_category; + + static_assert( + __or_, + is_convertible<__samp_cat, random_access_iterator_tag>>::value, + "output range must use a RandomAccessIterator when input range" + " does not meet the ForwardIterator requirements"); + + static_assert(is_integral<_Distance>::value, + "sample size must be an integer type"); + + typename iterator_traits<_PopulationIterator>::difference_type __d = __n; + return std:: + __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d, + std::forward<_UniformRandomBitGenerator>(__g)); + } + + + + +} +# 62 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 2 3 +# 76 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 1 3 +# 47 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 + +# 48 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/version.h" 3 +# 77 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 2 3 +# 85 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/glue_algorithm_defs.h" 1 3 +# 15 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/glue_algorithm_defs.h" 3 +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/execution_defs.h" 1 3 +# 15 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/execution_defs.h" 3 +namespace __pstl +{ +namespace execution +{ +inline namespace v1 +{ + + +class sequenced_policy +{ +}; + + +class parallel_policy +{ +}; + + +class parallel_unsequenced_policy +{ +}; + +class unsequenced_policy +{ +}; + + +inline constexpr sequenced_policy seq{}; +inline constexpr parallel_policy par{}; +inline constexpr parallel_unsequenced_policy par_unseq{}; +inline constexpr unsequenced_policy unseq{}; + + +template +struct is_execution_policy : std::false_type +{ +}; + +template <> +struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type +{ +}; +template <> +struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type +{ +}; +template <> +struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type +{ +}; +template <> +struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type +{ +}; + + +template +constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value; + + +} +} + +namespace __internal +{ +template + +using __enable_if_execution_policy = + typename std::enable_if<__pstl::execution::is_execution_policy>::value, + _Tp>::type; + + + + + + +template +struct __serial_tag; +template +struct __parallel_tag; + +} + +} +# 16 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/pstl/glue_algorithm_defs.h" 2 3 + +namespace std +{ + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, + _ForwardIterator2 __s_last, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, + _ForwardIterator2 __s_last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, + _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, + _ForwardIterator2 __s_first, _ForwardIterator2 __s_last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, + typename iterator_traits<_ForwardIterator>::difference_type> +count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, + typename iterator_traits<_ForwardIterator>::difference_type> +count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, + _ForwardIterator2 __s_last, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1> +search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first, + _ForwardIterator2 __s_last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count, + const _Tp& __value, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count, + const _Tp& __value); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result, + _Predicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, + _UnaryOperation __op); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator __result, _BinaryOperation __op); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred, + const _Tp& __new_value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, + const _Tp& __new_value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, + _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, + const _Tp& __old_value, const _Tp& __new_value); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value); + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, + _ForwardIterator2 __result, _Predicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, + const _Tp& __value); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result, + _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last, + _ForwardIterator __d_first); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last, + _ForwardIterator2 __result); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator> +stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last, + _UnaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> +partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, + _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> +mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> +mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _BinaryPredicate __pred); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> +mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>> +mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _BinaryPredicate __p); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _BinaryPredicate __p); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2); + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> +move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle, + _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle, + _RandomAccessIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> +partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, + _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> +partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, + _RandomAccessIterator __d_first, _RandomAccessIterator __d_last); + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth, + _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth, + _RandomAccessIterator __last); + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _ForwardIterator __d_first); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle, + _BidirectionalIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> +inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle, + _BidirectionalIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, + _ForwardIterator2 __last2, _ForwardIterator __result); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result, + _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result); + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> +is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator> +is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> +max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>> +minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>> +minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last); + + + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp); + +template +__pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> +lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2, _ForwardIterator2 __last2); + +} +# 86 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/algorithm" 2 3 +# 6 "src\\P2822\\P2822_debug.cpp" 2 + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 1 3 +# 36 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 +# 55 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 +namespace std +{ + +namespace __cxx11 { +# 78 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + template + class basic_stringbuf : public basic_streambuf<_CharT, _Traits> + { + struct __xfer_bufptrs; + + + using allocator_traits = std::allocator_traits<_Alloc>; + using _Noexcept_swap + = __or_; + + + public: + + typedef _CharT char_type; + typedef _Traits traits_type; + + + typedef _Alloc allocator_type; + typedef typename traits_type::int_type int_type; + typedef typename traits_type::pos_type pos_type; + typedef typename traits_type::off_type off_type; + + typedef basic_streambuf __streambuf_type; + typedef basic_string __string_type; + typedef typename __string_type::size_type __size_type; + + protected: + + ios_base::openmode _M_mode; + + + __string_type _M_string; + + public: +# 121 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_stringbuf() + : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string() + { } +# 132 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_stringbuf(ios_base::openmode __mode) + : __streambuf_type(), _M_mode(__mode), _M_string() + { } +# 145 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_stringbuf(const __string_type& __str, + ios_base::openmode __mode = ios_base::in | ios_base::out) + : __streambuf_type(), _M_mode(), + _M_string(__str.data(), __str.size(), __str.get_allocator()) + { _M_stringbuf_init(__mode); } + + + basic_stringbuf(const basic_stringbuf&) = delete; + + basic_stringbuf(basic_stringbuf&& __rhs) + : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this)) + { __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); } +# 209 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_stringbuf& + operator=(const basic_stringbuf&) = delete; + + basic_stringbuf& + operator=(basic_stringbuf&& __rhs) + { + __xfer_bufptrs __st{__rhs, this}; + const __streambuf_type& __base = __rhs; + __streambuf_type::operator=(__base); + this->pubimbue(__rhs.getloc()); + _M_mode = __rhs._M_mode; + _M_string = std::move(__rhs._M_string); + __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); + return *this; + } + + void + swap(basic_stringbuf& __rhs) noexcept(_Noexcept_swap::value) + { + __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)}; + __xfer_bufptrs __r_st{__rhs, this}; + __streambuf_type& __base = __rhs; + __streambuf_type::swap(__base); + __rhs.pubimbue(this->pubimbue(__rhs.getloc())); + std::swap(_M_mode, __rhs._M_mode); + std::swap(_M_string, __rhs._M_string); + } +# 248 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + __string_type + str() const + { + __string_type __ret(_M_string.get_allocator()); + if (char_type* __hi = _M_high_mark()) + __ret.assign(this->pbase(), __hi); + else + __ret = _M_string; + return __ret; + } +# 304 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + void + str(const __string_type& __s) + { + + + _M_string.assign(__s.data(), __s.size()); + _M_stringbuf_init(_M_mode); + } +# 333 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + protected: + + void + _M_stringbuf_init(ios_base::openmode __mode) + { + _M_mode = __mode; + __size_type __len = 0; + if (_M_mode & (ios_base::ate | ios_base::app)) + __len = _M_string.size(); + _M_sync(const_cast(_M_string.data()), 0, __len); + } + + virtual streamsize + showmanyc() + { + streamsize __ret = -1; + if (_M_mode & ios_base::in) + { + _M_update_egptr(); + __ret = this->egptr() - this->gptr(); + } + return __ret; + } + + virtual int_type + underflow(); + + virtual int_type + pbackfail(int_type __c = traits_type::eof()); + + virtual int_type + overflow(int_type __c = traits_type::eof()); +# 377 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + virtual __streambuf_type* + setbuf(char_type* __s, streamsize __n) + { + if (__s && __n >= 0) + { + + + + + + + _M_string.clear(); + + + _M_sync(__s, __n, 0); + } + return this; + } + + virtual pos_type + seekoff(off_type __off, ios_base::seekdir __way, + ios_base::openmode __mode = ios_base::in | ios_base::out); + + virtual pos_type + seekpos(pos_type __sp, + ios_base::openmode __mode = ios_base::in | ios_base::out); + + + + + void + _M_sync(char_type* __base, __size_type __i, __size_type __o); + + + + void + _M_update_egptr() + { + if (char_type* __pptr = this->pptr()) + { + char_type* __egptr = this->egptr(); + if (!__egptr || __pptr > __egptr) + { + if (_M_mode & ios_base::in) + this->setg(this->eback(), this->gptr(), __pptr); + else + this->setg(__pptr, __pptr, __pptr); + } + } + } + + + + void + _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off); + + private: + + + + + __attribute__((__always_inline__)) + char_type* + _M_high_mark() const noexcept + { + if (char_type* __pptr = this->pptr()) + { + char_type* __egptr = this->egptr(); + if (!__egptr || __pptr > __egptr) + return __pptr; + else + return __egptr; + } + return 0; + } + + + + + + struct __xfer_bufptrs + { + __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to) + : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1} + { + const _CharT* const __str = __from._M_string.data(); + const _CharT* __end = nullptr; + if (__from.eback()) + { + _M_goff[0] = __from.eback() - __str; + _M_goff[1] = __from.gptr() - __str; + _M_goff[2] = __from.egptr() - __str; + __end = __from.egptr(); + } + if (__from.pbase()) + { + _M_poff[0] = __from.pbase() - __str; + _M_poff[1] = __from.pptr() - __from.pbase(); + _M_poff[2] = __from.epptr() - __str; + if (!__end || __from.pptr() > __end) + __end = __from.pptr(); + } + + + if (__end) + { + + + auto& __mut_from = const_cast(__from); + __mut_from._M_string._M_length(__end - __str); + } + } + + ~__xfer_bufptrs() + { + char_type* __str = const_cast(_M_to->_M_string.data()); + if (_M_goff[0] != -1) + _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]); + if (_M_poff[0] != -1) + _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]); + } + + basic_stringbuf* _M_to; + off_type _M_goff[3]; + off_type _M_poff[3]; + }; +# 513 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&) + : __streambuf_type(static_cast(__rhs)), + _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string)) + { } +# 528 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + }; +# 546 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + template + class basic_istringstream : public basic_istream<_CharT, _Traits> + { + public: + + typedef _CharT char_type; + typedef _Traits traits_type; + + + typedef _Alloc allocator_type; + typedef typename traits_type::int_type int_type; + typedef typename traits_type::pos_type pos_type; + typedef typename traits_type::off_type off_type; + + + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; + typedef basic_istream __istream_type; + + private: + __stringbuf_type _M_stringbuf; + + public: +# 580 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_istringstream() + : __istream_type(), _M_stringbuf(ios_base::in) + { this->init(&_M_stringbuf); } +# 596 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_istringstream(ios_base::openmode __mode) + : __istream_type(), _M_stringbuf(__mode | ios_base::in) + { this->init(&_M_stringbuf); } +# 614 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_istringstream(const __string_type& __str, + ios_base::openmode __mode = ios_base::in) + : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in) + { this->init(&_M_stringbuf); } + + + + + + + + ~basic_istringstream() + { } + + + basic_istringstream(const basic_istringstream&) = delete; + + basic_istringstream(basic_istringstream&& __rhs) + : __istream_type(std::move(__rhs)), + _M_stringbuf(std::move(__rhs._M_stringbuf)) + { __istream_type::set_rdbuf(&_M_stringbuf); } +# 671 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_istringstream& + operator=(const basic_istringstream&) = delete; + + basic_istringstream& + operator=(basic_istringstream&& __rhs) + { + __istream_type::operator=(std::move(__rhs)); + _M_stringbuf = std::move(__rhs._M_stringbuf); + return *this; + } + + void + swap(basic_istringstream& __rhs) + { + __istream_type::swap(__rhs); + _M_stringbuf.swap(__rhs._M_stringbuf); + } +# 697 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + __stringbuf_type* + rdbuf() const + { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + + + + + + __string_type + str() const + { return _M_stringbuf.str(); } +# 735 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + void + str(const __string_type& __s) + { _M_stringbuf.str(__s); } +# 752 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + }; +# 770 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + template + class basic_ostringstream : public basic_ostream<_CharT, _Traits> + { + public: + + typedef _CharT char_type; + typedef _Traits traits_type; + + + typedef _Alloc allocator_type; + typedef typename traits_type::int_type int_type; + typedef typename traits_type::pos_type pos_type; + typedef typename traits_type::off_type off_type; + + + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; + typedef basic_ostream __ostream_type; + + private: + __stringbuf_type _M_stringbuf; + + public: +# 804 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_ostringstream() + : __ostream_type(), _M_stringbuf(ios_base::out) + { this->init(&_M_stringbuf); } +# 820 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_ostringstream(ios_base::openmode __mode) + : __ostream_type(), _M_stringbuf(__mode | ios_base::out) + { this->init(&_M_stringbuf); } +# 838 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_ostringstream(const __string_type& __str, + ios_base::openmode __mode = ios_base::out) + : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out) + { this->init(&_M_stringbuf); } + + + + + + + + ~basic_ostringstream() + { } + + + basic_ostringstream(const basic_ostringstream&) = delete; + + basic_ostringstream(basic_ostringstream&& __rhs) + : __ostream_type(std::move(__rhs)), + _M_stringbuf(std::move(__rhs._M_stringbuf)) + { __ostream_type::set_rdbuf(&_M_stringbuf); } +# 895 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_ostringstream& + operator=(const basic_ostringstream&) = delete; + + basic_ostringstream& + operator=(basic_ostringstream&& __rhs) + { + __ostream_type::operator=(std::move(__rhs)); + _M_stringbuf = std::move(__rhs._M_stringbuf); + return *this; + } + + void + swap(basic_ostringstream& __rhs) + { + __ostream_type::swap(__rhs); + _M_stringbuf.swap(__rhs._M_stringbuf); + } +# 921 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + __stringbuf_type* + rdbuf() const + { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + + + + + + __string_type + str() const + { return _M_stringbuf.str(); } +# 959 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + void + str(const __string_type& __s) + { _M_stringbuf.str(__s); } +# 976 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + }; +# 994 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + template + class basic_stringstream : public basic_iostream<_CharT, _Traits> + { + public: + + typedef _CharT char_type; + typedef _Traits traits_type; + + + typedef _Alloc allocator_type; + typedef typename traits_type::int_type int_type; + typedef typename traits_type::pos_type pos_type; + typedef typename traits_type::off_type off_type; + + + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; + typedef basic_iostream __iostream_type; + + private: + __stringbuf_type _M_stringbuf; + + public: +# 1028 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_stringstream() + : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in) + { this->init(&_M_stringbuf); } +# 1042 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_stringstream(ios_base::openmode __m) + : __iostream_type(), _M_stringbuf(__m) + { this->init(&_M_stringbuf); } +# 1058 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + explicit + basic_stringstream(const __string_type& __str, + ios_base::openmode __m = ios_base::out | ios_base::in) + : __iostream_type(), _M_stringbuf(__str, __m) + { this->init(&_M_stringbuf); } + + + + + + + + ~basic_stringstream() + { } + + + basic_stringstream(const basic_stringstream&) = delete; + + basic_stringstream(basic_stringstream&& __rhs) + : __iostream_type(std::move(__rhs)), + _M_stringbuf(std::move(__rhs._M_stringbuf)) + { __iostream_type::set_rdbuf(&_M_stringbuf); } +# 1117 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + basic_stringstream& + operator=(const basic_stringstream&) = delete; + + basic_stringstream& + operator=(basic_stringstream&& __rhs) + { + __iostream_type::operator=(std::move(__rhs)); + _M_stringbuf = std::move(__rhs._M_stringbuf); + return *this; + } + + void + swap(basic_stringstream& __rhs) + { + __iostream_type::swap(__rhs); + _M_stringbuf.swap(__rhs._M_stringbuf); + } +# 1143 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + __stringbuf_type* + rdbuf() const + { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + + + + + + __string_type + str() const + { return _M_stringbuf.str(); } +# 1181 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + void + str(const __string_type& __s) + { _M_stringbuf.str(__s); } +# 1198 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 3 + }; + + + + template + inline void + swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, + basic_stringbuf<_CharT, _Traits, _Allocator>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } + + + template + inline void + swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, + basic_istringstream<_CharT, _Traits, _Allocator>& __y) + { __x.swap(__y); } + + + template + inline void + swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, + basic_ostringstream<_CharT, _Traits, _Allocator>& __y) + { __x.swap(__y); } + + + template + inline void + swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, + basic_stringstream<_CharT, _Traits, _Allocator>& __y) + { __x.swap(__y); } + + +} + +} + + + + +# 1 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/sstream.tcc" 1 3 +# 37 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/sstream.tcc" 3 + +# 38 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/sstream.tcc" 3 + +namespace std +{ + + + template + typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type + basic_stringbuf<_CharT, _Traits, _Alloc>:: + pbackfail(int_type __c) + { + int_type __ret = traits_type::eof(); + if (this->eback() < this->gptr()) + { + + + const bool __testeof = traits_type::eq_int_type(__c, __ret); + if (!__testeof) + { + const bool __testeq = traits_type::eq(traits_type:: + to_char_type(__c), + this->gptr()[-1]); + const bool __testout = this->_M_mode & ios_base::out; + if (__testeq || __testout) + { + this->gbump(-1); + if (!__testeq) + *this->gptr() = traits_type::to_char_type(__c); + __ret = __c; + } + } + else + { + this->gbump(-1); + __ret = traits_type::not_eof(__c); + } + } + return __ret; + } + + template + typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type + basic_stringbuf<_CharT, _Traits, _Alloc>:: + overflow(int_type __c) + { + const bool __testout = this->_M_mode & ios_base::out; + if (__builtin_expect(!__testout, false)) + return traits_type::eof(); + + const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof()); + if (__builtin_expect(__testeof, false)) + return traits_type::not_eof(__c); + + const __size_type __capacity = _M_string.capacity(); + + + if (size_t(this->epptr() - this->pbase()) < __capacity) + { + + char_type* __base = const_cast(_M_string.data()); + _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase()); + if (_M_mode & ios_base::in) + { + const __size_type __nget = this->gptr() - this->eback(); + const __size_type __eget = this->egptr() - this->eback(); + this->setg(__base, __base + __nget, __base + __eget + 1); + } + *this->pptr() = traits_type::to_char_type(__c); + this->pbump(1); + return __c; + } + + + const __size_type __max_size = _M_string.max_size(); + const bool __testput = this->pptr() < this->epptr(); + if (__builtin_expect(!__testput && __capacity == __max_size, false)) + return traits_type::eof(); + + + + const char_type __conv = traits_type::to_char_type(__c); + if (!__testput) + { +# 129 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/bits/sstream.tcc" 3 + const __size_type __opt_len = std::max(__size_type(2 * __capacity), + __size_type(512)); + const __size_type __len = std::min(__opt_len, __max_size); + __string_type __tmp(_M_string.get_allocator()); + __tmp.reserve(__len); + if (this->pbase()) + __tmp.assign(this->pbase(), this->epptr() - this->pbase()); + __tmp.push_back(__conv); + _M_string.swap(__tmp); + _M_sync(const_cast(_M_string.data()), + this->gptr() - this->eback(), this->pptr() - this->pbase()); + } + else + *this->pptr() = __conv; + this->pbump(1); + return __c; + } + + template + typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type + basic_stringbuf<_CharT, _Traits, _Alloc>:: + underflow() + { + int_type __ret = traits_type::eof(); + const bool __testin = this->_M_mode & ios_base::in; + if (__testin) + { + + _M_update_egptr(); + + if (this->gptr() < this->egptr()) + __ret = traits_type::to_int_type(*this->gptr()); + } + return __ret; + } + + template + typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type + basic_stringbuf<_CharT, _Traits, _Alloc>:: + seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode) + { + pos_type __ret = pos_type(off_type(-1)); + bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; + bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; + const bool __testboth = __testin && __testout && __way != ios_base::cur; + __testin &= !(__mode & ios_base::out); + __testout &= !(__mode & ios_base::in); + + + + const char_type* __beg = __testin ? this->eback() : this->pbase(); + if ((__beg || !__off) && (__testin || __testout || __testboth)) + { + _M_update_egptr(); + + off_type __newoffi = __off; + off_type __newoffo = __newoffi; + if (__way == ios_base::cur) + { + __newoffi += this->gptr() - __beg; + __newoffo += this->pptr() - __beg; + } + else if (__way == ios_base::end) + __newoffo = __newoffi += this->egptr() - __beg; + + if ((__testin || __testboth) + && __newoffi >= 0 + && this->egptr() - __beg >= __newoffi) + { + this->setg(this->eback(), this->eback() + __newoffi, + this->egptr()); + __ret = pos_type(__newoffi); + } + if ((__testout || __testboth) + && __newoffo >= 0 + && this->egptr() - __beg >= __newoffo) + { + _M_pbump(this->pbase(), this->epptr(), __newoffo); + __ret = pos_type(__newoffo); + } + } + return __ret; + } + + template + typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type + basic_stringbuf<_CharT, _Traits, _Alloc>:: + seekpos(pos_type __sp, ios_base::openmode __mode) + { + pos_type __ret = pos_type(off_type(-1)); + const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; + const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; + + const char_type* __beg = __testin ? this->eback() : this->pbase(); + if ((__beg || !off_type(__sp)) && (__testin || __testout)) + { + _M_update_egptr(); + + const off_type __pos(__sp); + const bool __testpos = (0 <= __pos + && __pos <= this->egptr() - __beg); + if (__testpos) + { + if (__testin) + this->setg(this->eback(), this->eback() + __pos, + this->egptr()); + if (__testout) + _M_pbump(this->pbase(), this->epptr(), __pos); + __ret = __sp; + } + } + return __ret; + } + + template + void + basic_stringbuf<_CharT, _Traits, _Alloc>:: + _M_sync(char_type* __base, __size_type __i, __size_type __o) + { + const bool __testin = _M_mode & ios_base::in; + const bool __testout = _M_mode & ios_base::out; + char_type* __endg = __base + _M_string.size(); + char_type* __endp = __base + _M_string.capacity(); + + if (__base != _M_string.data()) + { + + __endg += __i; + __i = 0; + __endp = __endg; + } + + if (__testin) + this->setg(__base, __base + __i, __endg); + if (__testout) + { + _M_pbump(__base, __endp, __o); + + + + if (!__testin) + this->setg(__endg, __endg, __endg); + } + } + + template + void + basic_stringbuf<_CharT, _Traits, _Alloc>:: + _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off) + { + this->setp(__pbeg, __pend); + while (__off > __gnu_cxx::__numeric_traits::__max) + { + this->pbump(__gnu_cxx::__numeric_traits::__max); + __off -= __gnu_cxx::__numeric_traits::__max; + } + this->pbump(__off); + } + + + + + extern template class basic_stringbuf; + extern template class basic_istringstream; + extern template class basic_ostringstream; + extern template class basic_stringstream; + + + extern template class basic_stringbuf; + extern template class basic_istringstream; + extern template class basic_ostringstream; + extern template class basic_stringstream; + + + + +} +# 1239 "C:/Users/Zengt/Documents/Env/apps/mingw/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/14.2.0/include/c++/sstream" 2 3 +# 8 "src\\P2822\\P2822_debug.cpp" 2 + + +# 9 "src\\P2822\\P2822_debug.cpp" +using ull = unsigned long long; + +template +struct Array{ + constexpr Array(){}; + constexpr Array(const std::initializer_list list){ + std::copy(list.begin(),list.end(),arr); + } +# 25 "src\\P2822\\P2822_debug.cpp" + constexpr T& operator[](const size_t n)noexcept{ + static_assert(noexcept(Array::operator[](0)), "isn't nows except"); + + + + + + + + return arr[n]; + } + struct Iterator{ + constexpr Iterator(const size_t n,T *const p)noexcept:now{n},p{p}{} + bool operator!=(const Iterator &that)const noexcept{ + return this->now!=that.now; + } + constexpr T& operator*()const noexcept{ + + + + + + + + return p[now]; + } + constexpr Iterator& operator++()noexcept{ + now++; + return *this; + } + constexpr Iterator& operator--()noexcept{ + now--; + return *this; + } + constexpr Iterator operator--(int)noexcept{ + auto old = *this; + now--; + return old; + } + private: + size_t now; + T *const p; + }; + constexpr Iterator begin()noexcept{ + return Iterator(0,arr); + } + constexpr Iterator end()noexcept{ + return Iterator(size,arr); + } +private: + T arr[size]; +}; + + +static const size_t max_n {(size_t)2e3+5}; +ull k, t, n, m; +Array,max_n> c,prefix; + +static void init(){ + c[0][0] = c[1][0] = c[1][1] = 1; + for(ull i {2};i +struct ReadNumber{ + ReadNumber& operator>>(T &num){ + c=0,w=1,n=0; + while(!isdigit(c)){ + if constexpr (!std::is_unsigned_v){ + if(c=='-')w=-1; + } + c=getchar(); + } + while(isdigit(c)){ + n=n*10+(c-'0'); + c=getchar(); + } + num = w*n; + return *this; + } +private: + char c; + T w,n; +}; + +ReadNumber readull; + +int main(){ + readull>>t>>k; + + init(); + for(ull i {0};i>n>>m; + + m = std::min(m,n); + std::cout<<(prefix[n][m])<<'\n'; + } +}