Created
January 14, 2019 15:47
-
-
Save attilaz/2530b9efd5a10f2395ebe1abd4514e5b to your computer and use it in GitHub Desktop.
#include<string> #include <vector>
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#line 1 "..\\..\\..\\tools\\shaderc\\shaderc_spirv.cpp" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\string" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\istream" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ostream" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ios" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\climits" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#pragma once | |
#line 36 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 38 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 46 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#pragma once | |
#line 91 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 262 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 263 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 265 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 267 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 268 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xkeycheck.h" | |
#line 48 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 34 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 39 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 40 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#pragma once | |
#line 151 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 155 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 185 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 188 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 190 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 196 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 200 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 207 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 219 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 228 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 229 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#pragma region Input Buffer SAL 1 compatibility macros | |
#pragma endregion Input Buffer SAL 1 compatibility macros | |
#line 1555 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1586 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1611 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1624 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1663 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1775 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1878 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2047 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2149 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2361 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
extern "C" { | |
#line 2367 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2595 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2634 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2868 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2878 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2883 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2890 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2891 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2898 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2899 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2911 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 2945 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
} | |
#line 2969 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#pragma once | |
extern "C" { | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#line 265 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#line 269 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#line 352 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
} | |
#line 356 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#line 358 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ConcurrencySal.h" | |
#line 2971 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\sal.h" | |
#line 46 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#pragma once | |
#pragma pack(push, 8) | |
extern "C" { | |
#line 20 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
typedef unsigned int uintptr_t; | |
#line 32 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 33 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
typedef char* va_list; | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 42 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 48 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 54 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 58 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 61 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 73 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#line 116 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
} | |
#line 120 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
extern "C++" | |
{ | |
template <typename _Ty> | |
struct __vcrt_va_list_is_reference | |
{ | |
enum : bool { __the_value = false }; | |
}; | |
template <typename _Ty> | |
struct __vcrt_va_list_is_reference<_Ty&> | |
{ | |
enum : bool { __the_value = true }; | |
}; | |
template <typename _Ty> | |
struct __vcrt_va_list_is_reference<_Ty&&> | |
{ | |
enum : bool { __the_value = true }; | |
}; | |
template <typename _Ty> | |
void __vcrt_va_start_verify_argument_type() throw() | |
{ | |
static_assert(!__vcrt_va_list_is_reference<_Ty>::__the_value, "va_start argument must not have reference type and must not be parenthesized"); | |
} | |
} | |
#line 156 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vadefs.h" | |
#pragma pack(pop) | |
#line 47 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 80 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 109 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 111 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 113 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 115 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 117 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 118 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 127 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 129 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 130 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 138 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 140 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 146 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 149 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 155 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 167 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 171 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 173 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 179 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 187 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 188 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
typedef unsigned int size_t; | |
typedef int ptrdiff_t; | |
typedef int intptr_t; | |
#line 202 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
typedef bool __vcrt_bool; | |
#line 212 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 217 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 221 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 225 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 238 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 239 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 243 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 245 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
extern "C++" | |
{ | |
template <typename _CountofType, size_t _SizeOfArray> | |
char (*__countof_helper( _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray]; | |
} | |
#line 257 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 264 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 275 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 276 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 280 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 288 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 289 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
void __cdecl __security_init_cookie(void); | |
void __fastcall __security_check_cookie( uintptr_t _StackCookie); | |
__declspec(noreturn) void __cdecl __report_gsfailure(void); | |
#line 307 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 308 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
extern uintptr_t __security_cookie; | |
#line 316 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
} __pragma(pack(pop)) | |
#line 320 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 10 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 11 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 25 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 27 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 29 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 30 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 36 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 41 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 43 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 45 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 46 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 50 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 52 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 58 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 64 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 66 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 73 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 91 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 92 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 96 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 98 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 102 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 104 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 108 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 110 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
extern "C++" | |
{ | |
template<bool _Enable, typename _Ty> | |
struct _CrtEnableIf; | |
template<typename _Ty> | |
struct _CrtEnableIf<true, _Ty> | |
{ | |
typedef _Ty _Type; | |
}; | |
} | |
#line 131 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
typedef bool __crt_bool; | |
#line 137 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 149 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 161 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 165 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 188 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 189 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 193 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 200 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 201 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
void __cdecl _invalid_parameter( | |
wchar_t const*, | |
wchar_t const*, | |
wchar_t const*, | |
unsigned int, | |
uintptr_t | |
); | |
#line 225 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
void __cdecl _invalid_parameter_noinfo(void); | |
__declspec(noreturn) void __cdecl _invalid_parameter_noinfo_noreturn(void); | |
__declspec(noreturn) | |
void __cdecl _invoke_watson( | |
wchar_t const*, | |
wchar_t const*, | |
wchar_t const*, | |
unsigned int, | |
uintptr_t); | |
#line 256 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 257 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 268 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 277 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 278 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 296 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 297 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 304 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 305 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 309 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 323 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 345 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 349 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 354 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 355 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 365 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 366 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 367 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 371 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 377 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 387 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 388 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 397 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 407 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 414 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 419 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 427 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 435 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 436 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 440 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
typedef int errno_t; | |
typedef unsigned short wint_t; | |
typedef unsigned short wctype_t; | |
typedef long __time32_t; | |
typedef __int64 __time64_t; | |
typedef struct __crt_locale_data_public | |
{ | |
unsigned short const* _locale_pctype; | |
int _locale_mb_cur_max; | |
unsigned int _locale_lc_codepage; | |
} __crt_locale_data_public; | |
typedef struct __crt_locale_pointers | |
{ | |
struct __crt_locale_data* locinfo; | |
struct __crt_multibyte_data* mbcinfo; | |
} __crt_locale_pointers; | |
typedef __crt_locale_pointers* _locale_t; | |
typedef struct _Mbstatet | |
{ | |
unsigned long _Wchar; | |
unsigned short _Byte, _State; | |
} _Mbstatet; | |
typedef _Mbstatet mbstate_t; | |
#line 480 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 484 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
typedef __time64_t time_t; | |
#line 491 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 492 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 497 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
typedef size_t rsize_t; | |
#line 501 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 677 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 678 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 1753 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 1897 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
#line 1898 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt.h" | |
} __pragma(pack(pop)) | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 23 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 25 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 27 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 28 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 33 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 36 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 38 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 39 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 40 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 48 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 50 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 51 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 52 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 57 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 59 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 62 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 64 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 66 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\crtdefs.h" | |
#line 49 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 56 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 57 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 61 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 69 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 74 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
#line 87 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 90 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 99 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 104 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 109 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 110 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 116 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 121 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 123 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 128 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 130 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 136 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 138 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 139 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 145 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 147 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 148 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 154 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 156 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 157 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 163 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 165 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 166 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 172 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 174 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 175 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 207 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 209 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 226 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 227 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 228 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 235 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 237 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 243 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 245 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 252 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 258 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 260 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 267 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 308 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#pragma detect_mismatch("_MSC_VER", "1900") | |
#line 316 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#pragma detect_mismatch("_ITERATOR_DEBUG_LEVEL", "0") | |
#line 320 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 325 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#pragma detect_mismatch("RuntimeLibrary", "MTd_StaticDebug") | |
#line 331 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 332 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 333 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 346 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 347 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 352 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 359 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 360 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 372 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 374 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 378 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 425 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 431 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 434 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 436 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 444 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#pragma once | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 50 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 51 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 56 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#pragma comment(lib, "libcpmt" "d" "0") | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 67 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 69 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\use_ansi.h" | |
#line 446 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 450 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 454 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 476 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 478 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 479 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 484 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 486 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 487 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 492 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 494 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 495 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 505 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 510 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 512 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 514 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 515 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 519 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 524 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 529 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 530 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 531 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 550 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 551 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 575 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
namespace std { | |
enum _Uninitialized | |
{ | |
_Noinit | |
}; | |
class _Lockit | |
{ | |
public: | |
#line 626 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
__thiscall _Lockit(); | |
explicit __thiscall _Lockit(int); | |
__thiscall ~_Lockit() throw (); | |
#line 630 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
static void __cdecl _Lockit_ctor(int); | |
static void __cdecl _Lockit_dtor(int); | |
private: | |
static void __cdecl _Lockit_ctor(_Lockit *); | |
static void __cdecl _Lockit_ctor(_Lockit *, int); | |
static void __cdecl _Lockit_dtor(_Lockit *); | |
public: | |
_Lockit(const _Lockit&) = delete; | |
_Lockit& operator=(const _Lockit&) = delete; | |
private: | |
int _Locktype; | |
}; | |
#line 728 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
class _Init_locks | |
{ | |
public: | |
#line 744 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
__thiscall _Init_locks(); | |
__thiscall ~_Init_locks() throw (); | |
#line 747 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
private: | |
static void __cdecl _Init_locks_ctor(_Init_locks *); | |
static void __cdecl _Init_locks_dtor(_Init_locks *); | |
}; | |
} | |
#line 755 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
void __cdecl _Atexit(void (__cdecl *)(void)); | |
typedef unsigned long _Uint32t; | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 771 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 772 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\yvals.h" | |
#line 6 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\climits" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 12 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 29 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#line 71 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#line 78 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#line 79 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#line 84 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
#line 85 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits.h" | |
} __pragma(pack(pop)) | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\climits" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\climits" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cmath" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_malloc.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
#line 52 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_malloc.h" | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _calloc_base( | |
size_t _Count, | |
size_t _Size | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl calloc( | |
size_t _Count, | |
size_t _Size | |
); | |
int __cdecl _callnewh( | |
size_t _Size | |
); | |
__declspec(allocator) | |
void* __cdecl _expand( | |
void* _Block, | |
size_t _Size | |
); | |
void __cdecl _free_base( | |
void* _Block | |
); | |
void __cdecl free( | |
void* _Block | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _malloc_base( | |
size_t _Size | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl malloc( | |
size_t _Size | |
); | |
size_t __cdecl _msize( | |
void* _Block | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _realloc_base( | |
void* _Block, | |
size_t _Size | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl realloc( | |
void* _Block, | |
size_t _Size | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _recalloc( | |
void* _Block, | |
size_t _Count, | |
size_t _Size | |
); | |
void __cdecl _aligned_free( | |
void* _Block | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_malloc( | |
size_t _Size, | |
size_t _Alignment | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_offset_malloc( | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset | |
); | |
size_t __cdecl _aligned_msize( | |
void* _Block, | |
size_t _Alignment, | |
size_t _Offset | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_offset_realloc( | |
void* _Block, | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_offset_recalloc( | |
void* _Block, | |
size_t _Count, | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_realloc( | |
void* _Block, | |
size_t _Size, | |
size_t _Alignment | |
); | |
__declspec(allocator) __declspec(restrict) | |
void* __cdecl _aligned_recalloc( | |
void* _Block, | |
size_t _Count, | |
size_t _Size, | |
size_t _Alignment | |
); | |
#line 211 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_malloc.h" | |
} __pragma(pack(pop)) | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_search.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stddef.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
namespace std | |
{ | |
typedef decltype(__nullptr) nullptr_t; | |
} | |
using ::std::nullptr_t; | |
#line 25 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stddef.h" | |
int* __cdecl _errno(void); | |
errno_t __cdecl _set_errno( int _Value); | |
errno_t __cdecl _get_errno( int* _Value); | |
#line 42 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stddef.h" | |
#line 45 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stddef.h" | |
extern unsigned long __cdecl __threadid(void); | |
extern uintptr_t __cdecl __threadhandle(void); | |
} __pragma(pack(pop)) | |
#line 15 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_search.h" | |
__pragma(pack(push, 8)) extern "C" { | |
void* __cdecl bsearch_s( | |
void const* _Key, | |
void const* _Base, | |
rsize_t _NumOfElements, | |
rsize_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void*, void const*, void const*), | |
void* _Context | |
); | |
void __cdecl qsort_s( | |
void* _Base, | |
rsize_t _NumOfElements, | |
rsize_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void*, void const*, void const*), | |
void* _Context | |
); | |
#line 41 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_search.h" | |
void* __cdecl bsearch( | |
void const* _Key, | |
void const* _Base, | |
size_t _NumOfElements, | |
size_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
void __cdecl qsort( | |
void* _Base, | |
size_t _NumOfElements, | |
size_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
void* __cdecl _lfind_s( | |
void const* _Key, | |
void const* _Base, | |
unsigned int* _NumOfElements, | |
size_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void*, void const*, void const*), | |
void* _Context | |
); | |
void* __cdecl _lfind( | |
void const* _Key, | |
void const* _Base, | |
unsigned int* _NumOfElements, | |
unsigned int _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
void* __cdecl _lsearch_s( | |
void const* _Key, | |
void* _Base, | |
unsigned int* _NumOfElements, | |
size_t _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void*, void const*, void const*), | |
void* _Context | |
); | |
void* __cdecl _lsearch( | |
void const* _Key, | |
void* _Base, | |
unsigned int* _NumOfElements, | |
unsigned int _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
#line 179 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_search.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_lfind" ". See online help for details.")) | |
void* __cdecl lfind( | |
void const* _Key, | |
void const* _Base, | |
unsigned int* _NumOfElements, | |
unsigned int _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_lsearch" ". See online help for details.")) | |
void* __cdecl lsearch( | |
void const* _Key, | |
void* _Base, | |
unsigned int* _NumOfElements, | |
unsigned int _SizeOfElements, | |
int (__cdecl* _PtFuncCompare)(void const*, void const*) | |
); | |
#line 203 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_search.h" | |
} __pragma(pack(pop)) | |
#line 14 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
errno_t __cdecl _itow_s( | |
int _Value, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _itow_s( int _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _itow_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 61 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
wchar_t* __cdecl _itow( int _Value, wchar_t *_Buffer, int _Radix); | |
#line 68 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
errno_t __cdecl _ltow_s( | |
long _Value, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _ltow_s( long _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _ltow_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 84 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
wchar_t* __cdecl _ltow( long _Value, wchar_t *_Buffer, int _Radix); | |
#line 91 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
errno_t __cdecl _ultow_s( | |
unsigned long _Value, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _ultow_s( unsigned long _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _ultow_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 106 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
wchar_t* __cdecl _ultow( unsigned long _Value, wchar_t *_Buffer, int _Radix); | |
#line 113 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
double __cdecl wcstod( | |
wchar_t const* _String, | |
wchar_t** _EndPtr | |
); | |
double __cdecl _wcstod_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
_locale_t _Locale | |
); | |
long __cdecl wcstol( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
long __cdecl _wcstol_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
long long __cdecl wcstoll( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
long long __cdecl _wcstoll_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned long __cdecl wcstoul( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
unsigned long __cdecl _wcstoul_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned long long __cdecl wcstoull( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
unsigned long long __cdecl _wcstoull_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
long double __cdecl wcstold( | |
wchar_t const* _String, | |
wchar_t** _EndPtr | |
); | |
long double __cdecl _wcstold_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
_locale_t _Locale | |
); | |
float __cdecl wcstof( | |
wchar_t const* _String, | |
wchar_t** _EndPtr | |
); | |
float __cdecl _wcstof_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
_locale_t _Locale | |
); | |
double __cdecl _wtof( | |
wchar_t const* _String | |
); | |
double __cdecl _wtof_l( | |
wchar_t const* _String, | |
_locale_t _Locale | |
); | |
int __cdecl _wtoi( | |
wchar_t const* _String | |
); | |
int __cdecl _wtoi_l( | |
wchar_t const* _String, | |
_locale_t _Locale | |
); | |
long __cdecl _wtol( | |
wchar_t const* _String | |
); | |
long __cdecl _wtol_l( | |
wchar_t const* _String, | |
_locale_t _Locale | |
); | |
long long __cdecl _wtoll( | |
wchar_t const* _String | |
); | |
long long __cdecl _wtoll_l( | |
wchar_t const* _String, | |
_locale_t _Locale | |
); | |
errno_t __cdecl _i64tow_s( | |
__int64 _Value, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
wchar_t* __cdecl _i64tow( | |
__int64 _Value, | |
wchar_t* _Buffer, | |
int _Radix | |
); | |
errno_t __cdecl _ui64tow_s( | |
unsigned __int64 _Value, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
wchar_t* __cdecl _ui64tow( | |
unsigned __int64 _Value, | |
wchar_t* _Buffer, | |
int _Radix | |
); | |
__int64 __cdecl _wtoi64( | |
wchar_t const* _String | |
); | |
__int64 __cdecl _wtoi64_l( | |
wchar_t const* _String, | |
_locale_t _Locale | |
); | |
__int64 __cdecl _wcstoi64( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
__int64 __cdecl _wcstoi64_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned __int64 __cdecl _wcstoui64( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix | |
); | |
unsigned __int64 __cdecl _wcstoui64_l( | |
wchar_t const* _String, | |
wchar_t** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
__declspec(allocator) wchar_t* __cdecl _wfullpath( | |
wchar_t* _Buffer, | |
wchar_t const* _Path, | |
size_t _BufferCount | |
); | |
errno_t __cdecl _wmakepath_s( | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Drive, | |
wchar_t const* _Dir, | |
wchar_t const* _Filename, | |
wchar_t const* _Ext | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wmakepath_s(wchar_t (&_Buffer)[_Size], wchar_t const* _Drive, wchar_t const* _Dir, wchar_t const* _Filename, wchar_t const* _Ext) throw() { return _wmakepath_s(_Buffer, _Size, _Drive, _Dir, _Filename, _Ext); } } | |
#line 359 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
void __cdecl _wmakepath( wchar_t *_Buffer, wchar_t const* _Drive, wchar_t const* _Dir, wchar_t const* _Filename, wchar_t const* _Ext); | |
#line 368 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
void __cdecl _wperror( | |
wchar_t const* _ErrMsg | |
); | |
void __cdecl _wsplitpath( | |
wchar_t const* _FullPath, | |
wchar_t* _Drive, | |
wchar_t* _Dir, | |
wchar_t* _Filename, | |
wchar_t* _Ext | |
); | |
errno_t __cdecl _wsplitpath_s( | |
wchar_t const* _FullPath, | |
wchar_t* _Drive, | |
size_t _DriveCount, | |
wchar_t* _Dir, | |
size_t _DirCount, | |
wchar_t* _Filename, | |
size_t _FilenameCount, | |
wchar_t* _Ext, | |
size_t _ExtCount | |
); | |
extern "C++" { template <size_t _DriveSize, size_t _DirSize, size_t _NameSize, size_t _ExtSize> inline errno_t __cdecl _wsplitpath_s( wchar_t const* _Path, wchar_t (&_Drive)[_DriveSize], wchar_t (&_Dir)[_DirSize], wchar_t (&_Name)[_NameSize], wchar_t (&_Ext)[_ExtSize] ) throw() { return _wsplitpath_s(_Path, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } } | |
#line 398 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
errno_t __cdecl _wdupenv_s( | |
wchar_t** _Buffer, | |
size_t* _BufferCount, | |
wchar_t const* _VarName | |
); | |
wchar_t* __cdecl _wgetenv( | |
wchar_t const* _VarName | |
); | |
errno_t __cdecl _wgetenv_s( | |
size_t* _RequiredCount, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _VarName | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wgetenv_s( size_t* _RequiredCount, wchar_t (&_Buffer)[_Size], wchar_t const* _VarName) throw() { return _wgetenv_s(_RequiredCount, _Buffer, _Size, _VarName); } } | |
#line 436 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
int __cdecl _wputenv( | |
wchar_t const* _EnvString | |
); | |
errno_t __cdecl _wputenv_s( | |
wchar_t const* _Name, | |
wchar_t const* _Value | |
); | |
errno_t __cdecl _wsearchenv_s( | |
wchar_t const* _Filename, | |
wchar_t const* _VarName, | |
wchar_t* _Buffer, | |
size_t _BufferCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wsearchenv_s( wchar_t const* _Filename, wchar_t const* _VarName, wchar_t (&_ResultPath)[_Size]) throw() { return _wsearchenv_s(_Filename, _VarName, _ResultPath, _Size); } } | |
#line 461 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
void __cdecl _wsearchenv( wchar_t const* _Filename, wchar_t const* _VarName, wchar_t *_ResultPath); | |
#line 468 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
int __cdecl _wsystem( | |
wchar_t const* _Command | |
); | |
#line 474 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h" | |
} __pragma(pack(pop)) | |
#line 15 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 24 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
void __cdecl _swab( | |
char* _Buf1, | |
char* _Buf2, | |
int _SizeInBytes | |
); | |
__declspec(noreturn) void __cdecl exit( int _Code); | |
__declspec(noreturn) void __cdecl _exit( int _Code); | |
__declspec(noreturn) void __cdecl _Exit( int _Code); | |
__declspec(noreturn) void __cdecl quick_exit( int _Code); | |
__declspec(noreturn) void __cdecl abort(void); | |
unsigned int __cdecl _set_abort_behavior( | |
unsigned int _Flags, | |
unsigned int _Mask | |
); | |
typedef int (__cdecl* _onexit_t)(void); | |
#line 73 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 82 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl atexit(void (__cdecl*)(void)); | |
_onexit_t __cdecl _onexit( _onexit_t _Func); | |
#line 142 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl at_quick_exit(void (__cdecl*)(void)); | |
typedef void (__cdecl* _purecall_handler)(void); | |
typedef void (__cdecl* _invalid_parameter_handler)( | |
wchar_t const*, | |
wchar_t const*, | |
wchar_t const*, | |
unsigned int, | |
uintptr_t | |
); | |
_purecall_handler __cdecl _set_purecall_handler( | |
_purecall_handler _Handler | |
); | |
_purecall_handler __cdecl _get_purecall_handler(void); | |
_invalid_parameter_handler __cdecl _set_invalid_parameter_handler( | |
_invalid_parameter_handler _Handler | |
); | |
_invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void); | |
_invalid_parameter_handler __cdecl _set_thread_local_invalid_parameter_handler( | |
_invalid_parameter_handler _Handler | |
); | |
_invalid_parameter_handler __cdecl _get_thread_local_invalid_parameter_handler(void); | |
#line 185 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 198 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl _set_error_mode( int _Mode); | |
int* __cdecl _errno(void); | |
errno_t __cdecl _set_errno( int _Value); | |
errno_t __cdecl _get_errno( int* _Value); | |
unsigned long* __cdecl __doserrno(void); | |
errno_t __cdecl _set_doserrno( unsigned long _Value); | |
errno_t __cdecl _get_doserrno( unsigned long * _Value); | |
char** __cdecl __sys_errlist(void); | |
int * __cdecl __sys_nerr(void); | |
void __cdecl perror( char const* _ErrMsg); | |
char** __cdecl __p__pgmptr (void); | |
wchar_t** __cdecl __p__wpgmptr(void); | |
int* __cdecl __p__fmode (void); | |
#line 248 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _get_pgmptr ( char** _Value); | |
errno_t __cdecl _get_wpgmptr( wchar_t** _Value); | |
errno_t __cdecl _set_fmode ( int _Mode ); | |
errno_t __cdecl _get_fmode ( int* _PMode); | |
typedef struct _div_t | |
{ | |
int quot; | |
int rem; | |
} div_t; | |
typedef struct _ldiv_t | |
{ | |
long quot; | |
long rem; | |
} ldiv_t; | |
typedef struct _lldiv_t | |
{ | |
long long quot; | |
long long rem; | |
} lldiv_t; | |
int __cdecl abs ( int _Number); | |
long __cdecl labs ( long _Number); | |
long long __cdecl llabs ( long long _Number); | |
__int64 __cdecl _abs64( __int64 _Number); | |
unsigned short __cdecl _byteswap_ushort( unsigned short _Number); | |
unsigned long __cdecl _byteswap_ulong ( unsigned long _Number); | |
unsigned __int64 __cdecl _byteswap_uint64( unsigned __int64 _Number); | |
div_t __cdecl div ( int _Numerator, int _Denominator); | |
ldiv_t __cdecl ldiv ( long _Numerator, long _Denominator); | |
lldiv_t __cdecl lldiv( long long _Numerator, long long _Denominator); | |
#pragma warning (push) | |
#pragma warning (disable:6540) | |
unsigned int __cdecl _rotl( | |
unsigned int _Value, | |
int _Shift | |
); | |
unsigned long __cdecl _lrotl( | |
unsigned long _Value, | |
int _Shift | |
); | |
unsigned __int64 __cdecl _rotl64( | |
unsigned __int64 _Value, | |
int _Shift | |
); | |
unsigned int __cdecl _rotr( | |
unsigned int _Value, | |
int _Shift | |
); | |
unsigned long __cdecl _lrotr( | |
unsigned long _Value, | |
int _Shift | |
); | |
unsigned __int64 __cdecl _rotr64( | |
unsigned __int64 _Value, | |
int _Shift | |
); | |
#pragma warning (pop) | |
void __cdecl srand( unsigned int _Seed); | |
int __cdecl rand(void); | |
#line 348 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
extern "C++" | |
{ | |
inline long abs(long const _X) throw() | |
{ | |
return labs(_X); | |
} | |
inline long long abs(long long const _X) throw() | |
{ | |
return llabs(_X); | |
} | |
inline ldiv_t div(long const _A1, long const _A2) throw() | |
{ | |
return ldiv(_A1, _A2); | |
} | |
inline lldiv_t div(long long const _A1, long long const _A2) throw() | |
{ | |
return lldiv(_A1, _A2); | |
} | |
} | |
#line 375 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#pragma pack(push, 4) | |
typedef struct | |
{ | |
unsigned char ld[10]; | |
} _LDOUBLE; | |
#pragma pack(pop) | |
#line 405 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
typedef struct | |
{ | |
double x; | |
} _CRT_DOUBLE; | |
typedef struct | |
{ | |
float f; | |
} _CRT_FLOAT; | |
typedef struct | |
{ | |
long double x; | |
} _LONGDOUBLE; | |
#pragma pack(push, 4) | |
typedef struct | |
{ | |
unsigned char ld12[12]; | |
} _LDBL12; | |
#pragma pack(pop) | |
double __cdecl atof ( char const* _String); | |
int __cdecl atoi ( char const* _String); | |
long __cdecl atol ( char const* _String); | |
long long __cdecl atoll ( char const* _String); | |
__int64 __cdecl _atoi64( char const* _String); | |
double __cdecl _atof_l ( char const* _String, _locale_t _Locale); | |
int __cdecl _atoi_l ( char const* _String, _locale_t _Locale); | |
long __cdecl _atol_l ( char const* _String, _locale_t _Locale); | |
long long __cdecl _atoll_l ( char const* _String, _locale_t _Locale); | |
__int64 __cdecl _atoi64_l( char const* _String, _locale_t _Locale); | |
int __cdecl _atoflt ( _CRT_FLOAT* _Result, char const* _String); | |
int __cdecl _atodbl ( _CRT_DOUBLE* _Result, char* _String); | |
int __cdecl _atoldbl( _LDOUBLE* _Result, char* _String); | |
int __cdecl _atoflt_l( | |
_CRT_FLOAT* _Result, | |
char const* _String, | |
_locale_t _Locale | |
); | |
int __cdecl _atodbl_l( | |
_CRT_DOUBLE* _Result, | |
char* _String, | |
_locale_t _Locale | |
); | |
int __cdecl _atoldbl_l( | |
_LDOUBLE* _Result, | |
char* _String, | |
_locale_t _Locale | |
); | |
float __cdecl strtof( | |
char const* _String, | |
char** _EndPtr | |
); | |
float __cdecl _strtof_l( | |
char const* _String, | |
char** _EndPtr, | |
_locale_t _Locale | |
); | |
double __cdecl strtod( | |
char const* _String, | |
char** _EndPtr | |
); | |
double __cdecl _strtod_l( | |
char const* _String, | |
char** _EndPtr, | |
_locale_t _Locale | |
); | |
long double __cdecl strtold( | |
char const* _String, | |
char** _EndPtr | |
); | |
long double __cdecl _strtold_l( | |
char const* _String, | |
char** _EndPtr, | |
_locale_t _Locale | |
); | |
long __cdecl strtol( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
long __cdecl _strtol_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
long long __cdecl strtoll( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
long long __cdecl _strtoll_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned long __cdecl strtoul( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
unsigned long __cdecl _strtoul_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned long long __cdecl strtoull( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
unsigned long long __cdecl _strtoull_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
__int64 __cdecl _strtoi64( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
__int64 __cdecl _strtoi64_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
unsigned __int64 __cdecl _strtoui64( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix | |
); | |
unsigned __int64 __cdecl _strtoui64_l( | |
char const* _String, | |
char** _EndPtr, | |
int _Radix, | |
_locale_t _Locale | |
); | |
errno_t __cdecl _itoa_s( | |
int _Value, | |
char* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _itoa_s( int _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _itoa_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 631 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _itoa( int _Value, char *_Buffer, int _Radix); | |
#line 638 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _ltoa_s( | |
long _Value, | |
char* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _ltoa_s( long _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _ltoa_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 654 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _ltoa( long _Value, char *_Buffer, int _Radix); | |
#line 661 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _ultoa_s( | |
unsigned long _Value, | |
char* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _ultoa_s( unsigned long _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _ultoa_s(_Value, _Buffer, _Size, _Radix); } } | |
#line 677 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _ultoa( unsigned long _Value, char *_Buffer, int _Radix); | |
#line 684 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _i64toa_s( | |
__int64 _Value, | |
char* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
char* __cdecl _i64toa( | |
__int64 _Value, | |
char* _Buffer, | |
int _Radix | |
); | |
errno_t __cdecl _ui64toa_s( | |
unsigned __int64 _Value, | |
char* _Buffer, | |
size_t _BufferCount, | |
int _Radix | |
); | |
char* __cdecl _ui64toa( | |
unsigned __int64 _Value, | |
char* _Buffer, | |
int _Radix | |
); | |
errno_t __cdecl _ecvt_s( | |
char* _Buffer, | |
size_t _BufferCount, | |
double _Value, | |
int _DigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _ecvt_s(char (&_Buffer)[_Size], double _Value, int _DigitCount, int* _PtDec, int* _PtSign) throw() { return _ecvt_s(_Buffer, _Size, _Value, _DigitCount, _PtDec, _PtSign); } } | |
#line 749 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _ecvt( | |
double _Value, | |
int _DigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
errno_t __cdecl _fcvt_s( | |
char* _Buffer, | |
size_t _BufferCount, | |
double _Value, | |
int _FractionalDigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _fcvt_s(char (&_Buffer)[_Size], double _Value, int _FractionalDigitCount, int* _PtDec, int* _PtSign) throw() { return _fcvt_s(_Buffer, _Size, _Value, _FractionalDigitCount, _PtDec, _PtSign); } } | |
#line 778 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _fcvt( | |
double _Value, | |
int _FractionalDigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
errno_t __cdecl _gcvt_s( | |
char* _Buffer, | |
size_t _BufferCount, | |
double _Value, | |
int _DigitCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _gcvt_s(char (&_Buffer)[_Size], double _Value, int _DigitCount) throw() { return _gcvt_s(_Buffer, _Size, _Value, _DigitCount); } } | |
#line 803 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl _gcvt( | |
double _Value, | |
int _DigitCount, | |
char* _Buffer | |
); | |
#line 824 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 826 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 832 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl ___mb_cur_max_func(void); | |
int __cdecl ___mb_cur_max_l_func(_locale_t); | |
#line 839 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl mblen( | |
char const* _Ch, | |
size_t _MaxCount | |
); | |
int __cdecl _mblen_l( | |
char const* _Ch, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
size_t __cdecl _mbstrlen( | |
char const* _String | |
); | |
size_t __cdecl _mbstrlen_l( | |
char const* _String, | |
_locale_t _Locale | |
); | |
size_t __cdecl _mbstrnlen( | |
char const* _String, | |
size_t _MaxCount | |
); | |
size_t __cdecl _mbstrnlen_l( | |
char const* _String, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
int __cdecl mbtowc( | |
wchar_t* _DstCh, | |
char const* _SrcCh, | |
size_t _SrcSizeInBytes | |
); | |
int __cdecl _mbtowc_l( | |
wchar_t* _DstCh, | |
char const* _SrcCh, | |
size_t _SrcSizeInBytes, | |
_locale_t _Locale | |
); | |
errno_t __cdecl mbstowcs_s( | |
size_t* _PtNumOfCharConverted, | |
wchar_t* _DstBuf, | |
size_t _SizeInWords, | |
char const* _SrcBuf, | |
size_t _MaxCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl mbstowcs_s( size_t* _PtNumOfCharConverted, wchar_t (&_Dest)[_Size], char const* _Source, size_t _MaxCount) throw() { return mbstowcs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } } | |
#line 914 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
size_t __cdecl mbstowcs( wchar_t *_Dest, char const* _Source, size_t _MaxCount); | |
#line 921 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _mbstowcs_s_l( | |
size_t* _PtNumOfCharConverted, | |
wchar_t* _DstBuf, | |
size_t _SizeInWords, | |
char const* _SrcBuf, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbstowcs_s_l( size_t* _PtNumOfCharConverted, wchar_t (&_Dest)[_Size], char const* _Source, size_t _MaxCount, _locale_t _Locale) throw() { return _mbstowcs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } } | |
#line 940 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
size_t __cdecl _mbstowcs_l( wchar_t *_Dest, char const* _Source, size_t _MaxCount, _locale_t _Locale); | |
#line 949 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl wctomb( | |
char* _MbCh, | |
wchar_t _WCh | |
); | |
int __cdecl _wctomb_l( | |
char* _MbCh, | |
wchar_t _WCh, | |
_locale_t _Locale | |
); | |
errno_t __cdecl wctomb_s( | |
int* _SizeConverted, | |
char* _MbCh, | |
rsize_t _SizeInBytes, | |
wchar_t _WCh | |
); | |
#line 977 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _wctomb_s_l( | |
int* _SizeConverted, | |
char* _MbCh, | |
size_t _SizeInBytes, | |
wchar_t _WCh, | |
_locale_t _Locale); | |
errno_t __cdecl wcstombs_s( | |
size_t* _PtNumOfCharConverted, | |
char* _Dst, | |
size_t _DstSizeInBytes, | |
wchar_t const* _Src, | |
size_t _MaxCountInBytes | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcstombs_s( size_t* _PtNumOfCharConverted, char (&_Dest)[_Size], wchar_t const* _Source, size_t _MaxCount) throw() { return wcstombs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } } | |
#line 1002 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
size_t __cdecl wcstombs( char *_Dest, wchar_t const* _Source, size_t _MaxCount); | |
#line 1009 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _wcstombs_s_l( | |
size_t* _PtNumOfCharConverted, | |
char* _Dst, | |
size_t _DstSizeInBytes, | |
wchar_t const* _Src, | |
size_t _MaxCountInBytes, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcstombs_s_l( size_t* _PtNumOfCharConverted, char (&_Dest)[_Size], wchar_t const* _Source, size_t _MaxCount, _locale_t _Locale) throw() { return _wcstombs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } } | |
#line 1028 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
size_t __cdecl _wcstombs_l( char *_Dest, wchar_t const* _Source, size_t _MaxCount, _locale_t _Locale); | |
#line 1037 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
__declspec(allocator) char* __cdecl _fullpath( | |
char* _Buffer, | |
char const* _Path, | |
size_t _BufferCount | |
); | |
errno_t __cdecl _makepath_s( | |
char* _Buffer, | |
size_t _BufferCount, | |
char const* _Drive, | |
char const* _Dir, | |
char const* _Filename, | |
char const* _Ext | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _makepath_s(char (&_Buffer)[_Size], char const* _Drive, char const* _Dir, char const* _Filename, char const* _Ext) throw() { return _makepath_s(_Buffer, _Size, _Drive, _Dir, _Filename, _Ext); } } | |
#line 1085 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
void __cdecl _makepath( char *_Buffer, char const* _Drive, char const* _Dir, char const* _Filename, char const* _Ext); | |
#line 1094 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
void __cdecl _splitpath( | |
char const* _FullPath, | |
char* _Drive, | |
char* _Dir, | |
char* _Filename, | |
char* _Ext | |
); | |
errno_t __cdecl _splitpath_s( | |
char const* _FullPath, | |
char* _Drive, | |
size_t _DriveCount, | |
char* _Dir, | |
size_t _DirCount, | |
char* _Filename, | |
size_t _FilenameCount, | |
char* _Ext, | |
size_t _ExtCount | |
); | |
extern "C++" { template <size_t _DriveSize, size_t _DirSize, size_t _NameSize, size_t _ExtSize> inline errno_t __cdecl _splitpath_s( char const* _Dest, char (&_Drive)[_DriveSize], char (&_Dir)[_DirSize], char (&_Name)[_NameSize], char (&_Ext)[_ExtSize] ) throw() { return _splitpath_s(_Dest, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } } | |
errno_t __cdecl getenv_s( | |
size_t* _RequiredCount, | |
char* _Buffer, | |
rsize_t _BufferCount, | |
char const* _VarName | |
); | |
#line 1140 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int* __cdecl __p___argc (void); | |
char*** __cdecl __p___argv (void); | |
wchar_t*** __cdecl __p___wargv(void); | |
#line 1157 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char*** __cdecl __p__environ (void); | |
wchar_t*** __cdecl __p__wenviron(void); | |
#line 1164 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 1174 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
char* __cdecl getenv( | |
char const* _VarName | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl getenv_s( size_t* _RequiredCount, char (&_Buffer)[_Size], char const* _VarName) throw() { return getenv_s(_RequiredCount, _Buffer, _Size, _VarName); } } | |
#line 1193 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#line 1198 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
errno_t __cdecl _dupenv_s( | |
char** _Buffer, | |
size_t* _BufferCount, | |
char const* _VarName | |
); | |
#line 1209 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
int __cdecl system( | |
char const* _Command | |
); | |
#pragma warning (push) | |
#pragma warning (disable:6540) | |
int __cdecl _putenv( | |
char const* _EnvString | |
); | |
errno_t __cdecl _putenv_s( | |
char const* _Name, | |
char const* _Value | |
); | |
#pragma warning (pop) | |
errno_t __cdecl _searchenv_s( | |
char const* _Filename, | |
char const* _VarName, | |
char* _Buffer, | |
size_t _BufferCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _searchenv_s( char const* _Filename, char const* _VarName, char (&_Buffer)[_Size]) throw() { return _searchenv_s(_Filename, _VarName, _Buffer, _Size); } } | |
#line 1245 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
void __cdecl _searchenv( char const* _Filename, char const* _VarName, char *_Buffer); | |
#line 1252 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
__declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "SetErrorMode" " " "instead. See online help for details.")) | |
void __cdecl _seterrormode( | |
int _Mode | |
); | |
__declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "Beep" " " "instead. See online help for details.")) | |
void __cdecl _beep( | |
unsigned _Frequency, | |
unsigned _Duration | |
); | |
__declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "Sleep" " " "instead. See online help for details.")) | |
void __cdecl _sleep( | |
unsigned long _Duration | |
); | |
#line 1271 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4141) | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ecvt" ". See online help for details.")) | |
char* __cdecl ecvt( | |
double _Value, | |
int _DigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcvt" ". See online help for details.")) | |
char* __cdecl fcvt( | |
double _Value, | |
int _FractionalDigitCount, | |
int* _PtDec, | |
int* _PtSign | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_gcvt" ". See online help for details.")) | |
char* __cdecl gcvt( | |
double _Value, | |
int _DigitCount, | |
char* _DstBuf | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_itoa" ". See online help for details.")) | |
char* __cdecl itoa( | |
int _Value, | |
char* _Buffer, | |
int _Radix | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ltoa" ". See online help for details.")) | |
char* __cdecl ltoa( | |
long _Value, | |
char* _Buffer, | |
int _Radix | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_swab" ". See online help for details.")) | |
void __cdecl swab( | |
char* _Buf1, | |
char* _Buf2, | |
int _SizeInBytes | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ultoa" ". See online help for details.")) | |
char* __cdecl ultoa( | |
unsigned long _Value, | |
char* _Buffer, | |
int _Radix | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putenv" ". See online help for details.")) | |
int __cdecl putenv( | |
char const* _EnvString | |
); | |
#line 1354 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
#pragma warning(pop) | |
_onexit_t __cdecl onexit( _onexit_t _Func); | |
#line 1360 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdlib.h" | |
} __pragma(pack(pop)) | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#pragma warning(push) | |
#pragma warning(disable:4738) | |
#pragma warning(disable:4820) | |
#line 21 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
struct _exception | |
{ | |
int type; | |
char* name; | |
double arg1; | |
double arg2; | |
double retval; | |
}; | |
struct _complex | |
{ | |
double x, y; | |
}; | |
#line 49 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 50 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 51 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
typedef float float_t; | |
typedef double double_t; | |
extern double const _HUGE; | |
#line 72 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 73 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 77 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
void __cdecl _fperrraise( int _Except); | |
short __cdecl _dclass( double _X); | |
short __cdecl _ldclass( long double _X); | |
short __cdecl _fdclass( float _X); | |
int __cdecl _dsign( double _X); | |
int __cdecl _ldsign( long double _X); | |
int __cdecl _fdsign( float _X); | |
int __cdecl _dpcomp( double _X, double _Y); | |
int __cdecl _ldpcomp( long double _X, long double _Y); | |
int __cdecl _fdpcomp( float _X, float _Y); | |
short __cdecl _dtest( double* _Px); | |
short __cdecl _ldtest( long double* _Px); | |
short __cdecl _fdtest( float* _Px); | |
short __cdecl _d_int( double* _Px, short _Xexp); | |
short __cdecl _ld_int( long double* _Px, short _Xexp); | |
short __cdecl _fd_int( float* _Px, short _Xexp); | |
short __cdecl _dscale( double* _Px, long _Lexp); | |
short __cdecl _ldscale( long double* _Px, long _Lexp); | |
short __cdecl _fdscale( float* _Px, long _Lexp); | |
short __cdecl _dunscale( short* _Pex, double* _Px); | |
short __cdecl _ldunscale( short* _Pex, long double* _Px); | |
short __cdecl _fdunscale( short* _Pex, float* _Px); | |
short __cdecl _dexp( double* _Px, double _Y, long _Eoff); | |
short __cdecl _ldexp( long double* _Px, long double _Y, long _Eoff); | |
short __cdecl _fdexp( float* _Px, float _Y, long _Eoff); | |
short __cdecl _dnorm( unsigned short* _Ps); | |
short __cdecl _fdnorm( unsigned short* _Ps); | |
double __cdecl _dpoly( double _X, double const* _Tab, int _N); | |
long double __cdecl _ldpoly( long double _X, long double const* _Tab, int _N); | |
float __cdecl _fdpoly( float _X, float const* _Tab, int _N); | |
double __cdecl _dlog( double _X, int _Baseflag); | |
long double __cdecl _ldlog( long double _X, int _Baseflag); | |
float __cdecl _fdlog( float _X, int _Baseflag); | |
double __cdecl _dsin( double _X, unsigned int _Qoff); | |
long double __cdecl _ldsin( long double _X, unsigned int _Qoff); | |
float __cdecl _fdsin( float _X, unsigned int _Qoff); | |
typedef union | |
{ | |
unsigned short _Sh[4]; | |
double _Val; | |
} _double_val; | |
typedef union | |
{ | |
unsigned short _Sh[2]; | |
float _Val; | |
} _float_val; | |
typedef union | |
{ | |
unsigned short _Sh[4]; | |
long double _Val; | |
} _ldouble_val; | |
typedef union | |
{ | |
unsigned short _Word[4]; | |
float _Float; | |
double _Double; | |
long double _Long_double; | |
} _float_const; | |
extern const _float_const _Denorm_C, _Inf_C, _Nan_C, _Snan_C, _Hugeval_C; | |
extern const _float_const _FDenorm_C, _FInf_C, _FNan_C, _FSnan_C; | |
extern const _float_const _LDenorm_C, _LInf_C, _LNan_C, _LSnan_C; | |
extern const _float_const _Eps_C, _Rteps_C; | |
extern const _float_const _FEps_C, _FRteps_C; | |
extern const _float_const _LEps_C, _LRteps_C; | |
extern const double _Zero_C, _Xbig_C; | |
extern const float _FZero_C, _FXbig_C; | |
extern const long double _LZero_C, _LXbig_C; | |
extern "C++" | |
{ | |
inline int fpclassify( float _X) throw() | |
{ | |
return _fdtest(&_X); | |
} | |
inline int fpclassify( double _X) throw() | |
{ | |
return _dtest(&_X); | |
} | |
inline int fpclassify( long double _X) throw() | |
{ | |
return _ldtest(&_X); | |
} | |
inline bool signbit( float _X) throw() | |
{ | |
return _fdsign(_X) != 0; | |
} | |
inline bool signbit( double _X) throw() | |
{ | |
return _dsign(_X) != 0; | |
} | |
inline bool signbit( long double _X) throw() | |
{ | |
return _ldsign(_X) != 0; | |
} | |
inline int _fpcomp( float _X, float _Y) throw() | |
{ | |
return _fdpcomp(_X, _Y); | |
} | |
inline int _fpcomp( double _X, double _Y) throw() | |
{ | |
return _dpcomp(_X, _Y); | |
} | |
inline int _fpcomp( long double _X, long double _Y) throw() | |
{ | |
return _ldpcomp(_X, _Y); | |
} | |
template <class _Trc, class _Tre> struct _Combined_type | |
{ | |
typedef float _Type; | |
}; | |
template <> struct _Combined_type<float, double> | |
{ | |
typedef double _Type; | |
}; | |
template <> struct _Combined_type<float, long double> | |
{ | |
typedef long double _Type; | |
}; | |
template <class _Ty, class _T2> struct _Real_widened | |
{ | |
typedef long double _Type; | |
}; | |
template <> struct _Real_widened<float, float> | |
{ | |
typedef float _Type; | |
}; | |
template <> struct _Real_widened<float, double> | |
{ | |
typedef double _Type; | |
}; | |
template <> struct _Real_widened<double, float> | |
{ | |
typedef double _Type; | |
}; | |
template <> struct _Real_widened<double, double> | |
{ | |
typedef double _Type; | |
}; | |
template <class _Ty> struct _Real_type | |
{ | |
typedef double _Type; | |
}; | |
template <> struct _Real_type<float> | |
{ | |
typedef float _Type; | |
}; | |
template <> struct _Real_type<long double> | |
{ | |
typedef long double _Type; | |
}; | |
template <class _T1, class _T2> | |
inline int _fpcomp( _T1 _X, _T2 _Y) throw() | |
{ | |
typedef typename _Combined_type<float, | |
typename _Real_widened< | |
typename _Real_type<_T1>::_Type, | |
typename _Real_type<_T2>::_Type>::_Type>::_Type _Tw; | |
return _fpcomp((_Tw)_X, (_Tw)_Y); | |
} | |
template <class _Ty> | |
inline bool isfinite( _Ty _X) throw() | |
{ | |
return fpclassify(_X) <= 0; | |
} | |
template <class _Ty> | |
inline bool isinf( _Ty _X) throw() | |
{ | |
return fpclassify(_X) == 1; | |
} | |
template <class _Ty> | |
inline bool isnan( _Ty _X) throw() | |
{ | |
return fpclassify(_X) == 2; | |
} | |
template <class _Ty> | |
inline bool isnormal( _Ty _X) throw() | |
{ | |
return fpclassify(_X) == (-1); | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool isgreater( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return (_fpcomp(_X, _Y) & 4) != 0; | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool isgreaterequal( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return (_fpcomp(_X, _Y) & (2 | 4)) != 0; | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool isless( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return (_fpcomp(_X, _Y) & 1) != 0; | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool islessequal( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return (_fpcomp(_X, _Y) & (1 | 2)) != 0; | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool islessgreater( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return (_fpcomp(_X, _Y) & (1 | 4)) != 0; | |
} | |
template <class _Ty1, class _Ty2> | |
inline bool isunordered( _Ty1 _X, _Ty2 _Y) throw() | |
{ | |
return _fpcomp(_X, _Y) == 0; | |
} | |
} | |
#line 449 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
int __cdecl abs( int _X); | |
long __cdecl labs( long _X); | |
long long __cdecl llabs( long long _X); | |
double __cdecl acos( double _X); | |
double __cdecl asin( double _X); | |
double __cdecl atan( double _X); | |
double __cdecl atan2( double _Y, double _X); | |
double __cdecl cos( double _X); | |
double __cdecl cosh( double _X); | |
double __cdecl exp( double _X); | |
double __cdecl fabs( double _X); | |
double __cdecl fmod( double _X, double _Y); | |
double __cdecl log( double _X); | |
double __cdecl log10( double _X); | |
double __cdecl pow( double _X, double _Y); | |
double __cdecl sin( double _X); | |
double __cdecl sinh( double _X); | |
double __cdecl sqrt( double _X); | |
double __cdecl tan( double _X); | |
double __cdecl tanh( double _X); | |
double __cdecl acosh( double _X); | |
double __cdecl asinh( double _X); | |
double __cdecl atanh( double _X); | |
double __cdecl atof( char const* _String); | |
double __cdecl _atof_l( char const* _String, _locale_t _Locale); | |
double __cdecl _cabs( struct _complex _Complex_value); | |
double __cdecl cbrt( double _X); | |
double __cdecl ceil( double _X); | |
double __cdecl _chgsign( double _X); | |
double __cdecl copysign( double _Number, double _Sign); | |
double __cdecl _copysign( double _Number, double _Sign); | |
double __cdecl erf( double _X); | |
double __cdecl erfc( double _X); | |
double __cdecl exp2( double _X); | |
double __cdecl expm1( double _X); | |
double __cdecl fdim( double _X, double _Y); | |
double __cdecl floor( double _X); | |
double __cdecl fma( double _X, double _Y, double _Z); | |
double __cdecl fmax( double _X, double _Y); | |
double __cdecl fmin( double _X, double _Y); | |
double __cdecl frexp( double _X, int* _Y); | |
double __cdecl hypot( double _X, double _Y); | |
double __cdecl _hypot( double _X, double _Y); | |
int __cdecl ilogb( double _X); | |
double __cdecl ldexp( double _X, int _Y); | |
double __cdecl lgamma( double _X); | |
long long __cdecl llrint( double _X); | |
long long __cdecl llround( double _X); | |
double __cdecl log1p( double _X); | |
double __cdecl log2( double _X); | |
double __cdecl logb( double _X); | |
long __cdecl lrint( double _X); | |
long __cdecl lround( double _X); | |
int __cdecl _matherr( struct _exception* _Except); | |
double __cdecl modf( double _X, double* _Y); | |
double __cdecl nan( char const*); | |
double __cdecl nearbyint( double _X); | |
double __cdecl nextafter( double _X, double _Y); | |
double __cdecl nexttoward( double _X, long double _Y); | |
double __cdecl remainder( double _X, double _Y); | |
double __cdecl remquo( double _X, double _Y, int* _Z); | |
double __cdecl rint( double _X); | |
double __cdecl round( double _X); | |
double __cdecl scalbln( double _X, long _Y); | |
double __cdecl scalbn( double _X, int _Y); | |
double __cdecl tgamma( double _X); | |
double __cdecl trunc( double _X); | |
double __cdecl _j0( double _X ); | |
double __cdecl _j1( double _X ); | |
double __cdecl _jn(int _X, double _Y); | |
double __cdecl _y0( double _X); | |
double __cdecl _y1( double _X); | |
double __cdecl _yn( int _X, double _Y); | |
float __cdecl acoshf( float _X); | |
float __cdecl asinhf( float _X); | |
float __cdecl atanhf( float _X); | |
float __cdecl cbrtf( float _X); | |
float __cdecl _chgsignf( float _X); | |
float __cdecl copysignf( float _Number, float _Sign); | |
float __cdecl _copysignf( float _Number, float _Sign); | |
float __cdecl erff( float _X); | |
float __cdecl erfcf( float _X); | |
float __cdecl expm1f( float _X); | |
float __cdecl exp2f( float _X); | |
float __cdecl fdimf( float _X, float _Y); | |
float __cdecl fmaf( float _X, float _Y, float _Z); | |
float __cdecl fmaxf( float _X, float _Y); | |
float __cdecl fminf( float _X, float _Y); | |
float __cdecl _hypotf( float _X, float _Y); | |
int __cdecl ilogbf( float _X); | |
float __cdecl lgammaf( float _X); | |
long long __cdecl llrintf( float _X); | |
long long __cdecl llroundf( float _X); | |
float __cdecl log1pf( float _X); | |
float __cdecl log2f( float _X); | |
float __cdecl logbf( float _X); | |
long __cdecl lrintf( float _X); | |
long __cdecl lroundf( float _X); | |
float __cdecl nanf( char const*); | |
float __cdecl nearbyintf( float _X); | |
float __cdecl nextafterf( float _X, float _Y); | |
float __cdecl nexttowardf( float _X, long double _Y); | |
float __cdecl remainderf( float _X, float _Y); | |
float __cdecl remquof( float _X, float _Y, int* _Z); | |
float __cdecl rintf( float _X); | |
float __cdecl roundf( float _X); | |
float __cdecl scalblnf( float _X, long _Y); | |
float __cdecl scalbnf( float _X, int _Y); | |
float __cdecl tgammaf( float _X); | |
float __cdecl truncf( float _X); | |
int __cdecl _set_SSE2_enable( int _Flag); | |
#line 592 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 607 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__inline float __cdecl acosf( float _X) | |
{ | |
return (float)acos(_X); | |
} | |
__inline float __cdecl asinf( float _X) | |
{ | |
return (float)asin(_X); | |
} | |
__inline float __cdecl atan2f( float _Y, float _X) | |
{ | |
return (float)atan2(_Y, _X); | |
} | |
__inline float __cdecl atanf( float _X) | |
{ | |
return (float)atan(_X); | |
} | |
__inline float __cdecl ceilf( float _X) | |
{ | |
return (float)ceil(_X); | |
} | |
__inline float __cdecl cosf( float _X) | |
{ | |
return (float)cos(_X); | |
} | |
__inline float __cdecl coshf( float _X) | |
{ | |
return (float)cosh(_X); | |
} | |
__inline float __cdecl expf( float _X) | |
{ | |
return (float)exp(_X); | |
} | |
#line 649 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 655 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__inline float __cdecl fabsf( float _X) | |
{ | |
return (float)fabs(_X); | |
} | |
#line 662 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 669 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__inline float __cdecl floorf( float _X) | |
{ | |
return (float)floor(_X); | |
} | |
__inline float __cdecl fmodf( float _X, float _Y) | |
{ | |
return (float)fmod(_X, _Y); | |
} | |
#line 681 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__inline float __cdecl frexpf( float _X, int *_Y) | |
{ | |
return (float)frexp(_X, _Y); | |
} | |
__inline float __cdecl hypotf( float _X, float _Y) | |
{ | |
return _hypotf(_X, _Y); | |
} | |
__inline float __cdecl ldexpf( float _X, int _Y) | |
{ | |
return (float)ldexp(_X, _Y); | |
} | |
#line 710 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__inline float __cdecl log10f( float _X) | |
{ | |
return (float)log10(_X); | |
} | |
__inline float __cdecl logf( float _X) | |
{ | |
return (float)log(_X); | |
} | |
__inline float __cdecl modff( float _X, float* _Y) | |
{ | |
double _F, _I; | |
_F = modf(_X, &_I); | |
*_Y = (float)_I; | |
return (float)_F; | |
} | |
__inline float __cdecl powf( float _X, float _Y) | |
{ | |
return (float)pow(_X, _Y); | |
} | |
__inline float __cdecl sinf( float _X) | |
{ | |
return (float)sin(_X); | |
} | |
__inline float __cdecl sinhf( float _X) | |
{ | |
return (float)sinh(_X); | |
} | |
__inline float __cdecl sqrtf( float _X) | |
{ | |
return (float)sqrt(_X); | |
} | |
__inline float __cdecl tanf( float _X) | |
{ | |
return (float)tan(_X); | |
} | |
__inline float __cdecl tanhf( float _X) | |
{ | |
return (float)tanh(_X); | |
} | |
#line 760 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
long double __cdecl acoshl( long double _X); | |
__inline long double __cdecl acosl( long double _X) | |
{ | |
return acos((double)_X); | |
} | |
long double __cdecl asinhl( long double _X); | |
__inline long double __cdecl asinl( long double _X) | |
{ | |
return asin((double)_X); | |
} | |
__inline long double __cdecl atan2l( long double _Y, long double _X) | |
{ | |
return atan2((double)_Y, (double)_X); | |
} | |
long double __cdecl atanhl( long double _X); | |
__inline long double __cdecl atanl( long double _X) | |
{ | |
return atan((double)_X); | |
} | |
long double __cdecl cbrtl( long double _X); | |
__inline long double __cdecl ceill( long double _X) | |
{ | |
return ceil((double)_X); | |
} | |
__inline long double __cdecl _chgsignl( long double _X) | |
{ | |
return _chgsign((double)_X); | |
} | |
long double __cdecl copysignl( long double _Number, long double _Sign); | |
__inline long double __cdecl _copysignl( long double _Number, long double _Sign) | |
{ | |
return _copysign((double)_Number, (double)_Sign); | |
} | |
__inline long double __cdecl coshl( long double _X) | |
{ | |
return cosh((double)_X); | |
} | |
__inline long double __cdecl cosl( long double _X) | |
{ | |
return cos((double)_X); | |
} | |
long double __cdecl erfl( long double _X); | |
long double __cdecl erfcl( long double _X); | |
__inline long double __cdecl expl( long double _X) | |
{ | |
return exp((double)_X); | |
} | |
long double __cdecl exp2l( long double _X); | |
long double __cdecl expm1l( long double _X); | |
__inline long double __cdecl fabsl( long double _X) | |
{ | |
return fabs((double)_X); | |
} | |
long double __cdecl fdiml( long double _X, long double _Y); | |
__inline long double __cdecl floorl( long double _X) | |
{ | |
return floor((double)_X); | |
} | |
long double __cdecl fmal( long double _X, long double _Y, long double _Z); | |
long double __cdecl fmaxl( long double _X, long double _Y); | |
long double __cdecl fminl( long double _X, long double _Y); | |
__inline long double __cdecl fmodl( long double _X, long double _Y) | |
{ | |
return fmod((double)_X, (double)_Y); | |
} | |
__inline long double __cdecl frexpl( long double _X, int *_Y) | |
{ | |
return frexp((double)_X, _Y); | |
} | |
int __cdecl ilogbl( long double _X); | |
__inline long double __cdecl _hypotl( long double _X, long double _Y) | |
{ | |
return _hypot((double)_X, (double)_Y); | |
} | |
__inline long double __cdecl hypotl( long double _X, long double _Y) | |
{ | |
return _hypot((double)_X, (double)_Y); | |
} | |
__inline long double __cdecl ldexpl( long double _X, int _Y) | |
{ | |
return ldexp((double)_X, _Y); | |
} | |
long double __cdecl lgammal( long double _X); | |
long long __cdecl llrintl( long double _X); | |
long long __cdecl llroundl( long double _X); | |
__inline long double __cdecl logl( long double _X) | |
{ | |
return log((double)_X); | |
} | |
__inline long double __cdecl log10l( long double _X) | |
{ | |
return log10((double)_X); | |
} | |
long double __cdecl log1pl( long double _X); | |
long double __cdecl log2l( long double _X); | |
long double __cdecl logbl( long double _X); | |
long __cdecl lrintl( long double _X); | |
long __cdecl lroundl( long double _X); | |
__inline long double __cdecl modfl( long double _X, long double* _Y) | |
{ | |
double _F, _I; | |
_F = modf((double)_X, &_I); | |
*_Y = _I; | |
return _F; | |
} | |
long double __cdecl nanl( char const*); | |
long double __cdecl nearbyintl( long double _X); | |
long double __cdecl nextafterl( long double _X, long double _Y); | |
long double __cdecl nexttowardl( long double _X, long double _Y); | |
__inline long double __cdecl powl( long double _X, long double _Y) | |
{ | |
return pow((double)_X, (double)_Y); | |
} | |
long double __cdecl remainderl( long double _X, long double _Y); | |
long double __cdecl remquol( long double _X, long double _Y, int* _Z); | |
long double __cdecl rintl( long double _X); | |
long double __cdecl roundl( long double _X); | |
long double __cdecl scalblnl( long double _X, long _Y); | |
long double __cdecl scalbnl( long double _X, int _Y); | |
__inline long double __cdecl sinhl( long double _X) | |
{ | |
return sinh((double)_X); | |
} | |
__inline long double __cdecl sinl( long double _X) | |
{ | |
return sin((double)_X); | |
} | |
__inline long double __cdecl sqrtl( long double _X) | |
{ | |
return sqrt((double)_X); | |
} | |
__inline long double __cdecl tanhl( long double _X) | |
{ | |
return tanh((double)_X); | |
} | |
__inline long double __cdecl tanl( long double _X) | |
{ | |
return tan((double)_X); | |
} | |
long double __cdecl tgammal( long double _X); | |
long double __cdecl truncl( long double _X); | |
#line 948 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
extern double HUGE; | |
#line 967 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_j0" ". See online help for details.")) double __cdecl j0( double _X); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_j1" ". See online help for details.")) double __cdecl j1( double _X); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_jn" ". See online help for details.")) double __cdecl jn( int _X, double _Y); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_y0" ". See online help for details.")) double __cdecl y0( double _X); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_y1" ". See online help for details.")) double __cdecl y1( double _X); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_yn" ". See online help for details.")) double __cdecl yn( int _X, double _Y); | |
#line 975 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 976 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#pragma warning(pop) | |
#line 981 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
} __pragma(pack(pop)) | |
#line 986 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 1010 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\math.h" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
inline double abs( double _Xx) throw () | |
{ | |
return (:: fabs(_Xx)); | |
} | |
inline float abs( float _Xx) throw () | |
{ | |
return (:: fabsf(_Xx)); | |
} | |
inline long double abs( long double _Xx) throw () | |
{ | |
return (:: fabsl(_Xx)); | |
} | |
namespace std { | |
using :: size_t; using :: div_t; using :: ldiv_t; | |
using :: abort; using :: abs; using :: atexit; | |
using :: atof; using :: atoi; using :: atol; | |
using :: bsearch; using :: calloc; using :: div; | |
using :: exit; using :: free; | |
using :: labs; using :: ldiv; using :: malloc; | |
using :: mblen; using :: mbstowcs; using :: mbtowc; | |
using :: qsort; using :: rand; using :: realloc; | |
using :: srand; using :: strtod; using :: strtol; | |
using :: strtoul; | |
using :: wcstombs; using :: wctomb; | |
using :: lldiv_t; | |
using :: getenv; | |
using :: system; | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
using :: atoll; using :: llabs; using :: lldiv; | |
using :: strtof; using :: strtold; | |
using :: strtoll; using :: strtoull; | |
using :: _Exit; using :: at_quick_exit; using :: quick_exit; | |
} | |
#line 53 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
#line 55 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdlib" | |
#line 6 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cmath" | |
inline double pow( double _Xx, int _Yx) throw () | |
{ | |
if (_Yx == 2) | |
return (_Xx * _Xx); | |
return (:: pow(_Xx, static_cast<double>(_Yx))); | |
} | |
inline float acos( float _Xx) throw () | |
{ | |
return (:: acosf(_Xx)); | |
} | |
inline float acosh( float _Xx) throw () | |
{ | |
return (:: acoshf(_Xx)); | |
} | |
inline float asin( float _Xx) throw () | |
{ | |
return (:: asinf(_Xx)); | |
} | |
inline float asinh( float _Xx) throw () | |
{ | |
return (:: asinhf(_Xx)); | |
} | |
inline float atan( float _Xx) throw () | |
{ | |
return (:: atanf(_Xx)); | |
} | |
inline float atanh( float _Xx) throw () | |
{ | |
return (:: atanhf(_Xx)); | |
} | |
inline float atan2( float _Yx, float _Xx) throw () | |
{ | |
return (:: atan2f(_Yx, _Xx)); | |
} | |
inline float cbrt( float _Xx) throw () | |
{ | |
return (:: cbrtf(_Xx)); | |
} | |
inline float ceil( float _Xx) throw () | |
{ | |
return (:: ceilf(_Xx)); | |
} | |
inline float copysign( float _Number, | |
float _Sign) throw () | |
{ | |
return (:: copysignf(_Number, _Sign)); | |
} | |
inline float cos( float _Xx) throw () | |
{ | |
return (:: cosf(_Xx)); | |
} | |
inline float cosh( float _Xx) throw () | |
{ | |
return (:: coshf(_Xx)); | |
} | |
inline float erf( float _Xx) throw () | |
{ | |
return (:: erff(_Xx)); | |
} | |
inline float erfc( float _Xx) throw () | |
{ | |
return (:: erfcf(_Xx)); | |
} | |
inline float exp( float _Xx) throw () | |
{ | |
return (:: expf(_Xx)); | |
} | |
inline float exp2( float _Xx) throw () | |
{ | |
return (:: exp2f(_Xx)); | |
} | |
inline float expm1( float _Xx) throw () | |
{ | |
return (:: expm1f(_Xx)); | |
} | |
inline float fabs( float _Xx) throw () | |
{ | |
return (:: fabsf(_Xx)); | |
} | |
inline float fdim( float _Xx, float _Yx) throw () | |
{ | |
return (:: fdimf(_Xx, _Yx)); | |
} | |
inline float floor( float _Xx) throw () | |
{ | |
return (:: floorf(_Xx)); | |
} | |
inline float fma( float _Xx, float _Yx, | |
float _Zx) throw () | |
{ | |
return (:: fmaf(_Xx, _Yx, _Zx)); | |
} | |
inline float fmax( float _Xx, float _Yx) throw () | |
{ | |
return (:: fmaxf(_Xx, _Yx)); | |
} | |
inline float fmin( float _Xx, float _Yx) throw () | |
{ | |
return (:: fminf(_Xx, _Yx)); | |
} | |
inline float fmod( float _Xx, float _Yx) throw () | |
{ | |
return (:: fmodf(_Xx, _Yx)); | |
} | |
inline float frexp( float _Xx, int* _Yx) throw () | |
{ | |
return (:: frexpf(_Xx, _Yx)); | |
} | |
inline float hypot( float _Xx, float _Yx) throw () | |
{ | |
return (:: hypotf(_Xx, _Yx)); | |
} | |
inline int ilogb( float _Xx) throw () | |
{ | |
return (:: ilogbf(_Xx)); | |
} | |
inline float ldexp( float _Xx, int _Yx) throw () | |
{ | |
return (:: ldexpf(_Xx, _Yx)); | |
} | |
inline float lgamma( float _Xx) throw () | |
{ | |
return (:: lgammaf(_Xx)); | |
} | |
inline long long llrint( float _Xx) throw () | |
{ | |
return (:: llrintf(_Xx)); | |
} | |
inline long long llround( float _Xx) throw () | |
{ | |
return (:: llroundf(_Xx)); | |
} | |
inline float log( float _Xx) throw () | |
{ | |
return (:: logf(_Xx)); | |
} | |
inline float log10( float _Xx) throw () | |
{ | |
return (:: log10f(_Xx)); | |
} | |
inline float log1p( float _Xx) throw () | |
{ | |
return (:: log1pf(_Xx)); | |
} | |
inline float log2( float _Xx) throw () | |
{ | |
return (:: log2f(_Xx)); | |
} | |
inline float logb( float _Xx) throw () | |
{ | |
return (:: logbf(_Xx)); | |
} | |
inline long lrint( float _Xx) throw () | |
{ | |
return (:: lrintf(_Xx)); | |
} | |
inline long lround( float _Xx) throw () | |
{ | |
return (:: lroundf(_Xx)); | |
} | |
inline float modf( float _Xx, float* _Yx) throw () | |
{ | |
return (:: modff(_Xx, _Yx)); | |
} | |
inline float nearbyint( float _Xx) throw () | |
{ | |
return (:: nearbyintf(_Xx)); | |
} | |
inline float nextafter( float _Xx, float _Yx) throw () | |
{ | |
return (:: nextafterf(_Xx, _Yx)); | |
} | |
inline float nexttoward( float _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: nexttowardf(_Xx, _Yx)); | |
} | |
inline float pow( float _Xx, | |
float _Yx) throw () | |
{ | |
return (:: powf(_Xx, _Yx)); | |
} | |
inline float pow( float _Xx, int _Yx) throw () | |
{ | |
if (_Yx == 2) | |
return (_Xx * _Xx); | |
return (:: powf(_Xx, static_cast<float>(_Yx))); | |
} | |
inline float remainder( float _Xx, float _Yx) throw () | |
{ | |
return (:: remainderf(_Xx, _Yx)); | |
} | |
inline float remquo( float _Xx, float _Yx, | |
int *_Zx) throw () | |
{ | |
return (:: remquof(_Xx, _Yx, _Zx)); | |
} | |
inline float rint( float _Xx) throw () | |
{ | |
return (:: rintf(_Xx)); | |
} | |
inline float round( float _Xx) throw () | |
{ | |
return (:: roundf(_Xx)); | |
} | |
inline float scalbln( float _Xx, long _Yx) throw () | |
{ | |
return (:: scalblnf(_Xx, _Yx)); | |
} | |
inline float scalbn( float _Xx, int _Yx) throw () | |
{ | |
return (:: scalbnf(_Xx, _Yx)); | |
} | |
inline float sin( float _Xx) throw () | |
{ | |
return (:: sinf(_Xx)); | |
} | |
inline float sinh( float _Xx) throw () | |
{ | |
return (:: sinhf(_Xx)); | |
} | |
inline float sqrt( float _Xx) throw () | |
{ | |
return (:: sqrtf(_Xx)); | |
} | |
inline float tan( float _Xx) throw () | |
{ | |
return (:: tanf(_Xx)); | |
} | |
inline float tanh( float _Xx) throw () | |
{ | |
return (:: tanhf(_Xx)); | |
} | |
inline float tgamma( float _Xx) throw () | |
{ | |
return (:: tgammaf(_Xx)); | |
} | |
inline float trunc( float _Xx) throw () | |
{ | |
return (:: truncf(_Xx)); | |
} | |
inline long double acos( long double _Xx) throw () | |
{ | |
return (:: acosl(_Xx)); | |
} | |
inline long double acosh( long double _Xx) throw () | |
{ | |
return (:: acoshl(_Xx)); | |
} | |
inline long double asin( long double _Xx) throw () | |
{ | |
return (:: asinl(_Xx)); | |
} | |
inline long double asinh( long double _Xx) throw () | |
{ | |
return (:: asinhl(_Xx)); | |
} | |
inline long double atan( long double _Xx) throw () | |
{ | |
return (:: atanl(_Xx)); | |
} | |
inline long double atanh( long double _Xx) throw () | |
{ | |
return (:: atanhl(_Xx)); | |
} | |
inline long double atan2( long double _Yx, | |
long double _Xx) throw () | |
{ | |
return (:: atan2l(_Yx, _Xx)); | |
} | |
inline long double cbrt( long double _Xx) throw () | |
{ | |
return (:: cbrtl(_Xx)); | |
} | |
inline long double ceil( long double _Xx) throw () | |
{ | |
return (:: ceill(_Xx)); | |
} | |
inline long double copysign( long double _Number, | |
long double _Sign) throw () | |
{ | |
return (:: copysignl(_Number, _Sign)); | |
} | |
inline long double cos( long double _Xx) throw () | |
{ | |
return (:: cosl(_Xx)); | |
} | |
inline long double cosh( long double _Xx) throw () | |
{ | |
return (:: coshl(_Xx)); | |
} | |
inline long double erf( long double _Xx) throw () | |
{ | |
return (:: erfl(_Xx)); | |
} | |
inline long double erfc( long double _Xx) throw () | |
{ | |
return (:: erfcl(_Xx)); | |
} | |
inline long double exp( long double _Xx) throw () | |
{ | |
return (:: expl(_Xx)); | |
} | |
inline long double exp2( long double _Xx) throw () | |
{ | |
return (:: exp2l(_Xx)); | |
} | |
inline long double expm1( long double _Xx) throw () | |
{ | |
return (:: expm1l(_Xx)); | |
} | |
inline long double fabs( long double _Xx) throw () | |
{ | |
return (:: fabsl(_Xx)); | |
} | |
inline long double fdim( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: fdiml(_Xx, _Yx)); | |
} | |
inline long double floor( long double _Xx) throw () | |
{ | |
return (:: floorl(_Xx)); | |
} | |
inline long double fma( long double _Xx, | |
long double _Yx, long double _Zx) throw () | |
{ | |
return (:: fmal(_Xx, _Yx, _Zx)); | |
} | |
inline long double fmax( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: fmaxl(_Xx, _Yx)); | |
} | |
inline long double fmin( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: fminl(_Xx, _Yx)); | |
} | |
inline long double fmod( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: fmodl(_Xx, _Yx)); | |
} | |
inline long double frexp( long double _Xx, | |
int* _Yx) throw () | |
{ | |
return (:: frexpl(_Xx, _Yx)); | |
} | |
inline long double hypot( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: hypotl(_Xx, _Yx)); | |
} | |
inline int ilogb( long double _Xx) throw () | |
{ | |
return (:: ilogbl(_Xx)); | |
} | |
inline long double ldexp( long double _Xx, | |
int _Yx) throw () | |
{ | |
return (:: ldexpl(_Xx, _Yx)); | |
} | |
inline long double lgamma( long double _Xx) throw () | |
{ | |
return (:: lgammal(_Xx)); | |
} | |
inline long long llrint( long double _Xx) throw () | |
{ | |
return (:: llrintl(_Xx)); | |
} | |
inline long long llround( long double _Xx) throw () | |
{ | |
return (:: llroundl(_Xx)); | |
} | |
inline long double log( long double _Xx) throw () | |
{ | |
return (:: logl(_Xx)); | |
} | |
inline long double log10( long double _Xx) throw () | |
{ | |
return (:: log10l(_Xx)); | |
} | |
inline long double log1p( long double _Xx) throw () | |
{ | |
return (:: log1pl(_Xx)); | |
} | |
inline long double log2( long double _Xx) throw () | |
{ | |
return (:: log2l(_Xx)); | |
} | |
inline long double logb( long double _Xx) throw () | |
{ | |
return (:: logbl(_Xx)); | |
} | |
inline long lrint( long double _Xx) throw () | |
{ | |
return (:: lrintl(_Xx)); | |
} | |
inline long lround( long double _Xx) throw () | |
{ | |
return (:: lroundl(_Xx)); | |
} | |
inline long double modf( long double _Xx, | |
long double* _Yx) throw () | |
{ | |
return (:: modfl(_Xx, _Yx)); | |
} | |
inline long double nearbyint( long double _Xx) throw () | |
{ | |
return (:: nearbyintl(_Xx)); | |
} | |
inline long double nextafter( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: nextafterl(_Xx, _Yx)); | |
} | |
inline long double nexttoward( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: nexttowardl(_Xx, _Yx)); | |
} | |
inline long double pow( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: powl(_Xx, _Yx)); | |
} | |
inline long double pow( long double _Xx, | |
int _Yx) throw () | |
{ | |
if (_Yx == 2) | |
return (_Xx * _Xx); | |
return (:: powl(_Xx, static_cast<long double>(_Yx))); | |
} | |
inline long double remainder( long double _Xx, | |
long double _Yx) throw () | |
{ | |
return (:: remainderl(_Xx, _Yx)); | |
} | |
inline long double remquo( long double _Xx, | |
long double _Yx, int *_Zx) throw () | |
{ | |
return (:: remquol(_Xx, _Yx, _Zx)); | |
} | |
inline long double rint( long double _Xx) throw () | |
{ | |
return (:: rintl(_Xx)); | |
} | |
inline long double round( long double _Xx) throw () | |
{ | |
return (:: roundl(_Xx)); | |
} | |
inline long double scalbln( long double _Xx, | |
long _Yx) throw () | |
{ | |
return (:: scalblnl(_Xx, _Yx)); | |
} | |
inline long double scalbn( long double _Xx, | |
int _Yx) throw () | |
{ | |
return (:: scalbnl(_Xx, _Yx)); | |
} | |
inline long double sin( long double _Xx) throw () | |
{ | |
return (:: sinl(_Xx)); | |
} | |
inline long double sinh( long double _Xx) throw () | |
{ | |
return (:: sinhl(_Xx)); | |
} | |
inline long double sqrt( long double _Xx) throw () | |
{ | |
return (:: sqrtl(_Xx)); | |
} | |
inline long double tan( long double _Xx) throw () | |
{ | |
return (:: tanl(_Xx)); | |
} | |
inline long double tanh( long double _Xx) throw () | |
{ | |
return (:: tanhl(_Xx)); | |
} | |
inline long double tgamma( long double _Xx) throw () | |
{ | |
return (:: tgammal(_Xx)); | |
} | |
inline long double trunc( long double _Xx) throw () | |
{ | |
return (:: truncl(_Xx)); | |
} | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtgmath.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtr1common" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
struct _Nil | |
{ | |
}; | |
template<class _Ty, | |
_Ty _Val> | |
struct integral_constant | |
{ | |
static constexpr _Ty value = _Val; | |
typedef _Ty value_type; | |
typedef integral_constant<_Ty, _Val> type; | |
constexpr operator value_type() const throw () | |
{ | |
return (value); | |
} | |
constexpr value_type operator()() const throw () | |
{ | |
return (value); | |
} | |
}; | |
typedef integral_constant<bool, true> true_type; | |
typedef integral_constant<bool, false> false_type; | |
template<bool _Val> | |
using bool_constant = integral_constant<bool, _Val>; | |
template<bool _Val> | |
struct _Cat_base | |
: integral_constant<bool, _Val> | |
{ | |
}; | |
template<bool _Test, | |
class _Ty = void> | |
struct enable_if | |
{ | |
}; | |
template<class _Ty> | |
struct enable_if<true, _Ty> | |
{ | |
typedef _Ty type; | |
}; | |
template<bool _Test, | |
class _Ty1, | |
class _Ty2> | |
struct conditional | |
{ | |
typedef _Ty2 type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct conditional<true, _Ty1, _Ty2> | |
{ | |
typedef _Ty1 type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct is_same | |
: false_type | |
{ | |
}; | |
template<class _Ty1> | |
struct is_same<_Ty1, _Ty1> | |
: true_type | |
{ | |
}; | |
template<class _Ty, | |
class _Uty> | |
constexpr bool is_same_v = is_same<_Ty, _Uty>::value; | |
template<class _Ty> | |
struct remove_const | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_const<const _Ty> | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_volatile | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_volatile<volatile _Ty> | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_cv | |
{ | |
typedef typename remove_const<typename remove_volatile<_Ty>::type>::type | |
type; | |
}; | |
template<class _Ty> | |
struct _Is_integral | |
: false_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<bool> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<char> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<unsigned char> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<signed char> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<wchar_t> | |
: true_type | |
{ | |
}; | |
#line 174 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtr1common" | |
template<> | |
struct _Is_integral<unsigned short> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<signed short> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<unsigned int> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<signed int> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<unsigned long> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<signed long> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<char16_t> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<char32_t> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<long long> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_integral<unsigned long long> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_integral | |
: _Is_integral<typename remove_cv<_Ty>::type> | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_integral_v = is_integral<_Ty>::value; | |
template<class _Ty> | |
struct _Is_floating_point | |
: false_type | |
{ | |
}; | |
template<> | |
struct _Is_floating_point<float> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_floating_point<double> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_floating_point<long double> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_floating_point | |
: _Is_floating_point<typename remove_cv<_Ty>::type> | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_floating_point_v = is_floating_point<_Ty>::value; | |
template<class _Ty> | |
struct is_arithmetic | |
: _Cat_base<is_integral<_Ty>::value | |
|| is_floating_point<_Ty>::value> | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_arithmetic_v = is_arithmetic<_Ty>::value; | |
template<class _Ty> | |
struct remove_reference | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_reference<_Ty&> | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_reference<_Ty&&> | |
{ | |
typedef _Ty type; | |
}; | |
struct _Wrap_int | |
{ | |
_Wrap_int(int) | |
{ | |
} | |
}; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 322 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtr1common" | |
#line 323 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtr1common" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtgmath.h" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Ty> | |
struct _Promote_to_float | |
{ | |
typedef typename conditional<is_integral<_Ty>::value, | |
double, _Ty>::type type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Common_float_type | |
{ | |
typedef typename _Promote_to_float<_Ty1>::type _Ty1f; | |
typedef typename _Promote_to_float<_Ty2>::type _Ty2f; | |
typedef typename conditional<is_same<_Ty1f, long double>::value | |
|| is_same<_Ty2f, long double>::value, long double, | |
typename conditional<is_same<_Ty1f, double>::value | |
|| is_same<_Ty2f, double>::value, double, | |
float>::type>::type type; | |
}; | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value | |
&& ::std:: is_arithmetic<_Ty2>::value, | |
typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type | |
pow(const _Ty1 _Left, const _Ty2 _Right) | |
{ | |
typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; | |
return (:: pow(type(_Left), type(_Right))); | |
} | |
extern "C" double __cdecl acos( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type acos(_Ty _Left) { return (:: acos((double)_Left)); } | |
extern "C" double __cdecl asin( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type asin(_Ty _Left) { return (:: asin((double)_Left)); } | |
extern "C" double __cdecl atan( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type atan(_Ty _Left) { return (:: atan((double)_Left)); } | |
extern "C" double __cdecl atan2( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type atan2(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: atan2((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl ceil( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type ceil(_Ty _Left) { return (:: ceil((double)_Left)); } | |
extern "C" double __cdecl cos( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type cos(_Ty _Left) { return (:: cos((double)_Left)); } | |
extern "C" double __cdecl cosh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type cosh(_Ty _Left) { return (:: cosh((double)_Left)); } | |
extern "C" double __cdecl exp( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type exp(_Ty _Left) { return (:: exp((double)_Left)); } | |
extern "C" double __cdecl fabs( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type fabs(_Ty _Left) { return (:: fabs((double)_Left)); } | |
extern "C" double __cdecl floor( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type floor(_Ty _Left) { return (:: floor((double)_Left)); } | |
extern "C" double __cdecl fmod( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type fmod(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: fmod((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl frexp( double, int *); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type frexp(_Ty _Left, int * _Arg2) { return (:: frexp((double)_Left, _Arg2)); } | |
extern "C" double __cdecl ldexp( double, int); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type ldexp(_Ty _Left, int _Arg2) { return (:: ldexp((double)_Left, _Arg2)); } | |
extern "C" double __cdecl log( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type log(_Ty _Left) { return (:: log((double)_Left)); } | |
extern "C" double __cdecl log10( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type log10(_Ty _Left) { return (:: log10((double)_Left)); } | |
extern "C" double __cdecl sin( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type sin(_Ty _Left) { return (:: sin((double)_Left)); } | |
extern "C" double __cdecl sinh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type sinh(_Ty _Left) { return (:: sinh((double)_Left)); } | |
extern "C" double __cdecl sqrt( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type sqrt(_Ty _Left) { return (:: sqrt((double)_Left)); } | |
extern "C" double __cdecl tan( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type tan(_Ty _Left) { return (:: tan((double)_Left)); } | |
extern "C" double __cdecl tanh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type tanh(_Ty _Left) { return (:: tanh((double)_Left)); } | |
inline float _Fma(float _Left, float _Middle, float _Right) | |
{ | |
return (:: fmaf(_Left, _Middle, _Right)); | |
} | |
inline double _Fma(double _Left, double _Middle, double _Right) | |
{ | |
return (:: fma(_Left, _Middle, _Right)); | |
} | |
inline long double _Fma(long double _Left, long double _Middle, | |
long double _Right) | |
{ | |
return (:: fmal(_Left, _Middle, _Right)); | |
} | |
template<class _Ty1, | |
class _Ty2, | |
class _Ty3> inline | |
typename ::std:: _Common_float_type<_Ty1, | |
typename ::std:: _Common_float_type<_Ty2, _Ty3>::type>::type | |
fma(_Ty1 _Left, _Ty2 _Middle, _Ty3 _Right) | |
{ | |
typedef typename ::std:: _Common_float_type<_Ty1, | |
typename ::std:: _Common_float_type<_Ty2, _Ty3>::type>::type type; | |
return (_Fma((type)_Left, (type)_Middle, (type)_Right)); | |
} | |
inline float _Remquo(float _Left, float _Right, int *_Pquo) | |
{ | |
return (:: remquof(_Left, _Right, _Pquo)); | |
} | |
inline double _Remquo(double _Left, double _Right, int *_Pquo) | |
{ | |
return (:: remquo(_Left, _Right, _Pquo)); | |
} | |
inline long double _Remquo(long double _Left, long double _Right, int *_Pquo) | |
{ | |
return (:: remquol(_Left, _Right, _Pquo)); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
typename ::std:: _Common_float_type<_Ty1, _Ty2>::type | |
remquo(_Ty1 _Left, _Ty2 _Right, int *_Pquo) | |
{ | |
typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; | |
return (_Remquo((type)_Left, (type)_Right, _Pquo)); | |
} | |
extern "C" double __cdecl acosh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type acosh(_Ty _Left) { return (:: acosh((double)_Left)); } | |
extern "C" double __cdecl asinh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type asinh(_Ty _Left) { return (:: asinh((double)_Left)); } | |
extern "C" double __cdecl atanh( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type atanh(_Ty _Left) { return (:: atanh((double)_Left)); } | |
extern "C" double __cdecl cbrt( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type cbrt(_Ty _Left) { return (:: cbrt((double)_Left)); } | |
extern "C" double __cdecl copysign( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type copysign(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: copysign((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl erf( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type erf(_Ty _Left) { return (:: erf((double)_Left)); } | |
extern "C" double __cdecl erfc( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type erfc(_Ty _Left) { return (:: erfc((double)_Left)); } | |
extern "C" double __cdecl expm1( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type expm1(_Ty _Left) { return (:: expm1((double)_Left)); } | |
extern "C" double __cdecl exp2( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type exp2(_Ty _Left) { return (:: exp2((double)_Left)); } | |
extern "C" double __cdecl fdim( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type fdim(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: fdim((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl fmax( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type fmax(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: fmax((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl fmin( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type fmin(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: fmin((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl hypot( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type hypot(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: hypot((type)_Left, (type)_Right)); } | |
extern "C" int __cdecl ilogb( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, int>::type ilogb(_Ty _Left) { return (:: ilogb((double)_Left)); } | |
extern "C" double __cdecl lgamma( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type lgamma(_Ty _Left) { return (:: lgamma((double)_Left)); } | |
extern "C" long long __cdecl llrint( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, long long>::type llrint(_Ty _Left) { return (:: llrint((double)_Left)); } | |
extern "C" long long __cdecl llround( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, long long>::type llround(_Ty _Left) { return (:: llround((double)_Left)); } | |
extern "C" double __cdecl log1p( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type log1p(_Ty _Left) { return (:: log1p((double)_Left)); } | |
extern "C" double __cdecl log2( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type log2(_Ty _Left) { return (:: log2((double)_Left)); } | |
extern "C" double __cdecl logb( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type logb(_Ty _Left) { return (:: logb((double)_Left)); } | |
extern "C" long __cdecl lrint( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, long>::type lrint(_Ty _Left) { return (:: lrint((double)_Left)); } | |
extern "C" long __cdecl lround( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, long>::type lround(_Ty _Left) { return (:: lround((double)_Left)); } | |
extern "C" double __cdecl nearbyint( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type nearbyint(_Ty _Left) { return (:: nearbyint((double)_Left)); } | |
extern "C" double __cdecl nextafter( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type nextafter(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: nextafter((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl nexttoward( double, long double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type nexttoward(_Ty _Left, long double _Arg2) { return (:: nexttoward((double)_Left, _Arg2)); } | |
extern "C" double __cdecl remainder( double, double); template<class _Ty1, class _Ty2> inline typename ::std:: enable_if< ::std:: is_arithmetic<_Ty1>::value && ::std:: is_arithmetic<_Ty2>::value, typename ::std:: _Common_float_type<_Ty1, _Ty2>::type>::type remainder(_Ty1 _Left, _Ty2 _Right) { typedef typename ::std:: _Common_float_type<_Ty1, _Ty2>::type type; return (:: remainder((type)_Left, (type)_Right)); } | |
extern "C" double __cdecl rint( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type rint(_Ty _Left) { return (:: rint((double)_Left)); } | |
extern "C" double __cdecl round( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type round(_Ty _Left) { return (:: round((double)_Left)); } | |
extern "C" double __cdecl scalbln( double, long); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type scalbln(_Ty _Left, long _Arg2) { return (:: scalbln((double)_Left, _Arg2)); } | |
extern "C" double __cdecl scalbn( double, int); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type scalbn(_Ty _Left, int _Arg2) { return (:: scalbn((double)_Left, _Arg2)); } | |
extern "C" double __cdecl tgamma( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type tgamma(_Ty _Left) { return (:: tgamma((double)_Left)); } | |
extern "C" double __cdecl trunc( double); template<class _Ty> inline typename ::std:: enable_if< ::std:: is_integral<_Ty>::value, double>::type trunc(_Ty _Left) { return (:: trunc((double)_Left)); } | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 217 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtgmath.h" | |
#line 218 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtgmath.h" | |
#line 219 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xtgmath.h" | |
#line 618 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cmath" | |
namespace std { | |
using :: abs; using :: acos; using :: asin; | |
using :: atan; using :: atan2; using :: ceil; | |
using :: cos; using :: cosh; using :: exp; | |
using :: fabs; using :: floor; using :: fmod; | |
using :: frexp; using :: ldexp; using :: log; | |
using :: log10; using :: modf; using :: pow; | |
using :: sin; using :: sinh; using :: sqrt; | |
using :: tan; using :: tanh; | |
using :: acosf; using :: asinf; | |
using :: atanf; using :: atan2f; using :: ceilf; | |
using :: cosf; using :: coshf; using :: expf; | |
using :: fabsf; using :: floorf; using :: fmodf; | |
using :: frexpf; using :: ldexpf; using :: logf; | |
using :: log10f; using :: modff; using :: powf; | |
using :: sinf; using :: sinhf; using :: sqrtf; | |
using :: tanf; using :: tanhf; | |
using :: acosl; using :: asinl; | |
using :: atanl; using :: atan2l; using :: ceill; | |
using :: cosl; using :: coshl; using :: expl; | |
using :: fabsl; using :: floorl; using :: fmodl; | |
using :: frexpl; using :: ldexpl; using :: logl; | |
using :: log10l; using :: modfl; using :: powl; | |
using :: sinl; using :: sinhl; using :: sqrtl; | |
using :: tanl; using :: tanhl; | |
using :: float_t; using :: double_t; | |
using :: acosh; using :: asinh; using :: atanh; | |
using :: cbrt; using :: erf; using :: erfc; | |
using :: expm1; using :: exp2; | |
using :: hypot; using :: ilogb; using :: lgamma; | |
using :: log1p; using :: log2; using :: logb; | |
using :: llrint; using :: lrint; using :: nearbyint; | |
using :: rint; using :: llround; using :: lround; | |
using :: fdim; using :: fma; using :: fmax; using :: fmin; | |
using :: round; using :: trunc; | |
using :: remainder; using :: remquo; | |
using :: copysign; using :: nan; using :: nextafter; | |
using :: scalbn; using :: scalbln; | |
using :: nexttoward; using :: tgamma; | |
using :: acoshf; using :: asinhf; using :: atanhf; | |
using :: cbrtf; using :: erff; using :: erfcf; | |
using :: expm1f; using :: exp2f; | |
using :: hypotf; using :: ilogbf; using :: lgammaf; | |
using :: log1pf; using :: log2f; using :: logbf; | |
using :: llrintf; using :: lrintf; using :: nearbyintf; | |
using :: rintf; using :: llroundf; using :: lroundf; | |
using :: fdimf; using :: fmaf; using :: fmaxf; using :: fminf; | |
using :: roundf; using :: truncf; | |
using :: remainderf; using :: remquof; | |
using :: copysignf; using :: nanf; | |
using :: nextafterf; using :: scalbnf; using :: scalblnf; | |
using :: nexttowardf; using :: tgammaf; | |
using :: acoshl; using :: asinhl; using :: atanhl; | |
using :: cbrtl; using :: erfl; using :: erfcl; | |
using :: expm1l; using :: exp2l; | |
using :: hypotl; using :: ilogbl; using :: lgammal; | |
using :: log1pl; using :: log2l; using :: logbl; | |
using :: llrintl; using :: lrintl; using :: nearbyintl; | |
using :: rintl; using :: llroundl; using :: lroundl; | |
using :: fdiml; using :: fmal; using :: fmaxl; using :: fminl; | |
using :: roundl; using :: truncl; | |
using :: remainderl; using :: remquol; | |
using :: copysignl; using :: nanl; | |
using :: nextafterl; using :: scalbnl; using :: scalblnl; | |
using :: nexttowardl; using :: tgammal; | |
using :: fpclassify; using :: signbit; | |
using :: isfinite; using :: isinf; | |
using :: isnan; using :: isnormal; | |
using :: isgreater; using :: isgreaterequal; | |
using :: isless; using :: islessequal; | |
using :: islessgreater; using :: isunordered; | |
} | |
#line 699 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cmath" | |
#line 701 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cmath" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdio" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
#line 21 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 23 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 31 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 55 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 60 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#pragma detect_mismatch("_CRT_STDIO_ISO_WIDE_SPECIFIERS", "0") | |
#line 67 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 68 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
__declspec(noinline) __inline unsigned __int64* __cdecl __local_stdio_printf_options(void) | |
{ | |
static unsigned __int64 _OptionsStorage; | |
return &_OptionsStorage; | |
} | |
__declspec(noinline) __inline unsigned __int64* __cdecl __local_stdio_scanf_options(void) | |
{ | |
static unsigned __int64 _OptionsStorage; | |
return &_OptionsStorage; | |
} | |
} __pragma(pack(pop)) | |
#line 108 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h" | |
#line 14 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__pragma(pack(push, 8)) extern "C" { | |
typedef struct _iobuf | |
{ | |
void* _Placeholder; | |
} FILE; | |
#line 30 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
FILE* __cdecl __acrt_iob_func(unsigned); | |
wint_t __cdecl fgetwc( | |
FILE* _Stream | |
); | |
wint_t __cdecl _fgetwchar(void); | |
wint_t __cdecl fputwc( | |
wchar_t _Character, | |
FILE* _Stream); | |
wint_t __cdecl _fputwchar( | |
wchar_t _Character | |
); | |
wint_t __cdecl getwc( | |
FILE* _Stream | |
); | |
wint_t __cdecl getwchar(void); | |
wchar_t* __cdecl fgetws( | |
wchar_t* _Buffer, | |
int _BufferCount, | |
FILE* _Stream | |
); | |
int __cdecl fputws( | |
wchar_t const* _Buffer, | |
FILE* _Stream | |
); | |
wchar_t* __cdecl _getws_s( | |
wchar_t* _Buffer, | |
size_t _BufferCount | |
); | |
extern "C++" { template <size_t _Size> inline wchar_t* __cdecl _getws_s( wchar_t (&_Buffer)[_Size]) throw() { return _getws_s(_Buffer, _Size); } } | |
#line 99 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
wint_t __cdecl putwc( | |
wchar_t _Character, | |
FILE* _Stream | |
); | |
wint_t __cdecl putwchar( | |
wchar_t _Character | |
); | |
int __cdecl _putws( | |
wchar_t const* _Buffer | |
); | |
wint_t __cdecl ungetwc( | |
wint_t _Character, | |
FILE* _Stream | |
); | |
FILE * __cdecl _wfdopen( | |
int _FileHandle, | |
wchar_t const* _Mode | |
); | |
FILE* __cdecl _wfopen( | |
wchar_t const* _FileName, | |
wchar_t const* _Mode | |
); | |
errno_t __cdecl _wfopen_s( | |
FILE** _Stream, | |
wchar_t const* _FileName, | |
wchar_t const* _Mode | |
); | |
FILE* __cdecl _wfreopen( | |
wchar_t const* _FileName, | |
wchar_t const* _Mode, | |
FILE* _OldStream | |
); | |
errno_t __cdecl _wfreopen_s( | |
FILE** _Stream, | |
wchar_t const* _FileName, | |
wchar_t const* _Mode, | |
FILE* _OldStream | |
); | |
FILE* __cdecl _wfsopen( | |
wchar_t const* _FileName, | |
wchar_t const* _Mode, | |
int _ShFlag | |
); | |
void __cdecl _wperror( | |
wchar_t const* _ErrorMessage | |
); | |
FILE* __cdecl _wpopen( | |
wchar_t const* _Command, | |
wchar_t const* _Mode | |
); | |
#line 177 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
int __cdecl _wremove( | |
wchar_t const* _FileName | |
); | |
__declspec(allocator) wchar_t* __cdecl _wtempnam( | |
wchar_t const* _Directory, | |
wchar_t const* _FilePrefix | |
); | |
errno_t __cdecl _wtmpnam_s( | |
wchar_t* _Buffer, | |
size_t _BufferCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wtmpnam_s( wchar_t (&_Buffer)[_Size]) throw() { return _wtmpnam_s(_Buffer, _Size); } } | |
#line 204 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
wchar_t* __cdecl _wtmpnam( wchar_t *_Buffer); | |
#line 210 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
wint_t __cdecl _fgetwc_nolock( | |
FILE* _Stream | |
); | |
wint_t __cdecl _fputwc_nolock( | |
wchar_t _Character, | |
FILE* _Stream | |
); | |
wint_t __cdecl _getwc_nolock( | |
FILE* _Stream | |
); | |
wint_t __cdecl _putwc_nolock( | |
wchar_t _Character, | |
FILE* _Stream | |
); | |
wint_t __cdecl _ungetwc_nolock( | |
wint_t _Character, | |
FILE* _Stream | |
); | |
#line 251 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
int __cdecl __stdio_common_vfwprintf( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vfwprintf_s( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vfwprintf_p( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vfwprintf_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 303 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vfwprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 307 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vfwprintf( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 317 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 321 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vfwprintf_s_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 332 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vfwprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 336 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vfwprintf_s( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 348 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_s_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 352 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 354 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vfwprintf_p_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 365 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vfwprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 369 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vfwprintf_p( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 379 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_p_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 383 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 393 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 397 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vwprintf( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 406 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 410 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwprintf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 420 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 424 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vwprintf_s( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 435 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 439 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 441 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 451 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 455 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwprintf_p( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 464 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 468 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwprintf_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 478 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 487 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl fwprintf( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
...) | |
#line 496 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 505 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwprintf_s_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 515 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_s_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 524 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl fwprintf_s( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
...) | |
#line 535 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_s_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 544 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 546 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwprintf_p_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 556 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_p_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 565 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwprintf_p( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
...) | |
#line 574 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_p_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 583 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 592 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 601 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl wprintf( | |
wchar_t const* const _Format, | |
...) | |
#line 609 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 618 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wprintf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 627 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 636 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl wprintf_s( | |
wchar_t const* const _Format, | |
...) | |
#line 646 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 655 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 657 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 666 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 675 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wprintf_p( | |
wchar_t const* const _Format, | |
...) | |
#line 683 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 692 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
int __cdecl __stdio_common_vfwscanf( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vfwscanf_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 718 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vfwscanf( | |
(*__local_stdio_scanf_options ()), | |
_Stream, _Format, _Locale, _ArgList); | |
} | |
#line 724 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vfwscanf( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 734 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 738 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vfwscanf_s_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 749 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vfwscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Stream, _Format, _Locale, _ArgList); | |
} | |
#line 755 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vfwscanf_s( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 767 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_s_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 771 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 773 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwscanf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 782 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
} | |
#line 786 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vwscanf( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 795 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
} | |
#line 799 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vwscanf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 809 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
} | |
#line 813 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vwscanf_s( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 824 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
} | |
#line 828 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 830 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwscanf_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 840 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 849 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl fwscanf( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
...) | |
#line 858 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 867 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _fwscanf_s_l( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 877 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_s_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 886 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl fwscanf_s( | |
FILE* const _Stream, | |
wchar_t const* const _Format, | |
...) | |
#line 897 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_s_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 906 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 908 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wscanf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 917 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 926 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl wscanf( | |
wchar_t const* const _Format, | |
...) | |
#line 934 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 943 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _wscanf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 952 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 961 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl wscanf_s( | |
wchar_t const* const _Format, | |
...) | |
#line 971 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 980 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 982 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 998 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
int __cdecl __stdio_common_vswprintf( | |
unsigned __int64 _Options, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vswprintf_s( | |
unsigned __int64 _Options, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vsnwprintf_s( | |
unsigned __int64 _Options, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
size_t _MaxCount, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vswprintf_p( | |
unsigned __int64 _Options, | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vsnwprintf_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1056 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf( | |
(*__local_stdio_printf_options()) | (1ULL << 0), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1064 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4793) | |
__inline int __cdecl _vsnwprintf_s_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1081 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vsnwprintf_s( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1089 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vsnwprintf_s( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1102 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); | |
} | |
#line 1106 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwprintf( wchar_t *_Buffer, size_t _BufferCount, wchar_t const* _Format, ...); __inline int __cdecl _vsnwprintf( wchar_t *_Buffer, size_t _BufferCount, wchar_t const* _Format, va_list _Args); | |
#line 1115 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(pop) | |
__inline int __cdecl _vsnwprintf( | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
va_list _ArgList | |
) | |
#line 1129 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vsnwprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 1136 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl _vsnwprintf_s( wchar_t (&_Buffer)[_Size], size_t _BufferCount, wchar_t const* _Format, va_list _ArgList) throw() { return _vsnwprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } | |
#line 1145 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_c_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1158 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1166 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_c( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1178 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1182 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1195 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 1202 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl __vswprintf_l( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1214 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 1218 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1229 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_l(_Buffer, (size_t)-1, _Format, 0, _ArgList); | |
} | |
#line 1233 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vswprintf( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1245 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1249 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_s_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1262 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf_s( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1270 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vswprintf_s( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1283 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1287 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 1289 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl vswprintf_s( wchar_t (&_Buffer)[_Size], wchar_t const* _Format, va_list _ArgList) throw() { return vswprintf_s(_Buffer, _Size, _Format, _ArgList); } } | |
#line 1297 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_p_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1310 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf_p( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1318 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswprintf_p( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1330 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1334 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vscwprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1345 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf( | |
(*__local_stdio_printf_options()) | (1ULL << 1), | |
0, 0, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1353 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vscwprintf( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1363 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vscwprintf_l(_Format, 0, _ArgList); | |
} | |
#line 1367 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vscwprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1378 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int const _Result = __stdio_common_vswprintf_p( | |
(*__local_stdio_printf_options()) | (1ULL << 1), | |
0, 0, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1386 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vscwprintf_p( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1396 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vscwprintf_p_l(_Format, 0, _ArgList); | |
} | |
#line 1400 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl __swprintf_l( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1411 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __vswprintf_l(_Buffer, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1420 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1432 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1441 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
...) | |
#line 1451 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __vswprintf_l(_Buffer, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1460 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl swprintf( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 1471 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1480 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(push) | |
#pragma warning(disable:4793 4996) | |
__inline int __cdecl __swprintf_l( wchar_t *_Buffer, wchar_t const* _Format, _locale_t _Locale, ...); __inline int __cdecl __vswprintf_l( wchar_t *_Buffer, wchar_t const* _Format, _locale_t _Locale, va_list _Args); | |
#line 1494 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf( wchar_t *_Buffer, wchar_t const* _Format, ...); __inline int __cdecl _vswprintf( wchar_t *_Buffer, wchar_t const* _Format, va_list _Args); | |
#line 1501 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(pop) | |
__inline int __cdecl _swprintf_s_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1515 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1524 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl swprintf_s( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 1536 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1545 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 1547 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl swprintf_s( wchar_t (&_Buffer)[_Size], wchar_t const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); return vswprintf_s(_Buffer, _Size, _Format, _ArgList); } __pragma(warning(pop)); } | |
#line 1554 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf_p_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1566 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1575 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf_p( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 1586 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1595 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf_c_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1607 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1616 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swprintf_c( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 1627 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1636 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwprintf_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1648 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1662 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwprintf( | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
...) | |
#line 1673 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1687 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwprintf_s_l( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1700 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1709 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwprintf_s( | |
wchar_t* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
wchar_t const* const _Format, | |
...) | |
#line 1721 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1730 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl _snwprintf_s( wchar_t (&_Buffer)[_Size], size_t _BufferCount, wchar_t const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); return _vsnwprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } __pragma(warning(pop)); } | |
#line 1738 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _scwprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1747 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscwprintf_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1756 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _scwprintf( | |
wchar_t const* const _Format, | |
...) | |
#line 1765 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscwprintf_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1774 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _scwprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1784 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscwprintf_p_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1793 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _scwprintf_p( | |
wchar_t const* const _Format, | |
...) | |
#line 1802 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscwprintf_p_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1811 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4141 4412 4793 4996 6054) | |
extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) | |
inline int swprintf( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
...) throw() | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(suppress: 28719) | |
_Result = vswprintf(_Buffer, 2147483647, _Format, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) | |
inline int __cdecl vswprintf( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) throw() | |
{ | |
#pragma warning(suppress: 28719) | |
return vswprintf(_Buffer, 2147483647, _Format, _ArgList); | |
} | |
extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) | |
inline int _swprintf_l( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) throw() | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) | |
inline int __cdecl _vswprintf_l( | |
wchar_t* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) throw() | |
{ | |
return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 1872 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#pragma warning(pop) | |
#line 1875 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 1882 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
int __cdecl __stdio_common_vswscanf( | |
unsigned __int64 _Options, | |
wchar_t const* _Buffer, | |
size_t _BufferCount, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vswscanf_l( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1910 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vswscanf( | |
(*__local_stdio_scanf_options ()), | |
_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 1916 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vswscanf( | |
wchar_t const* _Buffer, | |
wchar_t const* _Format, | |
va_list _ArgList | |
) | |
#line 1927 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswscanf_l(_Buffer, _Format, 0, _ArgList); | |
} | |
#line 1931 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vswscanf_s_l( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1943 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vswscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 1949 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl vswscanf_s( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 1962 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return _vswscanf_s_l(_Buffer, _Format, 0, _ArgList); | |
} | |
#line 1966 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 1968 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl vswscanf_s( wchar_t (&_Buffer)[_Size], wchar_t const* _Format, va_list _Args) throw() { return vswscanf_s(_Buffer, _Size, _Format, _Args); } } | |
#line 1976 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vsnwscanf_l( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1989 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vswscanf( | |
(*__local_stdio_scanf_options ()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
} | |
#line 1995 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _vsnwscanf_s_l( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 2008 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
return __stdio_common_vswscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
} | |
#line 2014 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swscanf_l( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t _Locale, | |
...) | |
#line 2025 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswscanf_l(_Buffer, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2034 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl swscanf( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
...) | |
#line 2044 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswscanf_l(_Buffer, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2053 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _swscanf_s_l( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2064 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswscanf_s_l(_Buffer, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2073 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl swscanf_s( | |
wchar_t const* const _Buffer, | |
wchar_t const* const _Format, | |
...) | |
#line 2085 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vswscanf_s_l(_Buffer, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2094 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
#line 2096 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwscanf_l( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2108 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2122 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwscanf( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 2133 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2147 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwscanf_s_l( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2159 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2168 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
__inline int __cdecl _snwscanf_s( | |
wchar_t const* const _Buffer, | |
size_t const _BufferCount, | |
wchar_t const* const _Format, | |
...) | |
#line 2179 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2188 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h" | |
} __pragma(pack(pop)) | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 48 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 66 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
typedef __int64 fpos_t; | |
errno_t __cdecl _get_stream_buffer_pointers( | |
FILE* _Stream, | |
char*** _Base, | |
char*** _Pointer, | |
int** _Count | |
); | |
errno_t __cdecl clearerr_s( | |
FILE* _Stream | |
); | |
errno_t __cdecl fopen_s( | |
FILE** _Stream, | |
char const* _FileName, | |
char const* _Mode | |
); | |
size_t __cdecl fread_s( | |
void* _Buffer, | |
size_t _BufferSize, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
errno_t __cdecl freopen_s( | |
FILE** _Stream, | |
char const* _FileName, | |
char const* _Mode, | |
FILE* _OldStream | |
); | |
char* __cdecl gets_s( | |
char* _Buffer, | |
rsize_t _Size | |
); | |
errno_t __cdecl tmpfile_s( | |
FILE** _Stream | |
); | |
errno_t __cdecl tmpnam_s( | |
char* _Buffer, | |
rsize_t _Size | |
); | |
#line 137 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
void __cdecl clearerr( | |
FILE* _Stream | |
); | |
int __cdecl fclose( | |
FILE* _Stream | |
); | |
int __cdecl _fcloseall(void); | |
FILE* __cdecl _fdopen( | |
int _FileHandle, | |
char const* _Mode | |
); | |
int __cdecl feof( | |
FILE* _Stream | |
); | |
int __cdecl ferror( | |
FILE* _Stream | |
); | |
int __cdecl fflush( | |
FILE* _Stream | |
); | |
int __cdecl fgetc( | |
FILE* _Stream | |
); | |
int __cdecl _fgetchar(void); | |
int __cdecl fgetpos( | |
FILE* _Stream, | |
fpos_t* _Position | |
); | |
char* __cdecl fgets( | |
char* _Buffer, | |
int _MaxCount, | |
FILE* _Stream | |
); | |
int __cdecl _fileno( | |
FILE* _Stream | |
); | |
int __cdecl _flushall(void); | |
FILE* __cdecl fopen( | |
char const* _FileName, | |
char const* _Mode | |
); | |
int __cdecl fputc( | |
int _Character, | |
FILE* _Stream | |
); | |
int __cdecl _fputchar( | |
int _Character | |
); | |
int __cdecl fputs( | |
char const* _Buffer, | |
FILE* _Stream | |
); | |
size_t __cdecl fread( | |
void* _Buffer, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
FILE* __cdecl freopen( | |
char const* _FileName, | |
char const* _Mode, | |
FILE* _Stream | |
); | |
FILE* __cdecl _fsopen( | |
char const* _FileName, | |
char const* _Mode, | |
int _ShFlag | |
); | |
int __cdecl fsetpos( | |
FILE* _Stream, | |
fpos_t const* _Position | |
); | |
int __cdecl fseek( | |
FILE* _Stream, | |
long _Offset, | |
int _Origin | |
); | |
int __cdecl _fseeki64( | |
FILE* _Stream, | |
__int64 _Offset, | |
int _Origin | |
); | |
long __cdecl ftell( | |
FILE* _Stream | |
); | |
__int64 __cdecl _ftelli64( | |
FILE* _Stream | |
); | |
size_t __cdecl fwrite( | |
void const* _Buffer, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
int __cdecl getc( | |
FILE* _Stream | |
); | |
int __cdecl getchar(void); | |
int __cdecl _getmaxstdio(void); | |
extern "C++" { template <size_t _Size> inline char* __cdecl gets_s(char (&_Buffer)[_Size]) throw() { return gets_s(_Buffer, _Size); } } | |
#line 311 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl _getw( | |
FILE* _Stream | |
); | |
void __cdecl perror( | |
char const* _ErrorMessage | |
); | |
int __cdecl _pclose( | |
FILE* _Stream | |
); | |
FILE* __cdecl _popen( | |
char const* _Command, | |
char const* _Mode | |
); | |
#line 336 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl putc( | |
int _Character, | |
FILE* _Stream | |
); | |
int __cdecl putchar( | |
int _Character | |
); | |
int __cdecl puts( | |
char const* _Buffer | |
); | |
int __cdecl _putw( | |
int _Word, | |
FILE* _Stream | |
); | |
int __cdecl remove( | |
char const* _FileName | |
); | |
int __cdecl rename( | |
char const* _OldFileName, | |
char const* _NewFileName | |
); | |
int __cdecl _unlink( | |
char const* _FileName | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_unlink" ". See online help for details.")) | |
int __cdecl unlink( | |
char const* _FileName | |
); | |
#line 385 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
void __cdecl rewind( | |
FILE* _Stream | |
); | |
int __cdecl _rmtmp(void); | |
void __cdecl setbuf( | |
FILE* _Stream, | |
char* _Buffer | |
); | |
int __cdecl _setmaxstdio( | |
int _Maximum | |
); | |
int __cdecl setvbuf( | |
FILE* _Stream, | |
char* _Buffer, | |
int _Mode, | |
size_t _Size | |
); | |
#line 419 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__declspec(allocator) char* __cdecl _tempnam( | |
char const* _DirectoryName, | |
char const* _FilePrefix | |
); | |
#line 429 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
FILE* __cdecl tmpfile(void); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl tmpnam_s( char (&_Buffer)[_Size]) throw() { return tmpnam_s(_Buffer, _Size); } } | |
#line 437 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
char* __cdecl tmpnam( char *_Buffer); | |
#line 443 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl ungetc( | |
int _Character, | |
FILE* _Stream | |
); | |
void __cdecl _lock_file( | |
FILE* _Stream | |
); | |
void __cdecl _unlock_file( | |
FILE* _Stream | |
); | |
int __cdecl _fclose_nolock( | |
FILE* _Stream | |
); | |
int __cdecl _fflush_nolock( | |
FILE* _Stream | |
); | |
int __cdecl _fgetc_nolock( | |
FILE* _Stream | |
); | |
int __cdecl _fputc_nolock( | |
int _Character, | |
FILE* _Stream | |
); | |
size_t __cdecl _fread_nolock( | |
void* _Buffer, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
size_t __cdecl _fread_nolock_s( | |
void* _Buffer, | |
size_t _BufferSize, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
int __cdecl _fseek_nolock( | |
FILE* _Stream, | |
long _Offset, | |
int _Origin | |
); | |
int __cdecl _fseeki64_nolock( | |
FILE* _Stream, | |
__int64 _Offset, | |
int _Origin | |
); | |
long __cdecl _ftell_nolock( | |
FILE* _Stream | |
); | |
__int64 __cdecl _ftelli64_nolock( | |
FILE* _Stream | |
); | |
size_t __cdecl _fwrite_nolock( | |
void const* _Buffer, | |
size_t _ElementSize, | |
size_t _ElementCount, | |
FILE* _Stream | |
); | |
int __cdecl _getc_nolock( | |
FILE* _Stream | |
); | |
int __cdecl _putc_nolock( | |
int _Character, | |
FILE* _Stream | |
); | |
int __cdecl _ungetc_nolock( | |
int _Character, | |
FILE* _Stream | |
); | |
#line 580 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int* __cdecl __p__commode(void); | |
#line 590 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 597 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl __stdio_common_vfprintf( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vfprintf_s( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vfprintf_p( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vfprintf_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 638 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vfprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 642 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vfprintf( | |
FILE* const _Stream, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 652 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 656 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vfprintf_s_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 667 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vfprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 671 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vfprintf_s( | |
FILE* const _Stream, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 683 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_s_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 687 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 689 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vfprintf_p_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 700 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vfprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); | |
} | |
#line 704 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vfprintf_p( | |
FILE* const _Stream, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 714 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_p_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 718 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vprintf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 728 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 732 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vprintf( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 741 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 745 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vprintf_s_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 755 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 759 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vprintf_s( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 770 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 774 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 776 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vprintf_p_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 786 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
} | |
#line 790 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vprintf_p( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 799 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
} | |
#line 803 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _fprintf_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 813 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 822 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl fprintf( | |
FILE* const _Stream, | |
char const* const _Format, | |
...) | |
#line 831 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 840 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl _set_printf_count_output( | |
int _Value | |
); | |
int __cdecl _get_printf_count_output(void); | |
__inline int __cdecl _fprintf_s_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 856 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_s_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 865 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl fprintf_s( | |
FILE* const _Stream, | |
char const* const _Format, | |
...) | |
#line 876 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_s_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 885 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 887 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _fprintf_p_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 897 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_p_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 906 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _fprintf_p( | |
FILE* const _Stream, | |
char const* const _Format, | |
...) | |
#line 915 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_p_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 924 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _printf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 933 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 942 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl printf( | |
char const* const _Format, | |
...) | |
#line 950 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 959 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _printf_s_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 968 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 977 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl printf_s( | |
char const* const _Format, | |
...) | |
#line 987 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 996 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 998 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _printf_p_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1007 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1016 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _printf_p( | |
char const* const _Format, | |
...) | |
#line 1024 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1033 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl __stdio_common_vfscanf( | |
unsigned __int64 _Options, | |
FILE* _Stream, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _Arglist | |
); | |
__inline int __cdecl _vfscanf_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1058 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vfscanf( | |
(*__local_stdio_scanf_options ()), | |
_Stream, _Format, _Locale, _ArgList); | |
} | |
#line 1064 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vfscanf( | |
FILE* const _Stream, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1074 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 1078 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vfscanf_s_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1089 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vfscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Stream, _Format, _Locale, _ArgList); | |
} | |
#line 1095 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vfscanf_s( | |
FILE* const _Stream, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1108 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_s_l(_Stream, _Format, 0, _ArgList); | |
} | |
#line 1112 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1114 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscanf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1124 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
} | |
#line 1128 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vscanf( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1137 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
} | |
#line 1141 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscanf_s_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1151 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
} | |
#line 1155 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vscanf_s( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1166 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vfscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
} | |
#line 1170 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1172 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _fscanf_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1182 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1191 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl fscanf( | |
FILE* const _Stream, | |
char const* const _Format, | |
...) | |
#line 1200 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1209 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _fscanf_s_l( | |
FILE* const _Stream, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1219 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_s_l(_Stream, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1228 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl fscanf_s( | |
FILE* const _Stream, | |
char const* const _Format, | |
...) | |
#line 1239 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_s_l(_Stream, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1248 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1250 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scanf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1259 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1268 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl scanf( | |
char const* const _Format, | |
...) | |
#line 1276 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1285 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scanf_s_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1294 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1303 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl scanf_s( | |
char const* const _Format, | |
...) | |
#line 1313 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vfscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1322 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1324 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl __stdio_common_vsprintf( | |
unsigned __int64 _Options, | |
char* _Buffer, | |
size_t _BufferCount, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vsprintf_s( | |
unsigned __int64 _Options, | |
char* _Buffer, | |
size_t _BufferCount, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vsnprintf_s( | |
unsigned __int64 _Options, | |
char* _Buffer, | |
size_t _BufferCount, | |
size_t _MaxCount, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __stdio_common_vsprintf_p( | |
unsigned __int64 _Options, | |
char* _Buffer, | |
size_t _BufferCount, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vsnprintf_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1385 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf( | |
(*__local_stdio_printf_options()) | (1ULL << 0), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1393 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsnprintf( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1405 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vsnprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 1412 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1423 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vsnprintf( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1435 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf( | |
(*__local_stdio_printf_options()) | (1ULL << 1), | |
_Buffer, _BufferCount, _Format, 0, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1443 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsprintf_l( | |
char* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1455 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 1462 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vsprintf( | |
char* const _Buffer, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1473 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vsnprintf_l(_Buffer, (size_t)-1, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 1480 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsprintf_s_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1493 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf_s( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1501 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vsprintf_s( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1515 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1519 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl vsprintf_s( char (&_Buffer)[_Size], char const* _Format, va_list _ArgList) throw() { return vsprintf_s(_Buffer, _Size, _Format, _ArgList); } } | |
#line 1527 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1529 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsprintf_p_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1542 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf_p( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1550 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsprintf_p( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1562 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1566 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsnprintf_s_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1580 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsnprintf_s( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1588 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsnprintf_s( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1601 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); | |
} | |
#line 1605 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl _vsnprintf_s( char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, va_list _ArgList) throw() { return _vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } | |
#line 1614 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vsnprintf_s( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1629 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); | |
} | |
#line 1633 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl vsnprintf_s( char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, va_list _ArgList) throw() { return vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } | |
#line 1642 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1644 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscprintf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1654 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf( | |
(*__local_stdio_printf_options()) | (1ULL << 1), | |
0, 0, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1662 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscprintf( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1671 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vscprintf_l(_Format, 0, _ArgList); | |
} | |
#line 1675 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscprintf_p_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1685 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf_p( | |
(*__local_stdio_printf_options()) | (1ULL << 1), | |
0, 0, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1693 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vscprintf_p( | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1702 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vscprintf_p_l(_Format, 0, _ArgList); | |
} | |
#line 1706 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsnprintf_c_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 1718 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int const _Result = __stdio_common_vsprintf( | |
(*__local_stdio_printf_options()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
return _Result < 0 ? -1 : _Result; | |
} | |
#line 1726 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsnprintf_c( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 1738 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsnprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
} | |
#line 1742 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _sprintf_l( | |
char* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1752 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsprintf_l(_Buffer, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1766 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl sprintf( | |
char* const _Buffer, | |
char const* const _Format, | |
...) | |
#line 1776 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsprintf_l(_Buffer, _Format, 0, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1790 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
int __cdecl sprintf( char *_Buffer, char const* _Format, ...); int __cdecl vsprintf( char *_Buffer, char const* _Format, va_list _Args); | |
#line 1799 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(pop) | |
__inline int __cdecl _sprintf_s_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1812 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1821 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl sprintf_s( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 1834 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1843 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1845 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl sprintf_s( char (&_Buffer)[_Size], char const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); return vsprintf_s(_Buffer, _Size, _Format, _ArgList); } __pragma(warning(pop)); } | |
#line 1851 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _sprintf_p_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1863 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1872 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _sprintf_p( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 1883 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1892 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1904 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vsnprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1918 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 1929 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl snprintf( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 1940 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(suppress:28719) | |
_Result = vsnprintf(_Buffer, _BufferCount, _Format, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1950 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 1960 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(suppress:28719) | |
_Result = _vsnprintf(_Buffer, _BufferCount, _Format, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 1970 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl _snprintf( char *_Buffer, size_t _BufferCount, char const* _Format, ...); int __cdecl _vsnprintf( char *_Buffer, size_t _BufferCount, char const* _Format, va_list _Args); | |
#line 1979 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf_c_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 1991 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2000 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf_c( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 2011 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2020 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf_s_l( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2033 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2042 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snprintf_s( | |
char* const _Buffer, | |
size_t const _BufferCount, | |
size_t const _MaxCount, | |
char const* const _Format, | |
...) | |
#line 2054 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2063 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl _snprintf_s( char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); return _vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } __pragma(warning(pop)); } | |
#line 2071 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scprintf_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2080 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscprintf_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2089 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scprintf( | |
char const* const _Format, | |
...) | |
#line 2097 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscprintf_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2106 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scprintf_p_l( | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2115 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscprintf_p_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2124 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _scprintf_p( | |
char const* const _Format, | |
...) | |
#line 2132 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vscprintf_p(_Format, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2141 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
int __cdecl __stdio_common_vsscanf( | |
unsigned __int64 _Options, | |
char const* _Buffer, | |
size_t _BufferCount, | |
char const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vsscanf_l( | |
char const* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 2166 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()), | |
_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 2172 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl vsscanf( | |
char const* const _Buffer, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 2182 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsscanf_l(_Buffer, _Format, 0, _ArgList); | |
} | |
#line 2186 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _vsscanf_s_l( | |
char const* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 2197 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Buffer, (size_t)-1, _Format, _Locale, _ArgList); | |
} | |
#line 2203 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(push) | |
#pragma warning(disable:6530) | |
__inline int __cdecl vsscanf_s( | |
char const* const _Buffer, | |
char const* const _Format, | |
va_list _ArgList | |
) | |
#line 2218 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
return _vsscanf_s_l(_Buffer, _Format, 0, _ArgList); | |
} | |
#line 2222 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
extern "C++" { template <size_t _Size> inline int __cdecl vsscanf_s( char const (&_Buffer)[_Size], char const* _Format, va_list _ArgList) throw() { return vsscanf_s(_Buffer, _Size, _Format, _ArgList); } } | |
#line 2229 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(pop) | |
#line 2233 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _sscanf_l( | |
char const* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2243 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsscanf_l(_Buffer, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2252 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl sscanf( | |
char const* const _Buffer, | |
char const* const _Format, | |
...) | |
#line 2261 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsscanf_l(_Buffer, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2270 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _sscanf_s_l( | |
char const* const _Buffer, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2280 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vsscanf_s_l(_Buffer, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2289 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl sscanf_s( | |
char const* const _Buffer, | |
char const* const _Format, | |
...) | |
#line 2300 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = vsscanf_s(_Buffer, _Format, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2314 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 2316 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(push) | |
#pragma warning(disable:6530) | |
__inline int __cdecl _snscanf_l( | |
char const* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2330 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2343 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snscanf( | |
char const* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 2353 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()), | |
_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2366 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snscanf_s_l( | |
char const* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 2378 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Buffer, _BufferCount, _Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2391 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__inline int __cdecl _snscanf_s( | |
char const* const _Buffer, | |
size_t const _BufferCount, | |
char const* const _Format, | |
...) | |
#line 2401 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = __stdio_common_vsscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Buffer, _BufferCount, _Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 2414 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#pragma warning(pop) | |
#line 2420 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
#line 2436 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_tempnam" ". See online help for details.")) | |
char* __cdecl tempnam( | |
char const* _Directory, | |
char const* _FilePrefix | |
); | |
#line 2446 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcloseall" ". See online help for details.")) int __cdecl fcloseall(void); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fdopen" ". See online help for details.")) FILE* __cdecl fdopen( int _FileHandle, char const* _Format); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fgetchar" ". See online help for details.")) int __cdecl fgetchar(void); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fileno" ". See online help for details.")) int __cdecl fileno( FILE* _Stream); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_flushall" ". See online help for details.")) int __cdecl flushall(void); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fputchar" ". See online help for details.")) int __cdecl fputchar( int _Ch); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_getw" ". See online help for details.")) int __cdecl getw( FILE* _Stream); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putw" ". See online help for details.")) int __cdecl putw( int _Ch, FILE* _Stream); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_rmtmp" ". See online help for details.")) int __cdecl rmtmp(void); | |
#line 2458 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h" | |
} __pragma(pack(pop)) | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdio" | |
typedef FILE FILE; | |
namespace std { | |
using :: FILE; using :: _Mbstatet; | |
using :: size_t; using :: fpos_t; using :: FILE; | |
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 :: putc; using :: putchar; | |
using :: printf; 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; | |
using :: snprintf; using :: vsnprintf; | |
using :: vfscanf; using :: vscanf; using :: vsscanf; | |
} | |
#line 47 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdio" | |
#line 49 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdio" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstring" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\errno.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
extern int* __cdecl _errno(void); | |
errno_t __cdecl _set_errno( int _Value); | |
errno_t __cdecl _get_errno( int* _Value); | |
unsigned long* __cdecl __doserrno(void); | |
errno_t __cdecl _set_doserrno( unsigned long _Value); | |
errno_t __cdecl _get_doserrno( unsigned long * _Value); | |
#line 78 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\errno.h" | |
#line 126 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\errno.h" | |
} __pragma(pack(pop)) | |
#line 12 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_string.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_string.h" | |
__pragma(pack(push, 8)) extern "C" { | |
void const* __cdecl memchr( | |
void const* _Buf, | |
int _Val, | |
size_t _MaxCount | |
); | |
int __cdecl memcmp( | |
void const* _Buf1, | |
void const* _Buf2, | |
size_t _Size | |
); | |
#line 40 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_string.h" | |
void* __cdecl memcpy( | |
void* _Dst, | |
void const* _Src, | |
size_t _Size | |
); | |
void* __cdecl memmove( | |
void* _Dst, | |
void const* _Src, | |
size_t _Size | |
); | |
#line 60 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_string.h" | |
void* __cdecl memset( | |
void* _Dst, | |
int _Val, | |
size_t _Size | |
); | |
char const* __cdecl strchr( | |
char const* _Str, | |
int _Val | |
); | |
char const* __cdecl strrchr( | |
char const* _Str, | |
int _Ch | |
); | |
char const* __cdecl strstr( | |
char const* _Str, | |
char const* _SubStr | |
); | |
wchar_t const* __cdecl wcschr( | |
wchar_t const* _Str, | |
wchar_t _Ch | |
); | |
wchar_t const* __cdecl wcsrchr( | |
wchar_t const* _Str, | |
wchar_t _Ch | |
); | |
wchar_t const* __cdecl wcsstr( | |
wchar_t const* _Str, | |
wchar_t const* _SubStr | |
); | |
} __pragma(pack(pop)) | |
#line 109 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_string.h" | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#line 19 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h" | |
static __inline errno_t __cdecl memcpy_s( | |
void* const _Destination, | |
rsize_t const _DestinationSize, | |
void const* const _Source, | |
rsize_t const _SourceSize | |
) | |
{ | |
if (_SourceSize == 0) | |
{ | |
return 0; | |
} | |
{ int _Expr_val=!!(_Destination != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; | |
if (_Source == 0 || _DestinationSize < _SourceSize) | |
{ | |
memset(_Destination, 0, _DestinationSize); | |
{ int _Expr_val=!!(_Source != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; | |
{ int _Expr_val=!!(_DestinationSize >= _SourceSize); if (!(_Expr_val)) { (*_errno()) = 34; _invalid_parameter_noinfo(); return 34; } }; | |
return 22; | |
} | |
memcpy(_Destination, _Source, _SourceSize); | |
return 0; | |
} | |
static __inline errno_t __cdecl memmove_s( | |
void* const _Destination, | |
rsize_t const _DestinationSize, | |
void const* const _Source, | |
rsize_t const _SourceSize | |
) | |
{ | |
if (_SourceSize == 0) | |
{ | |
return 0; | |
} | |
{ int _Expr_val=!!(_Destination != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; | |
{ int _Expr_val=!!(_Source != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; | |
{ int _Expr_val=!!(_DestinationSize >= _SourceSize); if (!(_Expr_val)) { (*_errno()) = 34; _invalid_parameter_noinfo(); return 34; } }; | |
memmove(_Destination, _Source, _SourceSize); | |
return 0; | |
} | |
#line 85 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h" | |
} __pragma(pack(pop)) | |
#line 15 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
__pragma(pack(push, 8)) extern "C" { | |
int __cdecl _memicmp( | |
void const* _Buf1, | |
void const* _Buf2, | |
size_t _Size | |
); | |
int __cdecl _memicmp_l( | |
void const* _Buf1, | |
void const* _Buf2, | |
size_t _Size, | |
_locale_t _Locale | |
); | |
#line 56 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
#line 71 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
#line 73 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memccpy" ". See online help for details.")) | |
void* __cdecl memccpy( | |
void* _Dst, | |
void const* _Src, | |
int _Val, | |
size_t _Size | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memicmp" ". See online help for details.")) | |
int __cdecl memicmp( | |
void const* _Buf1, | |
void const* _Buf2, | |
size_t _Size | |
); | |
#line 92 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
extern "C++" | |
inline void* __cdecl memchr( | |
void* _Pv, | |
int _C, | |
size_t _N | |
) | |
{ | |
void const* const _Pvc = _Pv; | |
return const_cast<void*>(memchr(_Pvc, _C, _N)); | |
} | |
#line 107 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
} __pragma(pack(pop)) | |
#line 113 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_memory.h" | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
errno_t __cdecl wcscat_s( | |
wchar_t* _Destination, | |
rsize_t _SizeInWords, | |
wchar_t const* _Source | |
); | |
errno_t __cdecl wcscpy_s( | |
wchar_t* _Destination, | |
rsize_t _SizeInWords, | |
wchar_t const* _Source | |
); | |
errno_t __cdecl wcsncat_s( | |
wchar_t* _Destination, | |
rsize_t _SizeInWords, | |
wchar_t const* _Source, | |
rsize_t _MaxCount | |
); | |
errno_t __cdecl wcsncpy_s( | |
wchar_t* _Destination, | |
rsize_t _SizeInWords, | |
wchar_t const* _Source, | |
rsize_t _MaxCount | |
); | |
wchar_t* __cdecl wcstok_s( | |
wchar_t* _String, | |
wchar_t const* _Delimiter, | |
wchar_t** _Context | |
); | |
#line 65 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 77 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
__declspec(allocator) wchar_t* __cdecl _wcsdup( | |
wchar_t const* _String | |
); | |
#line 86 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcscat_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source) throw() { return wcscat_s(_Destination, _Size, _Source); } } | |
#line 94 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl wcscat( wchar_t *_Destination, wchar_t const* _Source); | |
#line 102 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 104 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
int __cdecl wcscmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcscpy_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source) throw() { return wcscpy_s(_Destination, _Size, _Source); } } | |
#line 116 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl wcscpy( wchar_t *_Destination, wchar_t const* _Source); | |
#line 122 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
size_t __cdecl wcscspn( | |
wchar_t const* _String, | |
wchar_t const* _Control | |
); | |
size_t __cdecl wcslen( | |
wchar_t const* _String | |
); | |
#line 139 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 143 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
size_t __cdecl wcsnlen( | |
wchar_t const* _Source, | |
size_t _MaxCount | |
); | |
#line 155 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 159 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
static __inline size_t __cdecl wcsnlen_s( | |
wchar_t const* _Source, | |
size_t _MaxCount | |
) | |
{ | |
return (_Source == 0) ? 0 : wcsnlen(_Source, _MaxCount); | |
} | |
#line 168 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsncat_s( wchar_t (&_Destination)[_Size], wchar_t const* _Source, size_t _Count) throw() { return wcsncat_s(_Destination, _Size, _Source, _Count); } } | |
#line 175 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl wcsncat( wchar_t *_Destination, wchar_t const* _Source, size_t _Count); | |
#line 183 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
int __cdecl wcsncmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsncpy_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source, size_t _Count) throw() { return wcsncpy_s(_Destination, _Size, _Source, _Count); } } | |
#line 197 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl wcsncpy( wchar_t *_Destination, wchar_t const* _Source, size_t _Count); | |
#line 205 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t const* __cdecl wcspbrk( | |
wchar_t const* _String, | |
wchar_t const* _Control | |
); | |
size_t __cdecl wcsspn( | |
wchar_t const* _String, | |
wchar_t const* _Control | |
); | |
wchar_t* __cdecl wcstok( | |
wchar_t* _String, | |
wchar_t const* _Delimiter, | |
wchar_t** _Context | |
); | |
#line 230 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 235 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4141 4996) | |
static __inline wchar_t* __cdecl _wcstok( | |
wchar_t* const _String, | |
wchar_t const* const _Delimiter | |
) | |
{ | |
return wcstok(_String, _Delimiter, 0); | |
} | |
#line 251 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
extern "C++" __declspec(deprecated("wcstok has been changed to conform with the ISO C standard, " "adding an extra context parameter. To use the legacy Microsoft " "wcstok, define _CRT_NON_CONFORMING_WCSTOK.")) | |
inline wchar_t* __cdecl wcstok( | |
wchar_t* _String, | |
wchar_t const* _Delimiter | |
) throw() | |
{ | |
return wcstok(_String, _Delimiter, 0); | |
} | |
#line 262 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#pragma warning(pop) | |
#line 266 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcserror( | |
int _ErrorNumber | |
); | |
errno_t __cdecl _wcserror_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
int _ErrorNumber | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcserror_s(wchar_t (&_Buffer)[_Size], int _Error) throw() { return _wcserror_s(_Buffer, _Size, _Error); } } | |
#line 287 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl __wcserror( | |
wchar_t const* _String | |
); | |
errno_t __cdecl __wcserror_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
wchar_t const* _ErrorMessage | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl __wcserror_s(wchar_t (&_Buffer)[_Size], wchar_t const* _ErrorMessage) throw() { return __wcserror_s(_Buffer, _Size, _ErrorMessage); } } | |
#line 306 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
int __cdecl _wcsicmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
int __cdecl _wcsicmp_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
_locale_t _Locale | |
); | |
int __cdecl _wcsnicmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _wcsnicmp_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
errno_t __cdecl _wcsnset_s( | |
wchar_t* _Destination, | |
size_t _SizeInWords, | |
wchar_t _Value, | |
size_t _MaxCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsnset_s( wchar_t (&_Destination)[_Size], wchar_t _Value, size_t _MaxCount) throw() { return _wcsnset_s(_Destination, _Size, _Value, _MaxCount); } } | |
#line 344 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcsnset( wchar_t *_String, wchar_t _Value, size_t _MaxCount); | |
#line 352 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcsrev( | |
wchar_t* _String | |
); | |
errno_t __cdecl _wcsset_s( | |
wchar_t* _Destination, | |
size_t _SizeInWords, | |
wchar_t _Value | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsset_s( wchar_t (&_String)[_Size], wchar_t _Value) throw() { return _wcsset_s(_String, _Size, _Value); } } | |
#line 368 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcsset( wchar_t *_String, wchar_t _Value); | |
#line 375 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
errno_t __cdecl _wcslwr_s( | |
wchar_t* _String, | |
size_t _SizeInWords | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcslwr_s( wchar_t (&_String)[_Size]) throw() { return _wcslwr_s(_String, _Size); } } | |
#line 385 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcslwr( wchar_t *_String); | |
#line 390 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
errno_t __cdecl _wcslwr_s_l( | |
wchar_t* _String, | |
size_t _SizeInWords, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcslwr_s_l( wchar_t (&_String)[_Size], _locale_t _Locale) throw() { return _wcslwr_s_l(_String, _Size, _Locale); } } | |
#line 403 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcslwr_l( wchar_t *_String, _locale_t _Locale); | |
#line 410 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
errno_t __cdecl _wcsupr_s( | |
wchar_t* _String, | |
size_t _Size | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsupr_s( wchar_t (&_String)[_Size]) throw() { return _wcsupr_s(_String, _Size); } } | |
#line 421 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcsupr( wchar_t *_String); | |
#line 426 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
errno_t __cdecl _wcsupr_s_l( | |
wchar_t* _String, | |
size_t _Size, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsupr_s_l( wchar_t (&_String)[_Size], _locale_t _Locale) throw() { return _wcsupr_s_l(_String, _Size, _Locale); } } | |
#line 439 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
wchar_t* __cdecl _wcsupr_l( wchar_t *_String, _locale_t _Locale); | |
#line 446 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
size_t __cdecl wcsxfrm( | |
wchar_t* _Destination, | |
wchar_t const* _Source, | |
size_t _MaxCount | |
); | |
size_t __cdecl _wcsxfrm_l( | |
wchar_t* _Destination, | |
wchar_t const* _Source, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
int __cdecl wcscoll( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
int __cdecl _wcscoll_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
_locale_t _Locale | |
); | |
int __cdecl _wcsicoll( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
int __cdecl _wcsicoll_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
_locale_t _Locale | |
); | |
int __cdecl _wcsncoll( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _wcsncoll_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
int __cdecl _wcsnicoll( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _wcsnicoll_l( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
extern "C++" { | |
inline wchar_t* __cdecl wcschr( wchar_t* _String, wchar_t _C) | |
{ | |
return const_cast<wchar_t*>(wcschr(static_cast<wchar_t const*>(_String), _C)); | |
} | |
inline wchar_t* __cdecl wcspbrk( wchar_t* _String, wchar_t const* _Control) | |
{ | |
return const_cast<wchar_t*>(wcspbrk(static_cast<wchar_t const*>(_String), _Control)); | |
} | |
inline wchar_t* __cdecl wcsrchr( wchar_t* _String, wchar_t _C) | |
{ | |
return const_cast<wchar_t*>(wcsrchr(static_cast<wchar_t const*>(_String), _C)); | |
} | |
inline wchar_t* __cdecl wcsstr( wchar_t* _String, wchar_t const*_SubStr) | |
{ | |
return const_cast<wchar_t*>(wcsstr(static_cast<wchar_t const*>(_String), _SubStr)); | |
} | |
} | |
#line 558 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 571 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsdup" ". See online help for details.")) | |
wchar_t* __cdecl wcsdup( | |
wchar_t const* _String | |
); | |
#line 580 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicmp" ". See online help for details.")) | |
int __cdecl wcsicmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnicmp" ". See online help for details.")) | |
int __cdecl wcsnicmp( | |
wchar_t const* _String1, | |
wchar_t const* _String2, | |
size_t _MaxCount | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnset" ". See online help for details.")) | |
wchar_t* __cdecl wcsnset( | |
wchar_t* _String, | |
wchar_t _Value, | |
size_t _MaxCount | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsrev" ". See online help for details.")) | |
wchar_t* __cdecl wcsrev( | |
wchar_t* _String | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsset" ". See online help for details.")) | |
wchar_t* __cdecl wcsset( | |
wchar_t* _String, | |
wchar_t _Value | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcslwr" ". See online help for details.")) | |
wchar_t* __cdecl wcslwr( | |
wchar_t* _String | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsupr" ". See online help for details.")) | |
wchar_t* __cdecl wcsupr( | |
wchar_t* _String | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicoll" ". See online help for details.")) | |
int __cdecl wcsicoll( | |
wchar_t const* _String1, | |
wchar_t const* _String2 | |
); | |
#line 637 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
} __pragma(pack(pop)) | |
#line 643 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wstring.h" | |
#line 14 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
__pragma(pack(push, 8)) extern "C" { | |
errno_t __cdecl strcpy_s( | |
char* _Destination, | |
rsize_t _SizeInBytes, | |
char const* _Source | |
); | |
errno_t __cdecl strcat_s( | |
char* _Destination, | |
rsize_t _SizeInBytes, | |
char const* _Source | |
); | |
errno_t __cdecl strerror_s( | |
char* _Buffer, | |
size_t _SizeInBytes, | |
int _ErrorNumber); | |
errno_t __cdecl strncat_s( | |
char* _Destination, | |
rsize_t _SizeInBytes, | |
char const* _Source, | |
rsize_t _MaxCount | |
); | |
errno_t __cdecl strncpy_s( | |
char* _Destination, | |
rsize_t _SizeInBytes, | |
char const* _Source, | |
rsize_t _MaxCount | |
); | |
char* __cdecl strtok_s( | |
char* _String, | |
char const* _Delimiter, | |
char** _Context | |
); | |
#line 70 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
void* __cdecl _memccpy( | |
void* _Dst, | |
void const* _Src, | |
int _Val, | |
size_t _MaxCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl strcat_s(char (&_Destination)[_Size], char const* _Source) throw() { return strcat_s(_Destination, _Size, _Source); } } | |
#line 83 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strcat( char *_Destination, char const* _Source); | |
#line 91 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 93 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
int __cdecl strcmp( | |
char const* _Str1, | |
char const* _Str2 | |
); | |
int __cdecl _strcmpi( | |
char const* _String1, | |
char const* _String2 | |
); | |
int __cdecl strcoll( | |
char const* _String1, | |
char const* _String2 | |
); | |
int __cdecl _strcoll_l( | |
char const* _String1, | |
char const* _String2, | |
_locale_t _Locale | |
); | |
char* __cdecl strcpy( | |
char* _Dest, | |
char const* _Source | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl strcpy_s( char (&_Destination)[_Size], char const* _Source) throw() { return strcpy_s(_Destination, _Size, _Source); } } | |
#line 129 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strcpy( char *_Destination, char const* _Source); | |
#line 135 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
size_t __cdecl strcspn( | |
char const* _Str, | |
char const* _Control | |
); | |
#line 146 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
__declspec(allocator) char* __cdecl _strdup( | |
char const* _Source | |
); | |
#line 155 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strerror( | |
char const* _ErrorMessage | |
); | |
errno_t __cdecl _strerror_s( | |
char* _Buffer, | |
size_t _SizeInBytes, | |
char const* _ErrorMessage | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strerror_s(char (&_Buffer)[_Size], char const* _ErrorMessage) throw() { return _strerror_s(_Buffer, _Size, _ErrorMessage); } } | |
#line 175 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strerror( | |
int _ErrorMessage | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl strerror_s(char (&_Buffer)[_Size], int _ErrorMessage) throw() { return strerror_s(_Buffer, _Size, _ErrorMessage); } } | |
#line 187 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
int __cdecl _stricmp( | |
char const* _String1, | |
char const* _String2 | |
); | |
int __cdecl _stricoll( | |
char const* _String1, | |
char const* _String2 | |
); | |
int __cdecl _stricoll_l( | |
char const* _String1, | |
char const* _String2, | |
_locale_t _Locale | |
); | |
int __cdecl _stricmp_l( | |
char const* _String1, | |
char const* _String2, | |
_locale_t _Locale | |
); | |
size_t __cdecl strlen( | |
char const* _Str | |
); | |
errno_t __cdecl _strlwr_s( | |
char* _String, | |
size_t _Size | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strlwr_s( char (&_String)[_Size]) throw() { return _strlwr_s(_String, _Size); } } | |
#line 229 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strlwr( char *_String); | |
#line 234 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
errno_t __cdecl _strlwr_s_l( | |
char* _String, | |
size_t _Size, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strlwr_s_l( char (&_String)[_Size], _locale_t _Locale) throw() { return _strlwr_s_l(_String, _Size, _Locale); } } | |
#line 247 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strlwr_l( char *_String, _locale_t _Locale); | |
#line 254 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strncat( | |
char* _Dest, | |
char const* _Source, | |
size_t _Count | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl strncat_s( char (&_Destination)[_Size], char const* _Source, size_t _Count) throw() { return strncat_s(_Destination, _Size, _Source, _Count); } } | |
#line 267 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strncat( char *_Destination, char const* _Source, size_t _Count); | |
#line 275 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
int __cdecl strncmp( | |
char const* _Str1, | |
char const* _Str2, | |
size_t _MaxCount | |
); | |
int __cdecl _strnicmp( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _strnicmp_l( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
int __cdecl _strnicoll( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _strnicoll_l( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
int __cdecl _strncoll( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount | |
); | |
int __cdecl _strncoll_l( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
size_t __cdecl __strncnt( | |
char const* _String, | |
size_t _Count | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl strncpy_s(char (&_Destination)[_Size], char const* _Source, size_t _Count) throw() { return strncpy_s(_Destination, _Size, _Source, _Count); } } | |
#line 339 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl strncpy( char *_Destination, char const* _Source, size_t _Count); | |
#line 347 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 353 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 357 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
size_t __cdecl strnlen( | |
char const* _String, | |
size_t _MaxCount | |
); | |
#line 369 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 373 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
static __inline size_t __cdecl strnlen_s( | |
char const* _String, | |
size_t _MaxCount | |
) | |
{ | |
return _String == 0 ? 0 : strnlen(_String, _MaxCount); | |
} | |
#line 382 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strnset( | |
char* _Dest, | |
int _Val, | |
size_t _Count | |
); | |
errno_t __cdecl _strnset_s( | |
char* _String, | |
size_t _SizeInBytes, | |
int _Value, | |
size_t _MaxCount | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strnset_s( char (&_Destination)[_Size], int _Value, size_t _Count) throw() { return _strnset_s(_Destination, _Size, _Value, _Count); } } | |
#line 403 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strnset( char *_Destination, int _Value, size_t _Count); | |
#line 411 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char const* __cdecl strpbrk( | |
char const* _Str, | |
char const* _Control | |
); | |
char* __cdecl _strrev( | |
char* _Str | |
); | |
errno_t __cdecl _strset_s( | |
char* _Destination, | |
size_t _DestinationSize, | |
int _Value | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strset_s( char (&_Destination)[_Size], int _Value) throw() { return _strset_s(_Destination, _Size, _Value); } } | |
#line 434 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strset( char *_Destination, int _Value); | |
#line 440 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strset( | |
char* _Dest, | |
int _Value | |
); | |
size_t __cdecl strspn( | |
char const* _Str, | |
char const* _Control | |
); | |
char* __cdecl strtok( | |
char* _String, | |
char const* _Delimiter | |
); | |
errno_t __cdecl _strupr_s( | |
char* _String, | |
size_t _Size | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strupr_s( char (&_String)[_Size]) throw() { return _strupr_s(_String, _Size); } } | |
#line 468 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strupr( char *_String); | |
#line 473 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
errno_t __cdecl _strupr_s_l( | |
char* _String, | |
size_t _Size, | |
_locale_t _Locale | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _strupr_s_l( char (&_String)[_Size], _locale_t _Locale) throw() { return _strupr_s_l(_String, _Size, _Locale); } } | |
#line 486 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
char* __cdecl _strupr_l( char *_String, _locale_t _Locale); | |
#line 493 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
size_t __cdecl strxfrm( | |
char* _Destination, | |
char const* _Source, | |
size_t _MaxCount | |
); | |
size_t __cdecl _strxfrm_l( | |
char* _Destination, | |
char const* _Source, | |
size_t _MaxCount, | |
_locale_t _Locale | |
); | |
extern "C++" | |
{ | |
inline char* __cdecl strchr( char* const _String, int const _Ch) | |
{ | |
return const_cast<char*>(strchr(static_cast<char const*>(_String), _Ch)); | |
} | |
inline char* __cdecl strpbrk( char* const _String, char const* const _Control) | |
{ | |
return const_cast<char*>(strpbrk(static_cast<char const*>(_String), _Control)); | |
} | |
inline char* __cdecl strrchr( char* const _String, int const _Ch) | |
{ | |
return const_cast<char*>(strrchr(static_cast<char const*>(_String), _Ch)); | |
} | |
inline char* __cdecl strstr( char* const _String, char const* const _SubString) | |
{ | |
return const_cast<char*>(strstr(static_cast<char const*>(_String), _SubString)); | |
} | |
} | |
#line 541 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 550 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strdup" ". See online help for details.")) | |
char* __cdecl strdup( | |
char const* _String | |
); | |
#line 559 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strcmpi" ". See online help for details.")) | |
int __cdecl strcmpi( | |
char const* _String1, | |
char const* _String2 | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_stricmp" ". See online help for details.")) | |
int __cdecl stricmp( | |
char const* _String1, | |
char const* _String2 | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strlwr" ". See online help for details.")) | |
char* __cdecl strlwr( | |
char* _String | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnicmp" ". See online help for details.")) | |
int __cdecl strnicmp( | |
char const* _String1, | |
char const* _String2, | |
size_t _MaxCount | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnset" ". See online help for details.")) | |
char* __cdecl strnset( | |
char* _String, | |
int _Value, | |
size_t _MaxCount | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strrev" ". See online help for details.")) | |
char* __cdecl strrev( | |
char* _String | |
); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strset" ". See online help for details.")) | |
char* __cdecl strset( | |
char* _String, | |
int _Value); | |
__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strupr" ". See online help for details.")) | |
char* __cdecl strupr( | |
char* _String | |
); | |
#line 608 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
} __pragma(pack(pop)) | |
#line 614 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\string.h" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstring" | |
namespace std { | |
using :: size_t; using :: memchr; using :: memcmp; | |
using :: memcpy; using :: memmove; using :: memset; | |
using :: strcat; using :: strchr; using :: strcmp; | |
using :: strcoll; using :: strcpy; using :: strcspn; | |
using :: strerror; using :: strlen; using :: strncat; | |
using :: strncmp; using :: strncpy; using :: strpbrk; | |
using :: strrchr; using :: strspn; using :: strstr; | |
using :: strtok; using :: strxfrm; | |
} | |
#line 20 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstring" | |
#line 22 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstring" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstddef" | |
#pragma once | |
namespace std { | |
using :: ptrdiff_t; using :: size_t; | |
typedef double max_align_t; | |
} | |
using ::std:: max_align_t; | |
#line 16 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstddef" | |
#line 17 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstddef" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\initializer_list" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Elem> | |
class initializer_list | |
{ | |
public: | |
typedef _Elem value_type; | |
typedef const _Elem& reference; | |
typedef const _Elem& const_reference; | |
typedef size_t size_type; | |
typedef const _Elem* iterator; | |
typedef const _Elem* const_iterator; | |
constexpr initializer_list() throw () | |
: _First(0), _Last(0) | |
{ | |
} | |
constexpr initializer_list(const _Elem *_First_arg, | |
const _Elem *_Last_arg) throw () | |
: _First(_First_arg), _Last(_Last_arg) | |
{ | |
} | |
constexpr const _Elem *begin() const throw () | |
{ | |
return (_First); | |
} | |
constexpr const _Elem *end() const throw () | |
{ | |
return (_Last); | |
} | |
constexpr size_t size() const throw () | |
{ | |
return ((size_t)(_Last - _First)); | |
} | |
private: | |
const _Elem *_First; | |
const _Elem *_Last; | |
}; | |
template<class _Elem> inline | |
constexpr const _Elem *begin(initializer_list<_Elem> _Ilist) throw () | |
{ | |
return (_Ilist.begin()); | |
} | |
template<class _Elem> inline | |
constexpr const _Elem *end(initializer_list<_Elem> _Ilist) throw () | |
{ | |
return (_Ilist.end()); | |
} | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 77 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\initializer_list" | |
#line 78 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\initializer_list" | |
#line 10 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 55 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 68 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 75 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
template<bool, | |
class _Ty1, | |
class _Ty2> | |
struct _If | |
{ | |
typedef _Ty2 type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _If<true, _Ty1, _Ty2> | |
{ | |
typedef _Ty1 type; | |
}; | |
template<class _Ty> | |
struct _Always_false | |
{ | |
static constexpr bool value = false; | |
}; | |
template<class _Arg, | |
class _Result> | |
struct unary_function | |
{ | |
typedef _Arg argument_type; | |
typedef _Result result_type; | |
}; | |
template<class _Arg1, | |
class _Arg2, | |
class _Result> | |
struct binary_function | |
{ | |
typedef _Arg1 first_argument_type; | |
typedef _Arg2 second_argument_type; | |
typedef _Result result_type; | |
}; | |
#line 167 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
template<class _Ty = void> | |
struct plus | |
{ | |
typedef _Ty first_argument_type; | |
typedef _Ty second_argument_type; | |
typedef _Ty result_type; | |
constexpr _Ty operator()(const _Ty& _Left, const _Ty& _Right) const | |
{ | |
return (_Left + _Right); | |
} | |
}; | |
template<class _Ty = void> | |
struct minus | |
{ | |
typedef _Ty first_argument_type; | |
typedef _Ty second_argument_type; | |
typedef _Ty result_type; | |
constexpr _Ty operator()(const _Ty& _Left, const _Ty& _Right) const | |
{ | |
return (_Left - _Right); | |
} | |
}; | |
template<class _Ty = void> | |
struct multiplies | |
{ | |
typedef _Ty first_argument_type; | |
typedef _Ty second_argument_type; | |
typedef _Ty result_type; | |
constexpr _Ty operator()(const _Ty& _Left, const _Ty& _Right) const | |
{ | |
return (_Left * _Right); | |
} | |
}; | |
template<class _Ty = void> | |
struct equal_to | |
{ | |
typedef _Ty first_argument_type; | |
typedef _Ty second_argument_type; | |
typedef bool result_type; | |
constexpr bool operator()(const _Ty& _Left, const _Ty& _Right) const | |
{ | |
return (_Left == _Right); | |
} | |
}; | |
template<class _Ty = void> | |
struct less | |
{ | |
typedef _Ty first_argument_type; | |
typedef _Ty second_argument_type; | |
typedef bool result_type; | |
constexpr bool operator()(const _Ty& _Left, const _Ty& _Right) const | |
{ | |
return (_Left < _Right); | |
} | |
}; | |
template<> | |
struct plus<void> | |
{ | |
typedef int is_transparent; | |
template<class _Ty1, | |
class _Ty2> | |
constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const | |
-> decltype(static_cast<_Ty1&&>(_Left) | |
+ static_cast<_Ty2&&>(_Right)) | |
{ | |
return (static_cast<_Ty1&&>(_Left) | |
+ static_cast<_Ty2&&>(_Right)); | |
} | |
}; | |
template<> | |
struct minus<void> | |
{ | |
typedef int is_transparent; | |
template<class _Ty1, | |
class _Ty2> | |
constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const | |
-> decltype(static_cast<_Ty1&&>(_Left) | |
- static_cast<_Ty2&&>(_Right)) | |
{ | |
return (static_cast<_Ty1&&>(_Left) | |
- static_cast<_Ty2&&>(_Right)); | |
} | |
}; | |
template<> | |
struct multiplies<void> | |
{ | |
typedef int is_transparent; | |
template<class _Ty1, | |
class _Ty2> | |
constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const | |
-> decltype(static_cast<_Ty1&&>(_Left) | |
* static_cast<_Ty2&&>(_Right)) | |
{ | |
return (static_cast<_Ty1&&>(_Left) | |
* static_cast<_Ty2&&>(_Right)); | |
} | |
}; | |
template<> | |
struct equal_to<void> | |
{ | |
typedef int is_transparent; | |
template<class _Ty1, | |
class _Ty2> | |
constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const | |
-> decltype(static_cast<_Ty1&&>(_Left) | |
== static_cast<_Ty2&&>(_Right)) | |
{ | |
return (static_cast<_Ty1&&>(_Left) | |
== static_cast<_Ty2&&>(_Right)); | |
} | |
}; | |
template<> | |
struct less<void> | |
{ | |
typedef int is_transparent; | |
template<class _Ty1, | |
class _Ty2> | |
constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const | |
-> decltype(static_cast<_Ty1&&>(_Left) | |
< static_cast<_Ty2&&>(_Right)) | |
{ | |
return (static_cast<_Ty1&&>(_Left) | |
< static_cast<_Ty2&&>(_Right)); | |
} | |
}; | |
} | |
namespace std { | |
inline size_t _Hash_seq(const unsigned char *_First, size_t _Count) | |
{ | |
#line 338 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
static_assert(sizeof(size_t) == 4, "This code is for 32-bit size_t."); | |
const size_t _FNV_offset_basis = 2166136261U; | |
const size_t _FNV_prime = 16777619U; | |
#line 342 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
size_t _Val = _FNV_offset_basis; | |
for (size_t _Next = 0; _Next < _Count; ++_Next) | |
{ | |
_Val ^= (size_t)_First[_Next]; | |
_Val *= _FNV_prime; | |
} | |
return (_Val); | |
} | |
template<class _Kty> | |
struct _Bitwise_hash | |
{ | |
typedef _Kty argument_type; | |
typedef size_t result_type; | |
size_t operator()(const _Kty& _Keyval) const | |
{ | |
return (_Hash_seq((const unsigned char *)&_Keyval, sizeof (_Kty))); | |
} | |
}; | |
template<class _Kty> | |
struct hash | |
: public _Bitwise_hash<_Kty> | |
{ | |
static constexpr bool _Value = __is_enum(_Kty); | |
static_assert(_Value, | |
"The C++ Standard doesn't provide a hash for this type."); | |
}; | |
template<> | |
struct hash<bool> | |
: public _Bitwise_hash<bool> | |
{ | |
}; | |
template<> | |
struct hash<char> | |
: public _Bitwise_hash<char> | |
{ | |
}; | |
template<> | |
struct hash<signed char> | |
: public _Bitwise_hash<signed char> | |
{ | |
}; | |
template<> | |
struct hash<unsigned char> | |
: public _Bitwise_hash<unsigned char> | |
{ | |
}; | |
template<> | |
struct hash<char16_t> | |
: public _Bitwise_hash<char16_t> | |
{ | |
}; | |
template<> | |
struct hash<char32_t> | |
: public _Bitwise_hash<char32_t> | |
{ | |
}; | |
template<> | |
struct hash<wchar_t> | |
: public _Bitwise_hash<wchar_t> | |
{ | |
}; | |
#line 417 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
template<> | |
struct hash<short> | |
: public _Bitwise_hash<short> | |
{ | |
}; | |
template<> | |
struct hash<unsigned short> | |
: public _Bitwise_hash<unsigned short> | |
{ | |
}; | |
template<> | |
struct hash<int> | |
: public _Bitwise_hash<int> | |
{ | |
}; | |
template<> | |
struct hash<unsigned int> | |
: public _Bitwise_hash<unsigned int> | |
{ | |
}; | |
template<> | |
struct hash<long> | |
: public _Bitwise_hash<long> | |
{ | |
}; | |
template<> | |
struct hash<unsigned long> | |
: public _Bitwise_hash<unsigned long> | |
{ | |
}; | |
template<> | |
struct hash<long long> | |
: public _Bitwise_hash<long long> | |
{ | |
}; | |
template<> | |
struct hash<unsigned long long> | |
: public _Bitwise_hash<unsigned long long> | |
{ | |
}; | |
template<> | |
struct hash<float> | |
: public _Bitwise_hash<float> | |
{ | |
typedef float _Kty; | |
typedef _Bitwise_hash<_Kty> _Mybase; | |
size_t operator()(const _Kty& _Keyval) const | |
{ | |
return (_Mybase::operator()( | |
_Keyval == 0 ? 0 : _Keyval)); | |
} | |
}; | |
template<> | |
struct hash<double> | |
: public _Bitwise_hash<double> | |
{ | |
typedef double _Kty; | |
typedef _Bitwise_hash<_Kty> _Mybase; | |
size_t operator()(const _Kty& _Keyval) const | |
{ | |
return (_Mybase::operator()( | |
_Keyval == 0 ? 0 : _Keyval)); | |
} | |
}; | |
template<> | |
struct hash<long double> | |
: public _Bitwise_hash<long double> | |
{ | |
typedef long double _Kty; | |
typedef _Bitwise_hash<_Kty> _Mybase; | |
size_t operator()(const _Kty& _Keyval) const | |
{ | |
return (_Mybase::operator()( | |
_Keyval == 0 ? 0 : _Keyval)); | |
} | |
}; | |
template<class _Ty> | |
struct hash<_Ty *> | |
: public _Bitwise_hash<_Ty *> | |
{ | |
}; | |
} | |
#line 515 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
namespace std { | |
namespace tr1 { | |
using ::std:: hash; | |
} | |
} | |
#line 523 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 534 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 542 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 553 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 562 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
namespace std { | |
template<class _Ty> inline | |
constexpr _Ty *addressof(_Ty& _Val) throw () | |
{ | |
return (__builtin_addressof(_Val)); | |
} | |
template<class _Ptrty> inline | |
auto _Unfancy(_Ptrty _Ptr) | |
{ | |
return (::std:: addressof(*_Ptr)); | |
} | |
template<class _Ty> inline | |
_Ty * _Unfancy(_Ty * _Ptr) | |
{ | |
return (_Ptr); | |
} | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 651 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 652 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstddef" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
#pragma warning(disable: 4180) | |
namespace std { | |
template<class... _Types> | |
struct _Arg_types | |
{ | |
}; | |
template<class _Ty1> | |
struct _Arg_types<_Ty1> | |
{ | |
typedef _Ty1 argument_type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Arg_types<_Ty1, _Ty2> | |
{ | |
typedef _Ty1 first_argument_type; | |
typedef _Ty2 second_argument_type; | |
}; | |
template<class _Ty> | |
struct _Is_function | |
{ | |
typedef false_type _Bool_type; | |
}; | |
template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) > : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) > : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) > : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) > : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const volatile> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const volatile &> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __cdecl (_Types...) const volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __fastcall (_Types...) const volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __stdcall (_Types...) const volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret __vectorcall (_Types...) const volatile &&> : _Arg_types<_Types...> { typedef true_type _Bool_type; typedef _Ret result_type; }; | |
template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) > { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) volatile> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const volatile> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) &> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const &> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) volatile &> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const volatile &> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) &&> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const &&> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) volatile &&> { typedef true_type _Bool_type; typedef _Ret result_type; }; template<class _Ret, class... _Types> struct _Is_function<_Ret (_Types..., ...) const volatile &&> { typedef true_type _Bool_type; typedef _Ret result_type; }; | |
template<class _Ty> | |
struct is_function | |
: _Is_function<_Ty>::_Bool_type | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_function_v = is_function<_Ty>::value; | |
template<class _Ty> | |
struct _Is_memfunptr | |
{ | |
typedef false_type _Bool_type; | |
}; | |
template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) &> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) &> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) &> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) &> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) &> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const &> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const &> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const &> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const &> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const &> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile &> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile &> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile &> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile &> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile &> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile &> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile &> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile &> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile &> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile &> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) &&> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) &&> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) &&> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) &&> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) &&> : _Arg_types< _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const &&> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const &&> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const &&> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const &&> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const &&> : _Arg_types<const _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile &&> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile &&> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile &&> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile &&> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile &&> : _Arg_types<volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile &&> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile &&> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile &&> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile &&> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile &&> : _Arg_types<const volatile _Arg0 *, _Types...> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; | |
template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) > { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) volatile> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const volatile> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) &> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const &> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) volatile &> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const volatile &> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) &&> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const &&> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) volatile &&> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; template<class _Ret, class _Arg0, class... _Types> struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) const volatile &&> { typedef true_type _Bool_type; typedef _Ret result_type; typedef _Arg0 _Class_type; }; | |
template<class _Ty> | |
struct is_void | |
: false_type | |
{ | |
}; | |
template<> struct is_void< void> : true_type { }; template<> struct is_void<const void> : true_type { }; template<> struct is_void<volatile void> : true_type { }; template<> struct is_void<const volatile void> : true_type { }; | |
template<class... _Types> | |
using void_t = void; | |
template<class _Ty> | |
struct add_const | |
{ | |
typedef const _Ty type; | |
}; | |
template<class _Ty> | |
struct add_volatile | |
{ | |
typedef volatile _Ty type; | |
}; | |
template<class _Ty> | |
struct add_cv | |
{ | |
typedef const volatile _Ty type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Add_reference | |
{ | |
typedef _Ty _Lvalue; | |
typedef _Ty _Rvalue; | |
}; | |
template<class _Ty> | |
struct _Add_reference<_Ty, void_t<_Ty&> > | |
{ | |
typedef _Ty& _Lvalue; | |
typedef _Ty&& _Rvalue; | |
}; | |
template<class _Ty> | |
struct add_lvalue_reference | |
{ | |
typedef typename _Add_reference<_Ty>::_Lvalue type; | |
}; | |
template<class _Ty> | |
struct add_rvalue_reference | |
{ | |
typedef typename _Add_reference<_Ty>::_Rvalue type; | |
}; | |
template<class _Ty> | |
typename add_rvalue_reference<_Ty>::type | |
declval() throw (); | |
template<class _Ty> | |
struct remove_extent | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty, size_t _Ix> | |
struct remove_extent<_Ty[_Ix]> | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_extent<_Ty[]> | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct remove_all_extents | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty, size_t _Ix> | |
struct remove_all_extents<_Ty[_Ix]> | |
{ | |
typedef typename remove_all_extents<_Ty>::type type; | |
}; | |
template<class _Ty> | |
struct remove_all_extents<_Ty[]> | |
{ | |
typedef typename remove_all_extents<_Ty>::type type; | |
}; | |
template<class _Ty> | |
struct remove_pointer | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> struct remove_pointer<_Ty *> { typedef _Ty type; }; template<class _Ty> struct remove_pointer<_Ty *const> { typedef _Ty type; }; template<class _Ty> struct remove_pointer<_Ty *volatile> { typedef _Ty type; }; template<class _Ty> struct remove_pointer<_Ty *const volatile> { typedef _Ty type; }; | |
template<class _Ty, | |
class = void> | |
struct _Add_pointer | |
{ | |
typedef _Ty type; | |
}; | |
template<class _Ty> | |
struct _Add_pointer<_Ty, void_t<typename remove_reference<_Ty>::type *> > | |
{ | |
typedef typename remove_reference<_Ty>::type * type; | |
}; | |
template<class _Ty> | |
struct add_pointer | |
{ | |
typedef typename _Add_pointer<_Ty>::type type; | |
}; | |
template<class _Ty> | |
struct is_array | |
: false_type | |
{ | |
}; | |
template<class _Ty, size_t _Nx> | |
struct is_array<_Ty[_Nx]> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_array<_Ty[]> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_lvalue_reference | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_lvalue_reference<_Ty&> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_rvalue_reference | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_rvalue_reference<_Ty&&> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_reference | |
: _Cat_base<is_lvalue_reference<_Ty>::value | |
|| is_rvalue_reference<_Ty>::value> | |
{ | |
}; | |
template<class _Ty, | |
bool _Pmf = _Is_memfunptr<_Ty>::_Bool_type::value> | |
struct _Is_member_object_pointer | |
: false_type | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Is_member_object_pointer<_Ty1 _Ty2::*, false> | |
: true_type | |
{ | |
typedef _Ty2 _Class_type; | |
}; | |
template<class _Ty> | |
struct is_member_object_pointer | |
: _Is_member_object_pointer<typename remove_cv<_Ty>::type>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_member_function_pointer | |
: _Is_memfunptr<typename remove_cv<_Ty>::type>::_Bool_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_pointer | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_pointer<_Ty *> | |
: _Cat_base<!is_member_object_pointer<_Ty *>::value | |
&& !is_member_function_pointer<_Ty *>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_pointer | |
: _Is_pointer<typename remove_cv<_Ty>::type> | |
{ | |
}; | |
template<class _Ty> | |
struct is_null_pointer | |
: _Cat_base<is_same<typename remove_cv<_Ty>::type, nullptr_t>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_union | |
: _Cat_base<__is_union(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_class | |
: _Cat_base<__is_class(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_fundamental | |
: _Cat_base<is_arithmetic<_Ty>::value | |
|| is_void<_Ty>::value | |
|| is_null_pointer<_Ty>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_object | |
: _Cat_base<!is_function<_Ty>::value | |
&& !is_reference<_Ty>::value | |
&& !is_void<_Ty>::value> | |
{ | |
}; | |
template<class _From, | |
class _To> | |
struct is_convertible | |
: _Cat_base<__is_convertible_to(_From, _To)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_enum | |
: _Cat_base<__is_enum(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_compound | |
: _Cat_base<!is_fundamental<_Ty>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_member_pointer | |
: _Cat_base<is_member_object_pointer<_Ty>::value | |
|| is_member_function_pointer<_Ty>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_scalar | |
: _Cat_base<is_arithmetic<_Ty>::value | |
|| is_enum<_Ty>::value | |
|| is_pointer<_Ty>::value | |
|| is_member_pointer<_Ty>::value | |
|| is_null_pointer<_Ty>::value> | |
{ | |
}; | |
template<class _Ty> | |
struct is_const | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_const<const _Ty> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_volatile | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_volatile<volatile _Ty> | |
: true_type | |
{ | |
}; | |
template<class _Ty> | |
struct is_pod | |
: _Cat_base<__is_pod(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_empty | |
: _Cat_base<__is_empty(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_polymorphic | |
: _Cat_base<__is_polymorphic(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_abstract | |
: _Cat_base<__is_abstract(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_final | |
: _Cat_base<__is_final(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_standard_layout | |
: _Cat_base<__is_standard_layout(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_literal_type | |
: _Cat_base<__is_literal_type(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivial | |
: _Cat_base<__is_trivial(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_copyable | |
: _Cat_base<__is_trivially_copyable(_Ty)> | |
{ | |
}; | |
template<class _Ty> | |
struct has_virtual_destructor | |
: _Cat_base<__has_virtual_destructor(_Ty)> | |
{ | |
}; | |
template<class _Ty, | |
class... _Args> | |
struct is_constructible | |
: _Cat_base<__is_constructible(_Ty, _Args...)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_copy_constructible | |
: is_constructible< | |
_Ty, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_default_constructible | |
: is_constructible<_Ty>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_move_constructible | |
: is_constructible< | |
_Ty, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _To, | |
class _From> | |
struct is_assignable | |
: integral_constant<bool, __is_assignable(_To, _From)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_copy_assignable | |
: is_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_move_assignable | |
: is_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_destructible | |
: _Cat_base<__is_destructible(_Ty)> | |
{ | |
}; | |
template<class _Ty, | |
class... _Args> | |
struct is_trivially_constructible | |
: _Cat_base<__is_trivially_constructible(_Ty, _Args...)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_copy_constructible | |
: is_trivially_constructible< | |
_Ty, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_default_constructible | |
: is_trivially_constructible<_Ty>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_move_constructible | |
: is_trivially_constructible< | |
_Ty, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _To, | |
class _From> | |
struct is_trivially_assignable | |
: _Cat_base<__is_trivially_assignable(_To, _From)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_copy_assignable | |
: is_trivially_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_move_assignable | |
: is_trivially_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_trivially_destructible | |
: _Cat_base<__has_trivial_destructor(_Ty)> | |
{ | |
}; | |
template<class _Ty, | |
class... _Args> | |
struct is_nothrow_constructible | |
: _Cat_base<__is_nothrow_constructible(_Ty, _Args...)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_copy_constructible | |
: is_nothrow_constructible< | |
_Ty, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_default_constructible | |
: is_nothrow_constructible<_Ty>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_move_constructible | |
: is_nothrow_constructible< | |
_Ty, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _To, | |
class _From> | |
struct is_nothrow_assignable | |
: _Cat_base<__is_nothrow_assignable(_To, _From)> | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_copy_assignable | |
: is_nothrow_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_lvalue_reference< | |
typename add_const<_Ty>::type | |
>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_move_assignable | |
: is_nothrow_assignable< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_rvalue_reference<_Ty>::type | |
>::type | |
{ | |
}; | |
template<class _Ty> | |
struct is_nothrow_destructible | |
: _Cat_base<__is_nothrow_destructible(_Ty)> | |
{ | |
}; | |
#pragma warning(push) | |
#pragma warning(disable: 4296) | |
template<class _Ty, | |
bool = is_integral<_Ty>::value> | |
struct _Sign_base | |
{ | |
typedef typename remove_cv<_Ty>::type _Uty; | |
typedef _Cat_base<_Uty(-1) < _Uty(0)> _Signed; | |
typedef _Cat_base<_Uty(0) < _Uty(-1)> _Unsigned; | |
}; | |
#pragma warning(pop) | |
template<class _Ty> | |
struct _Sign_base<_Ty, false> | |
{ | |
typedef is_floating_point<_Ty> _Signed; | |
typedef false_type _Unsigned; | |
}; | |
template<class _Ty> | |
struct is_signed | |
: _Sign_base<_Ty>::_Signed | |
{ | |
}; | |
template<class _Ty> | |
struct is_unsigned | |
: _Sign_base<_Ty>::_Unsigned | |
{ | |
}; | |
template<class _Ty> | |
struct _Change_sign | |
{ | |
static_assert( | |
((is_integral<_Ty>::value || is_enum<_Ty>::value) | |
&& !is_same<_Ty, bool>::value), | |
"make_signed<T>/make_unsigned<T> require that T shall be a (possibly " | |
"cv-qualified) integral type or enumeration but not a bool type."); | |
typedef | |
typename _If<is_same<_Ty, signed char>::value | |
|| is_same<_Ty, unsigned char >::value, signed char, | |
typename _If<is_same<_Ty, short >::value | |
|| is_same<_Ty, unsigned short >::value, short, | |
typename _If<is_same<_Ty, int >::value | |
|| is_same<_Ty, unsigned int >::value, int, | |
typename _If<is_same<_Ty, long >::value | |
|| is_same<_Ty, unsigned long >::value, long, | |
typename _If<is_same<_Ty, long long >::value | |
|| is_same<_Ty, unsigned long long>::value, long long, | |
typename _If<sizeof (_Ty) == sizeof (signed char), signed char, | |
typename _If<sizeof (_Ty) == sizeof (short ), short, | |
typename _If<sizeof (_Ty) == sizeof (int ), int, | |
typename _If<sizeof (_Ty) == sizeof (long ), long, | |
long long | |
>::type>::type>::type>::type>::type>::type>::type>::type>::type | |
_Signed; | |
typedef | |
typename _If<is_same<_Signed, signed char>::value, unsigned char, | |
typename _If<is_same<_Signed, short >::value, unsigned short, | |
typename _If<is_same<_Signed, int >::value, unsigned int, | |
typename _If<is_same<_Signed, long >::value, unsigned long, | |
unsigned long long | |
>::type>::type>::type>::type | |
_Unsigned; | |
}; | |
template<class _Ty> | |
struct _Change_sign<const _Ty> | |
{ | |
typedef const typename _Change_sign<_Ty>::_Signed _Signed; | |
typedef const typename _Change_sign<_Ty>::_Unsigned _Unsigned; | |
}; | |
template<class _Ty> | |
struct _Change_sign<volatile _Ty> | |
{ | |
typedef volatile typename _Change_sign<_Ty>::_Signed _Signed; | |
typedef volatile typename _Change_sign<_Ty>::_Unsigned _Unsigned; | |
}; | |
template<class _Ty> | |
struct _Change_sign<const volatile _Ty> | |
{ | |
typedef const volatile typename _Change_sign<_Ty>::_Signed _Signed; | |
typedef const volatile typename _Change_sign<_Ty>::_Unsigned _Unsigned; | |
}; | |
template<class _Ty> | |
struct make_signed | |
{ | |
typedef typename _Change_sign<_Ty>::_Signed type; | |
}; | |
template<class _Ty> | |
struct make_unsigned | |
{ | |
typedef typename _Change_sign<_Ty>::_Unsigned type; | |
}; | |
template<class _Ty> | |
struct alignment_of | |
: integral_constant<size_t, alignof(_Ty)> | |
{ | |
}; | |
template<class _Ty, | |
size_t _Len> | |
union _Align_type | |
{ | |
_Ty _Val; | |
char _Pad[_Len]; | |
}; | |
template<size_t _Len, | |
size_t _Align, | |
class _Ty, | |
bool _Ok> | |
struct _Aligned; | |
template<size_t _Len, | |
size_t _Align, | |
class _Ty> | |
struct _Aligned<_Len, _Align, _Ty, true> | |
{ | |
typedef _Align_type<_Ty, _Len> type; | |
}; | |
template<size_t _Len, | |
size_t _Align> | |
struct _Aligned<_Len, _Align, double, false> | |
{ | |
typedef _Align_type<max_align_t, _Len> type; | |
}; | |
template<size_t _Len, | |
size_t _Align> | |
struct _Aligned<_Len, _Align, int, false> | |
{ | |
typedef typename _Aligned<_Len, _Align, double, _Align <= alignment_of<double>::value>::type type; | |
}; | |
template<size_t _Len, | |
size_t _Align> | |
struct _Aligned<_Len, _Align, short, false> | |
{ | |
typedef typename _Aligned<_Len, _Align, int, _Align <= alignment_of<int>::value>::type type; | |
}; | |
template<size_t _Len, | |
size_t _Align> | |
struct _Aligned<_Len, _Align, char, false> | |
{ | |
typedef typename _Aligned<_Len, _Align, short, _Align <= alignment_of<short>::value>::type type; | |
}; | |
template<size_t _Len, | |
size_t _Align = alignment_of<max_align_t>::value> | |
struct aligned_storage | |
{ | |
typedef typename _Aligned<_Len, _Align, char, _Align <= alignment_of<char>::value>::type type; | |
}; | |
template<size_t... _Vals> | |
struct _Maximum; | |
template<> | |
struct _Maximum<> | |
{ | |
static constexpr size_t value = 0; | |
}; | |
template<size_t _Val> | |
struct _Maximum<_Val> | |
{ | |
static constexpr size_t value = _Val; | |
}; | |
template<size_t _First, | |
size_t _Second, | |
size_t... _Rest> | |
struct _Maximum<_First, _Second, _Rest...> | |
: _Maximum<(_First < _Second ? _Second : _First), _Rest...> | |
{ | |
}; | |
template<size_t _Len, | |
class... _Types> | |
struct aligned_union | |
{ | |
static constexpr size_t _Max_len = _Maximum< | |
_Len, sizeof(_Types)...>::value; | |
static constexpr size_t alignment_value = _Maximum< | |
alignment_of<_Types>::value...>::value; | |
typedef typename aligned_storage<_Max_len, alignment_value>::type type; | |
}; | |
template<class _Ty> | |
struct underlying_type | |
{ | |
typedef __underlying_type(_Ty) type; | |
}; | |
template<class _Ty> | |
struct rank | |
: integral_constant<size_t, 0> | |
{ | |
}; | |
template<class _Ty, size_t _Ix> | |
struct rank<_Ty[_Ix]> | |
: integral_constant<size_t, rank<_Ty>::value + 1> | |
{ | |
}; | |
template<class _Ty> | |
struct rank<_Ty[]> | |
: integral_constant<size_t, rank<_Ty>::value + 1> | |
{ | |
}; | |
template<class _Ty, unsigned int _Nx> | |
struct _Extent | |
: integral_constant<size_t, 0> | |
{ | |
}; | |
template<class _Ty, size_t _Ix> | |
struct _Extent<_Ty[_Ix], 0> | |
: integral_constant<size_t, _Ix> | |
{ | |
}; | |
template<class _Ty, unsigned int _Nx, size_t _Ix> | |
struct _Extent<_Ty[_Ix], _Nx> | |
: _Extent<_Ty, _Nx - 1> | |
{ | |
}; | |
template<class _Ty, unsigned int _Nx> | |
struct _Extent<_Ty[], _Nx> | |
: _Extent<_Ty, _Nx - 1> | |
{ | |
}; | |
template<class _Ty, unsigned int _Nx = 0> | |
struct extent | |
: _Extent<_Ty, _Nx> | |
{ | |
}; | |
template<class _Base, | |
class _Der> | |
struct is_base_of | |
: _Cat_base<__is_base_of(_Base, _Der)> | |
{ | |
}; | |
template<class _Ty> | |
struct decay | |
{ | |
typedef typename remove_reference<_Ty>::type _Ty1; | |
typedef typename _If<is_array<_Ty1>::value, | |
typename remove_extent<_Ty1>::type *, | |
typename _If<is_function<_Ty1>::value, | |
typename add_pointer<_Ty1>::type, | |
typename remove_cv<_Ty1>::type>::type>::type type; | |
}; | |
template<class...> | |
struct _Conjunction; | |
template<bool, | |
class _Lhs, | |
class... _Traits> | |
struct _Choose_conjunction | |
{ | |
typedef _Lhs type; | |
}; | |
template<class _Lhs, | |
class... _Traits> | |
struct _Choose_conjunction<true, _Lhs, _Traits...> | |
{ | |
typedef typename _Conjunction<_Traits...>::type type; | |
}; | |
template<> | |
struct _Conjunction<> | |
{ | |
typedef true_type type; | |
}; | |
template<class _Trait> | |
struct _Conjunction<_Trait> | |
{ | |
typedef _Trait type; | |
}; | |
template<class _Lhs, | |
class... _Traits> | |
struct _Conjunction<_Lhs, _Traits...> | |
{ | |
typedef typename _Choose_conjunction<_Lhs::value, _Lhs, _Traits...>::type type; | |
}; | |
template<class... _Traits> | |
struct conjunction | |
: _Conjunction<_Traits...>::type | |
{ | |
}; | |
template<class... _Traits> | |
using _Conjunction_t = typename conjunction<_Traits...>::type; | |
template<class...> | |
struct _Disjunction; | |
template<bool, | |
class _Lhs, | |
class... _Traits> | |
struct _Choose_disjunction | |
{ | |
typedef _Lhs type; | |
}; | |
template<class _Lhs, | |
class... _Traits> | |
struct _Choose_disjunction<false, _Lhs, _Traits...> | |
{ | |
typedef typename _Disjunction<_Traits...>::type type; | |
}; | |
template<> | |
struct _Disjunction<> | |
{ | |
typedef false_type type; | |
}; | |
template<class _Trait> | |
struct _Disjunction<_Trait> | |
{ | |
typedef _Trait type; | |
}; | |
template<class _Lhs, | |
class... _Traits> | |
struct _Disjunction<_Lhs, _Traits...> | |
{ | |
typedef typename _Choose_disjunction<_Lhs::value, _Lhs, _Traits...>::type type; | |
}; | |
template<class... _Traits> | |
struct disjunction | |
: _Disjunction<_Traits...>::type | |
{ | |
}; | |
template<class... _Traits> | |
using _Disjunction_t = typename disjunction<_Traits...>::type; | |
template<class _Trait> | |
struct negation | |
: bool_constant<!_Trait::value> | |
{ | |
}; | |
namespace tr1 { | |
using ::std:: add_const; | |
using ::std:: add_cv; | |
using ::std:: add_pointer; | |
using ::std:: add_volatile; | |
using ::std:: aligned_storage; | |
using ::std:: alignment_of; | |
using ::std:: conditional; | |
using ::std:: decay; | |
using ::std:: enable_if; | |
using ::std:: extent; | |
using ::std:: false_type; | |
using ::std:: has_virtual_destructor; | |
using ::std:: integral_constant; | |
using ::std:: is_abstract; | |
using ::std:: is_arithmetic; | |
using ::std:: is_array; | |
using ::std:: is_base_of; | |
using ::std:: is_class; | |
using ::std:: is_compound; | |
using ::std:: is_const; | |
using ::std:: is_convertible; | |
using ::std:: is_empty; | |
using ::std:: is_enum; | |
using ::std:: is_floating_point; | |
using ::std:: is_function; | |
using ::std:: is_fundamental; | |
using ::std:: is_integral; | |
using ::std:: is_member_function_pointer; | |
using ::std:: is_member_object_pointer; | |
using ::std:: is_member_pointer; | |
using ::std:: is_object; | |
using ::std:: is_pod; | |
using ::std:: is_pointer; | |
using ::std:: is_polymorphic; | |
using ::std:: is_reference; | |
using ::std:: is_same; | |
using ::std:: is_scalar; | |
using ::std:: is_signed; | |
using ::std:: is_union; | |
using ::std:: is_unsigned; | |
using ::std:: is_void; | |
using ::std:: is_volatile; | |
using ::std:: make_signed; | |
using ::std:: make_unsigned; | |
using ::std:: rank; | |
using ::std:: remove_all_extents; | |
using ::std:: remove_const; | |
using ::std:: remove_cv; | |
using ::std:: remove_extent; | |
using ::std:: remove_pointer; | |
using ::std:: remove_reference; | |
using ::std:: remove_volatile; | |
using ::std:: true_type; | |
} | |
#line 1233 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class... _Ty> | |
struct common_type; | |
template<class _Ty> | |
struct common_type<_Ty> | |
{ | |
typedef typename decay<_Ty>::type type; | |
}; | |
template<class _Ty0, | |
class _Ty1> | |
struct common_type<_Ty0, _Ty1> | |
{ | |
typedef typename decay< | |
decltype(_Always_false<_Ty0>::value | |
? ::std:: declval<_Ty0>() | |
: ::std:: declval<_Ty1>()) | |
>::type type; | |
}; | |
template<class _Ty0, | |
class _Ty1, | |
class... _Ty> | |
struct common_type<_Ty0, _Ty1, _Ty...> | |
{ | |
typedef typename common_type< | |
typename common_type<_Ty0, _Ty1>::type, _Ty... | |
>::type type; | |
}; | |
template<class _Ty, | |
_Ty... _Vals> | |
struct integer_sequence | |
{ | |
static_assert(is_integral<_Ty>::value, | |
"integer_sequence<T, I...> requires T to be an integral type."); | |
typedef _Ty value_type; | |
static constexpr size_t size() throw () | |
{ | |
return (sizeof...(_Vals)); | |
} | |
}; | |
template<class _Ty, | |
_Ty _Size> | |
using make_integer_sequence = __make_integer_seq<integer_sequence, _Ty, _Size>; | |
template<size_t... _Vals> | |
using index_sequence = integer_sequence<size_t, _Vals...>; | |
template<size_t _Size> | |
using make_index_sequence = make_integer_sequence<size_t, _Size>; | |
template<class... _Types> | |
using index_sequence_for = make_index_sequence<sizeof...(_Types)>; | |
template<class _Ty> | |
struct identity | |
{ | |
typedef _Ty type; | |
const _Ty& operator()(const _Ty& _Left) const | |
{ | |
return (_Left); | |
} | |
}; | |
#line 1308 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty> | |
struct _Identity | |
{ | |
using type = _Ty; | |
}; | |
template<class _Ty> | |
using _Identity_t = typename _Identity<_Ty>::type; | |
template<class _Type, | |
template <class...> class _Template> | |
struct _Is_specialization | |
: false_type | |
{}; | |
template<template <class...> class _Template, | |
class... _Types> | |
struct _Is_specialization<_Template<_Types...>, _Template> | |
: true_type | |
{}; | |
template<class _Ty> inline | |
constexpr _Ty&& forward( | |
typename remove_reference<_Ty>::type& _Arg) throw () | |
{ | |
return (static_cast<_Ty&&>(_Arg)); | |
} | |
template<class _Ty> inline | |
constexpr _Ty&& forward( | |
typename remove_reference<_Ty>::type&& _Arg) throw () | |
{ | |
static_assert(!is_lvalue_reference<_Ty>::value, "bad forward call"); | |
return (static_cast<_Ty&&>(_Arg)); | |
} | |
template<class _Ty> inline | |
constexpr typename remove_reference<_Ty>::type&& | |
move(_Ty&& _Arg) throw () | |
{ | |
return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); | |
} | |
template<class _Ty> inline | |
constexpr typename _If<!is_nothrow_move_constructible<_Ty>::value | |
&& is_copy_constructible<_Ty>::value, | |
const _Ty&, _Ty&&>::type | |
move_if_noexcept(_Ty& _Arg) throw () | |
{ | |
return (::std:: move(_Arg)); | |
} | |
template<class _Ty> | |
struct _Unrefwrap; | |
struct _Invoker_pmf_object { template<class _Decayed, class _Ty1, class... _Types2> static auto _Call(_Decayed _Pmf, _Ty1&& _Arg1, _Types2&&... _Args2) -> decltype((::std:: forward<_Ty1>(_Arg1).*_Pmf)(::std:: forward<_Types2>(_Args2)...)) { return ((::std:: forward<_Ty1>(_Arg1).*_Pmf)(::std:: forward<_Types2>(_Args2)...)); } }; struct _Invoker_pmf_refwrap { template<class _Decayed, class _Ty1, class... _Types2> static auto _Call(_Decayed _Pmf, _Ty1&& _Arg1, _Types2&&... _Args2) -> decltype((::std:: forward<_Ty1>(_Arg1).get().*_Pmf)(::std:: forward<_Types2>(_Args2)...)) { return ((::std:: forward<_Ty1>(_Arg1).get().*_Pmf)(::std:: forward<_Types2>(_Args2)...)); } }; struct _Invoker_pmf_pointer { template<class _Decayed, class _Ty1, class... _Types2> static auto _Call(_Decayed _Pmf, _Ty1&& _Arg1, _Types2&&... _Args2) -> decltype(((*::std:: forward<_Ty1>(_Arg1)).*_Pmf)(::std:: forward<_Types2>(_Args2)...)) { return (((*::std:: forward<_Ty1>(_Arg1)).*_Pmf)(::std:: forward<_Types2>(_Args2)...)); } }; struct _Invoker_pmd_object { template<class _Decayed, class _Ty1> static auto _Call(_Decayed _Pmd, _Ty1&& _Arg1) -> decltype(::std:: forward<_Ty1>(_Arg1).*_Pmd) { return (::std:: forward<_Ty1>(_Arg1).*_Pmd); } }; struct _Invoker_pmd_refwrap { template<class _Decayed, class _Ty1> static auto _Call(_Decayed _Pmd, _Ty1&& _Arg1) -> decltype(::std:: forward<_Ty1>(_Arg1).get().*_Pmd) { return (::std:: forward<_Ty1>(_Arg1).get().*_Pmd); } }; struct _Invoker_pmd_pointer { template<class _Decayed, class _Ty1> static auto _Call(_Decayed _Pmd, _Ty1&& _Arg1) -> decltype((*::std:: forward<_Ty1>(_Arg1)).*_Pmd) { return ((*::std:: forward<_Ty1>(_Arg1)).*_Pmd); } }; struct _Invoker_functor { template<class _Callable, class... _Types> static auto _Call(_Callable&& _Obj, _Types&&... _Args) -> decltype(::std:: forward<_Callable>(_Obj)(::std:: forward<_Types>(_Args)...)) { return (::std:: forward<_Callable>(_Obj)(::std:: forward<_Types>(_Args)...)); } }; template<class _Callable, class _Ty1, class _Decayed = typename decay<_Callable>::type, bool _Is_pmf = is_member_function_pointer<_Decayed>::value, bool _Is_pmd = is_member_object_pointer<_Decayed>::value> struct _Invoker1; template<class _Callable, class _Ty1, class _Decayed> struct _Invoker1<_Callable, _Ty1, _Decayed, true, false> : _If<is_base_of< typename _Is_memfunptr<_Decayed>::_Class_type, typename decay<_Ty1>::type>::value, _Invoker_pmf_object, typename _If<_Unrefwrap<_Ty1>::_Is_refwrap, _Invoker_pmf_refwrap, _Invoker_pmf_pointer >::type>::type { }; template<class _Callable, class _Ty1, class _Decayed> struct _Invoker1<_Callable, _Ty1, _Decayed, false, true> : _If<is_base_of< typename _Is_member_object_pointer<_Decayed>::_Class_type, typename decay<_Ty1>::type>::value, _Invoker_pmd_object, typename _If<_Unrefwrap<_Ty1>::_Is_refwrap, _Invoker_pmd_refwrap, _Invoker_pmd_pointer >::type>::type { }; template<class _Callable, class _Ty1, class _Decayed> struct _Invoker1<_Callable, _Ty1, _Decayed, false, false> : _Invoker_functor { }; template<class _Callable, class... _Types> struct _Invoker; template<class _Callable> struct _Invoker<_Callable> : _Invoker_functor { }; template<class _Callable, class _Ty1, class... _Types2> struct _Invoker<_Callable, _Ty1, _Types2...> : _Invoker1<_Callable, _Ty1> { }; template<class _Callable, class... _Types> inline auto invoke(_Callable&& _Obj, _Types&&... _Args) -> decltype(_Invoker<_Callable, _Types...>::_Call( ::std:: forward<_Callable>(_Obj), ::std:: forward<_Types>(_Args)...)) { return (_Invoker<_Callable, _Types...>::_Call( ::std:: forward<_Callable>(_Obj), ::std:: forward<_Types>(_Args)...)); } | |
#line 1540 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Rx, | |
bool = is_void<_Rx>::value> | |
struct _Invoker_ret | |
{ | |
}; | |
struct _Unforced | |
{ | |
}; | |
template<class _Cv_void> | |
struct _Invoker_ret<_Cv_void, true> | |
{ | |
template<class... _Valtys> | |
static void _Call(_Valtys&&... _Vals) | |
{ | |
::std:: invoke(::std:: forward<_Valtys>(_Vals)...); | |
} | |
}; | |
template<class _Rx> | |
struct _Invoker_ret<_Rx, false> | |
{ | |
template<class... _Valtys> | |
static _Rx _Call(_Valtys&&... _Vals) | |
{ | |
return (::std:: invoke(::std:: forward<_Valtys>(_Vals)...)); | |
} | |
}; | |
template<> | |
struct _Invoker_ret<_Unforced, false> | |
{ | |
template<class... _Valtys> | |
static auto _Call(_Valtys&&... _Vals) | |
-> decltype(::std:: invoke(::std:: forward<_Valtys>(_Vals)...)) | |
{ | |
return (::std:: invoke(::std:: forward<_Valtys>(_Vals)...)); | |
} | |
}; | |
struct _Unique_tag_result_of | |
{ | |
}; | |
template<class _Void, | |
class... _Types> | |
struct _Result_of | |
{ | |
}; | |
template<class... _Types> | |
struct _Result_of< | |
void_t< | |
_Unique_tag_result_of, | |
decltype(::std:: invoke(::std:: declval<_Types>()...))>, | |
_Types...> | |
{ | |
typedef decltype(::std:: invoke(::std:: declval<_Types>()...)) type; | |
}; | |
template<class _Fty> | |
struct result_of | |
{ | |
static_assert(_Always_false<_Fty>::value, | |
"result_of<CallableType> is invalid; use " | |
"result_of<CallableType(zero or more argument types)> instead."); | |
}; | |
template<class _Callable, class... _Args> struct result_of<_Callable __cdecl (_Args...)> : _Result_of<void, _Callable, _Args...> { }; template<class _Callable, class... _Args> struct result_of<_Callable __fastcall (_Args...)> : _Result_of<void, _Callable, _Args...> { }; template<class _Callable, class... _Args> struct result_of<_Callable __stdcall (_Args...)> : _Result_of<void, _Callable, _Args...> { }; template<class _Callable, class... _Args> struct result_of<_Callable __vectorcall (_Args...)> : _Result_of<void, _Callable, _Args...> { }; | |
template<bool _Was_void , | |
bool _Was_convertible , | |
class _Rx, | |
class... _Types> | |
struct _Is_callable2 | |
: true_type | |
{ | |
#line 1636 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
static constexpr bool _Nothrow = true; | |
#line 1638 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
}; | |
template<class _To> | |
void _Implicitly_convert_to(_To) throw (); | |
template<class _Rx, | |
class... _Types> | |
struct _Is_callable2<false, true, _Rx, _Types...> | |
: true_type | |
{ | |
#line 1652 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
static constexpr bool _Nothrow = true; | |
#line 1654 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
}; | |
template<class _Rx, | |
class... _Types> | |
struct _Is_callable2<false, false, _Rx, _Types...> | |
: false_type | |
{ | |
static constexpr bool _Nothrow = false; | |
}; | |
struct _Unique_tag_is_callable | |
{ | |
}; | |
template<class _Void, | |
class _Rx, | |
class... _Types> | |
struct _Is_callable1 | |
: false_type | |
{ | |
static constexpr bool _Nothrow = false; | |
}; | |
template<class _Rx, | |
class... _Types> | |
struct _Is_callable1< | |
void_t< | |
_Unique_tag_is_callable, | |
decltype(::std:: invoke(::std:: declval<_Types>()...))>, | |
_Rx, | |
_Types...> | |
: _Is_callable2< | |
is_void<_Rx>::value, | |
is_convertible<decltype(::std:: invoke(::std:: declval<_Types>()...)), _Rx>::value, | |
_Rx, _Types...> | |
{ | |
}; | |
#line 1738 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty, | |
class = void> | |
struct _Weak_result_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Weak_result_type<_Ty, void_t< | |
typename _Ty::result_type> > | |
{ | |
typedef typename _Ty::result_type result_type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Weak_argument_type | |
: _Weak_result_type<_Ty> | |
{ | |
}; | |
template<class _Ty> | |
struct _Weak_argument_type<_Ty, void_t< | |
typename _Ty::argument_type> > | |
: _Weak_result_type<_Ty> | |
{ | |
typedef typename _Ty::argument_type argument_type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Weak_binary_args | |
: _Weak_argument_type<_Ty> | |
{ | |
}; | |
template<class _Ty> | |
struct _Weak_binary_args<_Ty, void_t< | |
typename _Ty::first_argument_type, | |
typename _Ty::second_argument_type> > | |
: _Weak_argument_type<_Ty> | |
{ | |
typedef typename _Ty::first_argument_type first_argument_type; | |
typedef typename _Ty::second_argument_type second_argument_type; | |
}; | |
template<class _Ty> | |
struct _Weak_types | |
{ | |
typedef _Is_function<typename remove_pointer<_Ty>::type> _Is_f_or_pf; | |
typedef _Is_memfunptr<typename remove_cv<_Ty>::type> _Is_pmf; | |
typedef typename _If<_Is_f_or_pf::_Bool_type::value, _Is_f_or_pf, | |
typename _If<_Is_pmf::_Bool_type::value, _Is_pmf, | |
_Weak_binary_args<_Ty> >::type>::type type; | |
}; | |
template<class _Ty> | |
class reference_wrapper | |
: public _Weak_types<_Ty>::type | |
{ | |
public: | |
static_assert(is_object<_Ty>::value || is_function<_Ty>::value, | |
"reference_wrapper<T> requires T to be an object type " | |
"or a function type."); | |
typedef _Ty type; | |
reference_wrapper(_Ty& _Val) throw () | |
: _Ptr(::std:: addressof(_Val)) | |
{ | |
} | |
operator _Ty&() const throw () | |
{ | |
return (*_Ptr); | |
} | |
_Ty& get() const throw () | |
{ | |
return (*_Ptr); | |
} | |
template<class... _Types> | |
auto operator()(_Types&&... _Args) const | |
-> decltype(::std:: invoke(get(), ::std:: forward<_Types>(_Args)...)) | |
{ | |
return (::std:: invoke(get(), ::std:: forward<_Types>(_Args)...)); | |
} | |
reference_wrapper(_Ty&&) = delete; | |
private: | |
_Ty *_Ptr; | |
}; | |
template<class _Ty> inline | |
reference_wrapper<_Ty> | |
ref(_Ty& _Val) throw () | |
{ | |
return (reference_wrapper<_Ty>(_Val)); | |
} | |
template<class _Ty> | |
void ref(const _Ty&&) = delete; | |
template<class _Ty> inline | |
reference_wrapper<_Ty> | |
ref(reference_wrapper<_Ty> _Val) throw () | |
{ | |
return (::std:: ref(_Val.get())); | |
} | |
template<class _Ty> inline | |
reference_wrapper<const _Ty> | |
cref(const _Ty& _Val) throw () | |
{ | |
return (reference_wrapper<const _Ty>(_Val)); | |
} | |
template<class _Ty> | |
void cref(const _Ty&&) = delete; | |
template<class _Ty> inline | |
reference_wrapper<const _Ty> | |
cref(reference_wrapper<_Ty> _Val) throw () | |
{ | |
return (::std:: cref(_Val.get())); | |
} | |
template<class _Ty> | |
struct _Unrefwrap_helper | |
{ | |
typedef _Ty type; | |
static constexpr bool _Is_refwrap = false; | |
}; | |
template<class _Ty> | |
struct _Unrefwrap_helper<reference_wrapper<_Ty> > | |
{ | |
typedef _Ty& type; | |
static constexpr bool _Is_refwrap = true; | |
}; | |
template<class _Ty> | |
struct _Unrefwrap | |
{ | |
typedef typename decay<_Ty>::type _Ty1; | |
typedef typename _Unrefwrap_helper<_Ty1>::type type; | |
static constexpr bool _Is_refwrap = _Unrefwrap_helper<_Ty1>::_Is_refwrap; | |
}; | |
namespace tr1 { | |
using ::std:: cref; | |
using ::std:: ref; | |
using ::std:: reference_wrapper; | |
using ::std:: result_of; | |
} | |
#line 1902 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty> | |
struct _Is_swappable; | |
template<class _Ty> | |
struct _Is_nothrow_swappable; | |
#line 1917 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty, | |
class = void> inline | |
#line 1920 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
void swap(_Ty&, _Ty&) | |
; | |
#line 1923 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty, | |
size_t _Size, | |
class = typename enable_if<_Is_swappable<_Ty>::value>::type> inline | |
void swap(_Ty (&)[_Size], _Ty (&)[_Size]) | |
; | |
template<class _Ty1, | |
class _Ty2, | |
class = void> | |
struct _Swappable_with_helper | |
: false_type | |
{ | |
}; | |
struct _Swappable_with_helper_unique_type {}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Swappable_with_helper<_Ty1, _Ty2, void_t< | |
_Swappable_with_helper_unique_type, | |
decltype(swap(::std:: declval<_Ty1>(), ::std:: declval<_Ty2>()))>> | |
: true_type | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Is_swappable_with | |
: _Conjunction_t< | |
_Swappable_with_helper<_Ty1, _Ty2>, | |
_Swappable_with_helper<_Ty2, _Ty1>> | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_swappable | |
: _Is_swappable_with< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_lvalue_reference<_Ty>::type>::type | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Swap_cannot_throw | |
: bool_constant< | |
#line 1978 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
true | |
#line 1980 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
> | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Is_nothrow_swappable_with | |
: _Conjunction_t< | |
_Is_swappable_with<_Ty1, _Ty2>, | |
_Swap_cannot_throw<_Ty1, _Ty2>> | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_nothrow_swappable | |
: _Is_nothrow_swappable_with< | |
typename add_lvalue_reference<_Ty>::type, | |
typename add_lvalue_reference<_Ty>::type>::type | |
{ | |
}; | |
#line 2039 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty> | |
using remove_const_t = typename remove_const<_Ty>::type; | |
template<class _Ty> | |
using remove_volatile_t = typename remove_volatile<_Ty>::type; | |
template<class _Ty> | |
using remove_cv_t = typename remove_cv<_Ty>::type; | |
template<class _Ty> | |
using add_const_t = typename add_const<_Ty>::type; | |
template<class _Ty> | |
using add_volatile_t = typename add_volatile<_Ty>::type; | |
template<class _Ty> | |
using add_cv_t = typename add_cv<_Ty>::type; | |
template<class _Ty> | |
using remove_reference_t = typename remove_reference<_Ty>::type; | |
template<class _Ty> | |
using add_lvalue_reference_t = typename add_lvalue_reference<_Ty>::type; | |
template<class _Ty> | |
using add_rvalue_reference_t = typename add_rvalue_reference<_Ty>::type; | |
template<class _Ty> | |
using make_signed_t = typename make_signed<_Ty>::type; | |
template<class _Ty> | |
using make_unsigned_t = typename make_unsigned<_Ty>::type; | |
template<class _Ty> | |
using remove_extent_t = typename remove_extent<_Ty>::type; | |
template<class _Ty> | |
using remove_all_extents_t = typename remove_all_extents<_Ty>::type; | |
template<class _Ty> | |
using remove_pointer_t = typename remove_pointer<_Ty>::type; | |
template<class _Ty> | |
using add_pointer_t = typename add_pointer<_Ty>::type; | |
template<size_t _Len, | |
size_t _Align = alignment_of<max_align_t>::value> | |
using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; | |
template<size_t _Len, | |
class... _Types> | |
using aligned_union_t = typename aligned_union<_Len, _Types...>::type; | |
template<class _Ty> | |
using decay_t = typename decay<_Ty>::type; | |
template<bool _Test, | |
class _Ty = void> | |
using enable_if_t = typename enable_if<_Test, _Ty>::type; | |
template<bool _Test, | |
class _Ty1, | |
class _Ty2> | |
using conditional_t = typename conditional<_Test, _Ty1, _Ty2>::type; | |
template<class... _Ty> | |
using common_type_t = typename common_type<_Ty...>::type; | |
template<class _Ty> | |
using underlying_type_t = typename underlying_type<_Ty>::type; | |
template<class _Ty> | |
using result_of_t = typename result_of<_Ty>::type; | |
template<class _Ty> | |
constexpr bool is_void_v = is_void<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_null_pointer_v = is_null_pointer<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_array_v = is_array<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_pointer_v = is_pointer<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_lvalue_reference_v = is_lvalue_reference<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_rvalue_reference_v = is_rvalue_reference<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_member_object_pointer_v = is_member_object_pointer<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_member_function_pointer_v = is_member_function_pointer<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_enum_v = is_enum<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_union_v = is_union<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_class_v = is_class<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_reference_v = is_reference<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_fundamental_v = is_fundamental<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_object_v = is_object<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_scalar_v = is_scalar<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_compound_v = is_compound<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_member_pointer_v = is_member_pointer<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_const_v = is_const<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_volatile_v = is_volatile<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivial_v = is_trivial<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_copyable_v = is_trivially_copyable<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_standard_layout_v = is_standard_layout<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_pod_v = is_pod<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_literal_type_v = is_literal_type<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_empty_v = is_empty<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_polymorphic_v = is_polymorphic<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_abstract_v = is_abstract<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_final_v = is_final<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_signed_v = is_signed<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_unsigned_v = is_unsigned<_Ty>::value; | |
template<class _Ty, | |
class... _Args> | |
constexpr bool is_constructible_v = is_constructible<_Ty, _Args...>::value; | |
template<class _Ty> | |
constexpr bool is_default_constructible_v = is_default_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_copy_constructible_v = is_copy_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_move_constructible_v = is_move_constructible<_Ty>::value; | |
template<class _Ty, | |
class _Uty> | |
constexpr bool is_assignable_v = is_assignable<_Ty, _Uty>::value; | |
template<class _Ty> | |
constexpr bool is_copy_assignable_v = is_copy_assignable<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_move_assignable_v = is_move_assignable<_Ty>::value; | |
#line 2199 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty> | |
constexpr bool is_destructible_v = is_destructible<_Ty>::value; | |
template<class _Ty, | |
class... _Args> | |
constexpr bool is_trivially_constructible_v = is_trivially_constructible<_Ty, _Args...>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_default_constructible_v = is_trivially_default_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_copy_constructible_v = is_trivially_copy_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_move_constructible_v = is_trivially_move_constructible<_Ty>::value; | |
template<class _Ty, | |
class _Uty> | |
constexpr bool is_trivially_assignable_v = is_trivially_assignable<_Ty, _Uty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_copy_assignable_v = is_trivially_copy_assignable<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_move_assignable_v = is_trivially_move_assignable<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_trivially_destructible_v = is_trivially_destructible<_Ty>::value; | |
template<class _Ty, | |
class... _Args> | |
constexpr bool is_nothrow_constructible_v = is_nothrow_constructible<_Ty, _Args...>::value; | |
template<class _Ty> | |
constexpr bool is_nothrow_default_constructible_v = is_nothrow_default_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_nothrow_copy_constructible_v = is_nothrow_copy_constructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_nothrow_move_constructible_v = is_nothrow_move_constructible<_Ty>::value; | |
template<class _Ty, | |
class _Uty> | |
constexpr bool is_nothrow_assignable_v = is_nothrow_assignable<_Ty, _Uty>::value; | |
template<class _Ty> | |
constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable<_Ty>::value; | |
template<class _Ty> | |
constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<_Ty>::value; | |
#line 2242 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class _Ty> | |
constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Ty>::value; | |
template<class _Ty> | |
constexpr bool has_virtual_destructor_v = has_virtual_destructor<_Ty>::value; | |
template<class _Ty> | |
constexpr size_t alignment_of_v = alignment_of<_Ty>::value; | |
template<class _Ty> | |
constexpr size_t rank_v = rank<_Ty>::value; | |
template<class _Ty, | |
unsigned int _Ix = 0> | |
constexpr size_t extent_v = extent<_Ty, _Ix>::value; | |
template<class _Base, | |
class _Derived> | |
constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; | |
template<class _From, | |
class _To> | |
constexpr bool is_convertible_v = is_convertible<_From, _To>::value; | |
#line 2267 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
template<class... _Traits> | |
constexpr bool conjunction_v = conjunction<_Traits...>::value; | |
template<class... _Traits> | |
constexpr bool disjunction_v = disjunction<_Traits...>::value; | |
template<class _Trait> | |
constexpr bool negation_v = negation<_Trait>::value; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 2280 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
#line 2281 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\type_traits" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
#line 33 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
bool __cdecl uncaught_exception() throw (); | |
int __cdecl uncaught_exceptions() throw (); | |
} | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
namespace stdext { | |
class exception; | |
} | |
namespace std { | |
using ::stdext:: exception; | |
typedef void (__cdecl *_Prhand)(const exception&); | |
extern _Prhand _Raise_handler; | |
} | |
namespace stdext { | |
class exception | |
{ | |
public: | |
static ::std:: _Prhand _Set_raise_handler(::std:: _Prhand _Pnew) | |
{ | |
const ::std:: _Prhand _Pold = ::std:: _Raise_handler; | |
::std:: _Raise_handler = _Pnew; | |
return (_Pold); | |
} | |
explicit exception(const char *_Message = "unknown", int = 1) | |
: _Ptr(_Message) | |
{ | |
} | |
exception(const exception& _Right) | |
: _Ptr(_Right._Ptr) | |
{ | |
} | |
exception& operator=(const exception& _Right) | |
{ | |
_Ptr = _Right._Ptr; | |
return (*this); | |
} | |
virtual ~exception() throw () | |
{ | |
} | |
virtual const char * what() const | |
{ | |
return (_Ptr != 0 ? _Ptr : "unknown exception"); | |
} | |
void _Raise() const | |
{ | |
if (::std:: _Raise_handler != 0) | |
(*::std:: _Raise_handler)(*this); | |
_Doraise(); | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception", 126, 0); | |
} | |
protected: | |
virtual void _Doraise() const | |
{ | |
} | |
protected: | |
const char *_Ptr; | |
}; | |
class bad_exception : public exception | |
{ | |
public: | |
bad_exception(const char *_Message = "bad exception") | |
: exception(_Message) | |
{ | |
} | |
virtual ~bad_exception() throw () | |
{ | |
} | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception", 155, 0); | |
} | |
}; | |
class bad_alloc : public exception | |
{ | |
public: | |
bad_alloc() | |
: exception("bad allocation", 1) | |
{ | |
} | |
virtual ~bad_alloc() throw () | |
{ | |
} | |
private: | |
friend class bad_array_new_length; | |
bad_alloc(const char *_Message) | |
: exception(_Message, 1) | |
{ | |
} | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception", 183, 0); | |
} | |
}; | |
} | |
namespace std { | |
typedef void (__cdecl *terminate_handler)(); | |
typedef void (__cdecl *unexpected_handler)(); | |
inline terminate_handler __cdecl set_terminate(terminate_handler) | |
{ | |
return 0; | |
} | |
inline unexpected_handler __cdecl set_unexpected(unexpected_handler) | |
{ | |
return 0; | |
} | |
inline void __cdecl terminate() throw () | |
{ | |
} | |
inline void __cdecl unexpected() | |
{ | |
} | |
inline terminate_handler __cdecl get_terminate() throw () | |
{ | |
return (0); | |
} | |
inline unexpected_handler __cdecl get_unexpected() throw () | |
{ | |
return (0); | |
} | |
} | |
#line 229 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
namespace std { | |
using ::stdext:: bad_alloc; using ::stdext:: bad_exception; | |
} | |
#line 239 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
void __cdecl __ExceptionPtrCreate( void*); | |
void __cdecl __ExceptionPtrDestroy( void*); | |
void __cdecl __ExceptionPtrCopy( void*, const void*); | |
void __cdecl __ExceptionPtrAssign( void*, const void*); | |
bool __cdecl __ExceptionPtrCompare( const void*, const void*); | |
bool __cdecl __ExceptionPtrToBool( const void*); | |
void __cdecl __ExceptionPtrSwap( void*, void*); | |
void __cdecl __ExceptionPtrCurrentException( void*); | |
[[noreturn]] void __cdecl __ExceptionPtrRethrow( const void*); | |
void __cdecl __ExceptionPtrCopyException( | |
void*, const void*, const void*); | |
namespace std { | |
class exception_ptr | |
{ | |
public: | |
exception_ptr() throw () | |
{ | |
__ExceptionPtrCreate(this); | |
} | |
exception_ptr(nullptr_t) throw () | |
{ | |
__ExceptionPtrCreate(this); | |
} | |
~exception_ptr() throw () | |
{ | |
__ExceptionPtrDestroy(this); | |
} | |
exception_ptr(const exception_ptr& _Rhs) throw () | |
{ | |
__ExceptionPtrCopy(this, &_Rhs); | |
} | |
exception_ptr& operator=(const exception_ptr& _Rhs) throw () | |
{ | |
__ExceptionPtrAssign(this, &_Rhs); | |
return *this; | |
} | |
exception_ptr& operator=(nullptr_t) throw () | |
{ | |
exception_ptr _Ptr; | |
__ExceptionPtrAssign(this, &_Ptr); | |
return *this; | |
} | |
explicit operator bool() const throw () | |
{ | |
return __ExceptionPtrToBool(this); | |
} | |
[[noreturn]] void _RethrowException() const | |
{ | |
__ExceptionPtrRethrow(this); | |
} | |
static exception_ptr _Current_exception() throw () | |
{ | |
exception_ptr _Retval; | |
__ExceptionPtrCurrentException(&_Retval); | |
return _Retval; | |
} | |
static exception_ptr _Copy_exception( void* _Except, const void* _Ptr) | |
{ | |
exception_ptr _Retval = 0; | |
if (!_Ptr) | |
{ | |
return _Retval; | |
} | |
__ExceptionPtrCopyException(&_Retval, _Except, _Ptr); | |
return _Retval; | |
} | |
private: | |
void* _Data1; | |
void* _Data2; | |
}; | |
inline void swap(exception_ptr& _Lhs, exception_ptr& _Rhs) throw () | |
{ | |
__ExceptionPtrSwap(&_Lhs, &_Rhs); | |
} | |
inline bool operator==(const exception_ptr& _Lhs, const exception_ptr& _Rhs) throw () | |
{ | |
return __ExceptionPtrCompare(&_Lhs, &_Rhs); | |
} | |
inline bool operator==(nullptr_t, const exception_ptr& _Rhs) throw () | |
{ | |
return !_Rhs; | |
} | |
inline bool operator==(const exception_ptr& _Lhs, nullptr_t) throw () | |
{ | |
return !_Lhs; | |
} | |
inline bool operator!=(const exception_ptr& _Lhs, const exception_ptr& _Rhs) throw () | |
{ | |
return !(_Lhs == _Rhs); | |
} | |
inline bool operator!=(nullptr_t _Lhs, const exception_ptr& _Rhs) throw () | |
{ | |
return !(_Lhs == _Rhs); | |
} | |
inline bool operator!=(const exception_ptr& _Lhs, nullptr_t _Rhs) throw () | |
{ | |
return !(_Lhs == _Rhs); | |
} | |
inline exception_ptr current_exception() throw () | |
{ | |
return exception_ptr::_Current_exception(); | |
} | |
[[noreturn]] inline void rethrow_exception( exception_ptr _Ptr) | |
{ | |
_Ptr._RethrowException(); | |
} | |
template<class _Ex> void *__GetExceptionInfo(_Ex); | |
template<class _Ex> exception_ptr make_exception_ptr(_Ex _Except) throw () | |
{ | |
return exception_ptr::_Copy_exception(::std:: addressof(_Except), __GetExceptionInfo(_Except)); | |
} | |
class nested_exception | |
{ | |
public: | |
nested_exception() throw () | |
: _Exc(::std:: current_exception()) | |
{ | |
} | |
nested_exception(const nested_exception&) throw () = default; | |
nested_exception& operator=(const nested_exception&) throw () = default; | |
virtual ~nested_exception() throw () = default; | |
[[noreturn]] void rethrow_nested() const | |
{ | |
if (_Exc) | |
::std:: rethrow_exception(_Exc); | |
else | |
::std:: terminate(); | |
} | |
exception_ptr nested_ptr() const throw () | |
{ | |
return (_Exc); | |
} | |
private: | |
exception_ptr _Exc; | |
}; | |
template<class _Ty, | |
class _Uty> | |
struct _With_nested | |
: _Uty, nested_exception | |
{ | |
explicit _With_nested(_Ty&& _Arg) | |
: _Uty(::std:: forward<_Ty>(_Arg)), nested_exception() | |
{ | |
} | |
}; | |
template<class _Ty> | |
[[noreturn]] inline void _Throw_with_nested(_Ty&& _Arg, true_type) | |
{ | |
typedef typename remove_reference<_Ty>::type _Uty; | |
typedef _With_nested<_Ty, _Uty> _Glued; | |
_Glued(::std:: forward<_Ty>(_Arg))._Raise(); | |
} | |
template<class _Ty> | |
[[noreturn]] inline void _Throw_with_nested(_Ty&& _Arg, false_type) | |
{ | |
typedef typename decay<_Ty>::type _Decayed; | |
_Decayed(::std:: forward<_Ty>(_Arg))._Raise(); | |
} | |
template<class _Ty> | |
[[noreturn]] inline void throw_with_nested(_Ty&& _Arg) | |
{ | |
typedef typename remove_reference<_Ty>::type _Uty; | |
integral_constant<bool, | |
is_class<_Uty>::value | |
&& !is_base_of<nested_exception, _Uty>::value | |
&& !is_final<_Uty>::value> _Tag; | |
_Throw_with_nested(::std:: forward<_Ty>(_Arg), _Tag); | |
} | |
template<class _Ty> inline | |
void _Rethrow_if_nested(const _Ty *_Ptr, true_type) | |
{ | |
const auto _Nested = dynamic_cast<const nested_exception *>(_Ptr); | |
if (_Nested) | |
_Nested->rethrow_nested(); | |
} | |
template<class _Ty> inline | |
void _Rethrow_if_nested(const _Ty *, false_type) | |
{ | |
} | |
template<class _Ty> inline | |
void rethrow_if_nested(const _Ty& _Arg) | |
{ | |
integral_constant<bool, | |
is_polymorphic<_Ty>::value | |
&& (!is_base_of<nested_exception, _Ty>::value | |
|| is_convertible<_Ty *, nested_exception *>::value)> _Tag; | |
_Rethrow_if_nested(::std:: addressof(_Arg), _Tag); | |
} | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 487 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
#line 488 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\exception" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdint" | |
#pragma once | |
#line 1 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#pragma once | |
#line 42 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
extern "C" { | |
#line 52 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
errno_t __cdecl _cgetws_s( | |
wchar_t* _Buffer, | |
size_t _BufferCount, | |
size_t* _SizeRead | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _cgetws_s( wchar_t (&_Buffer)[_Size], size_t* _SizeRead) throw() { return _cgetws_s(_Buffer, _Size, _SizeRead); } } | |
#line 38 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
int __cdecl _cputws( | |
wchar_t const* _Buffer | |
); | |
wint_t __cdecl _getwch (void); | |
wint_t __cdecl _getwche (void); | |
wint_t __cdecl _putwch ( wchar_t _Character); | |
wint_t __cdecl _ungetwch( wint_t _Character); | |
wint_t __cdecl _getwch_nolock (void); | |
wint_t __cdecl _getwche_nolock (void); | |
wint_t __cdecl _putwch_nolock ( wchar_t _Character); | |
wint_t __cdecl _ungetwch_nolock( wint_t _Character); | |
int __cdecl __conio_common_vcwprintf( | |
unsigned __int64 _Options, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __conio_common_vcwprintf_s( | |
unsigned __int64 _Options, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
int __cdecl __conio_common_vcwprintf_p( | |
unsigned __int64 _Options, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vcwprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 94 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return __conio_common_vcwprintf((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); | |
} | |
#line 98 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwprintf( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 107 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return _vcwprintf_l(_Format, 0, _ArgList); | |
} | |
#line 111 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwprintf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 121 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return __conio_common_vcwprintf_s((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); | |
} | |
#line 125 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwprintf_s( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 134 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return _vcwprintf_s_l(_Format, 0, _ArgList); | |
} | |
#line 138 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 148 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return __conio_common_vcwprintf_p((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); | |
} | |
#line 152 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwprintf_p( | |
const wchar_t* const _Format, | |
va_list _ArgList | |
) | |
#line 161 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return _vcwprintf_p_l(_Format, 0, _ArgList); | |
} | |
#line 165 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 174 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 183 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf( | |
wchar_t const* const _Format, | |
...) | |
#line 191 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 200 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 209 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_s_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 218 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf_s( | |
wchar_t const* const _Format, | |
...) | |
#line 226 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_s_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 235 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf_p_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 244 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_p_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 253 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwprintf_p( | |
wchar_t const* const _Format, | |
...) | |
#line 261 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwprintf_p_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 270 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
int __cdecl __conio_common_vcwscanf( | |
unsigned __int64 _Options, | |
wchar_t const* _Format, | |
_locale_t _Locale, | |
va_list _ArgList | |
); | |
__inline int __cdecl _vcwscanf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 295 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return __conio_common_vcwscanf( | |
(*__local_stdio_scanf_options ()), | |
_Format, _Locale, _ArgList); | |
} | |
#line 301 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwscanf( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 310 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
return _vcwscanf_l(_Format, 0, _ArgList); | |
#pragma warning(pop) | |
} | |
#line 317 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwscanf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
va_list _ArgList | |
) | |
#line 327 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return __conio_common_vcwscanf( | |
(*__local_stdio_scanf_options ()) | (1ULL << 0), | |
_Format, _Locale, _ArgList); | |
} | |
#line 333 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _vcwscanf_s( | |
wchar_t const* const _Format, | |
va_list _ArgList | |
) | |
#line 342 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
return _vcwscanf_s_l(_Format, 0, _ArgList); | |
} | |
#line 346 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwscanf_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 355 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vcwscanf_l(_Format, _Locale, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 369 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwscanf( | |
wchar_t const* const _Format, | |
...) | |
#line 377 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
_Result = _vcwscanf_l(_Format, 0, _ArgList); | |
#pragma warning(pop) | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 391 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwscanf_s_l( | |
wchar_t const* const _Format, | |
_locale_t const _Locale, | |
...) | |
#line 400 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Locale)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Locale))) + ((sizeof(_Locale) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwscanf_s_l(_Format, _Locale, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 409 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
__inline int __cdecl _cwscanf_s( | |
wchar_t const* const _Format, | |
...) | |
#line 417 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
{ | |
int _Result; | |
va_list _ArgList; | |
((void)(__vcrt_va_start_verify_argument_type<decltype(_Format)>(), ((void)(_ArgList = (va_list)(&const_cast<char&>(reinterpret_cast<const volatile char&>(_Format))) + ((sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1)))))); | |
_Result = _vcwscanf_s_l(_Format, 0, _ArgList); | |
((void)(_ArgList = (va_list)0)); | |
return _Result; | |
} | |
#line 426 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
#line 428 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wconio.h" | |
} __pragma(pack(pop)) | |
#line 16 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
#line 28 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
#line 30 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
const unsigned short* __cdecl __pctype_func(void); | |
const wctype_t* __cdecl __pwctype_func(void); | |
#line 41 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
#line 42 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
int __cdecl iswalnum ( wint_t _C); | |
int __cdecl iswalpha ( wint_t _C); | |
int __cdecl iswascii ( wint_t _C); | |
int __cdecl iswblank ( wint_t _C); | |
int __cdecl iswcntrl ( wint_t _C); | |
int __cdecl iswdigit ( wint_t _C); | |
int __cdecl iswgraph ( wint_t _C); | |
int __cdecl iswlower ( wint_t _C); | |
int __cdecl iswprint ( wint_t _C); | |
int __cdecl iswpunct ( wint_t _C); | |
int __cdecl iswspace ( wint_t _C); | |
int __cdecl iswupper ( wint_t _C); | |
int __cdecl iswxdigit ( wint_t _C); | |
int __cdecl __iswcsymf( wint_t _C); | |
int __cdecl __iswcsym ( wint_t _C); | |
int __cdecl _iswalnum_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswalpha_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswblank_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswcntrl_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswdigit_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswgraph_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswlower_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswprint_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswpunct_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswspace_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswupper_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswxdigit_l( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswcsymf_l ( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswcsym_l ( wint_t _C, _locale_t _Locale); | |
wint_t __cdecl towupper( wint_t _C); | |
wint_t __cdecl towlower( wint_t _C); | |
int __cdecl iswctype( wint_t _C, wctype_t _Type); | |
wint_t __cdecl _towupper_l( wint_t _C, _locale_t _Locale); | |
wint_t __cdecl _towlower_l( wint_t _C, _locale_t _Locale); | |
int __cdecl _iswctype_l( wint_t _C, wctype_t _Type, _locale_t _Locale); | |
int __cdecl isleadbyte( int _C); | |
int __cdecl _isleadbyte_l( int _C, _locale_t _Locale); | |
__declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "iswctype" " " "instead. See online help for details.")) int __cdecl is_wctype( wint_t _C, wctype_t _Type); | |
#line 113 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
#line 196 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wctype.h" | |
} __pragma(pack(pop)) | |
#line 17 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wdirect.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
__declspec(allocator) wchar_t* __cdecl _wgetcwd( | |
wchar_t* _DstBuf, | |
int _SizeInWords | |
); | |
__declspec(allocator) wchar_t* __cdecl _wgetdcwd( | |
int _Drive, | |
wchar_t* _DstBuf, | |
int _SizeInWords | |
); | |
int __cdecl _wchdir( | |
wchar_t const* _Path | |
); | |
int __cdecl _wmkdir( | |
wchar_t const* _Path | |
); | |
int __cdecl _wrmdir( | |
wchar_t const* _Path | |
); | |
} __pragma(pack(pop)) | |
#line 18 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_share.h" | |
#pragma once | |
#line 27 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_share.h" | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#pragma warning(push) | |
#pragma warning(disable:4820) | |
#line 21 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
#line 35 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
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; | |
__int64 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; | |
__int64 size; | |
wchar_t name[260]; | |
}; | |
#line 96 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
int __cdecl _waccess( | |
wchar_t const* _FileName, | |
int _AccessMode | |
); | |
errno_t __cdecl _waccess_s( | |
wchar_t const* _FileName, | |
int _AccessMode | |
); | |
int __cdecl _wchmod( | |
wchar_t const* _FileName, | |
int _Mode | |
); | |
int __cdecl _wcreat( | |
wchar_t const* _FileName, | |
int _PermissionMode | |
); | |
intptr_t __cdecl _wfindfirst32( | |
wchar_t const* _FileName, | |
struct _wfinddata32_t* _FindData | |
); | |
int __cdecl _wfindnext32( | |
intptr_t _FindHandle, | |
struct _wfinddata32_t* _FindData | |
); | |
int __cdecl _wunlink( | |
wchar_t const* _FileName | |
); | |
int __cdecl _wrename( | |
wchar_t const* _OldFileName, | |
wchar_t const* _NewFileName | |
); | |
errno_t __cdecl _wmktemp_s( | |
wchar_t* _TemplateName, | |
size_t _SizeInWords | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wmktemp_s(wchar_t (&_TemplateName)[_Size]) throw() { return _wmktemp_s(_TemplateName, _Size); } } | |
#line 154 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
wchar_t* __cdecl _wmktemp( wchar_t *_TemplateName); | |
#line 160 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
intptr_t __cdecl _wfindfirst32i64( | |
wchar_t const* _FileName, | |
struct _wfinddata32i64_t* _FindData | |
); | |
intptr_t __cdecl _wfindfirst64i32( | |
wchar_t const* _FileName, | |
struct _wfinddata64i32_t* _FindData | |
); | |
intptr_t __cdecl _wfindfirst64( | |
wchar_t const* _FileName, | |
struct _wfinddata64_t* _FindData | |
); | |
int __cdecl _wfindnext32i64( | |
intptr_t _FindHandle, | |
struct _wfinddata32i64_t* _FindData | |
); | |
int __cdecl _wfindnext64i32( | |
intptr_t _FindHandle, | |
struct _wfinddata64i32_t* _FindData | |
); | |
int __cdecl _wfindnext64( | |
intptr_t _FindHandle, | |
struct _wfinddata64_t* _FindData | |
); | |
errno_t __cdecl _wsopen_s( | |
int* _FileHandle, | |
wchar_t const* _FileName, | |
int _OpenFlag, | |
int _ShareFlag, | |
int _PermissionFlag | |
); | |
errno_t __cdecl _wsopen_dispatch( | |
wchar_t const* _FileName, | |
int _OFlag, | |
int _ShFlag, | |
int _PMode, | |
int* _PFileHandle, | |
int _BSecure | |
); | |
extern "C++" | |
inline int __cdecl _wopen( | |
wchar_t const* _FileName, | |
int _OFlag, | |
int _PMode = 0 | |
) | |
{ | |
int _FileHandle; | |
errno_t const _Result = _wsopen_dispatch(_FileName, _OFlag, 0x40, _PMode, &_FileHandle, 0); | |
return _Result ? -1 : _FileHandle; | |
} | |
extern "C++" | |
inline int __cdecl _wsopen( | |
wchar_t const* _FileName, | |
int _OFlag, | |
int _ShFlag, | |
int _PMode = 0 | |
) | |
{ | |
int _FileHandle; | |
errno_t const _Result = _wsopen_dispatch(_FileName, _OFlag, _ShFlag, _PMode, &_FileHandle, 0); | |
return _Result ? -1 : _FileHandle; | |
} | |
#line 270 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
#pragma warning(pop) | |
#line 275 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wio.h" | |
} __pragma(pack(pop)) | |
#line 19 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wprocess.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
intptr_t __cdecl _wexecl( | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wexecle( | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wexeclp( | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wexeclpe( | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wexecv( | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList | |
); | |
intptr_t __cdecl _wexecve( | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList, | |
wchar_t const* const* _Env | |
); | |
intptr_t __cdecl _wexecvp( | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList | |
); | |
intptr_t __cdecl _wexecvpe( | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList, | |
wchar_t const* const* _Env | |
); | |
intptr_t __cdecl _wspawnl( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wspawnle( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wspawnlp( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wspawnlpe( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* _ArgList, | |
...); | |
intptr_t __cdecl _wspawnv( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList | |
); | |
intptr_t __cdecl _wspawnve( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList, | |
wchar_t const* const* _Env | |
); | |
intptr_t __cdecl _wspawnvp( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList | |
); | |
intptr_t __cdecl _wspawnvpe( | |
int _Mode, | |
wchar_t const* _FileName, | |
wchar_t const* const* _ArgList, | |
wchar_t const* const* _Env | |
); | |
int __cdecl _wsystem( | |
wchar_t const* _Command | |
); | |
#line 116 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wprocess.h" | |
} __pragma(pack(pop)) | |
#line 20 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
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; | |
}; | |
wchar_t* __cdecl _wasctime( | |
struct tm const* _Tm | |
); | |
errno_t __cdecl _wasctime_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
struct tm const* _Tm | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wasctime_s( wchar_t (&_Buffer)[_Size], struct tm const* _Time) throw() { return _wasctime_s(_Buffer, _Size, _Time); } } | |
#line 62 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
size_t __cdecl wcsftime( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
wchar_t const* _Format, | |
struct tm const* _Tm | |
); | |
size_t __cdecl _wcsftime_l( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
wchar_t const* _Format, | |
struct tm const* _Tm, | |
_locale_t _Locale | |
); | |
wchar_t* __cdecl _wctime32( | |
__time32_t const* _Time | |
); | |
errno_t __cdecl _wctime32_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
__time32_t const* _Time | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wctime32_s( wchar_t (&_Buffer)[_Size], __time32_t const* _Time) throw() { return _wctime32_s(_Buffer, _Size, _Time); } } | |
#line 100 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
wchar_t* __cdecl _wctime64( | |
__time64_t const* _Time | |
); | |
errno_t __cdecl _wctime64_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords, | |
__time64_t const* _Time); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wctime64_s( wchar_t (&_Buffer)[_Size], __time64_t const* _Time) throw() { return _wctime64_s(_Buffer, _Size, _Time); } } | |
#line 119 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
errno_t __cdecl _wstrdate_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wstrdate_s( wchar_t (&_Buffer)[_Size]) throw() { return _wstrdate_s(_Buffer, _Size); } } | |
#line 130 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
wchar_t* __cdecl _wstrdate( wchar_t *_Buffer); | |
#line 135 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
errno_t __cdecl _wstrtime_s( | |
wchar_t* _Buffer, | |
size_t _SizeInWords | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl _wstrtime_s( wchar_t (&_Buffer)[_Size]) throw() { return _wstrtime_s(_Buffer, _Size); } } | |
#line 146 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
wchar_t* __cdecl _wstrtime( wchar_t *_Buffer); | |
#line 151 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
#pragma warning(push) | |
#pragma warning(disable: 4996) | |
static __inline wchar_t * __cdecl _wctime( | |
time_t const* const _Time) | |
{ | |
return _wctime64(_Time); | |
} | |
static __inline errno_t __cdecl _wctime_s( | |
wchar_t* const _Buffer, | |
size_t const _SizeInWords, | |
time_t const* const _Time | |
) | |
{ | |
return _wctime64_s(_Buffer, _SizeInWords, _Time); | |
} | |
#line 202 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
#pragma warning(pop) | |
#line 205 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_wtime.h" | |
} __pragma(pack(pop)) | |
#line 24 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
#pragma once | |
typedef unsigned short _ino_t; | |
typedef _ino_t ino_t; | |
#line 20 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
#line 21 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
typedef unsigned int _dev_t; | |
typedef _dev_t dev_t; | |
#line 32 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
#line 33 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
typedef long _off_t; | |
typedef _off_t off_t; | |
#line 44 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
#line 45 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/types.h" | |
#line 12 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#pragma warning(push) | |
#pragma warning(disable:4820) | |
#line 20 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
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 _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; | |
__int64 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; | |
__int64 st_size; | |
__time64_t st_atime; | |
__time64_t st_mtime; | |
__time64_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; | |
}; | |
#line 105 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
#line 131 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
#line 154 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
int __cdecl _fstat32( | |
int _FileHandle, | |
struct _stat32* _Stat | |
); | |
int __cdecl _fstat32i64( | |
int _FileHandle, | |
struct _stat32i64* _Stat | |
); | |
int __cdecl _fstat64i32( | |
int _FileHandle, | |
struct _stat64i32* _Stat | |
); | |
int __cdecl _fstat64( | |
int _FileHandle, | |
struct _stat64* _Stat | |
); | |
int __cdecl _stat32( | |
char const* _FileName, | |
struct _stat32* _Stat | |
); | |
int __cdecl _stat32i64( | |
char const* _FileName, | |
struct _stat32i64* _Stat | |
); | |
int __cdecl _stat64i32( | |
char const* _FileName, | |
struct _stat64i32* _Stat | |
); | |
int __cdecl _stat64( | |
char const* _FileName, | |
struct _stat64* _Stat | |
); | |
int __cdecl _wstat32( | |
wchar_t const* _FileName, | |
struct _stat32* _Stat | |
); | |
int __cdecl _wstat32i64( | |
wchar_t const* _FileName, | |
struct _stat32i64* _Stat | |
); | |
int __cdecl _wstat64i32( | |
wchar_t const* _FileName, | |
struct _stat64i32* _Stat | |
); | |
int __cdecl _wstat64( | |
wchar_t const* _FileName, | |
struct _stat64* _Stat | |
); | |
static __inline int __cdecl fstat(int const _FileHandle, struct stat* const _Stat) | |
{ | |
typedef char __static_assert_t[(sizeof(struct stat) == sizeof(struct _stat64i32)) != 0]; | |
return _fstat64i32(_FileHandle, (struct _stat64i32*)_Stat); | |
} | |
static __inline int __cdecl stat(char const* const _FileName, struct stat* const _Stat) | |
{ | |
typedef char __static_assert_t[(sizeof(struct stat) == sizeof(struct _stat64i32)) != 0]; | |
return _stat64i32(_FileName, (struct _stat64i32*)_Stat); | |
} | |
#line 248 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
#line 249 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
#pragma warning(pop) | |
#line 254 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\sys/stat.h" | |
} __pragma(pack(pop)) | |
#line 25 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
__pragma(pack(push, 8)) extern "C" { | |
typedef wchar_t _Wint_t; | |
wchar_t* __cdecl _wsetlocale( | |
int _Category, | |
wchar_t const* _Locale | |
); | |
_locale_t __cdecl _wcreate_locale( | |
int _Category, | |
wchar_t const* _Locale | |
); | |
wint_t __cdecl btowc( | |
int _Ch | |
); | |
size_t __cdecl mbrlen( | |
char const* _Ch, | |
size_t _SizeInBytes, | |
mbstate_t* _State | |
); | |
size_t __cdecl mbrtowc( | |
wchar_t* _DstCh, | |
char const* _SrcCh, | |
size_t _SizeInBytes, | |
mbstate_t* _State | |
); | |
errno_t __cdecl mbsrtowcs_s( | |
size_t* _Retval, | |
wchar_t* _Dst, | |
size_t _Size, | |
char const** _PSrc, | |
size_t _N, | |
mbstate_t* _State | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl mbsrtowcs_s( size_t* _Retval, wchar_t (&_Dest)[_Size], char const** _PSource, size_t _Count, mbstate_t* _State) throw() { return mbsrtowcs_s(_Retval, _Dest, _Size, _PSource, _Count, _State); } } | |
#line 91 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
size_t __cdecl mbsrtowcs( wchar_t *_Dest, char const** _PSrc, size_t _Count, mbstate_t* _State); | |
#line 99 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
errno_t __cdecl wcrtomb_s( | |
size_t* _Retval, | |
char* _Dst, | |
size_t _SizeInBytes, | |
wchar_t _Ch, | |
mbstate_t* _State | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcrtomb_s( size_t* _Retval, char (&_Dest)[_Size], wchar_t _Source, mbstate_t* _State) throw() { return wcrtomb_s(_Retval, _Dest, _Size, _Source, _State); } } | |
#line 117 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
size_t __cdecl wcrtomb( char *_Dest, wchar_t _Source, mbstate_t* _State); | |
#line 124 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
errno_t __cdecl wcsrtombs_s( | |
size_t* _Retval, | |
char* _Dst, | |
size_t _SizeInBytes, | |
wchar_t const** _Src, | |
size_t _Size, | |
mbstate_t* _State | |
); | |
extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsrtombs_s( size_t* _Retval, char (&_Dest)[_Size], wchar_t const** _PSrc, size_t _Count, mbstate_t* _State) throw() { return wcsrtombs_s(_Retval, _Dest, _Size, _PSrc, _Count, _State); } } | |
#line 144 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
size_t __cdecl wcsrtombs( char *_Dest, wchar_t const** _PSource, size_t _Count, mbstate_t* _State); | |
#line 152 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
int __cdecl wctob( | |
wint_t _WCh | |
); | |
errno_t __cdecl wmemcpy_s( | |
wchar_t* _S1, | |
rsize_t _N1, | |
wchar_t const* _S2, | |
rsize_t _N | |
); | |
errno_t __cdecl wmemmove_s( | |
wchar_t* _S1, | |
rsize_t _N1, | |
wchar_t const* _S2, | |
rsize_t _N | |
); | |
#line 180 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
__inline int __cdecl fwide( | |
FILE* _F, | |
int _M | |
) | |
{ | |
(void)_F; | |
return (_M); | |
} | |
__inline int __cdecl mbsinit( | |
mbstate_t const* _P | |
) | |
{ | |
return _P == 0 || _P->_Wchar == 0; | |
} | |
__inline wchar_t const* __cdecl wmemchr( | |
wchar_t const* _S, | |
wchar_t _C, | |
size_t _N | |
) | |
{ | |
for (; 0 < _N; ++_S, --_N) | |
if (*_S == _C) | |
return (wchar_t const*)_S; | |
return 0; | |
} | |
__inline int __cdecl wmemcmp( | |
wchar_t const* _S1, | |
wchar_t const* _S2, | |
size_t _N | |
) | |
{ | |
for (; 0 < _N; ++_S1, ++_S2, --_N) | |
if (*_S1 != *_S2) | |
return *_S1 < *_S2 ? -1 : 1; | |
return 0; | |
} | |
__inline | |
wchar_t* __cdecl wmemcpy( | |
wchar_t* _S1, | |
wchar_t const* _S2, | |
size_t _N | |
) | |
{ | |
#pragma warning(push) | |
#pragma warning(disable : 4995 4996 6386) | |
return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t)); | |
#pragma warning(pop) | |
} | |
__inline | |
wchar_t* __cdecl wmemmove( | |
wchar_t* _S1, | |
wchar_t const* _S2, | |
size_t _N | |
) | |
{ | |
#pragma warning(push) | |
#pragma warning(disable : 4996 6386) | |
return (wchar_t*)memmove(_S1, _S2, _N*sizeof(wchar_t)); | |
#pragma warning(pop) | |
} | |
__inline wchar_t* __cdecl wmemset( | |
wchar_t* _S, | |
wchar_t _C, | |
size_t _N | |
) | |
{ | |
wchar_t *_Su = _S; | |
for (; 0 < _N; ++_Su, --_N) | |
{ | |
*_Su = _C; | |
} | |
return _S; | |
} | |
extern "C++" inline wchar_t* __cdecl wmemchr( | |
wchar_t* _S, | |
wchar_t _C, | |
size_t _N | |
) | |
{ | |
wchar_t const* const _SC = _S; | |
return const_cast<wchar_t*>(wmemchr(_SC, _C, _N)); | |
} | |
#line 280 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
#line 282 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\wchar.h" | |
} __pragma(pack(pop)) | |
#line 53 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
} | |
#line 56 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 82 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
typedef signed __int8 int8_t; | |
typedef signed __int16 int16_t; | |
typedef signed __int32 int32_t; | |
typedef unsigned __int8 uint8_t; | |
typedef unsigned __int16 uint16_t; | |
typedef unsigned __int32 uint32_t; | |
#line 89 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
typedef signed __int64 int64_t; | |
typedef unsigned __int64 uint64_t; | |
typedef int8_t int_least8_t; | |
typedef int16_t int_least16_t; | |
typedef int32_t int_least32_t; | |
typedef int64_t int_least64_t; | |
typedef uint8_t uint_least8_t; | |
typedef uint16_t uint_least16_t; | |
typedef uint32_t uint_least32_t; | |
typedef uint64_t uint_least64_t; | |
typedef int8_t int_fast8_t; | |
typedef int16_t int_fast16_t; | |
typedef int32_t int_fast32_t; | |
typedef int64_t int_fast64_t; | |
typedef uint8_t uint_fast8_t; | |
typedef uint16_t uint_fast16_t; | |
typedef uint32_t uint_fast32_t; | |
typedef uint64_t uint_fast64_t; | |
typedef signed int intptr_t; | |
typedef unsigned int uintptr_t; | |
#line 121 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
typedef int64_t intmax_t; | |
typedef uint64_t uintmax_t; | |
#line 183 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 198 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 222 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 245 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 248 "D:\\github\\bgfx\\3rdparty\\glsl-optimizer\\include\\c99\\stdint.h" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdint" | |
namespace std { | |
using :: int8_t; using :: int16_t; | |
using :: int32_t; using :: int64_t; | |
using :: uint8_t; using :: uint16_t; | |
using :: uint32_t; using :: uint64_t; | |
using :: int_least8_t; using :: int_least16_t; | |
using :: int_least32_t; using :: int_least64_t; | |
using :: uint_least8_t; using :: uint_least16_t; | |
using :: uint_least32_t; using :: uint_least64_t; | |
using :: int_fast8_t; using :: int_fast16_t; | |
using :: int_fast32_t; using :: int_fast64_t; | |
using :: uint_fast8_t; using :: uint_fast16_t; | |
using :: uint_fast32_t; using :: uint_fast64_t; | |
using :: intmax_t; using :: intptr_t; | |
using :: uintmax_t; using :: uintptr_t; | |
namespace tr1 { | |
using :: int8_t; using :: int16_t; | |
using :: int32_t; using :: int64_t; | |
using :: uint8_t; using :: uint16_t; | |
using :: uint32_t; using :: uint64_t; | |
using :: int_least8_t; using :: int_least16_t; | |
using :: int_least32_t; using :: int_least64_t; | |
using :: uint_least8_t; using :: uint_least16_t; | |
using :: uint_least32_t; using :: uint_least64_t; | |
using :: int_fast8_t; using :: int_fast16_t; | |
using :: int_fast32_t; using :: int_fast64_t; | |
using :: uint_fast8_t; using :: uint_fast16_t; | |
using :: uint_fast32_t; using :: uint_fast64_t; | |
using :: intmax_t; using :: intptr_t; | |
using :: uintmax_t; using :: uintptr_t; | |
} | |
#line 49 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdint" | |
} | |
#line 51 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdint" | |
#line 53 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cstdint" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
extern "C" { | |
#line 18 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#line 19 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
void __cdecl _Feraise(int); | |
typedef union | |
{ | |
unsigned short _Word[8]; | |
float _Float; | |
double _Double; | |
long double _Long_double; | |
} _Dconst; | |
double __cdecl _Cosh(double, double); | |
short __cdecl _Dtest(double *); | |
double __cdecl _Sinh(double, double); | |
short __cdecl _Exp(double *, double, short); | |
extern _Dconst _Denorm, _Hugeval, _Inf, | |
_Nan, _Snan; | |
float __cdecl _FCosh(float, float); | |
short __cdecl _FDtest(float *); | |
float __cdecl _FSinh(float, float); | |
short __cdecl _FExp(float *, float, short); | |
extern _Dconst _FDenorm, _FInf, _FNan, _FSnan; | |
long double __cdecl _LCosh(long double, long double); | |
short __cdecl _LDtest(long double *); | |
long double __cdecl _LSinh(long double, long double); | |
short __cdecl _LExp(long double *, long double, short); | |
extern _Dconst _LDenorm, _LInf, _LNan, _LSnan; | |
} | |
#line 72 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#line 73 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 78 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#line 79 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\ymath.h" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cfloat" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
#line 27 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 28 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 29 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 54 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 57 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 58 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
#line 215 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
unsigned int __cdecl _clearfp(void); | |
#pragma warning(push) | |
#pragma warning(disable: 4141) | |
unsigned int __cdecl _controlfp( | |
unsigned int _NewValue, | |
unsigned int _Mask | |
); | |
#pragma warning(pop) | |
void __cdecl _set_controlfp( | |
unsigned int _NewValue, | |
unsigned int _Mask | |
); | |
errno_t __cdecl _controlfp_s( | |
unsigned int* _CurrentState, | |
unsigned int _NewValue, | |
unsigned int _Mask | |
); | |
unsigned int __cdecl _statusfp(void); | |
void __cdecl _fpreset(void); | |
void __cdecl _statusfp2( | |
unsigned int* _X86Status, | |
unsigned int* _SSE2Status | |
); | |
#line 267 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
unsigned int __cdecl _control87( | |
unsigned int _NewValue, | |
unsigned int _Mask | |
); | |
int __cdecl __control87_2( | |
unsigned int _NewValue, | |
unsigned int _Mask, | |
unsigned int* _X86ControlWord, | |
unsigned int* _Sse2ControlWord | |
); | |
#line 286 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
int* __cdecl __fpecode(void); | |
int __cdecl __fpe_flt_rounds(void); | |
double __cdecl _copysign( double _Number, double _Sign); | |
double __cdecl _chgsign( double _X); | |
double __cdecl _scalb( double _X, long _Y); | |
double __cdecl _logb( double _X); | |
double __cdecl _nextafter( double _X, double _Y); | |
int __cdecl _finite( double _X); | |
int __cdecl _isnan( double _X); | |
int __cdecl _fpclass( double _X); | |
void __cdecl fpreset(void); | |
#line 398 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\float.h" | |
} __pragma(pack(pop)) | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cfloat" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cfloat" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cwchar" | |
#pragma once | |
typedef mbstate_t _Mbstatet; | |
namespace std { | |
using :: _Mbstatet; | |
using :: mbstate_t; using :: size_t; using :: tm; 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 :: mbsrtowcs; | |
using :: mbsinit; using :: putwc; using :: putwchar; | |
using :: swprintf; using :: swscanf; using :: ungetwc; | |
using :: vfwprintf; using :: vswprintf; using :: vwprintf; | |
using :: wcrtomb; using :: wprintf; using :: wscanf; | |
using :: wcsrtombs; using :: wcstol; using :: wcscat; | |
using :: wcschr; using :: wcscmp; using :: wcscoll; | |
using :: wcscpy; using :: wcscspn; using :: wcslen; | |
using :: wcsncat; using :: wcsncmp; using :: wcsncpy; | |
using :: wcspbrk; using :: wcsrchr; using :: wcsspn; | |
using :: wcstod; using :: wcstoul; using :: wcsstr; | |
using :: wcstok; using :: wcsxfrm; using :: wctob; | |
using :: wmemchr; using :: wmemcmp; using :: wmemcpy; | |
using :: wmemmove; using :: wmemset; using :: wcsftime; | |
using :: vfwscanf; using :: vswscanf; using :: vwscanf; | |
using :: wcstof; using :: wcstold; | |
using :: wcstoll; using :: wcstoull; | |
} | |
#line 39 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cwchar" | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cwchar" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
typedef enum | |
{ | |
denorm_indeterminate = -1, | |
denorm_absent = 0, | |
denorm_present = 1} | |
float_denorm_style; | |
typedef enum | |
{ | |
round_indeterminate = -1, | |
round_toward_zero = 0, | |
round_to_nearest = 1, | |
round_toward_infinity = 2, | |
round_toward_neg_infinity = 3} | |
float_round_style; | |
struct _Num_base | |
{ | |
static constexpr float_denorm_style has_denorm = (float_denorm_style)(denorm_absent); | |
static constexpr bool has_denorm_loss = (bool)(false); | |
static constexpr bool has_infinity = (bool)(false); | |
static constexpr bool has_quiet_NaN = (bool)(false); | |
static constexpr bool has_signaling_NaN = (bool)(false); | |
static constexpr bool is_bounded = (bool)(false); | |
static constexpr bool is_exact = (bool)(false); | |
static constexpr bool is_iec559 = (bool)(false); | |
static constexpr bool is_integer = (bool)(false); | |
static constexpr bool is_modulo = (bool)(false); | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr bool is_specialized = (bool)(false); | |
static constexpr bool tinyness_before = (bool)(false); | |
static constexpr bool traps = (bool)(false); | |
static constexpr float_round_style round_style = (float_round_style)(round_toward_zero); | |
static constexpr int digits = (int)(0); | |
static constexpr int digits10 = (int)(0); | |
static constexpr int max_digits10 = (int)(0); | |
static constexpr int max_exponent = (int)(0); | |
static constexpr int max_exponent10 = (int)(0); | |
static constexpr int min_exponent = (int)(0); | |
static constexpr int min_exponent10 = (int)(0); | |
static constexpr int radix = (int)(0); | |
}; | |
template<class _Ty> | |
class numeric_limits | |
: public _Num_base | |
{ | |
public: | |
static constexpr _Ty (min)() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (_Ty()); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (_Ty()); | |
} | |
}; | |
template<class _Ty> | |
class numeric_limits<const _Ty> | |
: public numeric_limits<_Ty> | |
{ | |
}; | |
template<class _Ty> | |
class numeric_limits<volatile _Ty> | |
: public numeric_limits<_Ty> | |
{ | |
}; | |
template<class _Ty> | |
class numeric_limits<const volatile _Ty> | |
: public numeric_limits<_Ty> | |
{ | |
}; | |
struct _Num_int_base | |
: public _Num_base | |
{ | |
static constexpr bool is_bounded = (bool)(true); | |
static constexpr bool is_exact = (bool)(true); | |
static constexpr bool is_integer = (bool)(true); | |
static constexpr bool is_modulo = (bool)(true); | |
static constexpr bool is_specialized = (bool)(true); | |
static constexpr int radix = (int)(2); | |
}; | |
struct _Num_float_base | |
: public _Num_base | |
{ | |
static constexpr float_denorm_style has_denorm = (float_denorm_style)(denorm_present); | |
static constexpr bool has_denorm_loss = (bool)(true); | |
static constexpr bool has_infinity = (bool)(true); | |
static constexpr bool has_quiet_NaN = (bool)(true); | |
static constexpr bool has_signaling_NaN = (bool)(true); | |
static constexpr bool is_bounded = (bool)(true); | |
static constexpr bool is_exact = (bool)(false); | |
static constexpr bool is_iec559 = (bool)(true); | |
static constexpr bool is_integer = (bool)(false); | |
static constexpr bool is_modulo = (bool)(false); | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr bool is_specialized = (bool)(true); | |
static constexpr bool tinyness_before = (bool)(true); | |
static constexpr bool traps = (bool)(false); | |
static constexpr float_round_style round_style = (float_round_style)(round_to_nearest); | |
static constexpr int radix = (int)(2); | |
}; | |
template<> class numeric_limits<char> | |
: public _Num_int_base | |
{ | |
public: | |
typedef char _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-128)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (127); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)((-128) != 0); | |
static constexpr int digits = (int)(8 - ((-128) != 0 ? 1 : 0)); | |
static constexpr int digits10 = (int)((8 - ((-128) != 0 ? 1 : 0)) * 301L / 1000); | |
#line 260 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<wchar_t> | |
: public _Num_int_base | |
{ | |
public: | |
typedef wchar_t _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((_Ty)0x0000); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return ((_Ty)0xffff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(0x0000 != 0); | |
static constexpr int digits = (int)(8 * sizeof (wchar_t) - (0x0000 != 0 ? 1 : 0)); | |
#line 317 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
static constexpr int digits10 = (int)((8 * sizeof (wchar_t) - (0x0000 != 0 ? 1 : 0)) * 301L / 1000); | |
#line 319 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<bool> | |
: public _Num_int_base | |
{ | |
public: | |
typedef bool _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (false); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (true); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_modulo = (bool)(false); | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(1); | |
static constexpr int digits10 = (int)(0); | |
}; | |
template<> class numeric_limits<signed char> | |
: public _Num_int_base | |
{ | |
public: | |
typedef signed char _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-128)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (127); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr int digits = (int)(8 - 1); | |
static constexpr int digits10 = (int)((8 - 1) * 301L / 1000); | |
}; | |
template<> class numeric_limits<unsigned char> | |
: public _Num_int_base | |
{ | |
public: | |
typedef unsigned char _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8); | |
static constexpr int digits10 = (int)(8 * 301L / 1000); | |
}; | |
template<> class numeric_limits<short> | |
: public _Num_int_base | |
{ | |
public: | |
typedef short _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-32768)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (32767); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr int digits = (int)(8 * sizeof (short) - 1); | |
static constexpr int digits10 = (int)((8 * sizeof (short) - 1) * 301L / 1000); | |
#line 549 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<unsigned short> | |
: public _Num_int_base | |
{ | |
public: | |
typedef unsigned short _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (unsigned short)); | |
static constexpr int digits10 = (int)(8 * sizeof (unsigned short) * 301L / 1000); | |
#line 608 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
#line 610 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
template<> class numeric_limits<char16_t> | |
: public _Num_int_base | |
{ | |
public: | |
typedef char16_t _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (char16_t)); | |
static constexpr int digits10 = (int)(8 * sizeof (char16_t) * 301L / 1000); | |
#line 667 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<int> | |
: public _Num_int_base | |
{ | |
public: | |
typedef int _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-2147483647 - 1)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (2147483647); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr int digits = (int)(8 * sizeof (int) - 1); | |
static constexpr int digits10 = (int)((8 * sizeof (int) - 1) * 301L / 1000); | |
#line 725 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<unsigned int> | |
: public _Num_int_base | |
{ | |
public: | |
typedef unsigned int _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffffffff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (unsigned int)); | |
static constexpr int digits10 = (int)(8 * sizeof (unsigned int) * 301L / 1000); | |
#line 783 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<long> | |
: public _Num_int_base | |
{ | |
public: | |
typedef long _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-2147483647L - 1)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (2147483647L); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr int digits = (int)(8 * sizeof (long) - 1); | |
static constexpr int digits10 = (int)((8 * sizeof (long) - 1) * 301L / 1000); | |
#line 841 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<unsigned long> | |
: public _Num_int_base | |
{ | |
public: | |
typedef unsigned long _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffffffffUL); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (unsigned long)); | |
static constexpr int digits10 = (int)(8 * sizeof (unsigned long) * 301L / 1000); | |
#line 899 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<char32_t> | |
: public _Num_int_base | |
{ | |
public: | |
typedef char32_t _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffffffff); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (char32_t)); | |
static constexpr int digits10 = (int)(8 * sizeof (char32_t) * 301L / 1000); | |
#line 957 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<long long> | |
: public _Num_int_base | |
{ | |
public: | |
typedef long long _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return ((-9223372036854775807i64 - 1)); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (9223372036854775807i64); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(true); | |
static constexpr int digits = (int)(8 * sizeof (long long) - 1); | |
static constexpr int digits10 = (int)((8 * sizeof (long long) - 1) * 301L / 1000); | |
#line 1015 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<unsigned long long> | |
: public _Num_int_base | |
{ | |
public: | |
typedef unsigned long long _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (0); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (0xffffffffffffffffui64); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return ((min)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (0); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (0); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (0); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (0); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (0); | |
} | |
static constexpr bool is_signed = (bool)(false); | |
static constexpr int digits = (int)(8 * sizeof (unsigned long long)); | |
static constexpr int digits10 = (int)(8 * sizeof (unsigned long long) * 301L / 1000); | |
#line 1073 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
}; | |
template<> class numeric_limits<float> | |
: public _Num_float_base | |
{ | |
public: | |
typedef float _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (1.175494351e-38F); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (3.402823466e+38F); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return (-(max)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (1.192092896e-07F); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0.5F); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (1.401298464e-45F); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (__builtin_huge_valf()); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (__builtin_nanf("0")); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (__builtin_nansf("1")); | |
} | |
static constexpr int digits = (int)(24); | |
static constexpr int digits10 = (int)(6); | |
static constexpr int max_digits10 = (int)(2 + 24 * 301L / 1000); | |
static constexpr int max_exponent = (int)((int)128); | |
static constexpr int max_exponent10 = (int)((int)38); | |
static constexpr int min_exponent = (int)((int)(-125)); | |
static constexpr int min_exponent10 = (int)((int)(-37)); | |
}; | |
template<> class numeric_limits<double> | |
: public _Num_float_base | |
{ | |
public: | |
typedef double _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (2.2250738585072014e-308); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (1.7976931348623158e+308); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return (-(max)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (2.2204460492503131e-016); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0.5); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (4.9406564584124654e-324); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (__builtin_huge_val()); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (__builtin_nan("0")); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (__builtin_nans("1")); | |
} | |
static constexpr int digits = (int)(53); | |
static constexpr int digits10 = (int)(15); | |
static constexpr int max_digits10 = (int)(2 + 53 * 301L / 1000); | |
static constexpr int max_exponent = (int)((int)1024); | |
static constexpr int max_exponent10 = (int)((int)308); | |
static constexpr int min_exponent = (int)((int)(-1021)); | |
static constexpr int min_exponent10 = (int)((int)(-307)); | |
}; | |
template<> class numeric_limits<long double> | |
: public _Num_float_base | |
{ | |
public: | |
typedef long double _Ty; | |
static constexpr _Ty (min)() | |
{ | |
return (2.2250738585072014e-308); | |
} | |
static constexpr _Ty (max)() | |
{ | |
return (1.7976931348623158e+308); | |
} | |
static constexpr _Ty lowest() | |
{ | |
return (-(max)()); | |
} | |
static constexpr _Ty epsilon() | |
{ | |
return (2.2204460492503131e-016); | |
} | |
static constexpr _Ty round_error() | |
{ | |
return (0.5L); | |
} | |
static constexpr _Ty denorm_min() | |
{ | |
return (4.9406564584124654e-324); | |
} | |
static constexpr _Ty infinity() | |
{ | |
return (__builtin_huge_val()); | |
} | |
static constexpr _Ty quiet_NaN() | |
{ | |
return (__builtin_nan("0")); | |
} | |
static constexpr _Ty signaling_NaN() | |
{ | |
return (__builtin_nans("1")); | |
} | |
static constexpr int digits = (int)(53); | |
static constexpr int digits10 = (int)(15); | |
static constexpr int max_digits10 = (int)(2 + 53 * 301L / 1000); | |
static constexpr int max_exponent = (int)((int)1024); | |
static constexpr int max_exponent10 = (int)((int)308); | |
static constexpr int min_exponent = (int)((int)(-1021)); | |
static constexpr int min_exponent10 = (int)((int)(-307)); | |
}; | |
#line 1467 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 1487 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#line 1488 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\limits" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\new" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
extern "C++" { | |
#pragma pack(push, 8) | |
#pragma warning(push) | |
#pragma warning(disable: 4985) | |
namespace std | |
{ | |
struct nothrow_t { }; | |
extern nothrow_t const nothrow; | |
#line 34 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
} | |
#line 36 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
__declspec(allocator) void* __cdecl operator new( | |
size_t _Size | |
); | |
__declspec(allocator) void* __cdecl operator new( | |
size_t _Size, | |
std::nothrow_t const& | |
) throw(); | |
__declspec(allocator) void* __cdecl operator new[]( | |
size_t _Size | |
); | |
__declspec(allocator) void* __cdecl operator new[]( | |
size_t _Size, | |
std::nothrow_t const& | |
) throw(); | |
void __cdecl operator delete( | |
void* _Block | |
) throw(); | |
void __cdecl operator delete( | |
void* _Block, | |
std::nothrow_t const& | |
) throw(); | |
void __cdecl operator delete[]( | |
void* _Block | |
) throw(); | |
void __cdecl operator delete[]( | |
void* _Block, | |
std::nothrow_t const& | |
) throw(); | |
void __cdecl operator delete( | |
void* _Block, | |
size_t _Size | |
) throw(); | |
void __cdecl operator delete[]( | |
void* _Block, | |
size_t _Size | |
) throw(); | |
inline void* __cdecl operator new(size_t _Size, void* _Where) throw() | |
{ | |
(void)_Size; | |
return _Where; | |
} | |
inline void __cdecl operator delete(void*, void*) throw() | |
{ | |
return; | |
} | |
#line 101 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
inline void* __cdecl operator new[](size_t _Size, void* _Where) throw() | |
{ | |
(void)_Size; | |
return _Where; | |
} | |
inline void __cdecl operator delete[](void*, void*) throw() | |
{ | |
} | |
#line 115 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
#pragma warning(pop) | |
#pragma pack(pop) | |
} | |
#line 123 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new.h" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\new" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
typedef void (__cdecl * new_handler) (); | |
#line 25 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\new" | |
new_handler __cdecl set_new_handler( new_handler) | |
; | |
new_handler __cdecl get_new_handler() | |
; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 39 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\new" | |
#line 40 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\new" | |
#line 10 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new_debug.h" | |
#pragma once | |
extern "C++" { | |
#pragma pack(push, 8) | |
__declspec(allocator) void* __cdecl operator new( | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl operator new[]( | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
void __cdecl operator delete( | |
void* _Block, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
) throw(); | |
void __cdecl operator delete[]( | |
void* _Block, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
) throw(); | |
#line 53 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new_debug.h" | |
#pragma pack(pop) | |
} | |
#line 60 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_new_debug.h" | |
#line 13 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
__pragma(pack(push, 8)) extern "C" { | |
typedef void* _HFILE; | |
typedef int (__cdecl* _CRT_REPORT_HOOK )(int, char*, int*); | |
typedef int (__cdecl* _CRT_REPORT_HOOKW)(int, wchar_t*, int*); | |
typedef int (__cdecl* _CRT_ALLOC_HOOK)(int, void*, size_t, int, long, unsigned char const*, int); | |
typedef void (__cdecl* _CRT_DUMP_CLIENT)(void*, size_t); | |
struct _CrtMemBlockHeader; | |
typedef struct _CrtMemState | |
{ | |
struct _CrtMemBlockHeader* pBlockHeader; | |
size_t lCounts[5]; | |
size_t lSizes[5]; | |
size_t lHighWaterCount; | |
size_t lTotalCount; | |
} _CrtMemState; | |
int* __cdecl __p__crtDbgFlag(void); | |
long* __cdecl __p__crtBreakAlloc(void); | |
_CRT_ALLOC_HOOK __cdecl _CrtGetAllocHook(void); | |
_CRT_ALLOC_HOOK __cdecl _CrtSetAllocHook( | |
_CRT_ALLOC_HOOK _PfnNewHook | |
); | |
_CRT_DUMP_CLIENT __cdecl _CrtGetDumpClient(void); | |
_CRT_DUMP_CLIENT __cdecl _CrtSetDumpClient( | |
_CRT_DUMP_CLIENT _PFnNewDump | |
); | |
#line 170 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
int __cdecl _CrtCheckMemory(void); | |
typedef void (__cdecl* _CrtDoForAllClientObjectsCallback)(void*, void*); | |
void __cdecl _CrtDoForAllClientObjects( | |
_CrtDoForAllClientObjectsCallback _Callback, | |
void* _Context | |
); | |
int __cdecl _CrtDumpMemoryLeaks(void); | |
int __cdecl _CrtIsMemoryBlock( | |
void const* _Block, | |
unsigned int _Size, | |
long* _RequestNumber, | |
char** _FileName, | |
int* _LineNumber | |
); | |
int __cdecl _CrtIsValidHeapPointer( | |
void const* _Pointer | |
); | |
int __cdecl _CrtIsValidPointer( | |
void const* _Pointer, | |
unsigned int _Size, | |
int _ReadWrite | |
); | |
void __cdecl _CrtMemCheckpoint( | |
_CrtMemState* _State | |
); | |
int __cdecl _CrtMemDifference( | |
_CrtMemState* _State, | |
_CrtMemState const* _OldState, | |
_CrtMemState const* _NewState | |
); | |
void __cdecl _CrtMemDumpAllObjectsSince( | |
_CrtMemState const* _State | |
); | |
void __cdecl _CrtMemDumpStatistics( | |
_CrtMemState const* _State | |
); | |
int __cdecl _CrtReportBlockType( | |
void const* _Block | |
); | |
long __cdecl _CrtSetBreakAlloc( | |
long _NewValue | |
); | |
int __cdecl _CrtSetDbgFlag( | |
int _NewFlag | |
); | |
#line 234 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
void __cdecl _aligned_free_dbg( | |
void* _Block | |
); | |
__declspec(allocator) void* __cdecl _aligned_malloc_dbg( | |
size_t _Size, | |
size_t _Alignment, | |
char const* _FileName, | |
int _LineNumber | |
); | |
size_t __cdecl _aligned_msize_dbg( | |
void* _Block, | |
size_t _Alignment, | |
size_t _Offset | |
); | |
__declspec(allocator) void* __cdecl _aligned_offset_malloc_dbg( | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _aligned_offset_realloc_dbg( | |
void* _Block, | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _aligned_offset_recalloc_dbg( | |
void* _Block, | |
size_t _Count, | |
size_t _Size, | |
size_t _Alignment, | |
size_t _Offset, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _aligned_realloc_dbg( | |
void* _Block, | |
size_t _Size, | |
size_t _Alignment, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _aligned_recalloc_dbg( | |
void* _Block, | |
size_t _Count, | |
size_t _Size, | |
size_t _Alignment, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _calloc_dbg( | |
size_t _Count, | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _expand_dbg( | |
void* _Block, | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
void __cdecl _free_dbg( | |
void* _Block, | |
int _BlockUse | |
); | |
__declspec(allocator) void* __cdecl _malloc_dbg( | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
size_t __cdecl _msize_dbg( | |
void* _Block, | |
int _BlockUse | |
); | |
__declspec(allocator) void* __cdecl _realloc_dbg( | |
void* _Block, | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) void* __cdecl _recalloc_dbg( | |
void* _Block, | |
size_t _Count, | |
size_t _Size, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
errno_t __cdecl _dupenv_s_dbg( | |
char** _PBuffer, | |
size_t* _PBufferSizeInBytes, | |
char const* _VarName, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) char* __cdecl _fullpath_dbg( | |
char* _FullPath, | |
char const* _Path, | |
size_t _SizeInBytes, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) char* __cdecl _getcwd_dbg( | |
char* _DstBuf, | |
int _SizeInBytes, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) char* __cdecl _getdcwd_dbg( | |
int _Drive, | |
char* _DstBuf, | |
int _SizeInBytes, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) char* __cdecl _strdup_dbg( | |
char const* _String, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) char* __cdecl _tempnam_dbg( | |
char const* _DirName, | |
char const* _FilePrefix, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) wchar_t* __cdecl _wcsdup_dbg( | |
wchar_t const* _String, | |
int _BlockUse, | |
char const* _FileName, | |
int _LineNumber | |
); | |
errno_t __cdecl _wdupenv_s_dbg( | |
wchar_t** _PBuffer, | |
size_t* _PBufferSizeInWords, | |
wchar_t const* _VarName, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) wchar_t* __cdecl _wfullpath_dbg( | |
wchar_t* _FullPath, | |
wchar_t const* _Path, | |
size_t _SizeInWords, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) wchar_t* __cdecl _wgetcwd_dbg( | |
wchar_t* _DstBuf, | |
int _SizeInWords, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) wchar_t* __cdecl _wgetdcwd_dbg( | |
int _Drive, | |
wchar_t* _DstBuf, | |
int _SizeInWords, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
__declspec(allocator) wchar_t* __cdecl _wtempnam_dbg( | |
wchar_t const* _DirName, | |
wchar_t const* _FilePrefix, | |
int _BlockType, | |
char const* _FileName, | |
int _LineNumber | |
); | |
#line 583 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 585 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
int __cdecl _CrtDbgReport( | |
int _ReportType, | |
char const* _FileName, | |
int _Linenumber, | |
char const* _ModuleName, | |
char const* _Format, | |
...); | |
int __cdecl _CrtDbgReportW( | |
int _ReportType, | |
wchar_t const* _FileName, | |
int _LineNumber, | |
wchar_t const* _ModuleName, | |
wchar_t const* _Format, | |
...); | |
int __cdecl _VCrtDbgReportA( | |
int _ReportType, | |
void* _ReturnAddress, | |
char const* _FileName, | |
int _LineNumber, | |
char const* _ModuleName, | |
char const* _Format, | |
va_list _ArgList | |
); | |
int __cdecl _VCrtDbgReportW( | |
int _ReportType, | |
void* _ReturnAddress, | |
wchar_t const* _FileName, | |
int _LineNumber, | |
wchar_t const* _ModuleName, | |
wchar_t const* _Format, | |
va_list _ArgList | |
); | |
size_t __cdecl _CrtSetDebugFillThreshold( | |
size_t _NewDebugFillThreshold | |
); | |
size_t __cdecl _CrtGetDebugFillThreshold(void); | |
_HFILE __cdecl _CrtSetReportFile( | |
int _ReportType, | |
_HFILE _ReportFile | |
); | |
int __cdecl _CrtSetReportMode( | |
int _ReportType, | |
int _ReportMode | |
); | |
extern long _crtAssertBusy; | |
_CRT_REPORT_HOOK __cdecl _CrtGetReportHook(void); | |
_CRT_REPORT_HOOK __cdecl _CrtSetReportHook( | |
_CRT_REPORT_HOOK _PFnNewHook | |
); | |
int __cdecl _CrtSetReportHook2( | |
int _Mode, | |
_CRT_REPORT_HOOK _PFnNewHook | |
); | |
int __cdecl _CrtSetReportHookW2( | |
int _Mode, | |
_CRT_REPORT_HOOKW _PFnNewHook | |
); | |
#line 683 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 685 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 736 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 740 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 744 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 766 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
#line 781 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\crtdbg.h" | |
} __pragma(pack(pop)) | |
#line 12 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
typedef long long streamoff; | |
typedef long long streamsize; | |
extern const streamoff _BADOFF; | |
#line 31 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
template<class _Statetype> | |
class fpos | |
{ | |
typedef fpos<_Statetype> _Myt; | |
public: | |
fpos(streamoff _Off = 0) | |
: _Myoff(_Off), _Fpos(0), _Mystate() | |
{ | |
} | |
fpos(_Statetype _State, fpos_t _Fileposition) | |
: _Myoff(0), _Fpos(_Fileposition), _Mystate(_State) | |
{ | |
} | |
_Statetype state() const | |
{ | |
return (_Mystate); | |
} | |
void state(_Statetype _State) | |
{ | |
_Mystate = _State; | |
} | |
fpos_t seekpos() const | |
{ | |
return (_Fpos); | |
} | |
operator streamoff() const | |
{ | |
return (_Myoff + _Fpos); | |
} | |
streamoff operator-(const _Myt& _Right) const | |
{ | |
return ((streamoff)*this - (streamoff)_Right); | |
} | |
_Myt& operator+=(streamoff _Off) | |
{ | |
_Myoff += _Off; | |
return (*this); | |
} | |
_Myt& operator-=(streamoff _Off) | |
{ | |
_Myoff -= _Off; | |
return (*this); | |
} | |
_Myt operator+(streamoff _Off) const | |
{ | |
_Myt _Tmp = *this; | |
return (_Tmp += _Off); | |
} | |
_Myt operator-(streamoff _Off) const | |
{ | |
_Myt _Tmp = *this; | |
return (_Tmp -= _Off); | |
} | |
bool operator==(const _Myt& _Right) const | |
{ | |
return ((streamoff)*this == (streamoff)_Right); | |
} | |
bool operator==(streamoff _Right) const | |
{ | |
return ((streamoff)*this == _Right); | |
} | |
bool operator!=(const _Myt& _Right) const | |
{ | |
return (!(*this == _Right)); | |
} | |
private: | |
streamoff _Myoff; | |
fpos_t _Fpos; | |
_Statetype _Mystate; | |
}; | |
typedef fpos<_Mbstatet> streampos; | |
typedef streampos wstreampos; | |
template<class _Elem, | |
class _Int_type> | |
struct _Char_traits | |
{ | |
typedef _Elem char_type; | |
typedef _Int_type int_type; | |
typedef streampos pos_type; | |
typedef streamoff off_type; | |
typedef _Mbstatet state_type; | |
static int __cdecl compare( const _Elem * _First1, | |
const _Elem * _First2, size_t _Count) throw () | |
{ | |
for (; 0 < _Count; --_Count, ++_First1, ++_First2) | |
if (!eq(*_First1, *_First2)) | |
return (lt(*_First1, *_First2) ? -1 : +1); | |
return (0); | |
} | |
static size_t __cdecl length( const _Elem * _First) throw () | |
{ | |
size_t _Count; | |
for (_Count = 0; !eq(*_First, _Elem()); ++_First) | |
++_Count; | |
return (_Count); | |
} | |
static _Elem * __cdecl copy( _Elem * const _First1, | |
const _Elem * _First2, size_t _Count) throw () | |
{ | |
_Elem * _Next = _First1; | |
for (; 0 < _Count; --_Count, ++_Next, ++_First2) | |
assign(*_Next, *_First2); | |
return (_First1); | |
} | |
static _Elem * __cdecl _Copy_s( | |
_Elem * const _First1, const size_t _Dest_size, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
{ if (!(_Count <= _Dest_size)) { (void)( (!!(("_Count <= _Dest_size" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd", 169, 0, L"%ls", L"\"_Count <= _Dest_size\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"_Count <= _Dest_size", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd", 169, 0); return (0); } }; | |
return (copy(_First1, _First2, _Count)); | |
} | |
static const _Elem * __cdecl find( const _Elem * _First, | |
size_t _Count, const _Elem& _Ch) throw () | |
{ | |
for (; 0 < _Count; --_Count, ++_First) | |
if (eq(*_First, _Ch)) | |
return (_First); | |
return (0); | |
} | |
static _Elem * __cdecl move( _Elem * const _First1, | |
const _Elem * _First2, size_t _Count) throw () | |
{ | |
_Elem * _Next = _First1; | |
if (_First2 < _Next && _Next < _First2 + _Count) | |
for (_Next += _Count, _First2 += _Count; 0 < _Count; --_Count) | |
assign(*--_Next, *--_First2); | |
else | |
for (; 0 < _Count; --_Count, ++_Next, ++_First2) | |
assign(*_Next, *_First2); | |
return (_First1); | |
} | |
static _Elem * __cdecl assign( _Elem * const _First, | |
size_t _Count, const _Elem _Ch) throw () | |
{ | |
_Elem * _Next = _First; | |
for (; 0 < _Count; --_Count, ++_Next) | |
assign(*_Next, _Ch); | |
return (_First); | |
} | |
static void __cdecl assign(_Elem& _Left, const _Elem& _Right) throw () | |
{ | |
_Left = _Right; | |
} | |
static constexpr bool __cdecl eq(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr bool __cdecl lt(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left < _Right); | |
} | |
static constexpr _Elem __cdecl to_char_type(const int_type& _Meta) throw () | |
{ | |
return ((_Elem)_Meta); | |
} | |
static constexpr int_type __cdecl to_int_type(const _Elem& _Ch) throw () | |
{ | |
return ((int_type)_Ch); | |
} | |
static constexpr bool __cdecl eq_int_type(const int_type& _Left, const int_type& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr int_type __cdecl not_eof(const int_type& _Meta) throw () | |
{ | |
return (_Meta != eof() ? _Meta : !eof()); | |
} | |
static constexpr int_type __cdecl eof() throw () | |
{ | |
return ((int_type)(-1)); | |
} | |
}; | |
template<class _Elem> | |
struct char_traits | |
: public _Char_traits<_Elem, long> | |
{ | |
}; | |
template<> | |
struct char_traits<char16_t> | |
: public _Char_traits<char16_t, unsigned short> | |
{ | |
}; | |
typedef streampos u16streampos; | |
template<> | |
struct char_traits<char32_t> | |
: public _Char_traits<char32_t, unsigned int> | |
{ | |
}; | |
typedef streampos u32streampos; | |
template<> | |
struct char_traits<wchar_t> | |
{ | |
typedef wchar_t _Elem; | |
typedef _Elem char_type; | |
typedef wint_t int_type; | |
typedef streampos pos_type; | |
typedef streamoff off_type; | |
typedef _Mbstatet state_type; | |
static int __cdecl compare( const _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return (:: wmemcmp(_First1, _First2, _Count)); | |
} | |
static size_t __cdecl length( const _Elem * const _First) throw () | |
{ | |
return (:: wcslen(_First)); | |
} | |
static _Elem * __cdecl copy( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: wmemcpy(_First1, _First2, _Count)); | |
} | |
static _Elem * __cdecl _Copy_s( | |
_Elem * const _First1, const size_t _Size_in_words, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
::wmemcpy_s((_First1), (_Size_in_words), (_First2), (_Count)); | |
return (_First1); | |
} | |
static const _Elem * __cdecl find( const _Elem * const _First, | |
const size_t _Count, const _Elem& _Ch) throw () | |
{ | |
return ((const _Elem *):: wmemchr(_First, _Ch, _Count)); | |
} | |
static _Elem * __cdecl move( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: wmemmove(_First1, _First2, _Count)); | |
} | |
static _Elem * __cdecl assign( _Elem * const _First, | |
const size_t _Count, const _Elem _Ch) throw () | |
{ | |
return ((_Elem *):: wmemset(_First, _Ch, _Count)); | |
} | |
static void __cdecl assign(_Elem& _Left, const _Elem& _Right) throw () | |
{ | |
_Left = _Right; | |
} | |
static constexpr bool __cdecl eq(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr bool __cdecl lt(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left < _Right); | |
} | |
static constexpr _Elem __cdecl to_char_type(const int_type& _Meta) throw () | |
{ | |
return (_Meta); | |
} | |
static constexpr int_type __cdecl to_int_type(const _Elem& _Ch) throw () | |
{ | |
return (_Ch); | |
} | |
static constexpr bool __cdecl eq_int_type(const int_type& _Left, const int_type& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr int_type __cdecl not_eof(const int_type& _Meta) throw () | |
{ | |
return (_Meta != eof() ? _Meta : !eof()); | |
} | |
static constexpr int_type __cdecl eof() throw () | |
{ | |
return (((wint_t)(0xFFFF))); | |
} | |
}; | |
template<> | |
struct char_traits<unsigned short> | |
{ | |
typedef unsigned short _Elem; | |
typedef _Elem char_type; | |
typedef wint_t int_type; | |
typedef streampos pos_type; | |
typedef streamoff off_type; | |
typedef _Mbstatet state_type; | |
static int __cdecl compare( const _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return (:: wmemcmp((const wchar_t *)_First1, (const wchar_t *)_First2, _Count)); | |
} | |
static size_t __cdecl length( const _Elem * _First) throw () | |
{ | |
return (:: wcslen((const wchar_t *)_First)); | |
} | |
static _Elem * __cdecl copy( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: wmemcpy((wchar_t *)_First1, (const wchar_t *)_First2, _Count)); | |
} | |
static _Elem * __cdecl _Copy_s( | |
_Elem * const _First1, const size_t _Size_in_words, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
::wmemcpy_s(((wchar_t *)_First1), (_Size_in_words), ((const wchar_t *)_First2), (_Count)); | |
return (_First1); | |
} | |
static const _Elem * __cdecl find( const _Elem * _First, | |
const size_t _Count, const _Elem& _Ch) throw () | |
{ | |
return ((const _Elem *):: wmemchr((const wchar_t *)_First, _Ch, _Count)); | |
} | |
static _Elem * __cdecl move( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: wmemmove((wchar_t *)_First1, (const wchar_t *)_First2, _Count)); | |
} | |
static _Elem * __cdecl assign( _Elem * const _First, size_t _Count, | |
_Elem _Ch) throw () | |
{ | |
return ((_Elem *):: wmemset((wchar_t *)_First, _Ch, _Count)); | |
} | |
static void __cdecl assign(_Elem& _Left, const _Elem& _Right) throw () | |
{ | |
_Left = _Right; | |
} | |
static constexpr bool __cdecl eq(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr bool __cdecl lt(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left < _Right); | |
} | |
static constexpr _Elem __cdecl to_char_type(const int_type& _Meta) throw () | |
{ | |
return (_Meta); | |
} | |
static constexpr int_type __cdecl to_int_type(const _Elem& _Ch) throw () | |
{ | |
return (_Ch); | |
} | |
static constexpr bool __cdecl eq_int_type(const int_type& _Left, const int_type& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr int_type __cdecl not_eof(const int_type& _Meta) throw () | |
{ | |
return (_Meta != eof() ? _Meta : !eof()); | |
} | |
static constexpr int_type __cdecl eof() throw () | |
{ | |
return (((wint_t)(0xFFFF))); | |
} | |
}; | |
#line 461 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
template<> struct char_traits<char> | |
{ | |
typedef char _Elem; | |
typedef _Elem char_type; | |
typedef int int_type; | |
typedef streampos pos_type; | |
typedef streamoff off_type; | |
typedef _Mbstatet state_type; | |
static int __cdecl compare( const _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return (:: memcmp(_First1, _First2, _Count)); | |
} | |
static size_t __cdecl length( const _Elem * const _First) throw () | |
{ | |
return (:: strlen(_First)); | |
} | |
static _Elem * __cdecl copy( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: memcpy(_First1, _First2, _Count)); | |
} | |
static _Elem * __cdecl _Copy_s( | |
_Elem * const _First1, const size_t _Size_in_bytes, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
::memcpy_s((_First1), (_Size_in_bytes), (_First2), (_Count)); | |
return (_First1); | |
} | |
static const _Elem * __cdecl find( const _Elem * const _First, | |
const size_t _Count, const _Elem& _Ch) throw () | |
{ | |
return ((const _Elem *):: memchr(_First, _Ch, _Count)); | |
} | |
static _Elem * __cdecl move( _Elem * const _First1, | |
const _Elem * const _First2, const size_t _Count) throw () | |
{ | |
return ((_Elem *):: memmove(_First1, _First2, _Count)); | |
} | |
static _Elem * __cdecl assign( _Elem * const _First, | |
const size_t _Count, const _Elem _Ch) throw () | |
{ | |
return ((_Elem *):: memset(_First, _Ch, _Count)); | |
} | |
static void __cdecl assign(_Elem& _Left, const _Elem& _Right) throw () | |
{ | |
_Left = _Right; | |
} | |
static constexpr bool __cdecl eq(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr bool __cdecl lt(const _Elem& _Left, const _Elem& _Right) throw () | |
{ | |
return ((unsigned char)_Left < (unsigned char)_Right); | |
} | |
static constexpr _Elem __cdecl to_char_type(const int_type& _Meta) throw () | |
{ | |
return ((_Elem)_Meta); | |
} | |
static constexpr int_type __cdecl to_int_type(const _Elem& _Ch) throw () | |
{ | |
return ((unsigned char)_Ch); | |
} | |
static constexpr bool __cdecl eq_int_type(const int_type& _Left, const int_type& _Right) throw () | |
{ | |
return (_Left == _Right); | |
} | |
static constexpr int_type __cdecl not_eof(const int_type& _Meta) throw () | |
{ | |
return (_Meta != eof() ? _Meta : !eof()); | |
} | |
static constexpr int_type __cdecl eof() throw () | |
{ | |
return ((-1)); | |
} | |
}; | |
template<class _Ty> | |
class allocator; | |
class ios_base; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_ios; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class istreambuf_iterator; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class ostreambuf_iterator; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_streambuf; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_istream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_ostream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_iostream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem>, | |
class _Alloc = allocator<_Elem> > | |
class basic_stringbuf; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem>, | |
class _Alloc = allocator<_Elem> > | |
class basic_istringstream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem>, | |
class _Alloc = allocator<_Elem> > | |
class basic_ostringstream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem>, | |
class _Alloc = allocator<_Elem> > | |
class basic_stringstream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_filebuf; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_ifstream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_ofstream; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem> > | |
class basic_fstream; | |
#line 620 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
typedef basic_ios<char, char_traits<char> > ios; | |
typedef basic_streambuf<char, char_traits<char> > streambuf; | |
typedef basic_istream<char, char_traits<char> > istream; | |
typedef basic_ostream<char, char_traits<char> > ostream; | |
typedef basic_iostream<char, char_traits<char> > iostream; | |
typedef basic_stringbuf<char, char_traits<char>, | |
allocator<char> > stringbuf; | |
typedef basic_istringstream<char, char_traits<char>, | |
allocator<char> > istringstream; | |
typedef basic_ostringstream<char, char_traits<char>, | |
allocator<char> > ostringstream; | |
typedef basic_stringstream<char, char_traits<char>, | |
allocator<char> > stringstream; | |
typedef basic_filebuf<char, char_traits<char> > filebuf; | |
typedef basic_ifstream<char, char_traits<char> > ifstream; | |
typedef basic_ofstream<char, char_traits<char> > ofstream; | |
typedef basic_fstream<char, char_traits<char> > fstream; | |
typedef basic_ios<wchar_t, char_traits<wchar_t> > wios; | |
typedef basic_streambuf<wchar_t, char_traits<wchar_t> > | |
wstreambuf; | |
typedef basic_istream<wchar_t, char_traits<wchar_t> > wistream; | |
typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream; | |
typedef basic_iostream<wchar_t, char_traits<wchar_t> > wiostream; | |
typedef basic_stringbuf<wchar_t, char_traits<wchar_t>, | |
allocator<wchar_t> > wstringbuf; | |
typedef basic_istringstream<wchar_t, char_traits<wchar_t>, | |
allocator<wchar_t> > wistringstream; | |
typedef basic_ostringstream<wchar_t, char_traits<wchar_t>, | |
allocator<wchar_t> > wostringstream; | |
typedef basic_stringstream<wchar_t, char_traits<wchar_t>, | |
allocator<wchar_t> > wstringstream; | |
typedef basic_filebuf<wchar_t, char_traits<wchar_t> > wfilebuf; | |
typedef basic_ifstream<wchar_t, char_traits<wchar_t> > wifstream; | |
typedef basic_ofstream<wchar_t, char_traits<wchar_t> > wofstream; | |
typedef basic_fstream<wchar_t, char_traits<wchar_t> > wfstream; | |
#line 681 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 687 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
#line 688 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\iosfwd" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Ty> | |
constexpr const _Ty& _Min_value(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (_Right < _Left ? _Right : _Left); | |
} | |
template<class _Ty> | |
constexpr const _Ty& _Max_value(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (_Left < _Right ? _Right : _Left); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2> inline | |
void iter_swap(_FwdIt1 _Left, _FwdIt2 _Right) | |
{ | |
swap(*_Left, *_Right); | |
} | |
template<class _Ty, | |
size_t _Size, | |
class> inline | |
void swap(_Ty (&_Left)[_Size], _Ty (&_Right)[_Size]) | |
{ | |
if (&_Left != &_Right) | |
{ | |
_Ty *_First1 = _Left; | |
_Ty *_Last1 = _First1 + _Size; | |
_Ty *_First2 = _Right; | |
for (; _First1 != _Last1; ++_First1, ++_First2) | |
::std:: iter_swap(_First1, _First2); | |
} | |
} | |
template<class _Ty, | |
class> inline | |
void swap(_Ty& _Left, _Ty& _Right) | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
{ | |
_Ty _Tmp = ::std:: move(_Left); | |
_Left = ::std:: move(_Right); | |
_Right = ::std:: move(_Tmp); | |
} | |
template<class _Ty> inline | |
void _Swap_adl(_Ty& _Left, _Ty& _Right) | |
{ | |
swap(_Left, _Right); | |
} | |
struct piecewise_construct_t | |
{ | |
}; | |
constexpr piecewise_construct_t piecewise_construct{}; | |
template<class...> | |
class tuple; | |
template<class _Ty1, | |
class _Ty2> | |
struct pair | |
{ | |
typedef pair<_Ty1, _Ty2> _Myt; | |
typedef _Ty1 first_type; | |
typedef _Ty2 second_type; | |
template<class _Uty1 = _Ty1, | |
class _Uty2 = _Ty2, | |
class = enable_if_t<is_default_constructible<_Uty1>::value | |
&& is_default_constructible<_Uty2>::value> > | |
constexpr pair() | |
: first(), second() | |
{ | |
} | |
template<class _Uty1 = _Ty1, | |
class _Uty2 = _Ty2, | |
class = enable_if_t<is_copy_constructible<_Uty1>::value | |
&& is_copy_constructible<_Uty2>::value>, | |
enable_if_t<is_convertible<const _Uty1&, _Uty1>::value | |
&& is_convertible<const _Uty2&, _Uty2>::value, int> = 0> | |
constexpr pair(const _Ty1& _Val1, const _Ty2& _Val2) | |
: first(_Val1), second(_Val2) | |
{ | |
} | |
template<class _Uty1 = _Ty1, | |
class _Uty2 = _Ty2, | |
class = enable_if_t<is_copy_constructible<_Uty1>::value | |
&& is_copy_constructible<_Uty2>::value>, | |
enable_if_t<!is_convertible<const _Uty1&, _Uty1>::value | |
|| !is_convertible<const _Uty2&, _Uty2>::value, int> = 0> | |
constexpr explicit pair(const _Ty1& _Val1, const _Ty2& _Val2) | |
: first(_Val1), second(_Val2) | |
{ | |
} | |
pair(const pair&) = default; | |
pair(pair&&) = default; | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, const _Other1&>::value | |
&& is_constructible<_Ty2, const _Other2&>::value>, | |
enable_if_t<is_convertible<const _Other1&, _Ty1>::value | |
&& is_convertible<const _Other2&, _Ty2>::value, int> = 0> | |
constexpr pair(const pair<_Other1, _Other2>& _Right) | |
: first(_Right.first), second(_Right.second) | |
{ | |
} | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, const _Other1&>::value | |
&& is_constructible<_Ty2, const _Other2&>::value>, | |
enable_if_t<!is_convertible<const _Other1&, _Ty1>::value | |
|| !is_convertible<const _Other2&, _Ty2>::value, int> = 0> | |
constexpr explicit pair(const pair<_Other1, _Other2>& _Right) | |
: first(_Right.first), second(_Right.second) | |
{ | |
} | |
template<class _Other1, | |
class _Other2> | |
_Myt& operator=(const pair<_Other1, _Other2>& _Right) | |
{ | |
first = _Right.first; | |
second = _Right.second; | |
return (*this); | |
} | |
template<class _Tuple1, | |
class _Tuple2, | |
size_t... _Indexes1, | |
size_t... _Indexes2> inline | |
pair(_Tuple1& _Val1, | |
_Tuple2& _Val2, | |
index_sequence<_Indexes1...>, | |
index_sequence<_Indexes2...>); | |
template<class... _Types1, | |
class... _Types2> inline | |
pair(piecewise_construct_t, | |
tuple<_Types1...> _Val1, | |
tuple<_Types2...> _Val2); | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, _Other1>::value | |
&& is_constructible<_Ty2, _Other2>::value>, | |
enable_if_t<is_convertible<_Other1, _Ty1>::value | |
&& is_convertible<_Other2, _Ty2>::value, int> = 0> | |
constexpr pair(_Other1&& _Val1, _Other2&& _Val2) | |
#line 187 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
: first(::std:: forward<_Other1>(_Val1)), | |
second(::std:: forward<_Other2>(_Val2)) | |
{ | |
} | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, _Other1>::value | |
&& is_constructible<_Ty2, _Other2>::value>, | |
enable_if_t<!is_convertible<_Other1, _Ty1>::value | |
|| !is_convertible<_Other2, _Ty2>::value, int> = 0> | |
constexpr explicit pair(_Other1&& _Val1, _Other2&& _Val2) | |
#line 201 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
: first(::std:: forward<_Other1>(_Val1)), | |
second(::std:: forward<_Other2>(_Val2)) | |
{ | |
} | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, _Other1>::value | |
&& is_constructible<_Ty2, _Other2>::value>, | |
enable_if_t<is_convertible<_Other1, _Ty1>::value | |
&& is_convertible<_Other2, _Ty2>::value, int> = 0> | |
constexpr pair(pair<_Other1, _Other2>&& _Right) | |
#line 215 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
: first(::std:: forward<_Other1>(_Right.first)), | |
second(::std:: forward<_Other2>(_Right.second)) | |
{ | |
} | |
template<class _Other1, | |
class _Other2, | |
class = enable_if_t<is_constructible<_Ty1, _Other1>::value | |
&& is_constructible<_Ty2, _Other2>::value>, | |
enable_if_t<!is_convertible<_Other1, _Ty1>::value | |
|| !is_convertible<_Other2, _Ty2>::value, int> = 0> | |
constexpr explicit pair(pair<_Other1, _Other2>&& _Right) | |
#line 229 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
: first(::std:: forward<_Other1>(_Right.first)), | |
second(::std:: forward<_Other2>(_Right.second)) | |
{ | |
} | |
template<class _Other1, | |
class _Other2> | |
_Myt& operator=(pair<_Other1, _Other2>&& _Right) | |
{ | |
first = ::std:: forward<_Other1>(_Right.first); | |
second = ::std:: forward<_Other2>(_Right.second); | |
return (*this); | |
} | |
_Myt& operator=(_Myt&& _Right) | |
#line 246 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
{ | |
first = ::std:: forward<_Ty1>(_Right.first); | |
second = ::std:: forward<_Ty2>(_Right.second); | |
return (*this); | |
} | |
_Myt& operator=(const _Myt& _Right) | |
{ | |
first = _Right.first; | |
second = _Right.second; | |
return (*this); | |
} | |
void swap(_Myt& _Right) | |
#line 262 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
_Swap_adl(first, _Right.first); | |
_Swap_adl(second, _Right.second); | |
} | |
} | |
_Ty1 first; | |
_Ty2 second; | |
}; | |
template<class _Ty1, | |
class _Ty2, | |
class = enable_if_t<_Is_swappable<_Ty1>::value && _Is_swappable<_Ty2>::value>> inline | |
void swap(pair<_Ty1, _Ty2>& _Left, pair<_Ty1, _Ty2>& _Right) | |
{ | |
_Left.swap(_Right); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator==(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (_Left.first == _Right.first && _Left.second == _Right.second); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator!=(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator<(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (_Left.first < _Right.first || | |
(!(_Right.first < _Left.first) && _Left.second < _Right.second)); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator>(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator<=(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr bool operator>=(const pair<_Ty1, _Ty2>& _Left, | |
const pair<_Ty1, _Ty2>& _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr pair<typename _Unrefwrap<_Ty1>::type, | |
typename _Unrefwrap<_Ty2>::type> | |
make_pair(_Ty1&& _Val1, _Ty2&& _Val2) | |
{ | |
typedef pair<typename _Unrefwrap<_Ty1>::type, | |
typename _Unrefwrap<_Ty2>::type> _Mypair; | |
return (_Mypair(::std:: forward<_Ty1>(_Val1), | |
::std:: forward<_Ty2>(_Val2))); | |
} | |
namespace rel_ops | |
{ | |
template<class _Ty> inline | |
bool operator!=(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Ty> inline | |
bool operator>(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _Ty> inline | |
bool operator<=(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _Ty> inline | |
bool operator>=(const _Ty& _Left, const _Ty& _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
} | |
} | |
namespace std { | |
template<class _Ty, | |
size_t _Size> | |
class array; | |
template<class _Tuple> | |
struct tuple_size; | |
template<class _Ty, | |
size_t _Size> | |
struct tuple_size<array<_Ty, _Size> > | |
: integral_constant<size_t, _Size> | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct tuple_size<pair<_Ty1, _Ty2> > | |
: integral_constant<size_t, 2> | |
{ | |
}; | |
template<class... _Types> | |
struct tuple_size<tuple<_Types...> > | |
: integral_constant<size_t, sizeof...(_Types)> | |
{ | |
}; | |
template<class _Tuple> | |
struct tuple_size<const _Tuple> | |
: tuple_size<_Tuple> | |
{ | |
}; | |
template<class _Tuple> | |
struct tuple_size<volatile _Tuple> | |
: tuple_size<_Tuple> | |
{ | |
}; | |
template<class _Tuple> | |
struct tuple_size<const volatile _Tuple> | |
: tuple_size<_Tuple> | |
{ | |
}; | |
template<class _Ty> | |
constexpr size_t tuple_size_v = tuple_size<_Ty>::value; | |
template<size_t _Index, | |
class _Tuple> | |
struct tuple_element; | |
template<size_t _Idx, | |
class _Ty, | |
size_t _Size> | |
struct tuple_element<_Idx, array<_Ty, _Size> > | |
{ | |
static_assert(_Idx < _Size, "array index out of bounds"); | |
typedef _Ty type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct tuple_element<0, pair<_Ty1, _Ty2> > | |
{ | |
typedef _Ty1 type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct tuple_element<1, pair<_Ty1, _Ty2> > | |
{ | |
typedef _Ty2 type; | |
}; | |
template<size_t _Index> | |
struct tuple_element<_Index, tuple<> > | |
{ | |
static_assert(_Always_false<integral_constant<size_t, _Index> >::value, | |
"tuple index out of bounds"); | |
}; | |
template<class _This, | |
class... _Rest> | |
struct tuple_element<0, tuple<_This, _Rest...> > | |
{ | |
typedef _This type; | |
typedef tuple<_This, _Rest...> _Ttype; | |
}; | |
template<size_t _Index, | |
class _This, | |
class... _Rest> | |
struct tuple_element<_Index, tuple<_This, _Rest...> > | |
: public tuple_element<_Index - 1, tuple<_Rest...> > | |
{ | |
}; | |
template<size_t _Index, | |
class _Tuple> | |
struct tuple_element<_Index, const _Tuple> | |
: public tuple_element<_Index, _Tuple> | |
{ | |
typedef tuple_element<_Index, _Tuple> _Mybase; | |
typedef typename add_const<typename _Mybase::type>::type type; | |
}; | |
template<size_t _Index, | |
class _Tuple> | |
struct tuple_element<_Index, volatile _Tuple> | |
: public tuple_element<_Index, _Tuple> | |
{ | |
typedef tuple_element<_Index, _Tuple> _Mybase; | |
typedef typename add_volatile<typename _Mybase::type>::type type; | |
}; | |
template<size_t _Index, | |
class _Tuple> | |
struct tuple_element<_Index, const volatile _Tuple> | |
: public tuple_element<_Index, _Tuple> | |
{ | |
typedef tuple_element<_Index, _Tuple> _Mybase; | |
typedef typename add_cv<typename _Mybase::type>::type type; | |
}; | |
template<size_t _Index, | |
class _Tuple> | |
using tuple_element_t = typename tuple_element<_Index, _Tuple>::type; | |
template<class _Ret, | |
class _Pair> inline | |
constexpr _Ret _Pair_get(_Pair& _Pr, | |
integral_constant<size_t, 0>) throw () | |
{ | |
return (_Pr.first); | |
} | |
template<class _Ret, | |
class _Pair> inline | |
constexpr _Ret _Pair_get(_Pair& _Pr, | |
integral_constant<size_t, 1>) throw () | |
{ | |
return (_Pr.second); | |
} | |
template<size_t _Idx, | |
class _Ty1, | |
class _Ty2> inline | |
constexpr typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type& | |
get(pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
typedef typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type& _Rtype; | |
return (_Pair_get<_Rtype>(_Pr, integral_constant<size_t, _Idx>())); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr _Ty1& get(pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
return (::std:: get<0>(_Pr)); | |
} | |
template<class _Ty2, | |
class _Ty1> inline | |
constexpr _Ty2& get(pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
return (::std:: get<1>(_Pr)); | |
} | |
template<size_t _Idx, | |
class _Ty1, | |
class _Ty2> inline | |
constexpr const typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type& | |
get(const pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
typedef const typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type& | |
_Ctype; | |
return (_Pair_get<_Ctype>(_Pr, integral_constant<size_t, _Idx>())); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr const _Ty1& get(const pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
return (::std:: get<0>(_Pr)); | |
} | |
template<class _Ty2, | |
class _Ty1> inline | |
constexpr const _Ty2& get(const pair<_Ty1, _Ty2>& _Pr) throw () | |
{ | |
return (::std:: get<1>(_Pr)); | |
} | |
template<size_t _Idx, | |
class _Ty1, | |
class _Ty2> inline | |
constexpr typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type&& | |
get(pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
typedef typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type&& _RRtype; | |
return (::std:: forward<_RRtype>(::std:: get<_Idx>(_Pr))); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr _Ty1&& get(pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
return (::std:: get<0>(::std:: move(_Pr))); | |
} | |
template<class _Ty2, | |
class _Ty1> inline | |
constexpr _Ty2&& get(pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
return (::std:: get<1>(::std:: move(_Pr))); | |
} | |
template<size_t _Idx, | |
class _Ty1, | |
class _Ty2> inline | |
constexpr const typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type&& | |
get(const pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
typedef const typename tuple_element<_Idx, pair<_Ty1, _Ty2> >::type&& _RRtype; | |
return (::std:: forward<_RRtype>(::std:: get<_Idx>(_Pr))); | |
} | |
template<class _Ty1, | |
class _Ty2> inline | |
constexpr const _Ty1&& get(const pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
return (::std:: get<0>(::std:: move(_Pr))); | |
} | |
template<class _Ty2, | |
class _Ty1> inline | |
constexpr const _Ty2&& get(const pair<_Ty1, _Ty2>&& _Pr) throw () | |
{ | |
return (::std:: get<1>(::std:: move(_Pr))); | |
} | |
template<class _Ty, | |
class _Other = _Ty> inline | |
_Ty exchange(_Ty& _Val, _Other&& _New_val) | |
{ | |
_Ty _Old_val = ::std:: move(_Val); | |
_Val = ::std:: forward<_Other>(_New_val); | |
return (_Old_val); | |
} | |
template<class _Ty> inline | |
constexpr add_const_t<_Ty>& as_const(_Ty& _Val) throw () | |
{ | |
return (_Val); | |
} | |
template<class _Ty> | |
void as_const(const _Ty&&) = delete; | |
#line 670 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
} | |
namespace std { | |
namespace tr1 { | |
using ::std:: get; | |
using ::std:: tuple_element; | |
using ::std:: tuple_size; | |
} | |
} | |
#line 681 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 686 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
#line 687 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\utility" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
#line 33 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 35 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 43 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 51 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 53 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
struct _Container_proxy; | |
struct _Container_base12; | |
struct _Iterator_base12; | |
struct _Container_base0 | |
{ | |
void _Orphan_all() | |
{ | |
} | |
void _Swap_all(_Container_base0&) | |
{ | |
} | |
}; | |
struct _Iterator_base0 | |
{ | |
void _Adopt(const void *) | |
{ | |
} | |
const _Container_base0 *_Getcont() const | |
{ | |
return (0); | |
} | |
}; | |
struct _Container_proxy | |
{ | |
_Container_proxy() | |
: _Mycont(0), _Myfirstiter(0) | |
{ | |
} | |
const _Container_base12 *_Mycont; | |
_Iterator_base12 *_Myfirstiter; | |
}; | |
struct _Container_base12 | |
{ | |
public: | |
_Container_base12() | |
: _Myproxy(0) | |
{ | |
} | |
_Container_base12(const _Container_base12&) | |
: _Myproxy(0) | |
{ | |
} | |
_Container_base12& operator=(const _Container_base12&) | |
{ | |
return (*this); | |
} | |
~_Container_base12() throw () | |
{ | |
_Orphan_all(); | |
} | |
_Iterator_base12 **_Getpfirst() const | |
{ | |
return (_Myproxy == 0 ? 0 : &_Myproxy->_Myfirstiter); | |
} | |
void _Orphan_all(); | |
void _Swap_all(_Container_base12&); | |
_Container_proxy *_Myproxy; | |
}; | |
struct _Iterator_base12 | |
{ | |
public: | |
_Iterator_base12() | |
: _Myproxy(0), _Mynextiter(0) | |
{ | |
} | |
_Iterator_base12(const _Iterator_base12& _Right) | |
: _Myproxy(0), _Mynextiter(0) | |
{ | |
*this = _Right; | |
} | |
_Iterator_base12& operator=(const _Iterator_base12& _Right) | |
{ | |
if (_Myproxy == _Right._Myproxy) | |
; | |
else if (_Right._Myproxy != 0) | |
_Adopt(_Right._Myproxy->_Mycont); | |
else | |
{ | |
#line 155 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
return (*this); | |
} | |
~_Iterator_base12() throw () | |
{ | |
#line 166 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
void _Adopt(const _Container_base12 *_Parent) | |
{ | |
if (_Parent == 0) | |
{ | |
#line 176 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
else | |
{ | |
_Container_proxy *_Parent_proxy = _Parent->_Myproxy; | |
#line 192 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
_Myproxy = _Parent_proxy; | |
#line 194 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
} | |
void _Clrcont() | |
{ | |
_Myproxy = 0; | |
} | |
const _Container_base12 *_Getcont() const | |
{ | |
return (_Myproxy == 0 ? 0 : _Myproxy->_Mycont); | |
} | |
_Iterator_base12 **_Getpnext() | |
{ | |
return (&_Mynextiter); | |
} | |
void _Orphan_me() | |
{ | |
#line 230 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
_Container_proxy *_Myproxy; | |
_Iterator_base12 *_Mynextiter; | |
}; | |
inline void _Container_base12::_Orphan_all() | |
{ | |
#line 250 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
} | |
inline void _Container_base12::_Swap_all(_Container_base12& _Right) | |
{ | |
#line 257 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
_Container_proxy *_Temp = _Myproxy; | |
_Myproxy = _Right._Myproxy; | |
_Right._Myproxy = _Temp; | |
if (_Myproxy != 0) | |
_Myproxy->_Mycont = (_Container_base12 *)this; | |
if (_Right._Myproxy != 0) | |
_Right._Myproxy->_Mycont = (_Container_base12 *)&_Right; | |
} | |
typedef _Container_base0 _Container_base; | |
typedef _Iterator_base0 _Iterator_base; | |
#line 276 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
struct _Zero_then_variadic_args_t | |
{ | |
}; | |
struct _One_then_variadic_args_t | |
{ | |
}; | |
template<class _Ty1, | |
class _Ty2, | |
bool = is_empty<_Ty1>::value && !is_final<_Ty1>::value> | |
class _Compressed_pair final | |
: private _Ty1 | |
{ | |
private: | |
_Ty2 _Myval2; | |
typedef _Ty1 _Mybase; | |
public: | |
template<class... _Other2> | |
constexpr explicit _Compressed_pair(_Zero_then_variadic_args_t, | |
_Other2&&... _Val2) | |
: _Ty1(), _Myval2(::std:: forward<_Other2>(_Val2)...) | |
{ | |
} | |
template<class _Other1, | |
class... _Other2> | |
_Compressed_pair(_One_then_variadic_args_t, | |
_Other1&& _Val1, _Other2&&... _Val2) | |
: _Ty1(::std:: forward<_Other1>(_Val1)), | |
_Myval2(::std:: forward<_Other2>(_Val2)...) | |
{ | |
} | |
_Ty1& _Get_first() throw () | |
{ | |
return (*this); | |
} | |
const _Ty1& _Get_first() const throw () | |
{ | |
return (*this); | |
} | |
volatile _Ty1& _Get_first() volatile throw () | |
{ | |
return (*this); | |
} | |
const volatile _Ty1& _Get_first() const volatile throw () | |
{ | |
return (*this); | |
} | |
_Ty2& _Get_second() throw () | |
{ | |
return (_Myval2); | |
} | |
const _Ty2& _Get_second() const throw () | |
{ | |
return (_Myval2); | |
} | |
volatile _Ty2& _Get_second() volatile throw () | |
{ | |
return (_Myval2); | |
} | |
const volatile _Ty2& _Get_second() const volatile throw () | |
{ | |
return (_Myval2); | |
} | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
class _Compressed_pair<_Ty1, _Ty2, false> final | |
{ | |
private: | |
_Ty1 _Myval1; | |
_Ty2 _Myval2; | |
public: | |
template<class... _Other2> | |
constexpr explicit _Compressed_pair(_Zero_then_variadic_args_t, | |
_Other2&&... _Val2) | |
: _Myval1(), _Myval2(::std:: forward<_Other2>(_Val2)...) | |
{ | |
} | |
template<class _Other1, | |
class... _Other2> | |
_Compressed_pair(_One_then_variadic_args_t, | |
_Other1&& _Val1, _Other2&&... _Val2) | |
: _Myval1(::std:: forward<_Other1>(_Val1)), | |
_Myval2(::std:: forward<_Other2>(_Val2)...) | |
{ | |
} | |
_Ty1& _Get_first() throw () | |
{ | |
return (_Myval1); | |
} | |
const _Ty1& _Get_first() const throw () | |
{ | |
return (_Myval1); | |
} | |
volatile _Ty1& _Get_first() volatile throw () | |
{ | |
return (_Myval1); | |
} | |
const volatile _Ty1& _Get_first() const volatile throw () | |
{ | |
return (_Myval1); | |
} | |
_Ty2& _Get_second() throw () | |
{ | |
return (_Myval2); | |
} | |
const _Ty2& _Get_second() const throw () | |
{ | |
return (_Myval2); | |
} | |
volatile _Ty2& _Get_second() volatile throw () | |
{ | |
return (_Myval2); | |
} | |
const volatile _Ty2& _Get_second() const volatile throw () | |
{ | |
return (_Myval2); | |
} | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Is_checked_helper | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_checked_helper<_Ty, void_t< | |
typename _Ty::_Unchecked_type> > | |
: true_type | |
{ | |
}; | |
template<class _Iter> inline | |
typename _Is_checked_helper<_Iter>::type _Is_checked(_Iter) | |
{ | |
return {}; | |
} | |
template<class _Iter> | |
constexpr _Iter _Unchecked(_Iter _Src) | |
{ | |
return (_Src); | |
} | |
template<class _Iter> inline | |
decltype(_Unchecked(::std:: declval<_Iter>())) _Unchecked_idl0(_Iter _Src) | |
{ | |
return (_Unchecked(_Src)); | |
} | |
#line 475 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _Iter, | |
class _UIter> | |
constexpr _Iter& _Rechecked(_Iter& _Dest, _UIter _Src) | |
{ | |
_Dest = _Src; | |
return (_Dest); | |
} | |
struct input_iterator_tag | |
{ | |
}; | |
struct _Mutable_iterator_tag | |
{ | |
}; | |
struct output_iterator_tag | |
: _Mutable_iterator_tag | |
{ | |
}; | |
struct forward_iterator_tag | |
: input_iterator_tag, _Mutable_iterator_tag | |
{ | |
}; | |
struct bidirectional_iterator_tag | |
: forward_iterator_tag | |
{ | |
}; | |
struct random_access_iterator_tag | |
: bidirectional_iterator_tag | |
{ | |
}; | |
struct _General_ptr_iterator_tag | |
{ | |
}; | |
struct _Trivially_copyable_ptr_iterator_tag | |
: _General_ptr_iterator_tag | |
{ | |
}; | |
struct _Really_trivial_ptr_iterator_tag | |
: _Trivially_copyable_ptr_iterator_tag | |
{ | |
}; | |
struct _Any_tag | |
{ | |
constexpr _Any_tag() throw () = default; | |
template<class _Ty> | |
constexpr _Any_tag(_Ty&&) throw () {} | |
}; | |
template<class _Category, | |
class _Ty, | |
class _Diff = ptrdiff_t, | |
class _Pointer = _Ty *, | |
class _Reference = _Ty&> | |
struct iterator | |
{ | |
typedef _Category iterator_category; | |
typedef _Ty value_type; | |
typedef _Diff difference_type; | |
typedef _Pointer pointer; | |
typedef _Reference reference; | |
}; | |
template<class _Category, | |
class _Ty, | |
class _Diff, | |
class _Pointer, | |
class _Reference, | |
class _Base> | |
struct _Iterator012 | |
: public _Base | |
{ | |
typedef _Category iterator_category; | |
typedef _Ty value_type; | |
typedef _Diff difference_type; | |
typedef _Pointer pointer; | |
typedef _Reference reference; | |
}; | |
typedef iterator<output_iterator_tag, void, void, void, void> _Outit; | |
template<class, | |
class = void> | |
struct _Iterator_traits_base | |
{ | |
}; | |
template<class _Iter> | |
struct _Iterator_traits_base<_Iter, void_t< | |
typename _Iter::iterator_category, | |
typename _Iter::value_type, | |
typename _Iter::difference_type, | |
typename _Iter::pointer, | |
typename _Iter::reference | |
> > | |
{ | |
typedef typename _Iter::iterator_category iterator_category; | |
typedef typename _Iter::value_type value_type; | |
typedef typename _Iter::difference_type difference_type; | |
typedef typename _Iter::pointer pointer; | |
typedef typename _Iter::reference reference; | |
}; | |
template<class _Iter> | |
struct iterator_traits | |
: _Iterator_traits_base<_Iter> | |
{ | |
}; | |
template<class _Ty> | |
struct iterator_traits<_Ty *> | |
{ | |
typedef random_access_iterator_tag iterator_category; | |
typedef _Ty value_type; | |
typedef ptrdiff_t difference_type; | |
typedef _Ty *pointer; | |
typedef _Ty& reference; | |
}; | |
template<class _Ty> | |
struct iterator_traits<const _Ty *> | |
{ | |
typedef random_access_iterator_tag iterator_category; | |
typedef _Ty value_type; | |
typedef ptrdiff_t difference_type; | |
typedef const _Ty *pointer; | |
typedef const _Ty& reference; | |
}; | |
template<class _Iter> | |
using _Iter_value_t = typename iterator_traits<_Iter>::value_type; | |
template<class _Iter> | |
using _Iter_diff_t = typename iterator_traits<_Iter>::difference_type; | |
template<class _Iter> | |
using _Iter_cat_t = typename iterator_traits<_Iter>::iterator_category; | |
template<class _Ty, | |
class = void> | |
struct _Is_iterator | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_iterator<_Ty, void_t< | |
typename iterator_traits<_Ty>::iterator_category | |
> > | |
: true_type | |
{ | |
}; | |
struct _Distance_unknown {}; | |
template<class _Iter> inline | |
_Distance_unknown _Idl_distance(const _Iter&, const _Iter&) | |
{ | |
return {}; | |
} | |
#line 704 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _Iter, | |
class _Diff> inline | |
auto _Unchecked_n(_Iter _Src, _Diff) | |
{ | |
return (_Unchecked(_Src)); | |
} | |
#line 748 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _Iter, | |
class _Diff> inline | |
auto _Unchecked_n_backward(_Iter _Src, _Diff) | |
{ | |
return (_Unchecked(_Src)); | |
} | |
#line 792 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _Ty1, | |
class _Ty2> | |
struct _Is_same_size | |
: bool_constant<sizeof(_Ty1) == sizeof(_Ty2)> | |
{ | |
}; | |
template<class _Elem, | |
bool _Is_enum = is_enum<_Elem>::value> | |
struct _Unwrap_enum | |
{ | |
typedef underlying_type_t<_Elem> type; | |
}; | |
template<class _Elem> | |
struct _Unwrap_enum<_Elem, false> | |
{ | |
typedef _Elem type; | |
}; | |
template<class _Ty1, | |
class _Ty2> | |
struct _Both_or_neither_bool | |
: bool_constant<is_same<bool, _Ty1>::value == is_same<bool, _Ty2>::value> | |
{ | |
}; | |
template<class _Source, | |
class _Dest> | |
struct _Ptr_cat_helper | |
{ | |
typedef typename _Unwrap_enum<_Source>::type _USource; | |
typedef typename _Unwrap_enum<_Dest>::type _UDest; | |
typedef conditional_t< | |
conjunction< | |
_Is_same_size<_USource, _UDest>, | |
is_integral<_USource>, | |
is_integral<_UDest>, | |
_Both_or_neither_bool<_USource, _UDest>, | |
negation<is_volatile<_Source>>, | |
negation<is_volatile<_Dest>> | |
>::value, | |
_Really_trivial_ptr_iterator_tag, | |
_General_ptr_iterator_tag> type; | |
}; | |
template<class _Elem> | |
struct _Ptr_cat_helper<_Elem, _Elem> | |
{ | |
typedef conditional_t< | |
is_trivially_copyable<_Elem>::value, | |
conditional_t<is_trivial<_Elem>::value, | |
_Really_trivial_ptr_iterator_tag, | |
_Trivially_copyable_ptr_iterator_tag>, | |
_General_ptr_iterator_tag> type; | |
}; | |
template<class _Anything> | |
struct _Ptr_cat_helper<_Anything *, const _Anything *> | |
{ | |
typedef _Really_trivial_ptr_iterator_tag type; | |
}; | |
template<class _Source, | |
class _Dest> inline | |
_General_ptr_iterator_tag _Ptr_copy_cat(const _Source&, const _Dest&) | |
{ | |
return {}; | |
} | |
template<class _Source, | |
class _Dest> inline | |
conditional_t<is_trivially_assignable<_Dest&, _Source&>::value, | |
typename _Ptr_cat_helper<remove_const_t<_Source>, _Dest>::type, | |
_General_ptr_iterator_tag> | |
_Ptr_copy_cat(_Source * const&, _Dest * const&) | |
{ | |
return {}; | |
} | |
template<class _Source, | |
class _Dest> inline | |
_General_ptr_iterator_tag _Ptr_move_cat(const _Source&, const _Dest&) | |
{ | |
return {}; | |
} | |
template<class _Source, | |
class _Dest> inline | |
conditional_t<is_trivially_assignable<_Dest&, _Source>::value, | |
typename _Ptr_cat_helper<remove_const_t<_Source>, _Dest>::type, | |
_General_ptr_iterator_tag> | |
_Ptr_move_cat(_Source * const&, _Dest * const&) | |
{ | |
return {}; | |
} | |
#line 1020 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 1046 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _InIt, | |
class _Diff> inline | |
void _Advance1(_InIt& _Where, _Diff _Off, input_iterator_tag) | |
{ | |
#line 1060 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
for (; 0 < _Off; --_Off) | |
++_Where; | |
} | |
template<class _BidIt, | |
class _Diff> inline | |
void _Advance1(_BidIt& _Where, _Diff _Off, bidirectional_iterator_tag) | |
{ | |
for (; 0 < _Off; --_Off) | |
++_Where; | |
for (; _Off < 0; ++_Off) | |
--_Where; | |
} | |
template<class _RanIt, | |
class _Diff> inline | |
void _Advance1(_RanIt& _Where, _Diff _Off, random_access_iterator_tag) | |
{ | |
_Where += _Off; | |
} | |
template<class _InIt, | |
class _Diff> inline | |
void advance(_InIt& _Where, _Diff _Off) | |
{ | |
_Advance1(_Where, _Off, _Iter_cat_t<remove_const_t<_InIt>>()); | |
} | |
template<class _InIt> inline | |
_Iter_diff_t<_InIt> | |
_Distance1(_InIt _First, _InIt _Last, input_iterator_tag) | |
{ | |
_Iter_diff_t<_InIt> _Off = 0; | |
for (; _First != _Last; ++_First) | |
++_Off; | |
return (_Off); | |
} | |
template<class _RanIt> inline | |
_Iter_diff_t<_RanIt> | |
_Distance1(_RanIt _First, _RanIt _Last, random_access_iterator_tag) | |
{ | |
return (_Last - _First); | |
} | |
template<class _InIt> inline | |
_Iter_diff_t<_InIt> | |
distance(_InIt _First, _InIt _Last) | |
{ | |
return (_Distance1(_First, _Last, _Iter_cat_t<_InIt>())); | |
} | |
template<class _InIt> inline | |
_InIt next(_InIt _First, _Iter_diff_t<_InIt> _Off = 1) | |
{ | |
static_assert(is_base_of<input_iterator_tag, _Iter_cat_t<_InIt>>::value, | |
"next requires input iterator"); | |
::std:: advance(_First, _Off); | |
return (_First); | |
} | |
template<class _BidIt> inline | |
_BidIt prev(_BidIt _First, _Iter_diff_t<_BidIt> _Off = 1) | |
{ | |
static_assert(is_base_of<bidirectional_iterator_tag, _Iter_cat_t<_BidIt>>::value, | |
"prev requires bidirectional iterator"); | |
::std:: advance(_First, -_Off); | |
return (_First); | |
} | |
template<class _Ty> | |
struct pointer_traits; | |
template<class _Iterator> | |
constexpr _Iterator _Operator_arrow(_Iterator _Target, true_type) | |
{ | |
return (_Target); | |
} | |
template<class _Iterator> | |
constexpr decltype(auto) _Operator_arrow(_Iterator&& _Target, false_type) | |
{ | |
return (::std:: forward<_Iterator>(_Target).operator->()); | |
} | |
template<class _RanIt> | |
class reverse_iterator | |
: public iterator< | |
typename iterator_traits<_RanIt>::iterator_category, | |
typename iterator_traits<_RanIt>::value_type, | |
typename iterator_traits<_RanIt>::difference_type, | |
typename iterator_traits<_RanIt>::pointer, | |
typename iterator_traits<_RanIt>::reference> | |
{ | |
typedef reverse_iterator<_RanIt> _Myt; | |
public: | |
typedef typename iterator_traits<_RanIt>::difference_type difference_type; | |
typedef typename iterator_traits<_RanIt>::pointer pointer; | |
typedef typename iterator_traits<_RanIt>::reference reference; | |
typedef _RanIt iterator_type; | |
inline reverse_iterator() | |
: current() | |
{ | |
} | |
inline explicit reverse_iterator(_RanIt _Right) | |
: current(_Right) | |
{ | |
} | |
template<class _Other> | |
inline reverse_iterator(const reverse_iterator<_Other>& _Right) | |
: current(_Right.base()) | |
{ | |
} | |
template<class _Other> | |
inline _Myt& operator=(const reverse_iterator<_Other>& _Right) | |
{ | |
current = _Right.base(); | |
return (*this); | |
} | |
inline _RanIt base() const | |
{ | |
return (current); | |
} | |
inline reference operator*() const | |
{ | |
_RanIt _Tmp = current; | |
return (*--_Tmp); | |
} | |
inline pointer operator->() const | |
{ | |
_RanIt _Tmp = current; | |
--_Tmp; | |
return (_Operator_arrow(_Tmp, is_pointer<_RanIt>())); | |
} | |
inline _Myt& operator++() | |
{ | |
--current; | |
return (*this); | |
} | |
inline _Myt operator++(int) | |
{ | |
_Myt _Tmp = *this; | |
--current; | |
return (_Tmp); | |
} | |
inline _Myt& operator--() | |
{ | |
++current; | |
return (*this); | |
} | |
inline _Myt operator--(int) | |
{ | |
_Myt _Tmp = *this; | |
++current; | |
return (_Tmp); | |
} | |
inline _Myt& operator+=(difference_type _Off) | |
{ | |
current -= _Off; | |
return (*this); | |
} | |
inline _Myt operator+(difference_type _Off) const | |
{ | |
return (_Myt(current - _Off)); | |
} | |
inline _Myt& operator-=(difference_type _Off) | |
{ | |
current += _Off; | |
return (*this); | |
} | |
inline _Myt operator-(difference_type _Off) const | |
{ | |
return (_Myt(current + _Off)); | |
} | |
inline reference operator[](difference_type _Off) const | |
{ | |
return (*(*this + _Off)); | |
} | |
protected: | |
_RanIt current; | |
}; | |
template<class _RanIt> | |
struct _Is_checked_helper<reverse_iterator<_RanIt> > | |
: public _Is_checked_helper<_RanIt> | |
{ | |
}; | |
template<class _RanIt> | |
inline reverse_iterator<_RanIt> operator+( | |
typename reverse_iterator<_RanIt>::difference_type _Off, | |
const reverse_iterator<_RanIt>& _Right) | |
{ | |
return (_Right + _Off); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline auto operator-(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
-> decltype(_Right.base() - _Left.base()) | |
{ | |
return (_Right.base() - _Left.base()); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator==(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (_Left.base() == _Right.base()); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator!=(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator<(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (_Right.base() < _Left.base()); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator>(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator<=(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
inline bool operator>=(const reverse_iterator<_RanIt1>& _Left, | |
const reverse_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
template<class _RanIt> | |
inline reverse_iterator<_RanIt> make_reverse_iterator(_RanIt _Iter) | |
{ | |
return (reverse_iterator<_RanIt>(_Iter)); | |
} | |
template<class _Container> | |
auto inline begin(_Container& _Cont) -> decltype(_Cont.begin()) | |
{ | |
return (_Cont.begin()); | |
} | |
template<class _Container> | |
auto inline begin(const _Container& _Cont) -> decltype(_Cont.begin()) | |
{ | |
return (_Cont.begin()); | |
} | |
template<class _Container> | |
auto inline end(_Container& _Cont) -> decltype(_Cont.end()) | |
{ | |
return (_Cont.end()); | |
} | |
template<class _Container> | |
auto inline end(const _Container& _Cont) -> decltype(_Cont.end()) | |
{ | |
return (_Cont.end()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
constexpr _Ty *begin(_Ty (&_Array)[_Size]) throw () | |
{ | |
return (_Array); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
constexpr _Ty *end(_Ty (&_Array)[_Size]) throw () | |
{ | |
return (_Array + _Size); | |
} | |
template<class _Container> | |
constexpr auto inline cbegin(const _Container& _Cont) | |
-> decltype(::std:: begin(_Cont)) | |
{ | |
return (::std:: begin(_Cont)); | |
} | |
template<class _Container> | |
constexpr auto inline cend(const _Container& _Cont) | |
-> decltype(::std:: end(_Cont)) | |
{ | |
return (::std:: end(_Cont)); | |
} | |
template<class _Container> | |
auto inline rbegin(_Container& _Cont) -> decltype(_Cont.rbegin()) | |
{ | |
return (_Cont.rbegin()); | |
} | |
template<class _Container> | |
auto inline rbegin(const _Container& _Cont) -> decltype(_Cont.rbegin()) | |
{ | |
return (_Cont.rbegin()); | |
} | |
template<class _Container> | |
auto inline rend(_Container& _Cont) -> decltype(_Cont.rend()) | |
{ | |
return (_Cont.rend()); | |
} | |
template<class _Container> | |
auto inline rend(const _Container& _Cont) -> decltype(_Cont.rend()) | |
{ | |
return (_Cont.rend()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
reverse_iterator<_Ty *> rbegin(_Ty (&_Array)[_Size]) | |
{ | |
return (reverse_iterator<_Ty *>(_Array + _Size)); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
reverse_iterator<_Ty *> rend(_Ty (&_Array)[_Size]) | |
{ | |
return (reverse_iterator<_Ty *>(_Array)); | |
} | |
template<class _Elem> inline | |
reverse_iterator<const _Elem *> | |
rbegin(initializer_list<_Elem> _Ilist) | |
{ | |
return (reverse_iterator<const _Elem *>(_Ilist.end())); | |
} | |
template<class _Elem> inline | |
reverse_iterator<const _Elem *> | |
rend(initializer_list<_Elem> _Ilist) | |
{ | |
return (reverse_iterator<const _Elem *>(_Ilist.begin())); | |
} | |
template<class _Container> | |
auto inline crbegin(const _Container& _Cont) | |
-> decltype(::std:: rbegin(_Cont)) | |
{ | |
return (::std:: rbegin(_Cont)); | |
} | |
template<class _Container> | |
auto inline crend(const _Container& _Cont) | |
-> decltype(::std:: rend(_Cont)) | |
{ | |
return (::std:: rend(_Cont)); | |
} | |
template<class _Container> | |
constexpr auto inline size(const _Container& _Cont) | |
-> decltype(_Cont.size()) | |
{ | |
return (_Cont.size()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
constexpr size_t size(const _Ty(&)[_Size]) throw () | |
{ | |
return (_Size); | |
} | |
template<class _Container> | |
constexpr auto inline empty(const _Container& _Cont) | |
-> decltype(_Cont.empty()) | |
{ | |
return (_Cont.empty()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
constexpr bool empty(const _Ty(&)[_Size]) throw () | |
{ | |
return (false); | |
} | |
template<class _Elem> inline | |
constexpr bool empty( | |
initializer_list<_Elem> _Ilist) throw () | |
{ | |
return (_Ilist.size() == 0); | |
} | |
template<class _Container> | |
constexpr auto inline data(_Container& _Cont) | |
-> decltype(_Cont.data()) | |
{ | |
return (_Cont.data()); | |
} | |
template<class _Container> | |
constexpr auto inline data(const _Container& _Cont) | |
-> decltype(_Cont.data()) | |
{ | |
return (_Cont.data()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
constexpr _Ty *data(_Ty(&_Array)[_Size]) throw () | |
{ | |
return (_Array); | |
} | |
template<class _Elem> inline | |
constexpr const _Elem *data( | |
initializer_list<_Elem> _Ilist) throw () | |
{ | |
return (_Ilist.begin()); | |
} | |
template<class _Ty, | |
size_t _Size> | |
class _Array_const_iterator | |
: public _Iterator012<random_access_iterator_tag, | |
_Ty, | |
ptrdiff_t, | |
const _Ty *, | |
const _Ty&, | |
_Iterator_base> | |
{ | |
public: | |
typedef _Array_const_iterator<_Ty, _Size> _Myiter; | |
typedef random_access_iterator_tag iterator_category; | |
typedef _Ty value_type; | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef const _Ty *pointer; | |
typedef const _Ty& reference; | |
enum {_EEN_SIZE = _Size}; | |
_Array_const_iterator() | |
: _Ptr(0) | |
{ | |
} | |
explicit _Array_const_iterator(pointer _Parg, size_t _Off = 0) | |
: _Ptr(_Parg + _Off) | |
{ | |
} | |
typedef pointer _Unchecked_type; | |
_Myiter& _Rechecked(_Unchecked_type _Right) | |
{ | |
_Ptr = _Right; | |
return (*this); | |
} | |
_Unchecked_type _Unchecked() const | |
{ | |
return (_Ptr); | |
} | |
reference operator*() const | |
{ | |
return (*_Ptr); | |
} | |
pointer operator->() const | |
{ | |
return (pointer_traits<pointer>::pointer_to(**this)); | |
} | |
_Myiter& operator++() | |
{ | |
++_Ptr; | |
return (*this); | |
} | |
_Myiter operator++(int) | |
{ | |
_Myiter _Tmp = *this; | |
++*this; | |
return (_Tmp); | |
} | |
_Myiter& operator--() | |
{ | |
--_Ptr; | |
return (*this); | |
} | |
_Myiter operator--(int) | |
{ | |
_Myiter _Tmp = *this; | |
--*this; | |
return (_Tmp); | |
} | |
_Myiter& operator+=(difference_type _Off) | |
{ | |
_Ptr += _Off; | |
return (*this); | |
} | |
_Myiter operator+(difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp += _Off); | |
} | |
_Myiter& operator-=(difference_type _Off) | |
{ | |
return (*this += -_Off); | |
} | |
_Myiter operator-(difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp -= _Off); | |
} | |
difference_type operator-(const _Myiter& _Right) const | |
{ | |
return (_Ptr - _Right._Ptr); | |
} | |
reference operator[](difference_type _Off) const | |
{ | |
return (*(*this + _Off)); | |
} | |
bool operator==(const _Myiter& _Right) const | |
{ | |
return (_Ptr == _Right._Ptr); | |
} | |
bool operator!=(const _Myiter& _Right) const | |
{ | |
return (!(*this == _Right)); | |
} | |
bool operator<(const _Myiter& _Right) const | |
{ | |
return (_Ptr < _Right._Ptr); | |
} | |
bool operator>(const _Myiter& _Right) const | |
{ | |
return (_Right < *this); | |
} | |
bool operator<=(const _Myiter& _Right) const | |
{ | |
return (!(_Right < *this)); | |
} | |
bool operator>=(const _Myiter& _Right) const | |
{ | |
return (!(*this < _Right)); | |
} | |
pointer _Ptr; | |
#line 1882 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
}; | |
template<class _Ty, | |
size_t _Size> inline | |
typename _Array_const_iterator<_Ty, _Size>::_Unchecked_type | |
_Unchecked(_Array_const_iterator<_Ty, _Size> _Iter) | |
{ | |
return (_Iter._Unchecked()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
_Array_const_iterator<_Ty, _Size>& | |
_Rechecked(_Array_const_iterator<_Ty, _Size>& _Iter, | |
typename _Array_const_iterator<_Ty, _Size> | |
::_Unchecked_type _Right) | |
{ | |
return (_Iter._Rechecked(_Right)); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
_Array_const_iterator<_Ty, _Size> operator+( | |
typename _Array_const_iterator<_Ty, _Size>::difference_type _Off, | |
_Array_const_iterator<_Ty, _Size> _Next) | |
{ | |
return (_Next += _Off); | |
} | |
template<class _Ty, | |
size_t _Size> | |
class _Array_iterator | |
: public _Array_const_iterator<_Ty, _Size> | |
{ | |
public: | |
typedef _Array_iterator<_Ty, _Size> _Myiter; | |
typedef _Array_const_iterator<_Ty, _Size> _Mybase; | |
typedef random_access_iterator_tag iterator_category; | |
typedef _Ty value_type; | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef _Ty *pointer; | |
typedef _Ty& reference; | |
_Array_iterator() | |
{ | |
} | |
explicit _Array_iterator(pointer _Parg, size_t _Off = 0) | |
: _Mybase(_Parg, _Off) | |
{ | |
} | |
enum {_EEN_SIZE = _Size}; | |
typedef pointer _Unchecked_type; | |
_Myiter& _Rechecked(_Unchecked_type _Right) | |
{ | |
((_Mybase *)this)->_Rechecked(_Right); | |
return (*this); | |
} | |
_Unchecked_type _Unchecked() const | |
{ | |
return ((pointer)((_Mybase *)this)->_Unchecked()); | |
} | |
reference operator*() const | |
{ | |
return ((reference)**(_Mybase *)this); | |
} | |
pointer operator->() const | |
{ | |
return (pointer_traits<pointer>::pointer_to(**this)); | |
} | |
_Myiter& operator++() | |
{ | |
++*(_Mybase *)this; | |
return (*this); | |
} | |
_Myiter operator++(int) | |
{ | |
_Myiter _Tmp = *this; | |
++*this; | |
return (_Tmp); | |
} | |
_Myiter& operator--() | |
{ | |
--*(_Mybase *)this; | |
return (*this); | |
} | |
_Myiter operator--(int) | |
{ | |
_Myiter _Tmp = *this; | |
--*this; | |
return (_Tmp); | |
} | |
_Myiter& operator+=(difference_type _Off) | |
{ | |
*(_Mybase *)this += _Off; | |
return (*this); | |
} | |
_Myiter operator+(difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp += _Off); | |
} | |
_Myiter& operator-=(difference_type _Off) | |
{ | |
return (*this += -_Off); | |
} | |
_Myiter operator-(difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp -= _Off); | |
} | |
difference_type operator-(const _Mybase& _Right) const | |
{ | |
return (*(_Mybase *)this - _Right); | |
} | |
reference operator[](difference_type _Off) const | |
{ | |
return (*(*this + _Off)); | |
} | |
}; | |
template<class _Ty, | |
size_t _Size> inline | |
typename _Array_iterator<_Ty, _Size>::_Unchecked_type | |
_Unchecked(_Array_iterator<_Ty, _Size> _Iter) | |
{ | |
return (_Iter._Unchecked()); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
_Array_iterator<_Ty, _Size>& | |
_Rechecked(_Array_iterator<_Ty, _Size>& _Iter, | |
typename _Array_iterator<_Ty, _Size> | |
::_Unchecked_type _Right) | |
{ | |
return (_Iter._Rechecked(_Right)); | |
} | |
template<class _Ty, | |
size_t _Size> inline | |
_Array_iterator<_Ty, _Size> operator+( | |
typename _Array_iterator<_Ty, _Size>::difference_type _Off, | |
_Array_iterator<_Ty, _Size> _Next) | |
{ | |
return (_Next += _Off); | |
} | |
template<class _RanIt> | |
class move_iterator | |
{ | |
public: | |
typedef move_iterator<_RanIt> _Myt; | |
typedef typename iterator_traits<_RanIt>::iterator_category | |
iterator_category; | |
typedef typename iterator_traits<_RanIt>::value_type | |
value_type; | |
typedef typename iterator_traits<_RanIt>::difference_type | |
difference_type; | |
typedef _RanIt pointer; | |
typedef typename iterator_traits<_RanIt>::reference _Ref0; | |
typedef conditional_t<is_reference<_Ref0>::value, | |
remove_reference_t<_Ref0>&&, _Ref0> reference; | |
typedef _RanIt iterator_type; | |
move_iterator() | |
: current() | |
{ | |
} | |
explicit move_iterator(iterator_type _Right) | |
: current(_Right) | |
{ | |
} | |
template<class _RanIt2> | |
move_iterator(const move_iterator<_RanIt2>& _Right) | |
: current(_Right.base()) | |
{ | |
} | |
template<class _RanIt2> | |
_Myt& operator=(const move_iterator<_RanIt2>& _Right) | |
{ | |
current = _Right.base(); | |
return (*this); | |
} | |
_RanIt base() const | |
{ | |
return (current); | |
} | |
reference operator*() const | |
{ | |
return (static_cast<reference>(*current)); | |
} | |
pointer operator->() const | |
{ | |
return (current); | |
} | |
_Myt& operator++() | |
{ | |
++current; | |
return (*this); | |
} | |
_Myt operator++(int) | |
{ | |
_Myt _Tmp = *this; | |
++current; | |
return (_Tmp); | |
} | |
_Myt& operator--() | |
{ | |
--current; | |
return (*this); | |
} | |
_Myt operator--(int) | |
{ | |
_Myt _Tmp = *this; | |
--current; | |
return (_Tmp); | |
} | |
template<class _RanIt2> | |
bool _Equal(const move_iterator<_RanIt2>& _Right) const | |
{ | |
return (current == _Right.base()); | |
} | |
_Myt& operator+=(difference_type _Off) | |
{ | |
current += _Off; | |
return (*this); | |
} | |
_Myt operator+(difference_type _Off) const | |
{ | |
return (_Myt(current + _Off)); | |
} | |
_Myt& operator-=(difference_type _Off) | |
{ | |
current -= _Off; | |
return (*this); | |
} | |
_Myt operator-(difference_type _Off) const | |
{ | |
return (_Myt(current - _Off)); | |
} | |
reference operator[](difference_type _Off) const | |
{ | |
return (::std:: move(current[_Off])); | |
} | |
template<class _RanIt2> | |
bool _Less(const move_iterator<_RanIt2>& _Right) const | |
{ | |
return (current < _Right.base()); | |
} | |
difference_type operator-(const _Myt& _Right) const | |
{ | |
return (current - _Right.base()); | |
} | |
protected: | |
iterator_type current; | |
}; | |
template<class _RanIt> | |
struct _Is_checked_helper<move_iterator<_RanIt> > | |
: public _Is_checked_helper<_RanIt> | |
{ | |
}; | |
template<class _RanIt, | |
class _Diff> inline | |
move_iterator<_RanIt> | |
operator+(_Diff _Off, | |
const move_iterator<_RanIt>& _Right) | |
{ | |
return (_Right + _Off); | |
} | |
template<class _RanIt1, | |
class _RanIt2> | |
auto inline operator-( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
-> decltype(_Left.base() - _Right.base()) | |
{ | |
return (_Left.base() - _Right.base()); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator==( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (_Left._Equal(_Right)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator!=( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator<( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (_Left._Less(_Right)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator>( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator<=( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _RanIt1, | |
class _RanIt2> inline | |
bool operator>=( | |
const move_iterator<_RanIt1>& _Left, | |
const move_iterator<_RanIt2>& _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
template<class _RanIt> inline | |
move_iterator<_RanIt> make_move_iterator(_RanIt _Iter) | |
{ | |
return (move_iterator<_RanIt>(_Iter)); | |
} | |
template<class _Traits> | |
struct _Char_traits_eq | |
{ | |
typedef typename _Traits::char_type _Elem; | |
bool operator()(_Elem _Left, _Elem _Right) const | |
{ | |
return (_Traits::eq(_Left, _Right)); | |
} | |
}; | |
template<class _Traits> | |
struct _Char_traits_lt | |
{ | |
typedef typename _Traits::char_type _Elem; | |
bool operator()(_Elem _Left, _Elem _Right) const | |
{ | |
return (_Traits::lt(_Left, _Right)); | |
} | |
}; | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Copy_memmove(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
const char * const _First_ch = reinterpret_cast<const char *>(_First); | |
const char * const _Last_ch = reinterpret_cast<const char *>(_Last); | |
char * const _Dest_ch = reinterpret_cast<char *>(_Dest); | |
const size_t _Count = _Last_ch - _First_ch; | |
:: memmove(_Dest_ch, _First_ch, _Count); | |
return (reinterpret_cast<_OutIt>(_Dest_ch + _Count)); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Copy_unchecked1(_InIt _First, _InIt _Last, | |
_OutIt _Dest, _General_ptr_iterator_tag) | |
{ | |
for (; _First != _Last; ++_Dest, (void)++_First) | |
*_Dest = *_First; | |
return (_Dest); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Copy_unchecked1(_InIt _First, _InIt _Last, | |
_OutIt _Dest, _Trivially_copyable_ptr_iterator_tag) | |
{ | |
return (_Copy_memmove(_First, _Last, _Dest)); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Copy_unchecked(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
return (_Copy_unchecked1(_First, _Last, | |
_Dest, _Ptr_copy_cat(_First, _Dest))); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Copy_no_deprecate(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
; | |
const auto _UFirst = _Unchecked(_First); | |
const auto _ULast = _Unchecked(_Last); | |
const auto _UDest = _Unchecked_n(_Dest, _Idl_distance(_UFirst, _ULast)); | |
return (_Rechecked(_Dest, | |
_Copy_unchecked(_UFirst, _ULast, _UDest))); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt copy(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_Dest))); | |
return (_Copy_no_deprecate(_First, _Last, _Dest)); | |
} | |
#line 2366 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt _Copy_n_unchecked2(_InIt _First, _Diff _Count, | |
_OutIt _Dest, input_iterator_tag) | |
{ | |
if (0 < _Count) | |
{ | |
*_Dest = *_First; | |
while (0 < --_Count) | |
*++_Dest = *++_First; | |
return (++_Dest); | |
} | |
return (_Dest); | |
} | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt _Copy_n_unchecked2(_InIt _First, _Diff _Count, | |
_OutIt _Dest, forward_iterator_tag) | |
{ | |
for (; 0 < _Count; --_Count, (void)++_Dest, ++_First) | |
*_Dest = *_First; | |
return (_Dest); | |
} | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt _Copy_n_unchecked1(_InIt _First, _Diff _Count, | |
_OutIt _Dest, _General_ptr_iterator_tag) | |
{ | |
return (_Copy_n_unchecked2(_First, _Count, | |
_Dest, _Iter_cat_t<_InIt>())); | |
} | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt _Copy_n_unchecked1(_InIt _First, _Diff _Count, | |
_OutIt _Dest, _Trivially_copyable_ptr_iterator_tag) | |
{ | |
if (0 < _Count) | |
return (_Copy_memmove(_First, _First + _Count, _Dest)); | |
return (_Dest); | |
} | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt _Copy_n_unchecked(_InIt _First, _Diff _Count, | |
_OutIt _Dest) | |
{ | |
return (_Copy_n_unchecked1(_First, _Count, | |
_Dest, _Ptr_copy_cat(_First, _Dest))); | |
} | |
template<class _InIt, | |
class _Diff, | |
class _OutIt> inline | |
_OutIt copy_n(_InIt _First, _Diff _Count, | |
_OutIt _Dest) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_Dest))); | |
return (_Rechecked(_Dest, | |
_Copy_n_unchecked(_Unchecked_n(_First, _Count), _Count, _Unchecked_n(_Dest, _Count)))); | |
} | |
#line 2480 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Copy_backward_memmove(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest) | |
{ | |
const char * const _First_ch = reinterpret_cast<const char *>(_First); | |
const char * const _Last_ch = reinterpret_cast<const char *>(_Last); | |
char * const _Dest_ch = reinterpret_cast<char *>(_Dest); | |
const size_t _Count = _Last_ch - _First_ch; | |
return (static_cast<_BidIt2>( | |
:: memmove(_Dest_ch - _Count, _First_ch, _Count))); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Copy_backward_unchecked(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest, _General_ptr_iterator_tag) | |
{ | |
while (_First != _Last) | |
*--_Dest = *--_Last; | |
return (_Dest); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Copy_backward_unchecked(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest, _Trivially_copyable_ptr_iterator_tag) | |
{ | |
return (_Copy_backward_memmove(_First, _Last, _Dest)); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 copy_backward(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_Dest))); | |
; | |
const auto _UFirst = _Unchecked(_First); | |
const auto _ULast = _Unchecked(_Last); | |
const auto _UDest = _Unchecked_n_backward(_Dest, _Idl_distance(_UFirst, _ULast)); | |
return (_Rechecked(_Dest, | |
_Copy_backward_unchecked(_UFirst, _ULast, _UDest, _Ptr_copy_cat(_UFirst, _UDest)))); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Move_unchecked1(_InIt _First, _InIt _Last, | |
_OutIt _Dest, _General_ptr_iterator_tag) | |
{ | |
for (; _First != _Last; ++_Dest, (void)++_First) | |
*_Dest = ::std:: move(*_First); | |
return (_Dest); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Move_unchecked1(_InIt _First, _InIt _Last, | |
_OutIt _Dest, _Trivially_copyable_ptr_iterator_tag) | |
{ | |
return (_Copy_memmove(_First, _Last, _Dest)); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Move_unchecked(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
return (_Move_unchecked1(_First, _Last, | |
_Dest, _Ptr_move_cat(_First, _Dest))); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt _Move_no_deprecate(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
; | |
const auto _UFirst = _Unchecked(_First); | |
const auto _ULast = _Unchecked(_Last); | |
const auto _UDest = _Unchecked_n(_Dest, _Idl_distance(_UFirst, _ULast)); | |
return (_Rechecked(_Dest, | |
_Move_unchecked(_UFirst, _ULast, _UDest))); | |
} | |
template<class _InIt, | |
class _OutIt> inline | |
_OutIt move(_InIt _First, _InIt _Last, | |
_OutIt _Dest) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_Dest))); | |
return (_Move_no_deprecate(_First, _Last, _Dest)); | |
} | |
#line 2591 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Move_backward_unchecked1(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest, _General_ptr_iterator_tag) | |
{ | |
while (_First != _Last) | |
*--_Dest = ::std:: move(*--_Last); | |
return (_Dest); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Move_backward_unchecked1(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest, _Trivially_copyable_ptr_iterator_tag) | |
{ | |
return (_Copy_backward_memmove(_First, _Last, _Dest)); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 _Move_backward_unchecked(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest) | |
{ | |
return (_Move_backward_unchecked1(_First, _Last, | |
_Dest, _Ptr_move_cat(_First, _Dest))); | |
} | |
template<class _BidIt1, | |
class _BidIt2> inline | |
_BidIt2 move_backward(_BidIt1 _First, _BidIt1 _Last, | |
_BidIt2 _Dest) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_Dest))); | |
; | |
const auto _UFirst = _Unchecked(_First); | |
const auto _ULast = _Unchecked(_Last); | |
const auto _UDest = _Unchecked_n_backward(_Dest, _Idl_distance(_UFirst, _ULast)); | |
return (_Rechecked(_Dest, | |
_Move_backward_unchecked(_UFirst, _ULast, _UDest))); | |
} | |
template<class _Ty> | |
struct _Is_character | |
: false_type | |
{ | |
}; | |
template<> | |
struct _Is_character<char> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_character<signed char> | |
: true_type | |
{ | |
}; | |
template<> | |
struct _Is_character<unsigned char> | |
: true_type | |
{ | |
}; | |
template<class _FwdIt, | |
class _Ty> | |
struct _Fill_memset_is_safe_helper | |
{ | |
typedef _Iter_value_t<_FwdIt> _Value_type; | |
typedef _Conjunction_t< | |
is_pointer<_FwdIt>, | |
disjunction< | |
conjunction< | |
_Is_character<_Ty>, | |
_Is_character<_Value_type>>, | |
conjunction< | |
is_same<bool, _Ty>, | |
is_same<bool, _Value_type>> | |
>> type; | |
}; | |
template<class _FwdIt, | |
class _Ty> inline | |
typename _Fill_memset_is_safe_helper<_FwdIt, _Ty>::type | |
_Fill_memset_is_safe(const _FwdIt&, const _Ty&) | |
{ | |
return {}; | |
} | |
template<class _FwdIt, | |
class _Ty> inline | |
void _Fill_unchecked1(_FwdIt _First, _FwdIt _Last, const _Ty& _Val, false_type) | |
{ | |
for (; _First != _Last; ++_First) | |
*_First = _Val; | |
} | |
template<class _FwdIt, | |
class _Ty> inline | |
void _Fill_unchecked1(_FwdIt _First, _FwdIt _Last, const _Ty& _Val, true_type) | |
{ | |
:: memset(_First, _Val, _Last - _First); | |
} | |
template<class _FwdIt, | |
class _Ty> inline | |
void _Fill_unchecked(_FwdIt _First, _FwdIt _Last, const _Ty& _Val) | |
{ | |
_Fill_unchecked1(_First, _Last, _Val, _Fill_memset_is_safe(_First, _Val)); | |
} | |
template<class _FwdIt, | |
class _Ty> inline | |
void fill(_FwdIt _First, _FwdIt _Last, const _Ty& _Val) | |
{ | |
; | |
_Fill_unchecked(_Unchecked(_First), _Unchecked(_Last), _Val); | |
} | |
template<class _OutIt, | |
class _Diff, | |
class _Ty> inline | |
_OutIt _Fill_n_unchecked1(_OutIt _Dest, _Diff _Count, const _Ty& _Val, false_type) | |
{ | |
for (; 0 < _Count; --_Count, (void)++_Dest) | |
*_Dest = _Val; | |
return (_Dest); | |
} | |
template<class _OutIt, | |
class _Diff, | |
class _Ty> inline | |
_OutIt _Fill_n_unchecked1(_OutIt _Dest, _Diff _Count, const _Ty& _Val, true_type) | |
{ | |
if (0 < _Count) | |
{ | |
:: memset(_Dest, _Val, _Count); | |
return (_Dest + _Count); | |
} | |
return (_Dest); | |
} | |
template<class _OutIt, | |
class _Diff, | |
class _Ty> inline | |
_OutIt _Fill_n_unchecked(_OutIt _Dest, _Diff _Count, const _Ty& _Val) | |
{ | |
return (_Fill_n_unchecked1(_Dest, _Count, _Val, _Fill_memset_is_safe(_Dest, _Val))); | |
} | |
template<class _OutIt, | |
class _Diff, | |
class _Ty> inline | |
_OutIt fill_n(_OutIt _Dest, _Diff _Count, const _Ty& _Val) | |
{ | |
return (_Rechecked(_Dest, | |
_Fill_n_unchecked(_Unchecked_n(_Dest, _Count), _Count, _Val))); | |
} | |
template<class _Elem1, | |
class _Elem2> | |
struct _Value_equality_is_bitwise_equality | |
: bool_constant<static_cast<_Elem1>(-1) == static_cast<_Elem2>(-1)> | |
{ | |
}; | |
template<class _Elem1, | |
class _Elem2, | |
class _Pr> | |
struct _Equal_memcmp_is_safe_helper | |
: false_type | |
{ | |
}; | |
template<class _Elem1, | |
class _Elem2> | |
struct _Equal_memcmp_is_safe_helper<_Elem1, _Elem2, equal_to<>> | |
: _Conjunction_t< | |
_Is_same_size<_Elem1, _Elem2>, | |
is_integral<_Elem1>, | |
is_integral<_Elem2>, | |
negation<is_same<bool, _Elem1>>, | |
negation<is_same<bool, _Elem2>>, | |
negation<is_volatile<_Elem1>>, | |
negation<is_volatile<_Elem2>>, | |
_Value_equality_is_bitwise_equality<_Elem1, _Elem2> | |
> | |
{ | |
}; | |
template<class _Elem1, | |
class _Elem2> | |
struct _Equal_memcmp_is_safe_helper<_Elem1 *, _Elem2 *, equal_to<>> | |
: is_same<remove_cv_t<_Elem1>, remove_cv_t<_Elem2>>::type | |
{ | |
}; | |
template<class _Elem> | |
struct _Equal_memcmp_is_safe_helper<_Elem, _Elem, _Char_traits_eq<char_traits<_Elem>>> | |
: _Equal_memcmp_is_safe_helper<_Elem, _Elem, equal_to<>>::type | |
{ | |
}; | |
template<class _Elem> | |
struct _Equal_memcmp_is_safe_helper<_Elem, _Elem, equal_to<_Elem>> | |
: _Equal_memcmp_is_safe_helper<_Elem, _Elem, equal_to<>>::type | |
{ | |
}; | |
template<class _Iter1, | |
class _Iter2, | |
class _Pr> inline | |
false_type _Equal_memcmp_is_safe(const _Iter1&, const _Iter2&, const _Pr&) | |
{ | |
return {}; | |
} | |
template<class _Obj1, | |
class _Obj2, | |
class _Pr> inline | |
typename _Equal_memcmp_is_safe_helper< | |
remove_const_t<_Obj1>, | |
remove_const_t<_Obj2>, | |
_Pr>::type | |
_Equal_memcmp_is_safe(_Obj1 * const&, _Obj2 * const&, const _Pr&) | |
{ | |
return {}; | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_unchecked1(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _Pr& _Pred, false_type) | |
{ | |
for (; _First1 != _Last1; ++_First1, (void)++_First2) | |
if (!_Pred(*_First1, *_First2)) | |
return (false); | |
return (true); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_unchecked1(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _Pr&, true_type) | |
{ | |
const char * const _First1_ch = reinterpret_cast<const char *>(_First1); | |
const char * const _First2_ch = reinterpret_cast<const char *>(_First2); | |
const size_t _Count = reinterpret_cast<const char *>(_Last1) - _First1_ch; | |
return (:: memcmp(_First1_ch, _First2_ch, _Count) == 0); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_unchecked(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _Pr& _Pred) | |
{ | |
return (_Equal_unchecked1(_First1, _Last1, _First2, _Pred, | |
_Equal_memcmp_is_safe(_First1, _First2, _Pred))); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_no_deprecate(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _Pr& _Pred) | |
{ | |
; | |
const auto _UFirst1 = _Unchecked(_First1); | |
const auto _ULast1 = _Unchecked(_Last1); | |
const auto _UFirst2 = _Unchecked_n(_First2, _Idl_distance(_UFirst1, _ULast1)); | |
return (_Equal_unchecked(_UFirst1, _ULast1, _UFirst2, _Pred)); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool equal(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _Pr _Pred) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_First2))); | |
return (_Equal_no_deprecate(_First1, _Last1, _First2, _Pred)); | |
} | |
#line 2906 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _InIt1, | |
class _InIt2> inline | |
bool equal(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2) | |
{ | |
return (::std:: equal(_First1, _Last1, _First2, | |
equal_to<>())); | |
} | |
#line 2928 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_unchecked(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr& _Pred, | |
input_iterator_tag, input_iterator_tag) | |
{ | |
for (; _First1 != _Last1 && _First2 != _Last2; ++_First1, (void)++_First2) | |
if (!_Pred(*_First1, *_First2)) | |
return (false); | |
return (_First1 == _Last1 && _First2 == _Last2); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Equal_unchecked(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr& _Pred, | |
random_access_iterator_tag, random_access_iterator_tag) | |
{ | |
if (_Last1 - _First1 != _Last2 - _First2) | |
return (false); | |
return (_Equal_unchecked(_First1, _Last1, _First2, _Pred)); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool equal(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr _Pred) | |
{ | |
; | |
; | |
return (_Equal_unchecked(_Unchecked(_First1), _Unchecked(_Last1), | |
_Unchecked(_First2), _Unchecked(_Last2), _Pred, | |
_Iter_cat_t<_InIt1>(), _Iter_cat_t<_InIt2>())); | |
} | |
template<class _InIt1, | |
class _InIt2> inline | |
bool equal(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2) | |
{ | |
return (::std:: equal(_First1, _Last1, _First2, _Last2, | |
equal_to<>())); | |
} | |
template<class _Elem1, | |
class _Elem2, | |
class _FTy> | |
struct _Lex_compare_check_element_types_helper | |
: _Conjunction_t< | |
_Is_character<_Elem1>, | |
_Is_character<_Elem2>, | |
_Is_character<_FTy>, | |
is_unsigned<_FTy> | |
> | |
{ | |
}; | |
template<class _Elem1, | |
class _Elem2> | |
struct _Lex_compare_check_element_types_helper<_Elem1, _Elem2, void> | |
: _Conjunction_t< | |
_Is_character<_Elem1>, | |
_Is_character<_Elem2>, | |
is_unsigned<_Elem1>, | |
is_unsigned<_Elem2> | |
> | |
{ | |
}; | |
template<class _Memcmp_pr> | |
struct _Lex_compare_optimize | |
{ | |
}; | |
template<class _Memcmp_pr, | |
class _Obj1, | |
class _Obj2, | |
class _FTy> | |
using _Lex_compare_check_element_types = _Lex_compare_optimize<conditional_t< | |
_Lex_compare_check_element_types_helper<remove_const_t<_Obj1>, remove_const_t<_Obj2>, _FTy>::value, | |
_Memcmp_pr, void>>; | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
_Lex_compare_optimize<void> _Lex_compare_memcmp_classify(const _InIt1&, const _InIt2&, const _Pr&) | |
{ | |
return {}; | |
} | |
template<class _Obj1, | |
class _Obj2, | |
class _FTy> inline | |
_Lex_compare_check_element_types<less<int>, _Obj1, _Obj2, _FTy> | |
_Lex_compare_memcmp_classify(_Obj1 * const&, _Obj2 * const&, const less<_FTy>&) | |
{ | |
return {}; | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Lex_compare_unchecked1(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr& _Pred, _Lex_compare_optimize<void>) | |
{ | |
for (; _First1 != _Last1 && _First2 != _Last2; ++_First1, (void)++_First2) | |
{ | |
if (_Pred(*_First1, *_First2)) | |
return (true); | |
else if (_Pred(*_First2, *_First1)) | |
return (false); | |
} | |
return (_First1 == _Last1 && _First2 != _Last2); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr, | |
class _Memcmp_pr> inline | |
bool _Lex_compare_unchecked1(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr&, _Lex_compare_optimize<_Memcmp_pr>) | |
{ | |
const size_t _Num1 = _Last1 - _First1; | |
const size_t _Num2 = _Last2 - _First2; | |
const int _Ans = :: memcmp(_First1, _First2, _Num1 < _Num2 ? _Num1 : _Num2); | |
return (_Memcmp_pr{}(_Ans, 0) || _Ans == 0 && _Num1 < _Num2); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool _Lex_compare_unchecked(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr& _Pred) | |
{ | |
return (_Lex_compare_unchecked1(_First1, _Last1, _First2, _Last2, _Pred, | |
_Lex_compare_memcmp_classify(_First1, _First2, _Pred))); | |
} | |
template<class _InIt1, | |
class _InIt2, | |
class _Pr> inline | |
bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2, _Pr _Pred) | |
{ | |
; | |
; | |
return (_Lex_compare_unchecked(_Unchecked(_First1), _Unchecked(_Last1), | |
_Unchecked(_First2), _Unchecked(_Last2), _Pred)); | |
} | |
template<class _InIt1, | |
class _InIt2> inline | |
bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1, | |
_InIt2 _First2, _InIt2 _Last2) | |
{ | |
return (::std:: lexicographical_compare(_First1, _Last1, | |
_First2, _Last2, less<>())); | |
} | |
template<class _Ty> inline | |
bool _Within_limits(const _Ty& _Val, true_type, true_type, _Any_tag) | |
{ | |
return ((-128) <= _Val && _Val <= 127); | |
} | |
template<class _Ty> inline | |
bool _Within_limits(const _Ty& _Val, true_type, false_type, true_type) | |
{ | |
return (_Val <= 127 || static_cast<_Ty>((-128)) <= _Val); | |
} | |
template<class _Ty> inline | |
bool _Within_limits(const _Ty& _Val, true_type, false_type, false_type) | |
{ | |
return (_Val <= 127); | |
} | |
template<class _Ty> inline | |
bool _Within_limits(const _Ty& _Val, false_type, true_type, _Any_tag) | |
{ | |
return (0 <= _Val && _Val <= 0xff); | |
} | |
template<class _Ty> inline | |
bool _Within_limits(const _Ty& _Val, false_type, false_type, _Any_tag) | |
{ | |
return (_Val <= 0xff); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
bool _Within_limits(_InIt, const _Ty& _Val) | |
{ | |
typedef typename remove_pointer<_InIt>::type _Elem; | |
return (_Within_limits(_Val, is_signed<_Elem>(), is_signed<_Ty>(), | |
integral_constant<bool, -1 == static_cast<_Ty>(-1)>())); | |
} | |
template<class _InIt> inline | |
bool _Within_limits(_InIt, const bool&) | |
{ | |
return (true); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_InIt _Find_unchecked1(_InIt _First, _InIt _Last, const _Ty& _Val, true_type) | |
{ | |
if (!_Within_limits(_First, _Val)) | |
return (_Last); | |
_First = static_cast<_InIt>(:: memchr( | |
_First, static_cast<unsigned char>(_Val), _Last - _First)); | |
return (_First ? _First : _Last); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_InIt _Find_unchecked1(_InIt _First, _InIt _Last, const _Ty& _Val, false_type) | |
{ | |
for (; _First != _Last; ++_First) | |
if (*_First == _Val) | |
break; | |
return (_First); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_InIt _Find_unchecked(_InIt _First, _InIt _Last, const _Ty& _Val) | |
{ | |
typedef integral_constant<bool, | |
(is_same<_InIt, char *>::value | |
|| is_same<_InIt, signed char *>::value | |
|| is_same<_InIt, unsigned char *>::value | |
|| is_same<_InIt, const char *>::value | |
|| is_same<_InIt, const signed char *>::value | |
|| is_same<_InIt, const unsigned char *>::value) | |
&& is_integral<_Ty>::value | |
> _Memchr_opt; | |
return (_Find_unchecked1(_First, _Last, _Val, _Memchr_opt())); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_InIt find(_InIt _First, _InIt _Last, const _Ty& _Val) | |
{ | |
; | |
return (_Rechecked(_First, | |
_Find_unchecked(_Unchecked(_First), _Unchecked(_Last), _Val))); | |
} | |
template<class _InIt, | |
class _Ty, | |
class _Pr> inline | |
_InIt _Find_pr(_InIt _First, _InIt _Last, const _Ty& _Val, _Pr& _Pred) | |
{ | |
for (; _First != _Last; ++_First) | |
if (_Pred(*_First, _Val)) | |
break; | |
return (_First); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_Iter_diff_t<_InIt> | |
_Count_unchecked(_InIt _First, _InIt _Last, const _Ty& _Val) | |
{ | |
_Iter_diff_t<_InIt> _Count = 0; | |
for (; _First != _Last; ++_First) | |
if (*_First == _Val) | |
++_Count; | |
return (_Count); | |
} | |
template<class _InIt, | |
class _Ty> inline | |
_Iter_diff_t<_InIt> | |
count(_InIt _First, _InIt _Last, const _Ty& _Val) | |
{ | |
; | |
return (_Count_unchecked(_Unchecked(_First), _Unchecked(_Last), _Val)); | |
} | |
template<class _InIt, | |
class _Ty, | |
class _Pr> inline | |
_Iter_diff_t<_InIt> | |
_Count_pr(_InIt _First, _InIt _Last, const _Ty& _Val, _Pr& _Pred) | |
{ | |
_Iter_diff_t<_InIt> _Count = 0; | |
for (; _First != _Last; ++_First) | |
if (_Pred(*_First, _Val)) | |
++_Count; | |
return (_Count); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
void _Trim_matching_suffixes(_FwdIt1&, _FwdIt2&, _Pr&, | |
forward_iterator_tag, forward_iterator_tag) | |
{ | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
void _Trim_matching_suffixes(_FwdIt1& _Last1, _FwdIt2& _Last2, _Pr& _Pred, | |
bidirectional_iterator_tag, bidirectional_iterator_tag) | |
{ | |
while (_Pred(*--_Last1, *--_Last2)) | |
; | |
++_Last1; | |
++_Last2; | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool _Check_match_counts(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _FwdIt2 _Last2, _Pr& _Pred) | |
{ | |
_Trim_matching_suffixes(_Last1, _Last2, _Pred, | |
_Iter_cat_t<_FwdIt1>(), _Iter_cat_t<_FwdIt2>()); | |
for (_FwdIt1 _Next1 = _First1; _Next1 != _Last1; ++_Next1) | |
if (_Next1 == _Find_pr(_First1, _Next1, *_Next1, _Pred)) | |
{ | |
_Iter_diff_t<_FwdIt2> _Count2 = _Count_pr(_First2, _Last2, *_Next1, _Pred); | |
if (_Count2 == 0) | |
return (false); | |
_FwdIt1 _Skip1 = ::std:: next(_Next1); | |
_Iter_diff_t<_FwdIt1> _Count1 = _Count_pr(_Skip1, _Last1, *_Next1, _Pred) + 1; | |
if (_Count2 != _Count1) | |
return (false); | |
} | |
return (true); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool _Is_permutation_unchecked(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _Pr& _Pred) | |
{ | |
for (; _First1 != _Last1; ++_First1, (void)++_First2) | |
if (!_Pred(*_First1, *_First2)) | |
{ | |
_FwdIt2 _Last2 = ::std:: next(_First2, | |
::std:: distance(_First1, _Last1)); | |
return (_Check_match_counts(_First1, _Last1, | |
_First2, _Last2, _Pred)); | |
} | |
return (true); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool _Is_permutation_no_deprecate(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _Pr& _Pred) | |
{ | |
; | |
const auto _UFirst1 = _Unchecked(_First1); | |
const auto _ULast1 = _Unchecked(_Last1); | |
const auto _UFirst2 = _Unchecked_n(_First2, _Idl_distance(_UFirst1, _ULast1)); | |
return (_Is_permutation_unchecked(_UFirst1, _ULast1, _UFirst2, _Pred)); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _Pr _Pred) | |
{ | |
struct _Unchecked_iterators { static void _Deprecate(false_type) { } static void _Deprecate(true_type) { } }; (_Unchecked_iterators::_Deprecate(_Is_checked(_First2))); | |
return (_Is_permutation_no_deprecate(_First1, _Last1, _First2, _Pred)); | |
} | |
#line 3343 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _FwdIt1, | |
class _FwdIt2> inline | |
bool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2) | |
{ | |
return (::std:: is_permutation(_First1, _Last1, | |
_First2, equal_to<>())); | |
} | |
#line 3365 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool _Is_permutation_unchecked(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _FwdIt2 _Last2, _Pr& _Pred, | |
forward_iterator_tag, forward_iterator_tag) | |
{ | |
for (; _First1 != _Last1 && _First2 != _Last2; ++_First1, (void)++_First2) | |
if (!_Pred(*_First1, *_First2)) | |
{ | |
if (::std:: distance(_First1, _Last1) | |
!= ::std:: distance(_First2, _Last2)) | |
return (false); | |
else | |
return (_Check_match_counts(_First1, _Last1, | |
_First2, _Last2, _Pred)); | |
} | |
return (_First1 == _Last1 && _First2 == _Last2); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool _Is_permutation_unchecked(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _FwdIt2 _Last2, _Pr& _Pred, | |
random_access_iterator_tag, random_access_iterator_tag) | |
{ | |
if (_Last1 - _First1 != _Last2 - _First2) | |
return (false); | |
return (_Is_permutation_unchecked(_First1, _Last1, _First2, _Pred)); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2, | |
class _Pr> inline | |
bool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred) | |
{ | |
; | |
; | |
return (_Is_permutation_unchecked(_Unchecked(_First1), _Unchecked(_Last1), | |
_Unchecked(_First2), _Unchecked(_Last2), _Pred, | |
_Iter_cat_t<_FwdIt1>(), _Iter_cat_t<_FwdIt2>())); | |
} | |
template<class _FwdIt1, | |
class _FwdIt2> inline | |
bool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, | |
_FwdIt2 _First2, _FwdIt2 _Last2) | |
{ | |
return (::std:: is_permutation(_First1, _Last1, | |
_First2, _Last2, equal_to<>())); | |
} | |
template<class _BidIt> inline | |
void _Reverse_unchecked(_BidIt _First, _BidIt _Last) | |
{ | |
for (; _First != _Last && _First != --_Last; ++_First) | |
::std:: iter_swap(_First, _Last); | |
} | |
template<class _BidIt> inline | |
void reverse(_BidIt _First, _BidIt _Last) | |
{ | |
; | |
_Reverse_unchecked(_Unchecked(_First), _Unchecked(_Last)); | |
} | |
template<class _FwdIt> inline | |
_FwdIt _Rotate_unchecked1(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last, | |
forward_iterator_tag) | |
{ | |
for (_FwdIt _Next = _Mid, _Res = _Last; ; ) | |
{ | |
::std:: iter_swap(_First, _Next); | |
if (++_First == _Mid) | |
{ | |
if (++_Next == _Last) | |
return (_Res == _Last ? _Mid : _Res); | |
else | |
_Mid = _Next; | |
} | |
else if (++_Next == _Last) | |
{ | |
if (_Res == _Last) | |
_Res = _First; | |
_Next = _Mid; | |
} | |
} | |
} | |
template<class _BidIt> inline | |
pair<_BidIt, _BidIt> _Reverse_until_sentinel_unchecked( | |
_BidIt _First, _BidIt _Sentinel, _BidIt _Last) | |
{ | |
while (_First != _Sentinel && _Last != _Sentinel) | |
::std:: iter_swap(_First++, --_Last); | |
return (::std:: make_pair(_First, _Last)); | |
} | |
template<class _BidIt> inline | |
_BidIt _Rotate_unchecked1(_BidIt _First, _BidIt _Mid, _BidIt _Last, | |
bidirectional_iterator_tag) | |
{ | |
_Reverse_unchecked(_First, _Mid); | |
_Reverse_unchecked(_Mid, _Last); | |
pair<_BidIt, _BidIt> _Tmp = _Reverse_until_sentinel_unchecked(_First, _Mid, _Last); | |
_Reverse_unchecked(_Tmp.first, _Tmp.second); | |
return (_Mid != _Tmp.first ? _Tmp.first : _Tmp.second); | |
} | |
template<class _RanIt> inline | |
_RanIt _Rotate_unchecked1(_RanIt _First, _RanIt _Mid, _RanIt _Last, | |
random_access_iterator_tag) | |
{ | |
_Reverse_unchecked(_First, _Mid); | |
_Reverse_unchecked(_Mid, _Last); | |
_Reverse_unchecked(_First, _Last); | |
return (_First + (_Last - _Mid)); | |
} | |
template<class _FwdIt> inline | |
_FwdIt _Rotate_unchecked(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last) | |
{ | |
if (_First == _Mid) | |
return (_Last); | |
if (_Mid == _Last) | |
return (_First); | |
return (_Rotate_unchecked1(_First, _Mid, _Last, _Iter_cat_t<_FwdIt>())); | |
} | |
template<class _FwdIt> inline | |
_FwdIt rotate(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last) | |
{ | |
; | |
; | |
return (_Rechecked(_First, | |
_Rotate_unchecked(_Unchecked(_First), _Unchecked(_Mid), | |
_Unchecked(_Last)))); | |
} | |
template<class _Diff, | |
class _Urng> | |
class _Rng_from_urng | |
{ | |
public: | |
typedef typename make_unsigned<_Diff>::type _Ty0; | |
typedef typename _Urng::result_type _Ty1; | |
typedef typename _If<sizeof (_Ty1) < sizeof (_Ty0), | |
_Ty0, _Ty1>::type _Udiff; | |
explicit _Rng_from_urng(_Urng& _Func) | |
: _Ref(_Func), _Bits(8 * sizeof (_Udiff)), _Bmask(_Udiff(-1)) | |
{ | |
for (; (_Urng::max)() - (_Urng::min)() < _Bmask; _Bmask >>= 1) | |
--_Bits; | |
} | |
_Diff operator()(_Diff _Index) | |
{ | |
for (; ; ) | |
{ | |
_Udiff _Ret = 0; | |
_Udiff _Mask = 0; | |
while (_Mask < _Udiff(_Index - 1)) | |
{ | |
_Ret <<= _Bits - 1; | |
_Ret <<= 1; | |
_Ret |= _Get_bits(); | |
_Mask <<= _Bits - 1; | |
_Mask <<= 1; | |
_Mask |= _Bmask; | |
} | |
if (_Ret / _Index < _Mask / _Index | |
|| _Mask % _Index == _Udiff(_Index - 1)) | |
return (_Ret % _Index); | |
} | |
} | |
_Udiff _Get_all_bits() | |
{ | |
_Udiff _Ret = 0; | |
for (size_t _Num = 0; _Num < 8 * sizeof (_Udiff); | |
_Num += _Bits) | |
{ | |
_Ret <<= _Bits - 1; | |
_Ret <<= 1; | |
_Ret |= _Get_bits(); | |
} | |
return (_Ret); | |
} | |
_Rng_from_urng(const _Rng_from_urng&) = delete; | |
_Rng_from_urng& operator=(const _Rng_from_urng&) = delete; | |
private: | |
_Udiff _Get_bits() | |
{ | |
for (; ; ) | |
{ | |
_Udiff _Val = _Ref() - (_Urng::min)(); | |
if (_Val <= _Bmask) | |
return (_Val); | |
} | |
} | |
_Urng& _Ref; | |
size_t _Bits; | |
_Udiff _Bmask; | |
}; | |
template<class _Elem> | |
class _Yarn | |
{ | |
public: | |
typedef _Yarn<_Elem> _Myt; | |
_Yarn() | |
: _Myptr(0), _Nul(0) | |
{ | |
} | |
_Yarn(const _Myt& _Right) | |
: _Myptr(0), _Nul(0) | |
{ | |
*this = _Right; | |
} | |
_Yarn(const _Elem * _Right) | |
: _Myptr(0), _Nul(0) | |
{ | |
*this = _Right; | |
} | |
_Myt& operator=(const _Myt& _Right) | |
{ | |
return (*this = _Right._Myptr); | |
} | |
_Myt& operator=(const _Elem * _Right) | |
{ | |
if (_Myptr != _Right) | |
{ | |
_Tidy(); | |
if (_Right != 0) | |
{ | |
const _Elem *_Ptr = _Right; | |
while (*_Ptr != (_Elem)0) | |
++_Ptr; | |
size_t _Count = ((const char *)++_Ptr - (const char *)_Right); | |
_Myptr = (_Elem *)_malloc_dbg(_Count, 2, | |
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility", 3638); | |
#line 3643 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
if (_Myptr != 0) | |
:: memcpy(_Myptr, _Right, _Count); | |
} | |
} | |
return (*this); | |
} | |
~_Yarn() throw () | |
{ | |
_Tidy(); | |
} | |
bool empty() const | |
{ | |
return (_Myptr == 0); | |
} | |
const _Elem * c_str() const | |
{ | |
return (_Myptr != 0 ? _Myptr : &_Nul); | |
} | |
bool _Empty() const | |
{ | |
return (_Myptr == 0); | |
} | |
const _Elem * _C_str() const | |
{ | |
return (_Myptr != 0 ? _Myptr : &_Nul); | |
} | |
private: | |
void _Tidy() | |
{ | |
if (_Myptr != 0) | |
_free_dbg(_Myptr, 2); | |
#line 3688 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
_Myptr = 0; | |
} | |
_Elem * _Myptr; | |
_Elem _Nul; | |
}; | |
template<class _Container> | |
class back_insert_iterator | |
: public _Outit | |
{ | |
public: | |
using container_type = _Container; | |
explicit back_insert_iterator(_Container& _Cont) | |
: container(::std:: addressof(_Cont)) | |
{ | |
} | |
back_insert_iterator& operator=(const typename _Container::value_type& _Val) | |
{ | |
container->push_back(_Val); | |
return (*this); | |
} | |
back_insert_iterator& operator=(typename _Container::value_type&& _Val) | |
{ | |
container->push_back(::std:: move(_Val)); | |
return (*this); | |
} | |
back_insert_iterator& operator*() | |
{ | |
return (*this); | |
} | |
back_insert_iterator& operator++() | |
{ | |
return (*this); | |
} | |
back_insert_iterator operator++(int) | |
{ | |
return (*this); | |
} | |
protected: | |
_Container *container; | |
}; | |
template<class _Container> | |
struct _Is_checked_helper<back_insert_iterator<_Container> > | |
: public true_type | |
{ | |
}; | |
template<class _Container> inline | |
back_insert_iterator<_Container> back_inserter(_Container& _Cont) | |
{ | |
return (back_insert_iterator<_Container>(_Cont)); | |
} | |
template<class _Ty, | |
class _Alloc, | |
class = void> | |
struct _Has_allocator_type | |
: false_type | |
{ | |
}; | |
template<class _Ty, | |
class _Alloc> | |
struct _Has_allocator_type<_Ty, _Alloc, void_t<typename _Ty::allocator_type>> | |
: is_convertible<_Alloc, typename _Ty::allocator_type>::type | |
{ | |
}; | |
struct allocator_arg_t | |
{ | |
}; | |
constexpr allocator_arg_t allocator_arg{}; | |
[[noreturn]] void __cdecl _Xbad_alloc(); | |
[[noreturn]] void __cdecl _Xinvalid_argument( const char *); | |
[[noreturn]] void __cdecl _Xlength_error( const char *); | |
[[noreturn]] void __cdecl _Xout_of_range( const char *); | |
[[noreturn]] void __cdecl _Xoverflow_error( const char *); | |
[[noreturn]] void __cdecl _Xruntime_error( const char *); | |
} | |
namespace std { | |
template<class _Ty, | |
class _Alloc> | |
struct uses_allocator | |
: _Has_allocator_type<_Ty, _Alloc>::type | |
{ | |
}; | |
template<class _Ty, | |
class _Alloc> | |
constexpr bool uses_allocator_v = uses_allocator<_Ty, _Alloc>::value; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 3804 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 3805 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xutility" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
#pragma warning(disable: 4494) | |
#line 24 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
namespace std { | |
#line 35 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 42 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 44 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
inline | |
__declspec(allocator) void *_Allocate(size_t _Count, size_t _Sz, | |
bool _Try_aligned_allocation = true) | |
{ | |
void *_Ptr = 0; | |
if (_Count == 0) | |
return (_Ptr); | |
if ((size_t)(-1) / _Sz < _Count) | |
_Xbad_alloc(); | |
const size_t _User_size = _Count * _Sz; | |
if (_Try_aligned_allocation | |
&& 4096 <= _User_size) | |
{ | |
static_assert(sizeof (void *) < 32, | |
"Big allocations should at least match vector register size"); | |
const size_t _Block_size = (2 * sizeof(void *) + 32 - 1) + _User_size; | |
if (_Block_size <= _User_size) | |
_Xbad_alloc(); | |
const uintptr_t _Ptr_container = | |
reinterpret_cast<uintptr_t>(::operator new(_Block_size)); | |
{ if (!(_Ptr_container != 0)) { (void)( (!!(("_Ptr_container != 0" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 72, 0, L"%ls", L"\"_Ptr_container != 0\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 72, 0); } ; }; | |
_Ptr = reinterpret_cast<void *>((_Ptr_container + (2 * sizeof(void *) + 32 - 1)) | |
& ~(32 - 1)); | |
static_cast<uintptr_t *>(_Ptr)[-1] = _Ptr_container; | |
static_cast<uintptr_t *>(_Ptr)[-2] = 0xFAFAFAFAUL; | |
#line 80 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
} | |
else | |
#line 85 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
{ | |
_Ptr = ::operator new(_User_size); | |
{ if (!(_Ptr != 0)) { (void)( (!!(("_Ptr != 0" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 88, 0, L"%ls", L"\"_Ptr != 0\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 88, 0); } ; }; | |
} | |
return (_Ptr); | |
} | |
inline | |
void _Deallocate(void * _Ptr, size_t _Count, size_t _Sz) | |
{ | |
{ if (!(_Count <= (size_t)(-1) / _Sz)) { (void)( (!!(("_Count <= (size_t)(-1) / _Sz" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 98, 0, L"%ls", L"\"_Count <= (size_t)(-1) / _Sz\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 98, 0); } ; }; | |
const size_t _User_size = _Count * _Sz; | |
if (4096 <= _User_size) | |
{ | |
const uintptr_t _Ptr_user = reinterpret_cast<uintptr_t>(_Ptr); | |
{ if (!((_Ptr_user & (32 - 1)) == 0)) { (void)( (!!(("(_Ptr_user & (_BIG_ALLOCATION_ALIGNMENT - 1)) == 0" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 104, 0, L"%ls", L"\"(_Ptr_user & (_BIG_ALLOCATION_ALIGNMENT - 1)) == 0\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 104, 0); } ; }; | |
#line 105 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
const uintptr_t _Ptr_ptr = _Ptr_user - sizeof(void *); | |
const uintptr_t _Ptr_container = | |
*reinterpret_cast<uintptr_t *>(_Ptr_ptr); | |
{ if (!(reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == 0xFAFAFAFAUL)) { (void)( (!!(("reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == _BIG_ALLOCATION_SENTINEL" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 114, 0, L"%ls", L"\"reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == _BIG_ALLOCATION_SENTINEL\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 114, 0); } ; }; | |
#line 115 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 116 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
{ if (!(_Ptr_container < _Ptr_user)) { (void)( (!!(("_Ptr_container < _Ptr_user" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 118, 0, L"%ls", L"\"_Ptr_container < _Ptr_user\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 118, 0); } ; }; | |
{ if (!(2 * sizeof(void *) <= _Ptr_user - _Ptr_container)) { (void)( (!!(("2 * sizeof(void *) <= _Ptr_user - _Ptr_container" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 122, 0, L"%ls", L"\"2 * sizeof(void *) <= _Ptr_user - _Ptr_container\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 122, 0); } ; }; | |
#line 123 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 128 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
{ if (!(_Ptr_user - _Ptr_container <= (2 * sizeof(void *) + 32 - 1))) { (void)( (!!(("_Ptr_user - _Ptr_container <= _NON_USER_SIZE" && 0))) || (1 != _CrtDbgReportW(2, L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 130, 0, L"%ls", L"\"_Ptr_user - _Ptr_container <= _NON_USER_SIZE\" && 0")) || (__debugbreak(), 0) ); ::_invalid_parameter(L"\"invalid argument\"", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0", 130, 0); } ; }; | |
#line 131 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
_Ptr = reinterpret_cast<void *>(_Ptr_container); | |
} | |
#line 139 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
::operator delete(_Ptr); | |
} | |
template<class _Ty, | |
class... _Types> inline | |
void _Construct_in_place(_Ty& _Obj, _Types&&... _Args) | |
{ | |
::new (const_cast<void *>(static_cast<const volatile void *>(::std:: addressof(_Obj)))) | |
_Ty(::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Alty> | |
struct _Is_simple_alloc | |
: _Cat_base<is_same<typename _Alty::size_type, size_t>::value | |
&& is_same<typename _Alty::difference_type, ptrdiff_t>::value | |
&& is_same<typename _Alty::pointer, | |
typename _Alty::value_type *>::value | |
&& is_same<typename _Alty::const_pointer, | |
const typename _Alty::value_type *>::value | |
&& is_same<typename _Alty::reference, | |
typename _Alty::value_type&>::value | |
&& is_same<typename _Alty::const_reference, | |
const typename _Alty::value_type&>::value> | |
{ | |
}; | |
template<class _Value_type> | |
struct _Simple_types | |
{ | |
typedef _Value_type value_type; | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef value_type *pointer; | |
typedef const value_type *const_pointer; | |
typedef value_type& reference; | |
typedef const value_type& const_reference; | |
}; | |
template<class _Ty> | |
struct _Get_first_parameter; | |
template<template<class, class...> class _Ty, | |
class _First, | |
class... _Rest> | |
struct _Get_first_parameter<_Ty<_First, _Rest...> > | |
{ | |
typedef _First type; | |
}; | |
template<class _Newfirst, | |
class _Ty> | |
struct _Replace_first_parameter; | |
template<class _Newfirst, | |
template<class, class...> class _Ty, | |
class _First, | |
class... _Rest> | |
struct _Replace_first_parameter<_Newfirst, _Ty<_First, _Rest...> > | |
{ | |
typedef _Ty<_Newfirst, _Rest...> type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_element_type | |
{ | |
typedef typename _Get_first_parameter<_Ty>::type type; | |
}; | |
template<class _Ty> | |
struct _Get_element_type<_Ty, void_t<typename _Ty::element_type>> | |
{ | |
typedef typename _Ty::element_type type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_ptr_difference_type | |
{ | |
typedef ptrdiff_t type; | |
}; | |
template<class _Ty> | |
struct _Get_ptr_difference_type<_Ty, void_t<typename _Ty::difference_type>> | |
{ | |
typedef typename _Ty::difference_type type; | |
}; | |
template<class _Ty, | |
class _Other, | |
class = void> | |
struct _Get_rebind_alias | |
{ | |
typedef typename _Replace_first_parameter<_Other, _Ty>::type type; | |
}; | |
template<class _Ty, | |
class _Other> | |
struct _Get_rebind_alias<_Ty, _Other, void_t<typename _Ty::template rebind<_Other>>> | |
{ | |
typedef typename _Ty::template rebind<_Other> type; | |
}; | |
template<class _Ty> | |
struct pointer_traits | |
{ | |
typedef typename _Get_element_type<_Ty>::type element_type; | |
typedef _Ty pointer; | |
typedef typename _Get_ptr_difference_type<_Ty>::type difference_type; | |
template<class _Other> | |
using rebind = typename _Get_rebind_alias<_Ty, _Other>::type; | |
typedef typename _If<is_void<element_type>::value, | |
char&, | |
typename add_lvalue_reference<element_type>::type>::type _Reftype; | |
static pointer pointer_to(_Reftype _Val) | |
{ | |
return (_Ty::pointer_to(_Val)); | |
} | |
}; | |
template<class _Ty> | |
struct pointer_traits<_Ty *> | |
{ | |
typedef _Ty element_type; | |
typedef _Ty *pointer; | |
typedef ptrdiff_t difference_type; | |
template<class _Other> | |
using rebind = _Other *; | |
typedef typename _If<is_void<_Ty>::value, | |
char&, | |
typename add_lvalue_reference<_Ty>::type>::type _Reftype; | |
static pointer pointer_to(_Reftype _Val) | |
{ | |
return (::std:: addressof(_Val)); | |
} | |
}; | |
template<class _Ty> inline | |
void _Destroy_in_place(_Ty& _Obj) throw () | |
{ | |
_Obj.~_Ty(); | |
} | |
template<class _Ptrty> inline | |
auto _Const_cast(_Ptrty _Ptr) | |
{ | |
using _Elem = typename pointer_traits<_Ptrty>::element_type; | |
using _Modifiable = remove_const_t<_Elem>; | |
using _Dest = typename pointer_traits<_Ptrty>::template rebind<_Modifiable>; | |
return (pointer_traits<_Dest>::pointer_to(const_cast<_Modifiable&>(*_Ptr))); | |
} | |
template<class _Ty> inline | |
auto _Const_cast(_Ty * _Ptr) | |
{ | |
return (const_cast<remove_const_t<_Ty> *>(_Ptr)); | |
} | |
template<class _Ty, | |
class = void> | |
struct _Get_pointer_type | |
{ | |
typedef typename _Ty::value_type * type; | |
}; | |
template<class _Ty> | |
struct _Get_pointer_type<_Ty, void_t<typename _Ty::pointer>> | |
{ | |
typedef typename _Ty::pointer type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_const_pointer_type | |
{ | |
typedef typename _Get_pointer_type<_Ty>::type _Ptrty; | |
typedef typename _Ty::value_type _Valty; | |
typedef typename pointer_traits<_Ptrty>::template rebind<const _Valty> type; | |
}; | |
template<class _Ty> | |
struct _Get_const_pointer_type<_Ty, void_t<typename _Ty::const_pointer>> | |
{ | |
typedef typename _Ty::const_pointer type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_void_pointer_type | |
{ | |
typedef typename _Get_pointer_type<_Ty>::type _Ptrty; | |
typedef typename pointer_traits<_Ptrty>::template rebind<void> type; | |
}; | |
template<class _Ty> | |
struct _Get_void_pointer_type<_Ty, void_t<typename _Ty::void_pointer>> | |
{ | |
typedef typename _Ty::void_pointer type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_const_void_pointer_type | |
{ | |
typedef typename _Get_pointer_type<_Ty>::type _Ptrty; | |
typedef typename pointer_traits<_Ptrty>::template rebind<const void> type; | |
}; | |
template<class _Ty> | |
struct _Get_const_void_pointer_type<_Ty, void_t<typename _Ty::const_void_pointer>> | |
{ | |
typedef typename _Ty::const_void_pointer type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_difference_type | |
{ | |
typedef typename _Get_pointer_type<_Ty>::type _Ptrty; | |
typedef typename pointer_traits<_Ptrty>::difference_type type; | |
}; | |
template<class _Ty> | |
struct _Get_difference_type<_Ty, void_t<typename _Ty::difference_type>> | |
{ | |
typedef typename _Ty::difference_type type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_size_type | |
{ | |
typedef make_unsigned_t<typename _Get_difference_type<_Ty>::type> type; | |
}; | |
template<class _Ty> | |
struct _Get_size_type<_Ty, void_t<typename _Ty::size_type>> | |
{ | |
typedef typename _Ty::size_type type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_propagate_on_container_copy | |
{ | |
typedef false_type type; | |
}; | |
template<class _Ty> | |
struct _Get_propagate_on_container_copy<_Ty, void_t<typename _Ty::propagate_on_container_copy_assignment>> | |
{ | |
typedef typename _Ty::propagate_on_container_copy_assignment type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_propagate_on_container_move | |
{ | |
typedef false_type type; | |
}; | |
template<class _Ty> | |
struct _Get_propagate_on_container_move<_Ty, void_t<typename _Ty::propagate_on_container_move_assignment>> | |
{ | |
typedef typename _Ty::propagate_on_container_move_assignment type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_propagate_on_container_swap | |
{ | |
typedef false_type type; | |
}; | |
template<class _Ty> | |
struct _Get_propagate_on_container_swap<_Ty, void_t<typename _Ty::propagate_on_container_swap>> | |
{ | |
typedef typename _Ty::propagate_on_container_swap type; | |
}; | |
template<class _Ty, | |
class = void> | |
struct _Get_is_always_equal | |
{ | |
typedef typename is_empty<_Ty>::type type; | |
}; | |
template<class _Ty> | |
struct _Get_is_always_equal<_Ty, void_t<typename _Ty::is_always_equal>> | |
{ | |
typedef typename _Ty::is_always_equal type; | |
}; | |
template<class _Ty, | |
class _Other, | |
class = void> | |
struct _Get_rebind_type | |
{ | |
typedef typename _Replace_first_parameter<_Other, _Ty>::type type; | |
}; | |
template<class _Ty, | |
class _Other> | |
struct _Get_rebind_type<_Ty, _Other, void_t<typename _Ty::template rebind<_Other>::other>> | |
{ | |
typedef typename _Ty::template rebind<_Other>::other type; | |
}; | |
template<class _Ty> | |
class allocator; | |
template<class _Alloc> | |
struct _Wrap_alloc; | |
template<class _Alloc> | |
struct _Unwrap_alloc | |
{ | |
typedef _Alloc type; | |
}; | |
template<class _Alloc> | |
struct _Unwrap_alloc<_Wrap_alloc<_Alloc>> | |
{ | |
typedef _Alloc type; | |
}; | |
template<class _Alloc> | |
using _Unwrap_alloc_t = typename _Unwrap_alloc<_Alloc>::type; | |
template<class _Alloc, | |
class = void> | |
struct _Is_default_allocator | |
: false_type | |
{ | |
}; | |
template<class _Ty> | |
struct _Is_default_allocator<allocator<_Ty>, typename allocator<_Ty>::_Not_user_specialized> | |
: true_type | |
{ | |
}; | |
struct _Alloc_allocate | |
{ | |
template<class _Alloc, | |
class _Size_type, | |
class _Const_void_pointer> | |
static auto _Fn(int, _Alloc& _Al, | |
_Size_type _Count, | |
_Const_void_pointer _Hint) | |
-> decltype(_Al.allocate(_Count, _Hint)) | |
{ | |
return (_Al.allocate(_Count, _Hint)); | |
} | |
template<class _Alloc, | |
class _Size_type, | |
class _Const_void_pointer> | |
static auto _Fn(_Wrap_int, _Alloc& _Al, | |
_Size_type _Count, | |
_Const_void_pointer) | |
-> decltype(_Al.allocate(_Count)) | |
{ | |
return (_Al.allocate(_Count)); | |
} | |
}; | |
struct _Has_no_alloc_construct_tag | |
{ | |
}; | |
template<class _Void, | |
class... _Types> | |
struct _Has_no_alloc_construct | |
: true_type | |
{ | |
}; | |
template<class _Alloc, | |
class _Ptr, | |
class... _Args> | |
struct _Has_no_alloc_construct< | |
void_t< | |
_Has_no_alloc_construct_tag, | |
decltype(::std:: declval<_Alloc&>().construct(::std:: declval<_Ptr>(), ::std:: declval<_Args>()...))>, | |
_Alloc, _Ptr, _Args...> | |
: false_type | |
{ | |
}; | |
template<class _Alloc, | |
class _Ptr, | |
class... _Args> | |
using _Uses_default_construct = disjunction< | |
_Is_default_allocator<_Alloc>, | |
_Has_no_alloc_construct<void, _Alloc, _Ptr, _Args...>>; | |
template<class _Alloc, | |
class _Ptr, | |
class... _Args> | |
using _Uses_default_construct_t = typename _Uses_default_construct<_Alloc, _Ptr, _Args...>::type; | |
struct _Has_no_alloc_destroy_tag | |
{ | |
}; | |
template<class _Alloc, | |
class _Ptr, | |
class = void> | |
struct _Has_no_alloc_destroy | |
: true_type | |
{ | |
}; | |
template<class _Alloc, | |
class _Ptr> | |
struct _Has_no_alloc_destroy<_Alloc, _Ptr, void_t< | |
_Has_no_alloc_destroy_tag, | |
decltype(::std:: declval<_Alloc&>().destroy(::std:: declval<_Ptr>()))>> | |
: false_type | |
{ | |
}; | |
template<class _Alloc, | |
class _Ptr> | |
using _Uses_default_destroy = disjunction< | |
_Is_default_allocator<_Alloc>, | |
_Has_no_alloc_destroy<_Alloc, _Ptr>>; | |
template<class _Alloc, | |
class _Ptr> | |
using _Uses_default_destroy_t = typename _Uses_default_destroy<_Alloc, _Ptr>::type; | |
struct _Alloc_max_size | |
{ | |
template<class _Ty> | |
static auto _Fn(int, const _Ty& _Al) throw () | |
-> decltype(_Al.max_size()) | |
{ | |
return (_Al.max_size()); | |
} | |
template<class _Ty> | |
static auto _Fn(_Wrap_int, const _Ty&) throw () | |
-> typename _Get_size_type<_Ty>::type | |
{ | |
return ((numeric_limits<typename _Get_size_type<_Ty>::type>::max)() | |
/ sizeof(typename _Ty::value_type)); | |
} | |
}; | |
struct _Alloc_select | |
{ | |
template<class _Ty> | |
static auto _Fn(int, const _Ty& _Al) | |
-> decltype((_Ty)_Al.select_on_container_copy_construction()) | |
{ | |
return (_Al.select_on_container_copy_construction()); | |
} | |
template<class _Ty> | |
static auto _Fn(_Wrap_int, const _Ty& _Al) | |
-> _Ty | |
{ | |
return (_Al); | |
} | |
}; | |
template<class _Alloc> | |
struct allocator_traits | |
{ | |
typedef _Alloc allocator_type; | |
typedef typename _Alloc::value_type value_type; | |
typedef typename _Get_pointer_type<_Alloc>::type | |
pointer; | |
typedef typename _Get_const_pointer_type<_Alloc>::type | |
const_pointer; | |
typedef typename _Get_void_pointer_type<_Alloc>::type | |
void_pointer; | |
typedef typename _Get_const_void_pointer_type<_Alloc>::type | |
const_void_pointer; | |
typedef typename _Get_size_type<_Alloc>::type size_type; | |
typedef typename _Get_difference_type<_Alloc>::type difference_type; | |
typedef typename _Get_propagate_on_container_copy<_Alloc>::type | |
propagate_on_container_copy_assignment; | |
typedef typename _Get_propagate_on_container_move<_Alloc>::type | |
propagate_on_container_move_assignment; | |
typedef typename _Get_propagate_on_container_swap<_Alloc>::type | |
propagate_on_container_swap; | |
typedef typename _Get_is_always_equal<_Alloc>::type | |
is_always_equal; | |
template<class _Other> | |
using rebind_alloc = typename _Get_rebind_type<_Alloc, _Other>::type; | |
template<class _Other> | |
using rebind_traits = allocator_traits<rebind_alloc<_Other> >; | |
static __declspec(allocator) pointer allocate(_Alloc& _Al, size_type _Count) | |
{ | |
return (_Al.allocate(_Count)); | |
} | |
static __declspec(allocator) pointer allocate(_Alloc& _Al, size_type _Count, | |
const_void_pointer _Hint) | |
{ | |
return (_Alloc_allocate::_Fn(0, _Al, _Count, _Hint)); | |
} | |
static void deallocate(_Alloc& _Al, | |
pointer _Ptr, size_type _Count) | |
{ | |
_Al.deallocate(_Ptr, _Count); | |
} | |
template<class _Ty, | |
class... _Types> | |
static void _Construct1(true_type, _Alloc&, _Ty *_Ptr, | |
_Types&&... _Args) | |
{ | |
::new (static_cast<void *>(_Ptr)) | |
_Ty(::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Ty, | |
class... _Types> | |
static void _Construct1(false_type, _Alloc& _Al, _Ty *_Ptr, | |
_Types&&... _Args) | |
{ | |
_Al.construct(_Ptr, ::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Ty, | |
class... _Types> | |
static void construct(_Alloc& _Al, _Ty *_Ptr, | |
_Types&&... _Args) | |
{ | |
_Construct1(_Uses_default_construct_t<_Unwrap_alloc_t<_Alloc>, _Ty *, _Types...>(), | |
_Al, _Ptr, ::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Ty> | |
static void _Destroy1(_Alloc&, _Ty *_Ptr, true_type) | |
{ | |
_Ptr->~_Ty(); | |
} | |
template<class _Ty> | |
static void _Destroy1(_Alloc& _Al, _Ty *_Ptr, false_type) | |
{ | |
_Al.destroy(_Ptr); | |
} | |
template<class _Ty> | |
static void destroy(_Alloc& _Al, _Ty *_Ptr) | |
{ | |
_Destroy1(_Al, _Ptr, _Uses_default_destroy_t<_Unwrap_alloc_t<_Alloc>, _Ty *>()); | |
} | |
static size_type max_size(const _Alloc& _Al) throw () | |
{ | |
return (_Alloc_max_size::_Fn(0, _Al)); | |
} | |
static _Alloc select_on_container_copy_construction( | |
const _Alloc& _Al) | |
{ | |
return (_Alloc_select::_Fn(0, _Al)); | |
} | |
}; | |
template<class _Ty> | |
class allocator | |
{ | |
public: | |
static_assert(!is_const<_Ty>::value, | |
"The C++ Standard forbids containers of const elements " | |
"because allocator<const T> is ill-formed."); | |
typedef void _Not_user_specialized; | |
typedef _Ty value_type; | |
typedef value_type *pointer; | |
typedef const value_type *const_pointer; | |
typedef value_type& reference; | |
typedef const value_type& const_reference; | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef true_type propagate_on_container_move_assignment; | |
typedef true_type is_always_equal; | |
template<class _Other> | |
struct rebind | |
{ | |
typedef allocator<_Other> other; | |
}; | |
pointer address(reference _Val) const throw () | |
{ | |
return (::std:: addressof(_Val)); | |
} | |
const_pointer address(const_reference _Val) const throw () | |
{ | |
return (::std:: addressof(_Val)); | |
} | |
allocator() | |
{ | |
} | |
allocator(const allocator<_Ty>&) | |
{ | |
} | |
template<class _Other> | |
allocator(const allocator<_Other>&) | |
{ | |
} | |
template<class _Other> | |
allocator<_Ty>& operator=(const allocator<_Other>&) | |
{ | |
return (*this); | |
} | |
void deallocate(pointer _Ptr, size_type _Count) | |
{ | |
_Deallocate(_Ptr, _Count, sizeof (_Ty)); | |
} | |
__declspec(allocator) pointer allocate( size_type _Count) | |
{ | |
return (static_cast<pointer>(_Allocate(_Count, sizeof (_Ty)))); | |
} | |
__declspec(allocator) pointer allocate( size_type _Count, const void *) | |
{ | |
return (allocate(_Count)); | |
} | |
template<class _Objty, | |
class... _Types> | |
void construct(_Objty *_Ptr, _Types&&... _Args) | |
{ | |
::new ((void *)_Ptr) _Objty(::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Uty> | |
void destroy(_Uty *_Ptr) | |
{ | |
_Ptr->~_Uty(); | |
} | |
size_t max_size() const throw () | |
{ | |
return ((size_t)(-1) / sizeof (_Ty)); | |
} | |
}; | |
template<> | |
class allocator<void> | |
{ | |
public: | |
typedef void _Not_user_specialized; | |
typedef void value_type; | |
typedef void *pointer; | |
typedef const void *const_pointer; | |
template<class _Other> | |
struct rebind | |
{ | |
typedef allocator<_Other> other; | |
}; | |
allocator() | |
{ | |
} | |
allocator(const allocator<void>&) | |
{ | |
} | |
template<class _Other> | |
allocator(const allocator<_Other>&) | |
{ | |
} | |
template<class _Other> | |
allocator<void>& operator=(const allocator<_Other>&) | |
{ | |
return (*this); | |
} | |
}; | |
template<class _Ty, | |
class _Other> inline | |
bool operator==(const allocator<_Ty>&, | |
const allocator<_Other>&) | |
{ | |
return (true); | |
} | |
template<class _Ty, | |
class _Other> inline | |
bool operator!=(const allocator<_Ty>&, | |
const allocator<_Other>&) | |
{ | |
return (false); | |
} | |
template<class _Ty> | |
struct allocator_traits<allocator<_Ty> > | |
{ | |
typedef allocator<_Ty> _Alloc; | |
typedef _Alloc allocator_type; | |
typedef _Ty value_type; | |
typedef value_type *pointer; | |
typedef const value_type *const_pointer; | |
typedef void *void_pointer; | |
typedef const void *const_void_pointer; | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef false_type propagate_on_container_copy_assignment; | |
typedef true_type propagate_on_container_move_assignment; | |
typedef false_type propagate_on_container_swap; | |
typedef true_type is_always_equal; | |
template<class _Other> | |
using rebind_alloc = allocator<_Other>; | |
template<class _Other> | |
using rebind_traits = allocator_traits<allocator<_Other> >; | |
static __declspec(allocator) pointer allocate(_Alloc& _Al, size_type _Count) | |
{ | |
return (_Al.allocate(_Count)); | |
} | |
static __declspec(allocator) pointer allocate(_Alloc& _Al, size_type _Count, | |
const_void_pointer _Hint) | |
{ | |
return (_Al.allocate(_Count, _Hint)); | |
} | |
static void deallocate(_Alloc& _Al, | |
pointer _Ptr, size_type _Count) | |
{ | |
_Al.deallocate(_Ptr, _Count); | |
} | |
template<class _Objty, | |
class... _Types> | |
static void construct(_Alloc& _Al, _Objty *_Ptr, | |
_Types&&... _Args) | |
{ | |
_Al.construct(_Ptr, ::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Uty> | |
static void destroy(_Alloc& _Al, _Uty *_Ptr) | |
{ | |
_Al.destroy(_Ptr); | |
} | |
static size_type max_size(const _Alloc& _Al) throw () | |
{ | |
return (_Al.max_size()); | |
} | |
static _Alloc select_on_container_copy_construction( | |
const _Alloc& _Al) | |
{ | |
return (_Al); | |
} | |
}; | |
template<class _Alloc> | |
struct _Wrap_alloc | |
: public _Alloc | |
{ | |
typedef _Alloc _Mybase; | |
typedef allocator_traits<_Alloc> _Mytraits; | |
typedef typename _Mytraits::value_type value_type; | |
typedef typename _Mytraits::pointer pointer; | |
typedef typename _Mytraits::const_pointer const_pointer; | |
typedef typename _Mytraits::void_pointer void_pointer; | |
typedef typename _Mytraits::const_void_pointer const_void_pointer; | |
typedef typename _If<is_void<value_type>::value, | |
int, value_type>::type& reference; | |
typedef typename _If<is_void<const value_type>::value, | |
const int, const value_type>::type& const_reference; | |
typedef typename _Mytraits::size_type size_type; | |
typedef typename _Mytraits::difference_type difference_type; | |
typedef typename _Mytraits::propagate_on_container_copy_assignment | |
propagate_on_container_copy_assignment; | |
typedef typename _Mytraits::propagate_on_container_move_assignment | |
propagate_on_container_move_assignment; | |
typedef typename _Mytraits::propagate_on_container_swap | |
propagate_on_container_swap; | |
typedef typename _Mytraits::is_always_equal | |
is_always_equal; | |
_Wrap_alloc select_on_container_copy_construction(_Nil = _Nil()) const | |
{ | |
return (_Mytraits::select_on_container_copy_construction(*this)); | |
} | |
template<class _Other> | |
struct rebind | |
{ | |
typedef typename _Mytraits::template rebind_alloc<_Other> | |
_Other_alloc; | |
typedef _Wrap_alloc<_Other_alloc> other; | |
}; | |
pointer address(reference _Val) const | |
{ | |
return (pointer_traits<pointer>::pointer_to(_Val)); | |
} | |
const_pointer address(const_reference _Val) const | |
{ | |
return (pointer_traits<const_pointer>::pointer_to(_Val)); | |
} | |
_Wrap_alloc() | |
: _Mybase() | |
{ | |
} | |
_Wrap_alloc(const _Wrap_alloc& _Right) | |
: _Mybase(_Right) | |
{ | |
} | |
_Wrap_alloc(_Wrap_alloc&& _Right) | |
: _Mybase(::std:: move(_Right)) | |
{ | |
} | |
template<class _Other> | |
_Wrap_alloc(_Other&& _Right) | |
: _Mybase(::std:: forward<_Other>(_Right)) | |
{ | |
} | |
_Wrap_alloc& operator=(const _Wrap_alloc& _Right) | |
{ | |
_Mybase::operator=(_Right); | |
return (*this); | |
} | |
_Wrap_alloc& operator=(_Wrap_alloc&& _Right) | |
{ | |
_Mybase::operator=(::std:: move(_Right)); | |
return (*this); | |
} | |
template<class _Other> | |
_Wrap_alloc& operator=(_Other&& _Right) | |
{ | |
_Mybase::operator=(::std:: forward<_Other>(_Right)); | |
return (*this); | |
} | |
__declspec(allocator) pointer allocate( size_type _Count) | |
{ | |
return (_Mybase::allocate(_Count)); | |
} | |
__declspec(allocator) pointer allocate( size_type _Count, | |
const_void_pointer _Hint, _Nil = _Nil()) | |
{ | |
return (_Mytraits::allocate(*this, _Count, _Hint)); | |
} | |
void deallocate(pointer _Ptr, size_type _Count) | |
{ | |
_Mybase::deallocate(_Ptr, _Count); | |
} | |
template<class _Ty, | |
class... _Types> | |
void construct(_Ty *_Ptr, | |
_Types&&... _Args) | |
{ | |
_Mytraits::construct(*this, _Ptr, | |
::std:: forward<_Types>(_Args)...); | |
} | |
template<class _Ty> | |
void destroy(_Ty *_Ptr) | |
{ | |
_Mytraits::destroy(*this, _Ptr); | |
} | |
size_type max_size(_Nil = _Nil()) const throw () | |
{ | |
return (_Mytraits::max_size(*this)); | |
} | |
}; | |
template<class _Ty, | |
class _Other> inline | |
bool operator==(const _Wrap_alloc<_Ty>& _Left, | |
const _Wrap_alloc<_Other>& _Right) | |
{ | |
return (static_cast<const _Ty&>(_Left) | |
== static_cast<const _Other&>(_Right)); | |
} | |
template<class _Ty, | |
class _Other> inline | |
bool operator!=(const _Wrap_alloc<_Ty>& _Left, | |
const _Wrap_alloc<_Other>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Alty> inline | |
void _Pocca(_Alty& _Left, const _Alty& _Right, true_type) throw () | |
{ | |
_Left = _Right; | |
} | |
template<class _Alty> inline | |
void _Pocca(_Alty&, const _Alty&, false_type) throw () | |
{ | |
} | |
template<class _Alty> inline | |
void _Pocca(_Alty& _Left, const _Alty& _Right) throw () | |
{ | |
typename _Alty::propagate_on_container_copy_assignment _Tag; | |
_Pocca(_Left, _Right, _Tag); | |
} | |
template<class _Alty> inline | |
void _Pocma(_Alty& _Left, _Alty& _Right, true_type) throw () | |
{ | |
_Left = ::std:: move(_Right); | |
} | |
template<class _Alty> inline | |
void _Pocma(_Alty&, _Alty&, false_type) throw () | |
{ | |
} | |
template<class _Alty> inline | |
void _Pocma(_Alty& _Left, _Alty& _Right) throw () | |
{ | |
typename _Alty::propagate_on_container_move_assignment _Tag; | |
_Pocma(_Left, _Right, _Tag); | |
} | |
template<class _Alty> inline | |
void _Pocs(_Alty& _Left, _Alty& _Right, true_type) throw () | |
{ | |
_Swap_adl(_Left, _Right); | |
} | |
template<class _Alty> inline | |
void _Pocs(_Alty& _Left, _Alty& _Right, false_type) throw () | |
{ | |
if (_Left != _Right) | |
{ | |
#line 1182 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
::std:: terminate(); | |
#line 1184 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
} | |
} | |
template<class _Alty> inline | |
void _Pocs(_Alty& _Left, _Alty& _Right) throw () | |
{ | |
typename _Alty::propagate_on_container_swap _Tag; | |
_Pocs(_Left, _Right, _Tag); | |
} | |
template<class _Alloc, | |
class _Ptr = typename _Wrap_alloc<_Alloc>::pointer> inline | |
void _Destroy_range1(_Ptr _First, _Ptr _Last, _Wrap_alloc<_Alloc>& _Al, false_type) | |
{ | |
for (; _First != _Last; ++_First) | |
_Al.destroy(_Unfancy(_First)); | |
} | |
template<class _Alloc, | |
class _Ptr = typename _Wrap_alloc<_Alloc>::pointer> inline | |
void _Destroy_range1(_Ptr, _Ptr, _Wrap_alloc<_Alloc>&, true_type) | |
{ | |
} | |
template<class _Alloc, | |
class _Ptr = typename _Wrap_alloc<_Alloc>::pointer> inline | |
void _Destroy_range(_Ptr _First, _Ptr _Last, _Wrap_alloc<_Alloc>& _Al) | |
{ | |
typedef typename _Alloc::value_type _Val; | |
_Destroy_range1(_First, _Last, _Al, _Conjunction_t< | |
is_trivially_destructible<_Val>, | |
_Uses_default_destroy<_Alloc, _Val *>>()); | |
} | |
template<class _FwdIt> inline | |
void _Destroy_range1(_FwdIt _First, _FwdIt _Last, false_type) | |
{ | |
for (; _First != _Last; ++_First) | |
_Destroy_in_place(*_First); | |
} | |
template<class _FwdIt> inline | |
void _Destroy_range1(_FwdIt, _FwdIt, true_type) | |
{ | |
} | |
template<class _FwdIt> inline | |
void _Destroy_range(_FwdIt _First, _FwdIt _Last) | |
{ | |
_Destroy_range1(_First, _Last, is_trivially_destructible<_Iter_value_t<_FwdIt>>()); | |
} | |
} | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
typedef enum memory_order { | |
memory_order_relaxed, | |
memory_order_consume, | |
memory_order_acquire, | |
memory_order_release, | |
memory_order_acq_rel, | |
memory_order_seq_cst | |
} memory_order; | |
typedef _Uint32t _Uint4_t; | |
typedef _Uint4_t _Atomic_integral_t; | |
#line 43 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
#line 45 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
typedef _Atomic_integral_t _Atomic_counter_t; | |
inline _Atomic_integral_t | |
_Get_atomic_count(const _Atomic_counter_t& _Counter) | |
{ | |
return (_Counter); | |
} | |
#line 61 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
#line 62 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 68 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
#line 69 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xatomic0.h" | |
#line 1250 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#pragma once | |
extern "C" { | |
#line 21 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 50 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 53 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 60 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 65 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 70 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 75 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 80 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 82 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 87 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 92 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 97 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 102 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
long _InterlockedAnd(long volatile * _Value, long _Mask); | |
short _InterlockedAnd16(short volatile * _Value, short _Mask); | |
char _InterlockedAnd8(char volatile * _Value, char _Mask); | |
long __cdecl _InterlockedCompareExchange(long volatile * _Destination, long _Exchange, long _Comparand); | |
short _InterlockedCompareExchange16(short volatile * _Destination, short _Exchange, short _Comparand); | |
__int64 _InterlockedCompareExchange64(__int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand); | |
char _InterlockedCompareExchange8(char volatile * _Destination, char _Exchange, char _Comparand); | |
long __cdecl _InterlockedDecrement(long volatile * _Addend); | |
long __cdecl _InterlockedExchange(long volatile * _Target, long _Value); | |
short _InterlockedExchange16(short volatile * _Target, short _Value); | |
char _InterlockedExchange8(char volatile * _Target, char _Value); | |
long __cdecl _InterlockedExchangeAdd(long volatile * _Addend, long _Value); | |
short _InterlockedExchangeAdd16(short volatile * _Addend, short _Value); | |
char _InterlockedExchangeAdd8(char volatile * _Addend, char _Value); | |
long __cdecl _InterlockedIncrement(long volatile * _Addend); | |
long _InterlockedOr(long volatile * _Value, long _Mask); | |
short _InterlockedOr16(short volatile * _Value, short _Mask); | |
char _InterlockedOr8(char volatile * _Value, char _Mask); | |
long _InterlockedXor(long volatile * _Value, long _Mask); | |
short _InterlockedXor16(short volatile * _Value, short _Mask); | |
char _InterlockedXor8(char volatile * _Value, char _Mask); | |
void _ReadWriteBarrier(void); | |
unsigned char _interlockedbittestandset(long volatile *, long); | |
} | |
#line 238 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 239 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 240 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\intrin0.h" | |
#line 1253 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1267 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 1272 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 1273 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xmemory0" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Traits> | |
using _Traits_ch_t = typename _Traits::char_type; | |
template<class _Traits> | |
using _Traits_ptr_t = const typename _Traits::char_type *; | |
template<class _Traits> | |
constexpr bool _Traits_equal( const _Traits_ptr_t<_Traits> _Left, const size_t _Left_size, | |
const _Traits_ptr_t<_Traits> _Right, const size_t _Right_size) throw () | |
{ | |
return (_Left_size == _Right_size && _Traits::compare(_Left, _Right, _Left_size) == 0); | |
} | |
template<class _Traits> | |
constexpr int _Traits_compare( const _Traits_ptr_t<_Traits> _Left, const size_t _Left_size, | |
const _Traits_ptr_t<_Traits> _Right, const size_t _Right_size) throw () | |
{ | |
const int _Ans = _Traits::compare(_Left, _Right, _Min_value(_Left_size, _Right_size)); | |
if (_Ans != 0) | |
{ | |
return (_Ans); | |
} | |
if (_Left_size < _Right_size) | |
{ | |
return (-1); | |
} | |
if (_Left_size > _Right_size) | |
{ | |
return (1); | |
} | |
return (0); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Needle_size > _Hay_size || _Start_at > _Hay_size - _Needle_size) | |
{ | |
return (static_cast<size_t>(-1)); | |
} | |
if (_Needle_size == 0) | |
{ | |
return (_Start_at); | |
} | |
const auto _Possible_matches_end = _Haystack + (_Hay_size - _Needle_size) + 1; | |
for (auto _Match_try = _Haystack + _Start_at; ; ++_Match_try) | |
{ | |
_Match_try = _Traits::find(_Match_try, _Possible_matches_end - _Match_try, *_Needle); | |
if (!_Match_try) | |
{ | |
return (static_cast<size_t>(-1)); | |
} | |
if (_Traits::compare(_Match_try, _Needle, _Needle_size) == 0) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
} | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_ch( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ch_t<_Traits> _Ch) throw () | |
{ | |
if (_Start_at < _Hay_size) | |
{ | |
const auto _Found_at = _Traits::find(_Haystack + _Start_at, _Hay_size - _Start_at, _Ch); | |
if (_Found_at) | |
{ | |
return (_Found_at - _Haystack); | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_rfind( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Needle_size == 0) | |
{ | |
return (_Min_value(_Start_at, _Hay_size)); | |
} | |
if (_Needle_size <= _Hay_size) | |
{ | |
for (auto _Match_try = _Haystack + _Min_value(_Start_at, _Hay_size - _Needle_size); ; --_Match_try) | |
{ | |
if (_Traits::eq(*_Match_try, *_Needle) | |
&& _Traits::compare(_Match_try, _Needle, _Needle_size) == 0) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
if (_Match_try == _Haystack) | |
{ | |
break; | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_rfind_ch( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ch_t<_Traits> _Ch) throw () | |
{ | |
if (_Hay_size != 0) | |
{ | |
for (auto _Match_try = _Haystack + _Min_value(_Start_at, _Hay_size - 1); ; --_Match_try) | |
{ | |
if (_Traits::eq(*_Match_try, _Ch)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
if (_Match_try == _Haystack) | |
{ | |
break; | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_first_of( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Needle_size != 0 && _Start_at < _Hay_size) | |
{ | |
const auto _End = _Haystack + _Hay_size; | |
for (auto _Match_try = _Haystack + _Start_at; _Match_try < _End; ++_Match_try) | |
{ | |
if (_Traits::find(_Needle, _Needle_size, *_Match_try)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_last_of( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Needle_size != 0 && _Hay_size != 0) | |
{ | |
for (auto _Match_try = _Haystack + _Min_value(_Start_at, _Hay_size - 1); ; --_Match_try) | |
{ | |
if (_Traits::find(_Needle, _Needle_size, *_Match_try)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
if (_Match_try == _Haystack) | |
{ | |
break; | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_first_not_of( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Start_at < _Hay_size) | |
{ | |
const auto _End = _Haystack + _Hay_size; | |
for (auto _Match_try = _Haystack + _Start_at; _Match_try < _End; ++_Match_try) | |
{ | |
if (!_Traits::find(_Needle, _Needle_size, *_Match_try)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_not_ch( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ch_t<_Traits> _Ch) throw () | |
{ | |
if (_Start_at < _Hay_size) | |
{ | |
const auto _End = _Haystack + _Hay_size; | |
for (auto _Match_try = _Haystack + _Start_at; _Match_try < _End; ++_Match_try) | |
{ | |
if (!_Traits::eq(*_Match_try, _Ch)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_find_last_not_of( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ptr_t<_Traits> _Needle, const size_t _Needle_size) throw () | |
{ | |
if (_Hay_size != 0) | |
{ | |
for (auto _Match_try = _Haystack + _Min_value(_Start_at, _Hay_size - 1); ; --_Match_try) | |
{ | |
if (!_Traits::find(_Needle, _Needle_size, *_Match_try)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
if (_Match_try == _Haystack) | |
{ | |
break; | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
template<class _Traits> | |
constexpr size_t _Traits_rfind_not_ch( | |
const _Traits_ptr_t<_Traits> _Haystack, const size_t _Hay_size, const size_t _Start_at, | |
const _Traits_ch_t<_Traits> _Ch) throw () | |
{ | |
if (_Hay_size != 0) | |
{ | |
for (auto _Match_try = _Haystack + _Min_value(_Start_at, _Hay_size - 1); ; --_Match_try) | |
{ | |
if (!_Traits::eq(*_Match_try, _Ch)) | |
{ | |
return (_Match_try - _Haystack); | |
} | |
if (_Match_try == _Haystack) | |
{ | |
break; | |
} | |
} | |
} | |
return (static_cast<size_t>(-1)); | |
} | |
#line 1169 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
template<class _Mystr> | |
class _String_const_iterator | |
: public _Iterator012<random_access_iterator_tag, | |
typename _Mystr::value_type, | |
typename _Mystr::difference_type, | |
typename _Mystr::const_pointer, | |
typename _Mystr::const_reference, | |
_Iterator_base> | |
{ | |
public: | |
typedef _String_const_iterator<_Mystr> _Myiter; | |
typedef random_access_iterator_tag iterator_category; | |
typedef typename _Mystr::value_type value_type; | |
typedef typename _Mystr::difference_type difference_type; | |
typedef typename _Mystr::const_pointer pointer; | |
typedef typename _Mystr::const_reference reference; | |
_String_const_iterator() | |
: _Ptr() | |
{ | |
} | |
_String_const_iterator(pointer _Parg, const _Container_base *_Pstring) | |
: _Ptr(_Parg) | |
{ | |
this->_Adopt(_Pstring); | |
} | |
typedef pointer _Unchecked_type; | |
_Myiter& _Rechecked(_Unchecked_type _Right) | |
{ | |
_Ptr = _Right; | |
return (*this); | |
} | |
_Unchecked_type _Unchecked() const | |
{ | |
return (_Ptr); | |
} | |
reference operator*() const | |
{ | |
#line 1225 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
; | |
return (*_Ptr); | |
} | |
pointer operator->() const | |
{ | |
return (pointer_traits<pointer>::pointer_to(**this)); | |
} | |
_Myiter& operator++() | |
{ | |
#line 1245 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
++_Ptr; | |
return (*this); | |
} | |
_Myiter operator++(int) | |
{ | |
_Myiter _Tmp = *this; | |
++*this; | |
return (_Tmp); | |
} | |
_Myiter& operator--() | |
{ | |
#line 1266 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
--_Ptr; | |
return (*this); | |
} | |
_Myiter operator--(int) | |
{ | |
_Myiter _Tmp = *this; | |
--*this; | |
return (_Tmp); | |
} | |
_Myiter& operator+=(const difference_type _Off) | |
{ | |
#line 1294 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Ptr += _Off; | |
return (*this); | |
} | |
_Myiter operator+(const difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp += _Off); | |
} | |
_Myiter& operator-=(const difference_type _Off) | |
{ | |
return (*this += -_Off); | |
} | |
_Myiter operator-(const difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp -= _Off); | |
} | |
difference_type operator-(const _Myiter& _Right) const | |
{ | |
_Compat(_Right); | |
return (_Ptr - _Right._Ptr); | |
} | |
reference operator[](const difference_type _Off) const | |
{ | |
return (*(*this + _Off)); | |
} | |
bool operator==(const _Myiter& _Right) const | |
{ | |
_Compat(_Right); | |
return (_Ptr == _Right._Ptr); | |
} | |
bool operator!=(const _Myiter& _Right) const | |
{ | |
return (!(*this == _Right)); | |
} | |
bool operator<(const _Myiter& _Right) const | |
{ | |
_Compat(_Right); | |
return (_Ptr < _Right._Ptr); | |
} | |
bool operator>(const _Myiter& _Right) const | |
{ | |
return (_Right < *this); | |
} | |
bool operator<=(const _Myiter& _Right) const | |
{ | |
return (!(_Right < *this)); | |
} | |
bool operator>=(const _Myiter& _Right) const | |
{ | |
return (!(*this < _Right)); | |
} | |
#line 1367 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
void _Compat(const _Myiter&) const | |
{ | |
} | |
#line 1371 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
pointer _Ptr; | |
}; | |
template<class _Mystr> inline | |
typename _String_const_iterator<_Mystr>::_Unchecked_type | |
_Unchecked(_String_const_iterator<_Mystr> _Iter) | |
{ | |
return (_Iter._Unchecked()); | |
} | |
template<class _Mystr> inline | |
_String_const_iterator<_Mystr> | |
_Rechecked(_String_const_iterator<_Mystr>& _Iter, | |
typename _String_const_iterator<_Mystr> | |
::_Unchecked_type _Right) | |
{ | |
return (_Iter._Rechecked(_Right)); | |
} | |
template<class _Mystr> inline | |
_String_const_iterator<_Mystr> operator+( | |
typename _String_const_iterator<_Mystr> | |
::difference_type _Off, | |
_String_const_iterator<_Mystr> _Next) | |
{ | |
return (_Next += _Off); | |
} | |
template<class _Mystr> | |
class _String_iterator | |
: public _String_const_iterator<_Mystr> | |
{ | |
public: | |
typedef _String_iterator<_Mystr> _Myiter; | |
typedef _String_const_iterator<_Mystr> _Mybase; | |
typedef random_access_iterator_tag iterator_category; | |
typedef typename _Mystr::value_type value_type; | |
typedef typename _Mystr::difference_type difference_type; | |
typedef typename _Mystr::pointer pointer; | |
typedef typename _Mystr::reference reference; | |
_String_iterator() | |
{ | |
} | |
_String_iterator(pointer _Parg, const _Container_base *_Pstring) | |
: _Mybase(_Parg, _Pstring) | |
{ | |
} | |
typedef pointer _Unchecked_type; | |
_Myiter& _Rechecked(_Unchecked_type _Right) | |
{ | |
this->_Ptr = _Right; | |
return (*this); | |
} | |
_Unchecked_type _Unchecked() const | |
{ | |
return (_Const_cast(this->_Ptr)); | |
} | |
reference operator*() const | |
{ | |
return ((reference)**(_Mybase *)this); | |
} | |
pointer operator->() const | |
{ | |
return (pointer_traits<pointer>::pointer_to(**this)); | |
} | |
_Myiter& operator++() | |
{ | |
++*(_Mybase *)this; | |
return (*this); | |
} | |
_Myiter operator++(int) | |
{ | |
_Myiter _Tmp = *this; | |
++*this; | |
return (_Tmp); | |
} | |
_Myiter& operator--() | |
{ | |
--*(_Mybase *)this; | |
return (*this); | |
} | |
_Myiter operator--(int) | |
{ | |
_Myiter _Tmp = *this; | |
--*this; | |
return (_Tmp); | |
} | |
_Myiter& operator+=(const difference_type _Off) | |
{ | |
*(_Mybase *)this += _Off; | |
return (*this); | |
} | |
_Myiter operator+(const difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp += _Off); | |
} | |
_Myiter& operator-=(const difference_type _Off) | |
{ | |
return (*this += -_Off); | |
} | |
_Myiter operator-(const difference_type _Off) const | |
{ | |
_Myiter _Tmp = *this; | |
return (_Tmp -= _Off); | |
} | |
difference_type operator-(const _Mybase& _Right) const | |
{ | |
return (*(_Mybase *)this - _Right); | |
} | |
reference operator[](const difference_type _Off) const | |
{ | |
return (*(*this + _Off)); | |
} | |
}; | |
template<class _Mystr> inline | |
typename _String_iterator<_Mystr>::_Unchecked_type | |
_Unchecked(_String_iterator<_Mystr> _Iter) | |
{ | |
return (_Iter._Unchecked()); | |
} | |
template<class _Mystr> inline | |
_String_iterator<_Mystr> | |
_Rechecked(_String_iterator<_Mystr>& _Iter, | |
typename _String_iterator<_Mystr> | |
::_Unchecked_type _Right) | |
{ | |
return (_Iter._Rechecked(_Right)); | |
} | |
template<class _Mystr> inline | |
_String_iterator<_Mystr> operator+( | |
typename _String_iterator<_Mystr> | |
::difference_type _Off, | |
_String_iterator<_Mystr> _Next) | |
{ | |
return (_Next += _Off); | |
} | |
template<class _Value_type, | |
class _Size_type, | |
class _Difference_type, | |
class _Pointer, | |
class _Const_pointer, | |
class _Reference, | |
class _Const_reference> | |
struct _String_iter_types | |
{ | |
typedef _Value_type value_type; | |
typedef _Size_type size_type; | |
typedef _Difference_type difference_type; | |
typedef _Pointer pointer; | |
typedef _Const_pointer const_pointer; | |
typedef _Reference reference; | |
typedef _Const_reference const_reference; | |
}; | |
template<class _Ty, | |
class _Alloc0> | |
struct _String_base_types | |
{ | |
typedef _Alloc0 _Alloc; | |
typedef _String_base_types<_Ty, _Alloc> _Myt; | |
typedef _Wrap_alloc<_Alloc> _Alty0; | |
typedef typename _Alty0::template rebind<_Ty>::other _Alty; | |
typedef typename _If<_Is_simple_alloc<_Alty>::value, | |
_Simple_types<typename _Alty::value_type>, | |
_String_iter_types<typename _Alty::value_type, | |
typename _Alty::size_type, | |
typename _Alty::difference_type, | |
typename _Alty::pointer, | |
typename _Alty::const_pointer, | |
typename _Alty::reference, | |
typename _Alty::const_reference> >::type | |
_Val_types; | |
}; | |
template<class _Val_types> | |
class _String_val | |
: public _Container_base | |
{ | |
public: | |
typedef _String_val<_Val_types> _Myt; | |
typedef typename _Val_types::value_type value_type; | |
typedef typename _Val_types::size_type size_type; | |
typedef typename _Val_types::difference_type difference_type; | |
typedef typename _Val_types::pointer pointer; | |
typedef typename _Val_types::const_pointer const_pointer; | |
typedef typename _Val_types::reference reference; | |
typedef typename _Val_types::const_reference const_reference; | |
typedef _String_iterator<_Myt> iterator; | |
typedef _String_const_iterator<_Myt> const_iterator; | |
_String_val() | |
: _Bx(), | |
_Mysize(0), | |
_Myres(0) | |
{ | |
} | |
enum | |
{ | |
_BUF_SIZE = 16 / sizeof (value_type) < 1 ? 1 | |
: 16 / sizeof (value_type)}; | |
enum | |
{ | |
_ALLOC_MASK = sizeof (value_type) <= 1 ? 15 | |
: sizeof (value_type) <= 2 ? 7 | |
: sizeof (value_type) <= 4 ? 3 | |
: sizeof (value_type) <= 8 ? 1 : 0 | |
}; | |
value_type *_Myptr() | |
{ | |
return (_Large_string_engaged() | |
? _Unfancy(_Bx._Ptr) | |
: _Bx._Buf); | |
} | |
const value_type *_Myptr() const | |
{ | |
return (_Large_string_engaged() | |
? _Unfancy(_Bx._Ptr) | |
: _Bx._Buf); | |
} | |
bool _Large_string_engaged() const | |
{ | |
return (this->_BUF_SIZE <= _Myres); | |
} | |
union _Bxty | |
{ | |
_Bxty() | |
{ | |
} | |
~_Bxty() throw () | |
{ | |
} | |
value_type _Buf[_BUF_SIZE]; | |
pointer _Ptr; | |
char _Alias[_BUF_SIZE]; | |
} _Bx; | |
size_type _Mysize; | |
size_type _Myres; | |
}; | |
template<class _Alloc_types> | |
class _String_alloc | |
{ | |
public: | |
typedef _String_alloc<_Alloc_types> _Myt; | |
typedef typename _Alloc_types::_Alloc _Alloc; | |
typedef typename _Alloc_types::_Alty _Alty; | |
typedef typename _Alloc_types::_Val_types _Val_types; | |
typedef _String_val<_Val_types> _Mydata_t; | |
typedef typename _Mydata_t::_Bxty _Bxty; | |
typedef typename _Val_types::value_type value_type; | |
typedef typename _Val_types::size_type size_type; | |
typedef typename _Val_types::difference_type difference_type; | |
typedef typename _Val_types::pointer pointer; | |
typedef typename _Val_types::const_pointer const_pointer; | |
typedef typename _Val_types::reference reference; | |
typedef typename _Val_types::const_reference const_reference; | |
typedef _String_iterator<_Mydata_t> iterator; | |
typedef _String_const_iterator<_Mydata_t> const_iterator; | |
enum | |
{ | |
_BUF_SIZE = _Mydata_t::_BUF_SIZE | |
}; | |
enum | |
{ | |
_ALLOC_MASK = _Mydata_t::_ALLOC_MASK | |
}; | |
value_type *_Myptr() | |
{ | |
return (_Get_data()._Myptr()); | |
} | |
const value_type *_Myptr() const | |
{ | |
return (_Get_data()._Myptr()); | |
} | |
_String_alloc() | |
: _Mypair(_Zero_then_variadic_args_t()) | |
{ | |
} | |
template<class _Any_alloc, | |
class = enable_if_t<!is_same<decay_t<_Any_alloc>, _Myt>::value> > | |
_String_alloc(_Any_alloc&& _Al) | |
: _Mypair(_One_then_variadic_args_t(), | |
::std:: forward<_Any_alloc>(_Al)) | |
{ | |
} | |
void _Copy_alloc(const _Alty& _Al) | |
{ | |
_Pocca(_Getal(), _Al); | |
} | |
void _Move_alloc(_Alty& _Al) | |
{ | |
_Pocma(_Getal(), _Al); | |
} | |
#line 1806 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
void _Orphan_all() | |
{ | |
_Get_data()._Orphan_all(); | |
} | |
void _Swap_all(_Myt& _Right) | |
{ | |
_Get_data()._Swap_all(_Right._Get_data()); | |
} | |
_Alty& _Getal() throw () | |
{ | |
return (_Mypair._Get_first()); | |
} | |
const _Alty& _Getal() const throw () | |
{ | |
return (_Mypair._Get_first()); | |
} | |
_Mydata_t& _Get_data() throw () | |
{ | |
return (_Mypair._Get_second()); | |
} | |
const _Mydata_t& _Get_data() const throw () | |
{ | |
return (_Mypair._Get_second()); | |
} | |
size_type& _Mysize() throw () | |
{ | |
return (_Get_data()._Mysize); | |
} | |
const size_type& _Mysize() const throw () | |
{ | |
return (_Get_data()._Mysize); | |
} | |
size_type& _Myres() throw () | |
{ | |
return (_Get_data()._Myres); | |
} | |
const size_type& _Myres() const throw () | |
{ | |
return (_Get_data()._Myres); | |
} | |
private: | |
_Compressed_pair<_Alty, _Mydata_t> _Mypair; | |
}; | |
template<class _Elem, | |
class _Traits = char_traits<_Elem>, | |
class _Alloc = allocator<_Elem>> | |
class basic_string | |
: public _String_alloc<_String_base_types<_Elem, _Alloc> > | |
{ | |
public: | |
typedef basic_string<_Elem, _Traits, _Alloc> _Myt; | |
typedef _String_alloc<_String_base_types<_Elem, _Alloc> > _Mybase; | |
typedef _Traits traits_type; | |
typedef _Alloc allocator_type; | |
typedef typename _Mybase::_Alty _Alty; | |
typedef typename _Mybase::_Mydata_t _Mydata_t; | |
typedef typename _Mybase::value_type value_type; | |
typedef typename _Mybase::size_type size_type; | |
typedef typename _Mybase::difference_type difference_type; | |
typedef typename _Mybase::pointer pointer; | |
typedef typename _Mybase::const_pointer const_pointer; | |
typedef typename _Mybase::reference reference; | |
typedef typename _Mybase::const_reference const_reference; | |
typedef typename _Mybase::iterator iterator; | |
typedef typename _Mybase::const_iterator const_iterator; | |
typedef ::std:: reverse_iterator<iterator> reverse_iterator; | |
typedef ::std:: reverse_iterator<const_iterator> const_reverse_iterator; | |
using _Use_memcpy_move = bool_constant< | |
_Is_specialization<_Traits, char_traits>::value && is_trivial<pointer>::value>; | |
static constexpr size_t _Memcpy_move_offset = ((size_t)&reinterpret_cast<char const volatile&>((((_Mydata_t*)0)->_Bx))); | |
static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - _Memcpy_move_offset; | |
template<class _Iter> | |
using _Is_elem_cptr = _Disjunction_t< | |
is_same<_Iter, const _Elem * const>, | |
is_same<_Iter, _Elem * const>, | |
is_same<_Iter, const _Elem *>, | |
is_same<_Iter, _Elem *>>; | |
#line 1921 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
basic_string(const _Myt& _Right) | |
: _Mybase(_Right._Getal().select_on_container_copy_construction()) | |
{ | |
_Tidy_init(); | |
_Assign_lv_contents(_Right); | |
} | |
basic_string(const _Myt& _Right, const _Alloc& _Al) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
_Assign_lv_contents(_Right); | |
} | |
basic_string() | |
: _Mybase() | |
{ | |
_Tidy_init(); | |
} | |
explicit basic_string(const _Alloc& _Al) throw () | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
} | |
basic_string(const _Myt& _Right, const size_type _Roff, const _Alloc& _Al = _Alloc()) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Right, _Roff, npos); | |
} | |
basic_string(const _Myt& _Right, const size_type _Roff, const size_type _Count, const _Alloc& _Al = _Alloc()) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Right, _Roff, _Count); | |
} | |
basic_string( const _Elem * const _Ptr, const size_type _Count) | |
: _Mybase() | |
{ | |
_Tidy_init(); | |
assign(_Ptr, _Count); | |
} | |
basic_string( const _Elem * const _Ptr, const size_type _Count, | |
const _Alloc& _Al) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Ptr, _Count); | |
} | |
basic_string( const _Elem * const _Ptr) | |
: _Mybase() | |
{ | |
_Tidy_init(); | |
assign(_Ptr); | |
} | |
basic_string( const _Elem * const _Ptr, const _Alloc& _Al) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Ptr); | |
} | |
basic_string( const size_type _Count, const _Elem _Ch) | |
: _Mybase() | |
{ | |
_Tidy_init(); | |
assign(_Count, _Ch); | |
} | |
basic_string( const size_type _Count, const _Elem _Ch, const _Alloc& _Al) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Count, _Ch); | |
} | |
template<class _Iter, | |
class = enable_if_t<_Is_iterator<_Iter>::value>> | |
basic_string(_Iter _First, _Iter _Last, const _Alloc& _Al = _Alloc()) | |
: _Mybase(_Al) | |
{ | |
; | |
_Tidy_init(); | |
_Construct(_Unchecked(_First), _Unchecked(_Last), _Iter_cat_t<_Iter>()); | |
} | |
template<class _Iter> | |
void _Construct(_Iter _First, const _Iter _Last, input_iterator_tag) | |
{ | |
{ if (1) { | |
for (; _First != _Last; ++_First) | |
push_back(static_cast<_Elem>(*_First)); | |
} else if (0) { | |
_Tidy_deallocate(); | |
; | |
} } | |
} | |
template<class _Iter> | |
void _Construct(const _Iter _First, const _Iter _Last, forward_iterator_tag) | |
{ | |
const size_type _Count = ::std:: distance(_First, _Last); | |
reserve(_Count); | |
_Construct(_First, _Last, input_iterator_tag()); | |
} | |
void _Construct(_Elem * const _First, _Elem * const _Last, random_access_iterator_tag) | |
{ | |
if (_First != _Last) | |
{ | |
assign(_First, _Last - _First); | |
} | |
} | |
void _Construct(const _Elem * const _First, const _Elem * const _Last, random_access_iterator_tag) | |
{ | |
if (_First != _Last) | |
{ | |
assign(_First, _Last - _First); | |
} | |
} | |
basic_string(_Myt&& _Right) throw () | |
: _Mybase(::std:: move(_Right._Getal())) | |
{ | |
_Assign_rv_contents_with_alloc_always_equal(::std:: move(_Right), _Use_memcpy_move{}); | |
} | |
basic_string(_Myt&& _Right, const _Alloc& _Al) | |
: _Mybase(_Al) | |
{ | |
_Assign_rv_contents(::std:: move(_Right), typename _Alty::is_always_equal{}); | |
} | |
#line 2071 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& operator=(_Myt&& _Right) | |
#line 2075 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
_Tidy_deallocate(); | |
this->_Move_alloc(_Right._Getal()); | |
_Assign_rv_contents(::std:: move(_Right), | |
bool_constant<_Alty::propagate_on_container_move_assignment::value | |
|| _Alty::is_always_equal::value>{}); | |
} | |
return (*this); | |
} | |
_Myt& assign(_Myt&& _Right) | |
#line 2092 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
{ | |
*this = ::std:: move(_Right); | |
return (*this); | |
} | |
void _Assign_rv_contents(_Myt&& _Right, true_type) | |
{ | |
_Assign_rv_contents_with_alloc_always_equal(::std:: move(_Right), _Use_memcpy_move{}); | |
} | |
void _Assign_rv_contents(_Myt&& _Right, false_type) | |
{ | |
if (this->_Getal() == _Right._Getal()) | |
{ | |
_Assign_rv_contents_with_alloc_always_equal(::std:: move(_Right), _Use_memcpy_move{}); | |
} | |
else | |
{ | |
_Tidy_init(); | |
_Assign_lv_contents(_Right); | |
} | |
} | |
void _Assign_rv_contents_with_alloc_always_equal(_Myt&& _Right, true_type) | |
{ | |
auto& _Right_data = _Right._Get_data(); | |
#line 2138 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
const auto _My_data_mem = reinterpret_cast<unsigned char *>(::std:: addressof(this->_Get_data())) | |
+ _Memcpy_move_offset; | |
const auto _Right_data_mem = reinterpret_cast<unsigned char *>(::std:: addressof(_Right_data)) | |
+ _Memcpy_move_offset; | |
:: memcpy(_My_data_mem, _Right_data_mem, _Memcpy_move_size); | |
_Right._Tidy_init(); | |
} | |
void _Assign_rv_contents_with_alloc_always_equal(_Myt&& _Right, false_type) | |
{ | |
auto& _My_data = this->_Get_data(); | |
auto& _Right_data = _Right._Get_data(); | |
if (_Right_data._Large_string_engaged()) | |
{ | |
this->_Getal().construct(::std:: addressof(_My_data._Bx._Ptr), _Right_data._Bx._Ptr); | |
_Right_data._Bx._Ptr = pointer(); | |
this->_Swap_all(_Right); | |
} | |
else | |
{ | |
_Traits::copy(_My_data._Bx._Buf, _Right_data._Bx._Buf, _Right_data._Mysize + 1); | |
_Right._Orphan_all(); | |
} | |
_My_data._Mysize = _Right_data._Mysize; | |
_My_data._Myres = _Right_data._Myres; | |
_Right._Tidy_init(); | |
} | |
void _Assign_lv_contents(const _Myt& _Right) | |
{ | |
assign(_Right, 0, npos); | |
} | |
basic_string(initializer_list<_Elem> _Ilist, const _Alloc& _Al = allocator_type()) | |
: _Mybase(_Al) | |
{ | |
_Tidy_init(); | |
assign(_Ilist.begin(), _Ilist.end()); | |
} | |
_Myt& operator=(initializer_list<_Elem> _Ilist) | |
{ | |
return (assign(_Ilist.begin(), _Ilist.end())); | |
} | |
_Myt& operator+=(initializer_list<_Elem> _Ilist) | |
{ | |
return (append(_Ilist.begin(), _Ilist.end())); | |
} | |
_Myt& assign(initializer_list<_Elem> _Ilist) | |
{ | |
return (assign(_Ilist.begin(), _Ilist.end())); | |
} | |
_Myt& append(initializer_list<_Elem> _Ilist) | |
{ | |
return (append(_Ilist.begin(), _Ilist.end())); | |
} | |
iterator insert(const const_iterator _Where, const initializer_list<_Elem> _Ilist) | |
{ | |
return (insert(_Where, _Ilist.begin(), _Ilist.end())); | |
} | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, const initializer_list<_Elem> _Ilist) | |
{ | |
return (replace(_First, _Last, _Ilist.begin(), _Ilist.end())); | |
} | |
~basic_string() throw () | |
{ | |
_Tidy_deallocate(); | |
} | |
static const size_type npos; | |
_Myt& operator=(const _Myt& _Right) | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
#pragma warning(push) | |
#pragma warning(disable: 4127) | |
if (_Alty::propagate_on_container_copy_assignment::value | |
&& this->_Getal() != _Right._Getal()) | |
{ | |
_Tidy_deallocate(); | |
} | |
#pragma warning(pop) | |
this->_Copy_alloc(_Right._Getal()); | |
_Assign_lv_contents(_Right); | |
} | |
return (*this); | |
} | |
#line 2248 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& operator=( const _Elem * const _Ptr) | |
{ | |
return (assign(_Ptr)); | |
} | |
_Myt& operator=(const _Elem _Ch) | |
{ | |
return (assign(1, _Ch)); | |
} | |
_Myt& operator+=(const _Myt& _Right) | |
{ | |
return (append(_Right)); | |
} | |
#line 2270 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& operator+=( const _Elem * const _Ptr) | |
{ | |
return (append(_Ptr)); | |
} | |
_Myt& operator+=(_Elem _Ch) | |
{ | |
push_back(_Ch); | |
return (*this); | |
} | |
_Myt& append(const _Myt& _Right) | |
{ | |
return (append(_Right, 0, npos)); | |
} | |
_Myt& append(const _Myt& _Right, const size_type _Roff, size_type _Count = npos) | |
{ | |
_Right._Check_offset(_Roff); | |
_Count = _Right._Clamp_suffix_size(_Roff, _Count); | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Traits::copy(this->_Myptr() + this->_Mysize(), _Right._Myptr() + _Roff, _Count); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
#line 2319 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& append( const _Elem * const _Ptr, const size_type _Count) | |
{ | |
if (_Inside(_Ptr)) | |
{ | |
return (append(*this, _Ptr - this->_Myptr(), _Count)); | |
} | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Traits::copy(this->_Myptr() + this->_Mysize(), _Ptr, _Count); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
_Myt& append( const _Elem * const _Ptr) | |
{ | |
return (append(_Ptr, _Traits::length(_Ptr))); | |
} | |
_Myt& append( const size_type _Count, const _Elem _Ch) | |
{ | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Chassign(this->_Mysize(), _Count, _Ch); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
template<class _Iter, | |
class = enable_if_t<_Is_iterator<_Iter>::value>> | |
_Myt& append(const _Iter _First, const _Iter _Last) | |
{ | |
return (replace(end(), end(), _First, _Last)); | |
} | |
_Myt& assign(const _Myt& _Right) | |
{ | |
*this = _Right; | |
return (*this); | |
} | |
_Myt& assign(const _Myt& _Right, const size_type _Roff, size_type _Count = npos) | |
{ | |
_Right._Check_offset(_Roff); | |
_Count = _Right._Clamp_suffix_size(_Roff, _Count); | |
if (this == ::std:: addressof(_Right)) | |
{ | |
erase(_Roff + _Count); | |
erase(0, _Roff); | |
} | |
else if (_Grow(_Count)) | |
{ | |
_Traits::copy(this->_Myptr(), _Right._Myptr() + _Roff, _Count); | |
_Eos(_Count); | |
} | |
return (*this); | |
} | |
#line 2410 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& assign( const _Elem * const _Ptr, const size_type _Count) | |
{ | |
if (_Inside(_Ptr)) | |
{ | |
return (assign(*this, _Ptr - this->_Myptr(), _Count)); | |
} | |
if (_Grow(_Count)) | |
{ | |
_Traits::copy(this->_Myptr(), _Ptr, _Count); | |
_Eos(_Count); | |
} | |
return (*this); | |
} | |
_Myt& assign( const _Elem * const _Ptr) | |
{ | |
return (assign(_Ptr, _Traits::length(_Ptr))); | |
} | |
_Myt& assign( const size_type _Count, const _Elem _Ch) | |
{ | |
if (_Count == npos) | |
{ | |
_Xlen(); | |
} | |
if (_Grow(_Count)) | |
{ | |
_Chassign(0, _Count, _Ch); | |
_Eos(_Count); | |
} | |
return (*this); | |
} | |
template<class _Iter, | |
class = enable_if_t<_Is_iterator<_Iter>::value>> | |
_Myt& assign(const _Iter _First, const _Iter _Last) | |
{ | |
return (replace(begin(), end(), _First, _Last)); | |
} | |
_Myt& insert(const size_type _Off, const _Myt& _Right) | |
{ | |
return (insert(_Off, _Right, 0, npos)); | |
} | |
_Myt& insert(const size_type _Off, const _Myt& _Right, const size_type _Roff, size_type _Count = npos) | |
{ | |
_Check_offset(_Off); | |
_Right._Check_offset(_Roff); | |
_Count = _Right._Clamp_suffix_size(_Roff, _Count); | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off, | |
this->_Mysize() - _Off); | |
if (this == ::std:: addressof(_Right)) | |
{ | |
_Traits::move(this->_Myptr() + _Off, this->_Myptr() + _Min_value(_Off, _Roff), _Count); | |
} | |
else | |
{ | |
_Traits::copy(this->_Myptr() + _Off, _Right._Myptr() + _Roff, _Count); | |
} | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
#line 2506 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& insert(const size_type _Off, const _Elem * const _Ptr, | |
const size_type _Count) | |
{ | |
if (_Inside(_Ptr)) | |
{ | |
return (insert(_Off, *this, | |
_Ptr - this->_Myptr(), _Count)); | |
} | |
_Check_offset(_Off); | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off, | |
this->_Mysize() - _Off); | |
_Traits::copy(this->_Myptr() + _Off, _Ptr, _Count); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
_Myt& insert(const size_type _Off, const _Elem * const _Ptr) | |
{ | |
return (insert(_Off, _Ptr, _Traits::length(_Ptr))); | |
} | |
_Myt& insert(const size_type _Off, const size_type _Count, const _Elem _Ch) | |
{ | |
_Check_offset(_Off); | |
if (npos - this->_Mysize() <= _Count) | |
{ | |
_Xlen(); | |
} | |
const size_type _Num = this->_Mysize() + _Count; | |
if (_Count != 0 && _Grow(_Num)) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off, | |
this->_Mysize() - _Off); | |
_Chassign(_Off, _Count, _Ch); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
iterator insert(const const_iterator _Where, const _Elem _Ch) | |
{ | |
size_type _Off = _Where - begin(); | |
insert(_Off, 1, _Ch); | |
return (begin() + _Off); | |
} | |
iterator insert(const const_iterator _Where, const size_type _Count, const _Elem _Ch) | |
{ | |
const size_type _Off = _Where - begin(); | |
insert(_Off, _Count, _Ch); | |
return (begin() + _Off); | |
} | |
template<class _Iter, | |
class = enable_if_t<_Is_iterator<_Iter>::value>> | |
iterator insert(const const_iterator _Where, const _Iter _First, const _Iter _Last) | |
{ | |
const size_type _Off = _Where - begin(); | |
replace(_Where, _Where, _First, _Last); | |
return (begin() + _Off); | |
} | |
_Myt& erase(const size_type _Off = 0) | |
{ | |
_Check_offset(_Off); | |
_Eos(_Off); | |
return (*this); | |
} | |
_Myt& erase(const size_type _Off, const size_type _Count) | |
{ | |
_Check_offset(_Off); | |
if (this->_Mysize() - _Off <= _Count) | |
{ | |
_Eos(_Off); | |
} | |
else if (_Count != 0) | |
{ | |
value_type *_Ptr = this->_Myptr() + _Off; | |
size_type _Newsize = this->_Mysize() - _Count; | |
_Traits::move(_Ptr, _Ptr + _Count, _Newsize - _Off); | |
_Eos(_Newsize); | |
} | |
return (*this); | |
} | |
iterator erase(const const_iterator _Where) | |
{ | |
const size_type _Count = _Where - begin(); | |
erase(_Count, 1); | |
return (begin() + _Count); | |
} | |
iterator erase(const const_iterator _First, const const_iterator _Last) | |
{ | |
; | |
const size_type _Count = _First - begin(); | |
erase(_Count, _Last - _First); | |
return (begin() + _Count); | |
} | |
void clear() throw () | |
{ | |
_Eos(0); | |
} | |
_Myt& replace(const size_type _Off, const size_type _N0, const _Myt& _Right) | |
{ | |
return (replace(_Off, _N0, _Right, 0, npos)); | |
} | |
_Myt& replace(const size_type _Off, size_type _N0, | |
const _Myt& _Right, const size_type _Roff, size_type _Count = npos) | |
{ | |
_Check_offset(_Off); | |
_Right._Check_offset(_Roff); | |
_N0 = _Clamp_suffix_size(_Off, _N0); | |
_Count = _Right._Clamp_suffix_size(_Roff, _Count); | |
if (npos - _Count <= this->_Mysize() - _N0) | |
{ | |
_Xlen(); | |
} | |
const size_type _Nm = this->_Mysize() - _N0 - _Off; | |
const size_type _Newsize = this->_Mysize() + _Count - _N0; | |
if (this->_Mysize() < _Newsize) | |
{ | |
_Grow(_Newsize); | |
} | |
if (_Count == _N0) | |
{ | |
_Traits::move(this->_Myptr() + _Off, | |
_Right._Myptr() + _Roff, _Count); | |
} | |
else if (this != ::std:: addressof(_Right)) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
_Traits::copy(this->_Myptr() + _Off, | |
_Right._Myptr() + _Roff, _Count); | |
} | |
else if (_Count < _N0) | |
{ | |
_Traits::move(this->_Myptr() + _Off, | |
this->_Myptr() + _Roff, _Count); | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
} | |
else if (_Roff <= _Off) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
_Traits::move(this->_Myptr() + _Off, | |
this->_Myptr() + _Roff, _Count); | |
} | |
else if (_Off + _N0 <= _Roff) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
_Traits::move(this->_Myptr() + _Off, | |
this->_Myptr() + (_Roff + _Count - _N0), | |
_Count); | |
} | |
else | |
{ | |
_Traits::move(this->_Myptr() + _Off, | |
this->_Myptr() + _Roff, _N0); | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
_Traits::move(this->_Myptr() + _Off + _N0, | |
this->_Myptr() + _Roff + _Count, | |
_Count - _N0); | |
} | |
_Eos(_Newsize); | |
return (*this); | |
} | |
#line 2717 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& replace(const size_type _Off, size_type _N0, | |
const _Elem * const _Ptr, const size_type _Count) | |
{ | |
if (_Inside(_Ptr)) | |
{ | |
return (replace(_Off, _N0, *this, | |
_Ptr - this->_Myptr(), | |
_Count)); | |
} | |
_Check_offset(_Off); | |
_N0 = _Clamp_suffix_size(_Off, _N0); | |
if (npos - _Count <= this->_Mysize() - _N0) | |
{ | |
_Xlen(); | |
} | |
size_type _Nm = this->_Mysize() - _N0 - _Off; | |
if (_Count < _N0) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
} | |
const size_type _Num = this->_Mysize() + _Count - _N0; | |
if ((_Count != 0 || _N0 != 0) | |
&& _Grow(_Num)) | |
{ | |
if (_N0 < _Count) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
} | |
_Traits::copy(this->_Myptr() + _Off, _Ptr, _Count); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
_Myt& replace(const size_type _Off, const size_type _N0, const _Elem * const _Ptr) | |
{ | |
return (replace(_Off, _N0, _Ptr, _Traits::length(_Ptr))); | |
} | |
_Myt& replace(const size_type _Off, size_type _N0, const size_type _Count, const _Elem _Ch) | |
{ | |
_Check_offset(_Off); | |
_N0 = _Clamp_suffix_size(_Off, _N0); | |
if (npos - _Count <= this->_Mysize() - _N0) | |
{ | |
_Xlen(); | |
} | |
const size_type _Nm = this->_Mysize() - _N0 - _Off; | |
if (_Count < _N0) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
} | |
const size_type _Num = this->_Mysize() + _Count - _N0; | |
if ((_Count != 0 || _N0 != 0) && _Grow(_Num)) | |
{ | |
if (_N0 < _Count) | |
{ | |
_Traits::move(this->_Myptr() + _Off + _Count, | |
this->_Myptr() + _Off + _N0, _Nm); | |
} | |
_Chassign(_Off, _Count, _Ch); | |
_Eos(_Num); | |
} | |
return (*this); | |
} | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, const _Myt& _Right) | |
{ | |
return (replace(_First - begin(), _Last - _First, _Right)); | |
} | |
#line 2805 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, | |
const _Elem * const _Ptr, const size_type _Count) | |
{ | |
return (replace(_First - begin(), _Last - _First, _Ptr, _Count)); | |
} | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, const _Elem * const _Ptr) | |
{ | |
return (replace(_First - begin(), _Last - _First, _Ptr)); | |
} | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, const size_type _Count, const _Elem _Ch) | |
{ | |
return (replace(_First - begin(), _Last - _First, _Count, _Ch)); | |
} | |
template<class _Iter> | |
_Myt& _Replace_range(const const_iterator _First, const const_iterator _Last, | |
const _Iter _First2, const _Iter _Last2, false_type) | |
{ | |
const _Myt _Right(_First2, _Last2, get_allocator()); | |
replace(_First, _Last, _Right); | |
return (*this); | |
} | |
template<class _Ptr> | |
_Myt& _Replace_range(const const_iterator _First, const const_iterator _Last, | |
const _Ptr _First2, const _Ptr _Last2, true_type) | |
{ | |
if (_First2 == _Last2) | |
{ | |
erase(_First - cbegin(), _Last - _First); | |
} | |
else | |
{ | |
replace(_First - cbegin(), _Last - _First, _First2, _Last2 - _First2); | |
} | |
return (*this); | |
} | |
template<class _Iter, | |
class = enable_if_t<_Is_iterator<_Iter>::value>> | |
_Myt& replace(const const_iterator _First, const const_iterator _Last, const _Iter _First2, const _Iter _Last2) | |
{ | |
; | |
const auto _UFirst2 = _Unchecked(_First2); | |
const auto _ULast2 = _Unchecked(_Last2); | |
return (_Replace_range(_First, _Last, _UFirst2, _ULast2, _Is_elem_cptr<decltype(_UFirst2)>())); | |
} | |
iterator begin() throw () | |
{ | |
auto _My_data = ::std:: addressof(this->_Get_data()); | |
return (iterator(this->_Getal().address(*_My_data->_Myptr()), _My_data)); | |
} | |
const_iterator begin() const throw () | |
{ | |
auto _My_data = ::std:: addressof(this->_Get_data()); | |
return (const_iterator(this->_Getal().address(*_My_data->_Myptr()), _My_data)); | |
} | |
iterator end() throw () | |
{ | |
auto _My_data = ::std:: addressof(this->_Get_data()); | |
return (iterator(this->_Getal().address(*_My_data->_Myptr()) + _My_data->_Mysize, _My_data)); | |
} | |
const_iterator end() const throw () | |
{ | |
auto _My_data = ::std:: addressof(this->_Get_data()); | |
return (const_iterator(this->_Getal().address(*_My_data->_Myptr()) + _My_data->_Mysize, _My_data)); | |
} | |
reverse_iterator rbegin() throw () | |
{ | |
return (reverse_iterator(end())); | |
} | |
const_reverse_iterator rbegin() const throw () | |
{ | |
return (const_reverse_iterator(end())); | |
} | |
reverse_iterator rend() throw () | |
{ | |
return (reverse_iterator(begin())); | |
} | |
const_reverse_iterator rend() const throw () | |
{ | |
return (const_reverse_iterator(begin())); | |
} | |
const_iterator cbegin() const throw () | |
{ | |
return (begin()); | |
} | |
const_iterator cend() const throw () | |
{ | |
return (end()); | |
} | |
const_reverse_iterator crbegin() const throw () | |
{ | |
return (rbegin()); | |
} | |
const_reverse_iterator crend() const throw () | |
{ | |
return (rend()); | |
} | |
void shrink_to_fit() | |
{ | |
if ((size() | this->_ALLOC_MASK) < capacity()) | |
{ | |
_Myt _Tmp(*this); | |
swap(_Tmp); | |
} | |
} | |
reference at(const size_type _Off) | |
{ | |
_Check_offset_exclusive(_Off); | |
return (this->_Myptr()[_Off]); | |
} | |
const_reference at(const size_type _Off) const | |
{ | |
_Check_offset_exclusive(_Off); | |
return (this->_Myptr()[_Off]); | |
} | |
reference operator[](const size_type _Off) | |
{ | |
; | |
return (this->_Myptr()[_Off]); | |
} | |
const_reference operator[](const size_type _Off) const | |
{ | |
; | |
return (this->_Myptr()[_Off]); | |
} | |
#line 2960 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
void push_back(const _Elem _Ch) | |
{ | |
auto& _My_data = this->_Get_data(); | |
auto& _Sz = _My_data._Mysize; | |
if (_Sz == _My_data._Myres) | |
{ | |
_Grow(_Sz + 1); | |
} | |
auto _Ptr = _My_data._Myptr(); | |
_Traits::assign(_Ptr[_Sz], _Ch); | |
++_Sz; | |
_Traits::assign(_Ptr[_Sz], _Elem()); | |
} | |
void pop_back() | |
{ | |
erase(this->_Mysize() - 1); | |
} | |
reference front() | |
{ | |
return (*begin()); | |
} | |
const_reference front() const | |
{ | |
return (*begin()); | |
} | |
reference back() | |
{ | |
return (*(end() - 1)); | |
} | |
const_reference back() const | |
{ | |
return (*(end() - 1)); | |
} | |
const _Elem * c_str() const throw () | |
{ | |
return (this->_Myptr()); | |
} | |
const _Elem * data() const throw () | |
{ | |
return (this->_Myptr()); | |
} | |
#line 3017 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type length() const throw () | |
{ | |
return (this->_Mysize()); | |
} | |
size_type size() const throw () | |
{ | |
return (this->_Mysize()); | |
} | |
size_type max_size() const throw () | |
{ | |
const size_type _Num = this->_Getal().max_size(); | |
return (_Num <= 1 ? 1 : _Num - 1); | |
} | |
void resize( const size_type _Newsize) | |
{ | |
resize(_Newsize, _Elem()); | |
} | |
void resize( const size_type _Newsize, const _Elem _Ch) | |
{ | |
if (_Newsize <= this->_Mysize()) | |
{ | |
_Eos(_Newsize); | |
} | |
else | |
{ | |
append(_Newsize - this->_Mysize(), _Ch); | |
} | |
} | |
size_type capacity() const throw () | |
{ | |
return (this->_Myres()); | |
} | |
void reserve( const size_type _Newcap = 0) | |
{ | |
auto& _My_data = this->_Get_data(); | |
if (_My_data._Mysize > _Newcap) | |
{ | |
return; | |
} | |
if (_My_data._Myres == _Newcap) | |
{ | |
return; | |
} | |
if (_My_data._Myres < _Newcap) | |
{ | |
_Copy(_Newcap); | |
return; | |
} | |
if (this->_BUF_SIZE > _Newcap && _My_data._Large_string_engaged()) | |
{ | |
this->_Orphan_all(); | |
pointer _Ptr = _My_data._Bx._Ptr; | |
auto& _Al = this->_Getal(); | |
_Al.destroy(::std:: addressof(_My_data._Bx._Ptr)); | |
_Traits::copy(_My_data._Bx._Buf, _Unfancy(_Ptr), _My_data._Mysize + 1); | |
_Al.deallocate(_Ptr, _My_data._Myres + 1); | |
_My_data._Myres = this->_BUF_SIZE - 1; | |
return; | |
} | |
} | |
bool empty() const throw () | |
{ | |
return (this->_Mysize() == 0); | |
} | |
size_type copy( _Elem * const _Ptr, | |
size_type _Count, const size_type _Off = 0) const | |
{ | |
_Check_offset(_Off); | |
_Count = _Clamp_suffix_size(_Off, _Count); | |
_Traits::copy(_Ptr, this->_Myptr() + _Off, _Count); | |
return (_Count); | |
} | |
size_type _Copy_s( | |
_Elem * const _Dest, const size_type _Dest_size, | |
size_type _Count, const size_type _Off = 0) const | |
{ | |
_Check_offset(_Off); | |
_Count = _Clamp_suffix_size(_Off, _Count); | |
_Traits::_Copy_s(_Dest, _Dest_size, this->_Myptr() + _Off, _Count); | |
return (_Count); | |
} | |
void _Swap_data(_Myt& _Right, true_type) | |
{ | |
const auto _My_data_mem = reinterpret_cast<unsigned char *>(::std:: addressof(this->_Get_data())) | |
+ _Memcpy_move_offset; | |
const auto _Right_data_mem = reinterpret_cast<unsigned char *>(::std:: addressof(_Right._Get_data())) | |
+ _Memcpy_move_offset; | |
unsigned char _Temp_mem[_Memcpy_move_size]; | |
:: memcpy(_Temp_mem, _My_data_mem, _Memcpy_move_size); | |
:: memcpy(_My_data_mem, _Right_data_mem, _Memcpy_move_size); | |
:: memcpy(_Right_data_mem, _Temp_mem, _Memcpy_move_size); | |
} | |
void _Swap_bx_large_with_small(_Mydata_t& _Starts_large, _Mydata_t& _Starts_small) | |
{ | |
pointer _Ptr = _Starts_large._Bx._Ptr; | |
auto& _Al = this->_Getal(); | |
_Al.destroy(::std:: addressof(_Starts_large._Bx._Ptr)); | |
_Traits::copy(_Starts_large._Bx._Buf, _Starts_small._Bx._Buf, this->_BUF_SIZE); | |
_Al.construct(::std:: addressof(_Starts_small._Bx._Ptr), _Ptr); | |
} | |
void _Swap_data(_Myt& _Right, false_type) | |
{ | |
auto& _My_data = this->_Get_data(); | |
auto& _Right_data = _Right._Get_data(); | |
const bool _My_large = _My_data._Large_string_engaged(); | |
const bool _Right_large = _Right_data._Large_string_engaged(); | |
if (_My_large) | |
{ | |
if (_Right_large) | |
{ | |
_Swap_adl(_My_data._Bx._Ptr, _Right_data._Bx._Ptr); | |
} | |
else | |
{ | |
_Swap_bx_large_with_small(_My_data, _Right_data); | |
} | |
} | |
else | |
{ | |
if (_Right_large) | |
{ | |
_Swap_bx_large_with_small(_Right_data, _My_data); | |
} | |
else | |
{ | |
_Elem _Temp_buf[_Mybase::_BUF_SIZE]; | |
_Traits::copy(_Temp_buf, _My_data._Bx._Buf, this->_BUF_SIZE); | |
_Traits::copy(_My_data._Bx._Buf, _Right_data._Bx._Buf, this->_BUF_SIZE); | |
_Traits::copy(_Right_data._Bx._Buf, _Temp_buf, this->_BUF_SIZE); | |
} | |
} | |
::std:: swap(this->_Mysize(), _Right._Mysize()); | |
::std:: swap(this->_Myres(), _Right._Myres()); | |
} | |
void swap(_Myt& _Right) | |
#line 3175 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
_Pocs(this->_Getal(), _Right._Getal()); | |
#line 3200 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
} | |
_Swap_data(_Right, _Use_memcpy_move{}); | |
} | |
#line 3212 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type find(const _Myt& _Right, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type find( const _Elem * const _Ptr, const size_type _Off, const size_type _Count) const | |
throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type find( const _Elem * const _Ptr, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type find(const _Elem _Ch, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
#line 3245 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type rfind(const _Myt& _Right, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_rfind<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type rfind( const _Elem * const _Ptr, const size_type _Off, const size_type _Count) const | |
throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_rfind<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type rfind( const _Elem * const _Ptr, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_rfind<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type rfind(const _Elem _Ch, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_rfind_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
#line 3278 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type find_first_of(const _Myt& _Right, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_first_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, | |
_Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type find_first_of( const _Elem * const _Ptr, const size_type _Off, | |
const size_type _Count) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_first_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type find_first_of( const _Elem * const _Ptr, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_first_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type find_first_of(const _Elem _Ch, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
#line 3311 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type find_last_of(const _Myt& _Right, size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_last_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, | |
_Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type find_last_of( const _Elem * const _Ptr, const size_type _Off, | |
const size_type _Count) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_last_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type find_last_of( const _Elem * const _Ptr, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_last_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type find_last_of(const _Elem _Ch, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_rfind_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
#line 3344 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type find_first_not_of(const _Myt& _Right, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_first_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, | |
_Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type find_first_not_of( const _Elem * const _Ptr, const size_type _Off, | |
const size_type _Count) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_first_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type find_first_not_of( const _Elem * const _Ptr, size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_first_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type find_first_not_of(const _Elem _Ch, const size_type _Off = 0) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_not_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
#line 3377 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
size_type find_last_not_of(const _Myt& _Right, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_last_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, | |
_Right._Myptr(), _Right._Mysize()))); | |
} | |
size_type find_last_not_of( const _Elem * const _Ptr, const size_type _Off, | |
const size_type _Count) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_find_last_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ptr, _Count))); | |
} | |
size_type find_last_not_of( const _Elem * const _Ptr, const size_type _Off = npos) const | |
throw () | |
{ | |
return (static_cast<size_type>(_Traits_find_last_not_of<_Traits>(this->_Myptr(), this->_Mysize(), _Off, | |
_Ptr, _Traits::length(_Ptr)))); | |
} | |
size_type find_last_not_of(const _Elem _Ch, const size_type _Off = npos) const throw () | |
{ | |
return (static_cast<size_type>( | |
_Traits_rfind_not_ch<_Traits>(this->_Myptr(), this->_Mysize(), _Off, _Ch))); | |
} | |
_Myt substr(const size_type _Off = 0, const size_type _Count = npos) const | |
{ | |
return (_Myt(*this, _Off, _Count, get_allocator())); | |
} | |
size_type _Clamp_suffix_size(const size_type _Off, const size_type _Size) const throw () | |
{ | |
return (_Min_value(_Size, this->_Mysize() - _Off)); | |
} | |
bool _Equal(const _Myt& _Right) const throw () | |
{ | |
return (_Traits_equal<_Traits>(this->_Myptr(), this->_Mysize(), _Right._Myptr(), _Right._Mysize())); | |
} | |
bool _Equal( const _Elem * const _Ptr) const throw () | |
{ | |
return (_Traits_equal<_Traits>(this->_Myptr(), this->_Mysize(), _Ptr, _Traits::length(_Ptr))); | |
} | |
#line 3451 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
int compare(const _Myt& _Right) const throw () | |
{ | |
return (_Traits_compare<_Traits>(this->_Myptr(), this->_Mysize(), | |
_Right._Myptr(), _Right._Mysize())); | |
} | |
int compare(size_type _Off, size_type _N0, const _Myt& _Right) const | |
{ | |
_Check_offset(_Off); | |
return (_Traits_compare<_Traits>(this->_Myptr() + _Off, _Clamp_suffix_size(_Off, _N0), | |
_Right._Myptr(), _Right._Mysize())); | |
} | |
int compare(const size_type _Off, const size_type _N0, const _Myt& _Right, | |
const size_type _Roff, const size_type _Count = npos) const | |
{ | |
_Check_offset(_Off); | |
_Right._Check_offset(_Roff); | |
return (_Traits_compare<_Traits>(this->_Myptr() + _Off, _Clamp_suffix_size(_Off, _N0), | |
_Right._Myptr() + _Roff, _Right._Clamp_suffix_size(_Roff, _Count))); | |
} | |
int compare( const _Elem * const _Ptr) const throw () | |
{ | |
return (_Traits_compare<_Traits>(this->_Myptr(), this->_Mysize(), | |
_Ptr, _Traits::length(_Ptr))); | |
} | |
int compare(const size_type _Off, const size_type _N0, const _Elem * const _Ptr) const | |
{ | |
_Check_offset(_Off); | |
return (_Traits_compare<_Traits>(this->_Myptr() + _Off, _Clamp_suffix_size(_Off, _N0), | |
_Ptr, _Traits::length(_Ptr))); | |
} | |
int compare(const size_type _Off, const size_type _N0, const _Elem * const _Ptr, | |
const size_type _Count) const | |
{ | |
_Check_offset(_Off); | |
return (_Traits_compare<_Traits>(this->_Myptr() + _Off, _Clamp_suffix_size(_Off, _N0), | |
_Ptr, _Count)); | |
} | |
allocator_type get_allocator() const throw () | |
{ | |
allocator_type _Ret(this->_Getal()); | |
return (_Ret); | |
} | |
void _Chassign(const size_type _Off, const size_type _Count, const _Elem _Ch) | |
{ | |
if (_Count == 1) | |
{ | |
_Traits::assign(*(this->_Myptr() + _Off), _Ch); | |
} | |
else | |
{ | |
_Traits::assign(this->_Myptr() + _Off, _Count, _Ch); | |
} | |
} | |
void _Copy(const size_type _Newsize) | |
{ | |
const auto _Max = max_size(); | |
if (_Newsize > _Max) | |
{ | |
_Xlen(); | |
} | |
auto& _My_data = this->_Get_data(); | |
const size_type _Oldres = _My_data._Myres; | |
size_type _Newres = _Newsize | this->_ALLOC_MASK; | |
if (_Max < _Newres) | |
{ | |
_Newres = _Newsize; | |
} | |
else if (_Oldres / 2 <= _Newres / 3) | |
; | |
else if (_Oldres <= _Max - _Oldres / 2) | |
{ | |
_Newres = _Oldres + _Oldres / 2; | |
} | |
else | |
{ | |
_Newres = _Max; | |
} | |
auto& _Al = this->_Getal(); | |
pointer _Ptr; | |
{ if (1) { | |
_Ptr = _Al.allocate(_Newres + 1); | |
} else if (0) { | |
_Newres = _Newsize; | |
_Ptr = _Al.allocate(_Newres + 1); | |
} } | |
this->_Orphan_all(); | |
if (_My_data._Large_string_engaged()) | |
{ | |
_Traits::copy(_Unfancy(_Ptr), _Unfancy(_My_data._Bx._Ptr), _My_data._Mysize + 1); | |
_Al.deallocate(_My_data._Bx._Ptr, _Oldres + 1); | |
_My_data._Bx._Ptr = _Ptr; | |
} | |
else | |
{ | |
_Traits::copy(_Unfancy(_Ptr), _My_data._Bx._Buf, _My_data._Mysize + 1); | |
_Al.construct(::std:: addressof(_My_data._Bx._Ptr), _Ptr); | |
} | |
_My_data._Myres = _Newres; | |
} | |
void _Eos(const size_type _Newsize) | |
{ | |
auto& _My_data = this->_Get_data(); | |
_Traits::assign(_My_data._Myptr()[_My_data._Mysize = _Newsize], _Elem()); | |
} | |
bool _Grow(const size_type _Newsize) | |
{ | |
if (_Newsize == 0) | |
{ | |
_Eos(0); | |
return (false); | |
} | |
if (this->_Myres() < _Newsize) | |
{ | |
_Copy(_Newsize); | |
} | |
return (true); | |
} | |
bool _Inside(const _Elem * const _Ptr) const | |
{ | |
const auto& _My_data = this->_Get_data(); | |
const _Elem * const _My_chars = _My_data._Myptr(); | |
return (_My_chars <= _Ptr && _Ptr < _My_chars + _My_data._Mysize); | |
} | |
void _Tidy_init() | |
{ | |
auto& _My_data = this->_Get_data(); | |
_My_data._Mysize = 0; | |
_My_data._Myres = this->_BUF_SIZE - 1; | |
_Traits::assign(_My_data._Bx._Buf[0], _Elem()); | |
} | |
void _Tidy_deallocate() | |
{ | |
this->_Orphan_all(); | |
auto& _My_data = this->_Get_data(); | |
if (_My_data._Large_string_engaged()) | |
{ | |
pointer _Ptr = _My_data._Bx._Ptr; | |
auto& _Al = this->_Getal(); | |
_Al.destroy(::std:: addressof(_My_data._Bx._Ptr)); | |
_Al.deallocate(_Ptr, _My_data._Myres + 1); | |
} | |
_My_data._Mysize = 0; | |
_My_data._Myres = this->_BUF_SIZE - 1; | |
_Traits::assign(_My_data._Bx._Buf[0], _Elem()); | |
} | |
[[noreturn]] static void _Xlen() | |
{ | |
_Xlength_error("string too long"); | |
} | |
void _Check_offset(const size_type _Off) const | |
{ | |
if (this->_Mysize() < _Off) | |
{ | |
_Xran(); | |
} | |
} | |
void _Check_offset_exclusive(const size_type _Off) const | |
{ | |
if (this->_Mysize() <= _Off) | |
{ | |
_Xran(); | |
} | |
} | |
[[noreturn]] static void _Xran() | |
{ | |
_Xout_of_range("invalid string position"); | |
} | |
}; | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> | |
const typename basic_string<_Elem, _Traits, _Alloc>::size_type | |
basic_string<_Elem, _Traits, _Alloc>::npos = | |
(typename basic_string<_Elem, _Traits, _Alloc>::size_type)(-1); | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
void swap(basic_string<_Elem, _Traits, _Alloc>& _Left, | |
basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
_Left.swap(_Right); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
basic_string<_Elem, _Traits, _Alloc> _Ans; | |
_Ans.reserve(_Left.size() + _Right.size()); | |
_Ans += _Left; | |
_Ans += _Right; | |
return (_Ans); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
basic_string<_Elem, _Traits, _Alloc> _Ans; | |
_Ans.reserve(_Traits::length(_Left) + _Right.size()); | |
_Ans += _Left; | |
_Ans += _Right; | |
return (_Ans); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const _Elem _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
basic_string<_Elem, _Traits, _Alloc> _Ans; | |
_Ans.reserve(1 + _Right.size()); | |
_Ans += _Left; | |
_Ans += _Right; | |
return (_Ans); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
basic_string<_Elem, _Traits, _Alloc> _Ans; | |
_Ans.reserve(_Left.size() + _Traits::length(_Right)); | |
_Ans += _Left; | |
_Ans += _Right; | |
return (_Ans); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem _Right) | |
{ | |
basic_string<_Elem, _Traits, _Alloc> _Ans; | |
_Ans.reserve(_Left.size() + 1); | |
_Ans += _Left; | |
_Ans += _Right; | |
return (_Ans); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
basic_string<_Elem, _Traits, _Alloc>&& _Right) | |
{ | |
return (::std:: move(_Right.insert(0, _Left))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
basic_string<_Elem, _Traits, _Alloc>&& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (::std:: move(_Left.append(_Right))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
basic_string<_Elem, _Traits, _Alloc>&& _Left, | |
basic_string<_Elem, _Traits, _Alloc>&& _Right) | |
{ | |
if (_Right.size() <= _Left.capacity() - _Left.size() | |
|| _Right.capacity() - _Right.size() < _Left.size()) | |
return (::std:: move(_Left.append(_Right))); | |
else | |
return (::std:: move(_Right.insert(0, _Left))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const _Elem * const _Left, | |
basic_string<_Elem, _Traits, _Alloc>&& _Right) | |
{ | |
return (::std:: move(_Right.insert(0, _Left))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
const _Elem _Left, | |
basic_string<_Elem, _Traits, _Alloc>&& _Right) | |
{ | |
typedef typename basic_string<_Elem, _Traits, _Alloc>::size_type | |
size_type; | |
return (::std:: move(_Right.insert((size_type)0, (size_type)1, _Left))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
basic_string<_Elem, _Traits, _Alloc>&& _Left, | |
const _Elem * const _Right) | |
{ | |
return (::std:: move(_Left.append(_Right))); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
basic_string<_Elem, _Traits, _Alloc> operator+( | |
basic_string<_Elem, _Traits, _Alloc>&& _Left, | |
const _Elem _Right) | |
{ | |
_Left.push_back(_Right); | |
return (::std:: move(_Left)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator==( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (_Left._Equal(_Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator==( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (_Right._Equal(_Left)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator==( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (_Left._Equal(_Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator!=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator!=( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator!=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (_Left.compare(_Right) < 0); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (_Right.compare(_Left) > 0); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (_Left.compare(_Right) < 0); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (_Right < _Left); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (_Right < _Left); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<=( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator<=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (!(_Right < _Left)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) throw () | |
{ | |
return (!(_Left < _Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>=( | |
const _Elem * const _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> inline | |
bool operator>=( | |
const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const _Elem * const _Right) | |
{ | |
return (!(_Left < _Right)); | |
} | |
typedef basic_string<char, char_traits<char>, allocator<char> > | |
string; | |
typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > | |
wstring; | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> | |
struct hash<basic_string<_Elem, _Traits, _Alloc> > | |
{ | |
typedef basic_string<_Elem, _Traits, _Alloc> argument_type; | |
typedef size_t result_type; | |
size_t operator()(const argument_type& _Keyval) const | |
{ | |
return (_Hash_seq((const unsigned char *)_Keyval.c_str(), | |
_Keyval.size() * sizeof (_Elem))); | |
} | |
}; | |
typedef basic_string<char16_t, char_traits<char16_t>, allocator<char16_t> > | |
u16string; | |
typedef basic_string<char32_t, char_traits<char32_t>, allocator<char32_t> > | |
u32string; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 4028 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
#line 4029 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xstring" | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
class logic_error | |
: public exception | |
{ | |
public: | |
typedef exception _Mybase; | |
explicit logic_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit logic_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 35 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 38, 0); | |
} | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class domain_error | |
: public logic_error | |
{ | |
public: | |
typedef logic_error _Mybase; | |
explicit domain_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit domain_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 63 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 66, 0); | |
} | |
#line 69 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class invalid_argument | |
: public logic_error | |
{ | |
public: | |
typedef logic_error _Mybase; | |
explicit invalid_argument(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit invalid_argument(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 91 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 94, 0); | |
} | |
#line 97 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class length_error | |
: public logic_error | |
{ | |
public: | |
typedef logic_error _Mybase; | |
explicit length_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit length_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 119 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 122, 0); | |
} | |
#line 125 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class out_of_range | |
: public logic_error | |
{ | |
public: | |
typedef logic_error _Mybase; | |
explicit out_of_range(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit out_of_range(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 147 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 150, 0); | |
} | |
#line 153 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class runtime_error | |
: public exception | |
{ | |
public: | |
typedef exception _Mybase; | |
explicit runtime_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit runtime_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 175 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 178, 0); | |
} | |
#line 181 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class overflow_error | |
: public runtime_error | |
{ | |
public: | |
typedef runtime_error _Mybase; | |
explicit overflow_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit overflow_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 203 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 206, 0); | |
} | |
#line 209 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class underflow_error | |
: public runtime_error | |
{ | |
public: | |
typedef runtime_error _Mybase; | |
explicit underflow_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit underflow_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 231 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 234, 0); | |
} | |
#line 237 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
class range_error | |
: public runtime_error | |
{ | |
public: | |
typedef runtime_error _Mybase; | |
explicit range_error(const string& _Message) | |
: _Mybase(_Message.c_str()) | |
{ | |
} | |
explicit range_error(const char *_Message) | |
: _Mybase(_Message) | |
{ | |
} | |
#line 259 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept", 262, 0); | |
} | |
#line 265 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
}; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 271 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
#line 272 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\stdexcept" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
#pragma warning(disable: 4275) | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime.h" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_exception.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\eh.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_terminate.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
typedef void (__cdecl* terminate_handler )(); | |
typedef void (__cdecl* terminate_function)(); | |
__declspec(noreturn) void __cdecl abort(); | |
__declspec(noreturn) void __cdecl terminate() throw(); | |
terminate_handler __cdecl set_terminate( | |
terminate_handler _NewTerminateHandler | |
) throw(); | |
terminate_handler __cdecl _get_terminate(); | |
#line 40 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_terminate.h" | |
#line 42 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_terminate.h" | |
} __pragma(pack(pop)) | |
#line 46 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\corecrt_terminate.h" | |
#line 12 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\eh.h" | |
__pragma(pack(push, 8)) extern "C" { | |
typedef void (__cdecl* unexpected_handler )(); | |
typedef void (__cdecl* unexpected_function)(); | |
struct _EXCEPTION_POINTERS; | |
__declspec(noreturn) void __cdecl unexpected() throw(...); | |
unexpected_handler __cdecl set_unexpected( | |
unexpected_handler _NewUnexpectedHandler | |
) throw(); | |
unexpected_handler __cdecl _get_unexpected(); | |
typedef void (__cdecl* _se_translator_function)(unsigned int, struct _EXCEPTION_POINTERS*); | |
_se_translator_function __cdecl _set_se_translator( | |
_se_translator_function _NewSETranslator | |
); | |
#line 48 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\eh.h" | |
class type_info; | |
int __cdecl _is_exception_typeof( | |
type_info const& _Type, | |
_EXCEPTION_POINTERS* _ExceptionPtr | |
); | |
bool __cdecl __uncaught_exception(); | |
int __cdecl __uncaught_exceptions(); | |
#line 60 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\eh.h" | |
} __pragma(pack(pop)) | |
#line 64 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\eh.h" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_exception.h" | |
#pragma pack(push, 8) | |
#line 142 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_exception.h" | |
#pragma pack(pop) | |
#line 12 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
#pragma pack(push, 8) | |
#line 21 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
struct __type_info_node; | |
#line 23 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
extern __type_info_node __type_info_root_node; | |
#line 29 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
__pragma(pack(push, 8)) extern "C" { | |
#pragma warning(push) | |
#pragma warning(disable: 4510 4512 4610) | |
struct __std_type_info_data | |
{ | |
char const* _UndecoratedName; | |
char const _DecoratedName[1]; | |
}; | |
#pragma warning(pop) | |
int __cdecl __std_type_info_compare( | |
__std_type_info_data const* _Lhs, | |
__std_type_info_data const* _Rhs | |
); | |
size_t __cdecl __std_type_info_hash( | |
__std_type_info_data const* _Data | |
); | |
char const* __cdecl __std_type_info_name( | |
__std_type_info_data* _Data, | |
__type_info_node* _RootNode | |
); | |
} __pragma(pack(pop)) | |
class type_info | |
{ | |
public: | |
type_info(type_info const&) = delete; | |
type_info& operator=(type_info const&) = delete; | |
size_t hash_code() const throw() | |
{ | |
return __std_type_info_hash(&_Data); | |
} | |
bool operator==(type_info const& _Other) const throw() | |
{ | |
return __std_type_info_compare(&_Data, &_Other._Data) == 0; | |
} | |
bool operator!=(type_info const& _Other) const throw() | |
{ | |
return __std_type_info_compare(&_Data, &_Other._Data) != 0; | |
} | |
bool before(type_info const& _Other) const throw() | |
{ | |
return __std_type_info_compare(&_Data, &_Other._Data) < 0; | |
} | |
char const* name() const throw() | |
{ | |
return __std_type_info_name(&_Data, &__type_info_root_node); | |
#line 96 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
} | |
char const* raw_name() const throw() | |
{ | |
return _Data._DecoratedName; | |
} | |
virtual ~type_info() throw(); | |
private: | |
mutable __std_type_info_data _Data; | |
}; | |
namespace std { | |
using ::type_info; | |
} | |
#line 187 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
#line 188 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\vcruntime_typeinfo.h" | |
#pragma pack(pop) | |
#line 34 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo" | |
namespace std { | |
constexpr int _Small_object_num_ptrs = 6 + 16 / sizeof (void *); | |
class bad_cast | |
: public exception | |
{ | |
public: | |
bad_cast(const char *_Message = "bad cast") | |
: exception(_Message) | |
{ | |
} | |
virtual ~bad_cast() throw () | |
{ | |
} | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo", 59, 0); | |
} | |
}; | |
class bad_typeid | |
: public exception | |
{ | |
public: | |
bad_typeid(const char *_Message = "bad typeid") | |
: exception(_Message) | |
{ | |
} | |
virtual ~bad_typeid() throw () | |
{ | |
} | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo", 80, 0); | |
} | |
}; | |
class __non_rtti_object | |
: public bad_typeid | |
{ | |
public: | |
__non_rtti_object(const char *_Message) | |
: bad_typeid(_Message) | |
{ | |
} | |
}; | |
#line 94 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo" | |
} | |
#pragma pack(pop) | |
#pragma warning(pop) | |
#line 101 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo" | |
#line 102 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\typeinfo" | |
#line 10 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
int __cdecl _isctype( int _C, int _Type); | |
int __cdecl _isctype_l( int _C, int _Type, _locale_t _Locale); | |
int __cdecl isalpha( int _C); | |
int __cdecl _isalpha_l( int _C, _locale_t _Locale); | |
int __cdecl isupper( int _C); | |
int __cdecl _isupper_l( int _C, _locale_t _Locale); | |
int __cdecl islower( int _C); | |
int __cdecl _islower_l( int _C, _locale_t _Locale); | |
int __cdecl isdigit( int _C); | |
int __cdecl _isdigit_l( int _C, _locale_t _Locale); | |
int __cdecl isxdigit( int _C); | |
int __cdecl _isxdigit_l( int _C, _locale_t _Locale); | |
int __cdecl isspace( int _C); | |
int __cdecl _isspace_l( int _C, _locale_t _Locale); | |
int __cdecl ispunct( int _C); | |
int __cdecl _ispunct_l( int _C, _locale_t _Locale); | |
int __cdecl isblank( int _C); | |
int __cdecl _isblank_l( int _C, _locale_t _Locale); | |
int __cdecl isalnum( int _C); | |
int __cdecl _isalnum_l( int _C, _locale_t _Locale); | |
int __cdecl isprint( int _C); | |
int __cdecl _isprint_l( int _C, _locale_t _Locale); | |
int __cdecl isgraph( int _C); | |
int __cdecl _isgraph_l( int _C, _locale_t _Locale); | |
int __cdecl iscntrl( int _C); | |
int __cdecl _iscntrl_l( int _C, _locale_t _Locale); | |
int __cdecl toupper( int _C); | |
int __cdecl tolower( int _C); | |
int __cdecl _tolower( int _C); | |
int __cdecl _tolower_l( int _C, _locale_t _Locale); | |
int __cdecl _toupper( int _C); | |
int __cdecl _toupper_l( int _C, _locale_t _Locale); | |
int __cdecl __isascii( int _C); | |
int __cdecl __toascii( int _C); | |
int __cdecl __iscsymf( int _C); | |
int __cdecl __iscsym( int _C); | |
int __cdecl _chvalidator( int _Ch, int _Mask); | |
#line 115 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
#line 143 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
__inline __crt_locale_data_public* __cdecl __acrt_get_locale_data_prefix(void const volatile* const _LocalePointers) | |
{ | |
_locale_t const _TypedLocalePointers = (_locale_t)_LocalePointers; | |
return (__crt_locale_data_public*)_TypedLocalePointers->locinfo; | |
} | |
int __cdecl _chvalidator_l( _locale_t, int _Ch, int _Mask); | |
#line 153 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
__inline int __cdecl _chvalidchk_l( | |
int const _C, | |
int const _Mask, | |
_locale_t const _Locale | |
) | |
{ | |
return _chvalidator_l(_Locale, _C, _Mask); | |
#line 170 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
} | |
__inline int __cdecl _ischartype_l( | |
int const _C, | |
int const _Mask, | |
_locale_t const _Locale | |
) | |
{ | |
if (_Locale && __acrt_get_locale_data_prefix(_Locale)->_locale_mb_cur_max > 1) | |
{ | |
return _isctype_l(_C, _Mask, _Locale); | |
} | |
return _chvalidchk_l(_C, _Mask, _Locale); | |
} | |
#line 221 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
#line 230 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
#line 234 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\ctype.h" | |
} __pragma(pack(pop)) | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\locale.h" | |
#pragma once | |
__pragma(pack(push, 8)) extern "C" { | |
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; | |
}; | |
void __cdecl _lock_locales(void); | |
void __cdecl _unlock_locales(void); | |
int __cdecl _configthreadlocale( | |
int _Flag | |
); | |
char* __cdecl setlocale( | |
int _Category, | |
char const* _Locale | |
); | |
struct lconv* __cdecl localeconv(void); | |
_locale_t __cdecl _get_current_locale(void); | |
_locale_t __cdecl _create_locale( | |
int _Category, | |
char const* _Locale | |
); | |
void __cdecl _free_locale( | |
_locale_t _Locale | |
); | |
wchar_t* __cdecl _wsetlocale( | |
int _Category, | |
wchar_t const* _Locale | |
); | |
_locale_t __cdecl _wcreate_locale( | |
int _Category, | |
wchar_t const* _Locale | |
); | |
wchar_t** __cdecl ___lc_locale_name_func(void); | |
unsigned int __cdecl ___lc_codepage_func (void); | |
unsigned int __cdecl ___lc_collate_cp_func (void); | |
} __pragma(pack(pop)) | |
#line 8 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
extern "C" { | |
#line 21 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#line 22 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
typedef struct _Collvec | |
{ | |
unsigned int _Page; | |
wchar_t *_LocaleName; | |
} _Collvec; | |
typedef struct _Ctypevec | |
{ | |
unsigned int _Page; | |
const short *_Table; | |
int _Delfl; | |
wchar_t *_LocaleName; | |
} _Ctypevec; | |
typedef struct _Cvtvec | |
{ | |
unsigned int _Page; | |
unsigned int _Mbcurmax; | |
int _Isclocale; | |
unsigned char _Isleadbyte[32]; | |
} _Cvtvec; | |
_Collvec __cdecl _Getcoll(void); | |
_Ctypevec __cdecl _Getctype(void); | |
_Cvtvec __cdecl _Getcvt(void); | |
int __cdecl _Getdateorder(void); | |
int __cdecl _Mbrtowc( wchar_t *, const char *, size_t, | |
mbstate_t *, const _Cvtvec *); | |
#line 96 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
float __cdecl _Stof(const char *, | |
char **, long); | |
double __cdecl _Stod(const char *, | |
char **, long); | |
long double __cdecl _Stold(const char *, | |
char **, long); | |
int __cdecl _Strcoll(const char *, const char *, | |
const char *, const char *, const _Collvec *); | |
size_t __cdecl _Strxfrm( | |
char *_String1, | |
char *_End1, const char *, const char *, const _Collvec *); | |
int __cdecl _Tolower(int, const _Ctypevec *); | |
int __cdecl _Toupper(int, const _Ctypevec *); | |
int __cdecl _Wcrtomb( char *, wchar_t, mbstate_t *, | |
const _Cvtvec *); | |
int __cdecl _Wcscoll(const wchar_t *, const wchar_t *, | |
const wchar_t *, const wchar_t *, const _Collvec *); | |
size_t __cdecl _Wcsxfrm( | |
wchar_t *_String1, | |
wchar_t *_End1, const wchar_t *, const wchar_t *, const _Collvec *); | |
short __cdecl _Getwctype(wchar_t, const _Ctypevec *); | |
const wchar_t *__cdecl _Getwctypes(const wchar_t *, | |
const wchar_t *, short *, const _Ctypevec *); | |
wchar_t __cdecl _Towlower(wchar_t, const _Ctypevec *); | |
wchar_t __cdecl _Towupper(wchar_t, const _Ctypevec *); | |
} | |
#line 129 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#line 130 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
extern "C" { | |
char *__cdecl _Getdays(void); | |
char *__cdecl _Getmonths(void); | |
void *__cdecl _Gettnames(void); | |
size_t __cdecl _Strftime( char *, | |
size_t _Maxsize, const char *, const struct tm *, | |
void *); | |
wchar_t *__cdecl _W_Getdays(void); | |
wchar_t *__cdecl _W_Getmonths(void); | |
void *__cdecl _W_Gettnames(void); | |
size_t __cdecl _Wcsftime( wchar_t *, | |
size_t _Maxsize, const wchar_t *, const struct tm *, | |
void *); | |
} | |
_locale_t __cdecl _GetLocaleForCP(unsigned int); | |
#line 173 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 178 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#line 179 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo.h" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
class _Timevec | |
{ | |
public: | |
_Timevec(void *_Ptr = 0) | |
: _Timeptr(_Ptr) | |
{ | |
} | |
_Timevec(const _Timevec& _Right) | |
{ | |
*this = _Right; | |
} | |
~_Timevec() throw () | |
{ | |
free(_Timeptr); | |
} | |
_Timevec& operator=(const _Timevec& _Right) | |
{ | |
_Timeptr = _Right._Timeptr; | |
((_Timevec *)&_Right)->_Timeptr = 0; | |
return (*this); | |
} | |
void * _Getptr() const | |
{ | |
return (_Timeptr); | |
} | |
private: | |
void *_Timeptr; | |
}; | |
class _Locinfo | |
{ | |
public: | |
typedef ::_Collvec _Collvec; | |
typedef ::_Ctypevec _Ctypevec; | |
typedef ::_Cvtvec _Cvtvec; | |
typedef ::std:: _Timevec _Timevec; | |
static void __cdecl _Locinfo_ctor( | |
_Locinfo *, const char *); | |
static void __cdecl _Locinfo_ctor( | |
_Locinfo *, int, const char *); | |
static void __cdecl _Locinfo_dtor( | |
_Locinfo *); | |
static _Locinfo& __cdecl _Locinfo_Addcats( | |
_Locinfo *, int, const char *); | |
_Locinfo(const char *_Pch = "C") | |
: _Lock(0) | |
#line 74 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
{ | |
if (_Pch == 0) | |
runtime_error("bad locale name")._Raise(); | |
_Locinfo_ctor(this, _Pch); | |
} | |
_Locinfo(int _Cat, const char *_Pch) | |
: _Lock(0) | |
#line 85 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
{ | |
if (_Pch == 0) | |
runtime_error("bad locale name")._Raise(); | |
_Locinfo_ctor(this, _Cat, _Pch); | |
} | |
~_Locinfo() throw () | |
{ | |
_Locinfo_dtor(this); | |
} | |
_Locinfo& _Addcats(int _Cat, const char *_Pch) | |
{ | |
if (_Pch == 0) | |
runtime_error("bad locale name")._Raise(); | |
return (_Locinfo_Addcats(this, _Cat, _Pch)); | |
} | |
const char * _Getname() const | |
{ | |
return (_Newlocname._C_str()); | |
} | |
_Collvec _Getcoll() const | |
{ | |
return (::_Getcoll()); | |
} | |
_Ctypevec _Getctype() const | |
{ | |
return (::_Getctype()); | |
} | |
_Cvtvec _Getcvt() const | |
{ | |
return (::_Getcvt()); | |
} | |
const lconv * _Getlconv() const | |
{ | |
return (localeconv()); | |
} | |
_Timevec _Gettnames() const | |
{ | |
return (_Timevec(::_Gettnames())); | |
} | |
const char * _Getdays() const | |
{ | |
const char *_Ptr = ::_Getdays(); | |
if (_Ptr != 0) | |
{ | |
((_Locinfo *)this)->_Days = _Ptr; | |
free((void *)_Ptr); | |
} | |
return (!_Days._Empty() ? _Days._C_str() | |
: ":Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday" | |
":Thu:Thursday:Fri:Friday:Sat:Saturday"); | |
} | |
const char * _Getmonths() const | |
{ | |
const char *_Ptr = ::_Getmonths(); | |
if (_Ptr != 0) | |
{ | |
((_Locinfo *)this)->_Months = _Ptr; | |
free((void *)_Ptr); | |
} | |
return (!_Months._Empty() ? _Months._C_str() | |
: ":Jan:January:Feb:February:Mar:March" | |
":Apr:April:May:May:Jun:June" | |
":Jul:July:Aug:August:Sep:September" | |
":Oct:October:Nov:November:Dec:December"); | |
} | |
const char * _Getfalse() const | |
{ | |
return ("false"); | |
} | |
const char * _Gettrue() const | |
{ | |
return ("true"); | |
} | |
int _Getdateorder() const | |
{ | |
return (::_Getdateorder()); | |
} | |
_Timevec _W_Gettnames() const | |
{ | |
return (_Timevec(::_W_Gettnames())); | |
} | |
const unsigned short * _W_Getdays() const | |
{ | |
const wchar_t *_Ptr = ::_W_Getdays(); | |
if (_Ptr != 0) | |
{ | |
((_Locinfo *)this)->_W_Days = _Ptr; | |
free((void *)_Ptr); | |
} | |
return ((const unsigned short *)(!_W_Days._Empty() | |
? _W_Days._C_str() | |
: L":Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday" | |
L":Thu:Thursday:Fri:Friday:Sat:Saturday")); | |
} | |
const unsigned short * _W_Getmonths() const | |
{ | |
const wchar_t *_Ptr = ::_W_Getmonths(); | |
if (_Ptr != 0) | |
{ | |
((_Locinfo *)this)->_W_Months = _Ptr; | |
free((void *)_Ptr); | |
} | |
return ((const unsigned short *)(!_W_Months._Empty() | |
? _W_Months._C_str() | |
: L":Jan:January:Feb:February:Mar:March" | |
L":Apr:April:May:May:Jun:June" | |
L":Jul:July:Aug:August:Sep:September" | |
L":Oct:October:Nov:November:Dec:December")); | |
} | |
_Locinfo(const _Locinfo&) = delete; | |
_Locinfo& operator=(const _Locinfo&) = delete; | |
private: | |
_Lockit _Lock; | |
#line 226 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
_Yarn<char> _Days; | |
_Yarn<char> _Months; | |
_Yarn<wchar_t> _W_Days; | |
_Yarn<wchar_t> _W_Months; | |
_Yarn<char> _Oldlocname; | |
_Yarn<char> _Newlocname; | |
}; | |
template<class _Elem> inline | |
int __cdecl _LStrcoll(const _Elem *_First1, const _Elem *_Last1, | |
const _Elem *_First2, const _Elem *_Last2, | |
const _Locinfo::_Collvec *) | |
{ | |
for (; _First1 != _Last1 && _First2 != _Last2; ++_First1, ++_First2) | |
if (*_First1 < *_First2) | |
return (-1); | |
else if (*_First2 < *_First1) | |
return (+1); | |
return (_First2 != _Last2 ? -1 : _First1 != _Last1 ? +1 : 0); | |
} | |
template<> inline | |
int __cdecl _LStrcoll(const char *_First1, const char *_Last1, | |
const char *_First2, const char *_Last2, | |
const _Locinfo::_Collvec *_Vector) | |
{ | |
return (_Strcoll(_First1, _Last1, _First2, _Last2, _Vector)); | |
} | |
template<> inline | |
int __cdecl _LStrcoll(const wchar_t *_First1, const wchar_t *_Last1, | |
const wchar_t *_First2, const wchar_t *_Last2, | |
const _Locinfo::_Collvec *_Vector) | |
{ | |
return (_Wcscoll(_First1, _Last1, _First2, _Last2, _Vector)); | |
} | |
template<class _Elem> inline | |
size_t __cdecl _LStrxfrm(_Elem *_First1, _Elem *_Last1, | |
const _Elem *_First2, const _Elem *_Last2, | |
const _Locinfo::_Collvec *) | |
{ | |
size_t _Count = _Last2 - _First2; | |
if (_Count <= (size_t)(_Last1 - _First1)) | |
::memcpy_s((_First1), ((_Last1 - _First1) * sizeof (_Elem)), (_First2), (_Count * sizeof (_Elem))); | |
#line 275 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
return (_Count); | |
} | |
template<> inline | |
size_t __cdecl _LStrxfrm( | |
char *_First1, char *_Last1, | |
const char *_First2, const char *_Last2, | |
const _Locinfo::_Collvec *_Vector) | |
{ | |
return (_Strxfrm(_First1, _Last1, _First2, _Last2, _Vector)); | |
} | |
template<> inline | |
size_t __cdecl _LStrxfrm( | |
wchar_t *_First1, wchar_t *_Last1, | |
const wchar_t *_First2, const wchar_t *_Last2, | |
const _Locinfo::_Collvec *_Vector) | |
{ | |
return (_Wcsxfrm(_First1, _Last1, _First2, _Last2, _Vector)); | |
} | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 300 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
#line 301 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocinfo" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xfacet" | |
#pragma once | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
class _Facet_base | |
{ | |
public: | |
virtual ~_Facet_base() throw () | |
{ | |
} | |
virtual void _Incref() = 0; | |
virtual _Facet_base * _Decref() = 0; | |
}; | |
#line 39 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xfacet" | |
void __cdecl _Facet_Register(_Facet_base *); | |
#line 41 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xfacet" | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 46 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xfacet" | |
#line 47 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xfacet" | |
#line 13 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Dummy> | |
class _Locbase | |
{ | |
public: | |
static const int collate = ((1 << (1)) >> 1); | |
static const int ctype = ((1 << (2)) >> 1); | |
static const int monetary = ((1 << (3)) >> 1); | |
static const int numeric = ((1 << (4)) >> 1); | |
static const int time = ((1 << (5)) >> 1); | |
static const int messages = ((1 << (6)) >> 1); | |
static const int all = (((1 << ((6 + 1))) >> 1) - 1); | |
static const int none = 0; | |
}; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::collate; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::ctype; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::monetary; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::numeric; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::time; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::messages; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::all; | |
template<class _Dummy> | |
const int _Locbase<_Dummy>::none; | |
class locale; | |
template<class _Facet> | |
const _Facet& __cdecl use_facet(const locale&); | |
template<class _Elem> | |
class collate; | |
struct _Crt_new_delete | |
{ | |
void * __cdecl operator new(size_t _Size) | |
{ | |
void * _Ptr = operator new(_Size, nothrow); | |
if (!_Ptr) | |
_Xbad_alloc(); | |
return (_Ptr); | |
} | |
void * __cdecl operator new(size_t _Size, const nothrow_t&) throw () | |
{ | |
return (_malloc_dbg(_Size > 0 ? _Size : 1, 2, "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale", 73)); | |
} | |
void __cdecl operator delete(void * _Ptr) throw () | |
{ | |
:: free(_Ptr); | |
} | |
void __cdecl operator delete(void * _Ptr, const nothrow_t&) throw () | |
{ | |
operator delete(_Ptr); | |
} | |
void * __cdecl operator new(size_t, void *_Ptr) throw () | |
{ | |
return (_Ptr); | |
} | |
void __cdecl operator delete(void *, void *) throw () | |
{ | |
} | |
#line 95 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
}; | |
class locale | |
: public _Locbase<int>, public _Crt_new_delete | |
{ | |
public: | |
typedef int category; | |
class id | |
{ | |
public: | |
id(size_t _Val = 0) | |
: _Id(_Val) | |
{ | |
} | |
operator size_t() | |
{ | |
if (_Id == 0) | |
{ | |
{ ::std:: _Lockit _Lock(0); | |
if (_Id == 0) | |
_Id = ++_Id_cnt; | |
} | |
} | |
return (_Id); | |
} | |
private: | |
size_t _Id; | |
static int _Id_cnt; | |
public: | |
id(const id&) = delete; | |
id& operator=(const id&) = delete; | |
}; | |
class _Locimp; | |
class facet | |
: public _Facet_base, public _Crt_new_delete | |
{ | |
public: | |
static size_t __cdecl _Getcat(const facet ** = 0, | |
const locale * = 0) | |
{ | |
return ((size_t)(-1)); | |
} | |
virtual void _Incref() | |
{ | |
_InterlockedIncrement(reinterpret_cast<volatile long *>(&_Myrefs)); | |
} | |
virtual _Facet_base * _Decref() | |
{ | |
if (_InterlockedDecrement(reinterpret_cast<volatile long *>(&_Myrefs)) == 0) | |
return (this); | |
else | |
return (0); | |
} | |
private: | |
_Atomic_counter_t _Myrefs; | |
protected: | |
explicit facet(size_t _Initrefs = 0) | |
: _Myrefs(static_cast<_Atomic_integral_t>(_Initrefs)) | |
{ | |
} | |
virtual ~facet() throw () | |
{ | |
} | |
public: | |
facet(const facet&) = delete; | |
facet& operator=(const facet&) = delete; | |
}; | |
class _Locimp | |
: public facet | |
{ | |
protected: | |
~_Locimp() throw () | |
{ | |
_Locimp_dtor(this); | |
} | |
private: | |
static _Locimp *__cdecl | |
_New_Locimp(bool _Transparent = false); | |
static _Locimp *__cdecl | |
_New_Locimp(const _Locimp& _Right); | |
static void __cdecl | |
_Locimp_dtor(_Locimp *); | |
static void __cdecl | |
_Locimp_Addfac(_Locimp *, facet *, size_t); | |
static void __cdecl | |
_Locimp_ctor(_Locimp *, const _Locimp&); | |
friend class locale; | |
_Locimp(bool _Transparent) | |
: locale::facet(1), _Facetvec(0), _Facetcount(0), | |
_Catmask(none), _Xparent(_Transparent), | |
_Name("*") | |
{ | |
} | |
_Locimp(const _Locimp& _Right) | |
: locale::facet(1), _Facetvec(0), _Facetcount(_Right._Facetcount), | |
_Catmask(_Right._Catmask), _Xparent(_Right._Xparent), | |
_Name(_Right._Name.c_str()) | |
{ | |
_Locimp_ctor(this, _Right); | |
} | |
void _Addfac(facet *_Pfacet, size_t _Id) | |
{ | |
_Locimp_Addfac(this, _Pfacet, _Id); | |
} | |
static _Locimp *__cdecl _Makeloc(const _Locinfo&, | |
category, _Locimp *, const locale *); | |
static void __cdecl _Makewloc(const _Locinfo&, | |
category, _Locimp *, const locale *); | |
static void __cdecl _Makeushloc(const _Locinfo&, | |
category, _Locimp *, const locale *); | |
#line 233 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
static void __cdecl _Makexloc(const _Locinfo&, | |
category, _Locimp *, const locale *); | |
facet **_Facetvec; | |
size_t _Facetcount; | |
category _Catmask; | |
bool _Xparent; | |
_Yarn<char> _Name; | |
static _Locimp *_Clocptr; | |
public: | |
_Locimp& operator=(const _Locimp&) = delete; | |
}; | |
template<class _Elem, | |
class _Traits, | |
class _Alloc> | |
bool operator()(const basic_string<_Elem, _Traits, _Alloc>& _Left, | |
const basic_string<_Elem, _Traits, _Alloc>& _Right) const | |
{ | |
const ::std:: collate<_Elem>& _Coll_fac = | |
use_facet< ::std:: collate<_Elem> >(*this); | |
return (_Coll_fac.compare(_Left.c_str(), _Left.c_str() + _Left.size(), | |
_Right.c_str(), _Right.c_str() + _Right.size()) < 0); | |
} | |
template<class _Facet> | |
locale combine(const locale& _Loc) const | |
{ | |
_Facet *_Facptr; | |
{ if (1) { | |
_Facptr = (_Facet *)&use_facet<_Facet>(_Loc); | |
} else if (0) { | |
_Xruntime_error("locale::combine facet missing"); | |
} } | |
_Locimp *_Newimp = _Locimp::_New_Locimp(*_Ptr); | |
_Newimp->_Addfac(_Facptr, _Facet::id); | |
_Newimp->_Catmask = none; | |
_Newimp->_Name = "*"; | |
return (locale(_Newimp)); | |
} | |
template<class _Facet> | |
locale(const locale& _Loc, const _Facet *_Facptr) | |
: _Ptr(_Locimp::_New_Locimp(*_Loc._Ptr)) | |
{ | |
if (_Facptr != 0) | |
{ | |
_Ptr->_Addfac((_Facet *)_Facptr, _Facet::id); | |
_Ptr->_Catmask = none; | |
_Ptr->_Name = "*"; | |
} | |
} | |
locale(_Uninitialized) | |
{ | |
} | |
locale(const locale& _Right) | |
: _Ptr(_Right._Ptr) | |
{ | |
_Ptr->_Incref(); | |
} | |
locale() | |
: _Ptr(_Init(true)) | |
{ | |
} | |
locale(const locale& _Loc, const locale& _Other, | |
category _Cat) | |
: _Ptr(_Locimp::_New_Locimp(*_Loc._Ptr)) | |
{ | |
if (_Cat != none) | |
{ | |
{ if (1) { | |
{ _Locinfo _Lobj; | |
_Locimp::_Makeloc(_Lobj, _Cat, _Ptr, &_Other); | |
_Lobj._Addcats(_Loc._Ptr->_Catmask, | |
_Loc.name().c_str()); | |
_Lobj._Addcats(_Other._Ptr->_Catmask, | |
_Other.name().c_str()); | |
_Ptr->_Catmask = _Loc._Ptr->_Catmask | |
| _Other._Ptr->_Catmask; | |
_Ptr->_Name = _Lobj._Getname(); | |
} | |
} else if (0) { | |
delete _Ptr->_Decref(); | |
; | |
} } | |
} | |
} | |
private: | |
void _Construct(const string &_Str, | |
category _Cat) | |
{ | |
bool _Bad = false; | |
_Init(); | |
if (_Cat != none) | |
{ | |
{ if (1) { | |
{ _Locinfo _Lobj(_Cat, _Str.c_str()); | |
if (_Badname(_Lobj)) | |
_Bad = true; | |
else | |
{ | |
_Locimp::_Makeloc(_Lobj, _Cat, _Ptr, 0); | |
_Ptr->_Catmask = _Cat; | |
_Ptr->_Name = _Str.c_str(); | |
} | |
} | |
} else if (0) { | |
delete _Ptr->_Decref(); | |
; | |
} } | |
} | |
if (_Bad) | |
{ | |
delete _Ptr->_Decref(); | |
_Xruntime_error("bad locale name"); | |
} | |
} | |
public: | |
explicit locale(const char *_Locname, | |
category _Cat = all) | |
: _Ptr(_Locimp::_New_Locimp()) | |
{ | |
if (_Locname == 0) | |
_Xruntime_error("bad locale name"); | |
_Construct(_Locname, _Cat); | |
} | |
locale(const locale& _Loc, const char *_Locname, | |
category _Cat) | |
: _Ptr(_Locimp::_New_Locimp(*_Loc._Ptr)) | |
{ | |
if (_Locname == 0) | |
_Xruntime_error("bad locale name"); | |
_Construct(_Locname, _Cat); | |
} | |
explicit locale(const string& _Str, | |
category _Cat = all) | |
: _Ptr(_Locimp::_New_Locimp()) | |
{ | |
_Construct(_Str, _Cat); | |
} | |
locale(const locale& _Loc, const string& _Str, | |
category _Cat) | |
: _Ptr(_Locimp::_New_Locimp(*_Loc._Ptr)) | |
{ | |
_Construct(_Str, _Cat); | |
} | |
#line 401 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
~locale() throw () | |
{ | |
if (_Ptr != 0) | |
delete _Ptr->_Decref(); | |
} | |
locale& operator=(const locale& _Right) | |
{ | |
if (_Ptr != _Right._Ptr) | |
{ | |
delete _Ptr->_Decref(); | |
_Ptr = _Right._Ptr; | |
_Ptr->_Incref(); | |
} | |
return (*this); | |
} | |
string name() const | |
{ | |
return (_Ptr == 0 ? string() : _Ptr->_Name.c_str()); | |
} | |
const char *c_str() const | |
{ | |
return (_Ptr == 0 ? "" : _Ptr->_Name.c_str()); | |
} | |
const facet *_Getfacet(size_t _Id) const | |
{ | |
const facet *_Facptr = _Id < _Ptr->_Facetcount | |
? _Ptr->_Facetvec[_Id] : 0; | |
if (_Facptr != 0 || !_Ptr->_Xparent) | |
return (_Facptr); | |
else | |
{ | |
locale::_Locimp *_Ptr0 = _Getgloballocale(); | |
return (_Id < _Ptr0->_Facetcount | |
? _Ptr0->_Facetvec[_Id] | |
: 0); | |
} | |
} | |
bool operator==(const locale& _Loc) const | |
{ | |
return (_Ptr == _Loc._Ptr | |
|| (name().compare("*") != 0 | |
&& name().compare(_Loc.name()) == 0)); | |
} | |
bool operator!=(const locale& _Right) const | |
{ | |
return (!(*this == _Right)); | |
} | |
static const locale& __cdecl | |
classic(); | |
static locale __cdecl | |
global(const locale&); | |
static locale __cdecl | |
empty(); | |
private: | |
locale(_Locimp *_Ptrimp) | |
: _Ptr(_Ptrimp) | |
{ | |
} | |
static _Locimp *__cdecl | |
_Init(bool _Do_incref = false); | |
static _Locimp *__cdecl | |
_Getgloballocale(); | |
static void __cdecl | |
_Setgloballocale(void *); | |
bool _Badname(const _Locinfo& _Lobj) | |
{ | |
return (:: strcmp(_Lobj._Getname(), "*") == 0); | |
} | |
_Locimp *_Ptr; | |
}; | |
template<class _Facet> | |
struct _Facetptr | |
{ | |
static const locale::facet *_Psave; | |
}; | |
template<class _Facet> | |
const locale::facet *_Facetptr<_Facet>:: | |
_Psave = 0; | |
template<class _Facet> inline | |
const _Facet& __cdecl use_facet(const locale& _Loc) | |
{ | |
{ ::std:: _Lockit _Lock(0); | |
const locale::facet *_Psave = | |
_Facetptr<_Facet>::_Psave; | |
size_t _Id = _Facet::id; | |
const locale::facet *_Pf = _Loc._Getfacet(_Id); | |
if (_Pf != 0) | |
; | |
else if (_Psave != 0) | |
_Pf = _Psave; | |
else if (_Facet::_Getcat(&_Psave, &_Loc) == (size_t)(-1)) | |
#line 524 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
abort(); | |
#line 526 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
else | |
{ | |
_Pf = _Psave; | |
_Facetptr<_Facet>::_Psave = _Psave; | |
locale::facet *_Pfmod = (_Facet *)_Psave; | |
_Pfmod->_Incref(); | |
#line 539 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
_Facet_Register(_Pfmod); | |
#line 541 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
} | |
return ((const _Facet&)(*_Pf)); | |
} | |
} | |
template<class _Elem, | |
class _InIt> inline | |
int __cdecl _Getloctxt(_InIt& _First, _InIt& _Last, size_t _Numfields, | |
const _Elem *_Ptr) | |
{ | |
for (size_t _Off = 0; _Ptr[_Off] != (_Elem)0; ++_Off) | |
if (_Ptr[_Off] == _Ptr[0]) | |
++_Numfields; | |
string _Str(_Numfields, '\0'); | |
int _Ans = -2; | |
for (size_t _Column = 1; ; ++_Column, (void)++_First, _Ans = -1) | |
{ | |
bool _Prefix = false; | |
size_t _Off = 0; | |
size_t _Field = 0; | |
for (; _Field < _Numfields; ++_Field) | |
{ | |
for (; _Ptr[_Off] != (_Elem)0 && _Ptr[_Off] != _Ptr[0]; ++_Off) | |
; | |
if (_Str[_Field] != '\0') | |
_Off += _Str[_Field]; | |
else if (_Ptr[_Off += _Column] == _Ptr[0] | |
|| _Ptr[_Off] == (_Elem)0) | |
{ | |
_Str[_Field] = (char)(_Column < 127 | |
? _Column : 127); | |
_Ans = (int)_Field; | |
} | |
else if (_First == _Last || _Ptr[_Off] != *_First) | |
_Str[_Field] = (char)(_Column < 127 | |
? _Column : 127); | |
else | |
_Prefix = true; | |
} | |
if (!_Prefix || _First == _Last) | |
break; | |
} | |
return (_Ans); | |
} | |
template<class _Elem> inline | |
char __cdecl _Maklocbyte(_Elem _Char, | |
const _Locinfo::_Cvtvec&) | |
{ | |
return ((char)(unsigned char)_Char); | |
} | |
template<> inline | |
char __cdecl _Maklocbyte(wchar_t _Char, | |
const _Locinfo::_Cvtvec& _Cvt) | |
{ | |
char _Byte = '\0'; | |
mbstate_t _Mbst1 = {}; | |
_Wcrtomb(&_Byte, _Char, &_Mbst1, &_Cvt); | |
return (_Byte); | |
} | |
template<> inline | |
char __cdecl _Maklocbyte(unsigned short _Char, | |
const _Locinfo::_Cvtvec &_Cvt) | |
{ | |
char _Byte = '\0'; | |
mbstate_t _Mbst1 = {}; | |
_Wcrtomb(&_Byte, (wchar_t)_Char, &_Mbst1, &_Cvt); | |
return (_Byte); | |
} | |
#line 624 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
template<class _Elem> inline | |
_Elem __cdecl _Maklocchr(char _Byte, _Elem *, | |
const _Locinfo::_Cvtvec&) | |
{ | |
return ((_Elem)(unsigned char)_Byte); | |
} | |
template<> inline | |
wchar_t __cdecl _Maklocchr(char _Byte, wchar_t *, | |
const _Locinfo::_Cvtvec& _Cvt) | |
{ | |
wchar_t _Wc = L'\0'; | |
mbstate_t _Mbst1 = {}; | |
_Mbrtowc(&_Wc, &_Byte, 1, &_Mbst1, &_Cvt); | |
return (_Wc); | |
} | |
template<> inline | |
unsigned short __cdecl _Maklocchr(char _Byte, unsigned short *, | |
const _Locinfo::_Cvtvec &_Cvt) | |
{ | |
unsigned short _Wc = (unsigned short)0; | |
mbstate_t _Mbst1 = {}; | |
_Mbrtowc((wchar_t *)&_Wc, &_Byte, 1, &_Mbst1, &_Cvt); | |
return (_Wc); | |
} | |
#line 657 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
template<class _Elem> inline | |
_Elem *__cdecl _Maklocstr(const char *_Ptr, _Elem *, | |
const _Locinfo::_Cvtvec&) | |
{ | |
size_t _Count = :: strlen(_Ptr) + 1; | |
_Elem *_Ptrdest = (_Elem *)_calloc_dbg(_Count, sizeof (_Elem), | |
2, "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale", 669); | |
if (!_Ptrdest) | |
_Xbad_alloc(); | |
for (_Elem *_Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) | |
*_Ptrnext = (_Elem)(unsigned char)*_Ptr; | |
return (_Ptrdest); | |
} | |
template<> inline | |
wchar_t *__cdecl _Maklocstr(const char *_Ptr, wchar_t *, | |
const _Locinfo::_Cvtvec& _Cvt) | |
{ | |
size_t _Count, _Count1; | |
size_t _Wchars; | |
const char *_Ptr1; | |
int _Bytes; | |
wchar_t _Wc; | |
mbstate_t _Mbst1 = {}; | |
_Count1 = :: strlen(_Ptr) + 1; | |
for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; | |
_Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) | |
if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) | |
break; | |
++_Wchars; | |
wchar_t *_Ptrdest = (wchar_t *)_calloc_dbg(_Wchars, sizeof (wchar_t), | |
2, "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale", 699); | |
if (!_Ptrdest) | |
_Xbad_alloc(); | |
wchar_t *_Ptrnext = _Ptrdest; | |
mbstate_t _Mbst2 = {}; | |
for (; 0 < _Wchars; | |
_Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) | |
if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) | |
break; | |
*_Ptrnext = L'\0'; | |
return (_Ptrdest); | |
} | |
template<> inline | |
unsigned short *__cdecl _Maklocstr(const char *_Ptr, unsigned short *, | |
const _Locinfo::_Cvtvec &_Cvt) | |
{ | |
size_t _Count, _Count1; | |
size_t _Wchars; | |
const char *_Ptr1; | |
int _Bytes; | |
unsigned short _Wc; | |
mbstate_t _Mbst1 = {}; | |
_Count1 = :: strlen(_Ptr) + 1; | |
for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; | |
_Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) | |
if ((_Bytes = | |
_Mbrtowc((wchar_t *)&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) | |
break; | |
++_Wchars; | |
wchar_t *_Ptrdest = (wchar_t *)_calloc_dbg(_Wchars, sizeof (wchar_t), | |
2, "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale", 736); | |
if (!_Ptrdest) | |
_Xbad_alloc(); | |
wchar_t *_Ptrnext = _Ptrdest; | |
mbstate_t _Mbst2 = {}; | |
for (; 0 < _Wchars; | |
_Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) | |
if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) | |
break; | |
*_Ptrnext = L'\0'; | |
return ((unsigned short *)_Ptrdest); | |
} | |
#line 751 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
class codecvt_base | |
: public locale::facet | |
{ | |
public: | |
enum | |
{ | |
ok, partial, error, noconv}; | |
typedef int result; | |
codecvt_base(size_t _Refs = 0) | |
: locale::facet(_Refs) | |
{ | |
} | |
bool always_noconv() const | |
{ | |
return (do_always_noconv()); | |
} | |
int max_length() const | |
{ | |
return (do_max_length()); | |
} | |
int encoding() const | |
{ | |
return (do_encoding()); | |
} | |
~codecvt_base() throw () | |
{ | |
} | |
protected: | |
virtual bool do_always_noconv() const | |
{ | |
return (false); | |
} | |
virtual int do_max_length() const | |
{ | |
return (1); | |
} | |
virtual int do_encoding() const | |
{ | |
return (1); | |
} | |
}; | |
template<class _Elem, | |
class _Byte, | |
class _Statype> | |
class codecvt | |
: public codecvt_base | |
{ | |
public: | |
typedef _Elem intern_type; | |
typedef _Byte extern_type; | |
typedef _Statype state_type; | |
result in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
return (do_in(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_out(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_unshift(_State, _First2, _Last2, _Mid2)); | |
} | |
int length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return (do_length(_State, _First1, _Last1, _Count)); | |
} | |
static locale::id id; | |
explicit codecvt(size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
_Init(_Locinfo()); | |
} | |
codecvt(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new codecvt<_Elem, _Byte, _Statype>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~codecvt() throw () | |
{ | |
} | |
void _Init(const _Locinfo&) | |
{ | |
} | |
virtual bool do_always_noconv() const | |
{ | |
return (is_same<_Byte, _Elem>::value); | |
} | |
virtual result do_in(_Statype&, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
if (is_same<_Byte, _Elem>::value) | |
return (noconv); | |
else | |
{ | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ++_Mid1, ++_Mid2) | |
*_Mid2 = (_Elem)*_Mid1; | |
return (ok); | |
} | |
} | |
virtual result do_out(_Statype&, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
if (is_same<_Byte, _Elem>::value) | |
return (noconv); | |
else | |
{ | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ++_Mid1, ++_Mid2) | |
*_Mid2 = (_Byte)*_Mid1; | |
return (ok); | |
} | |
} | |
virtual result do_unshift(_Statype&, | |
_Byte *_First2, _Byte *, _Byte *&_Mid2) const | |
{ | |
_Mid2 = _First2; | |
return (ok); | |
} | |
virtual int do_length(_Statype&, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return ((int)(_Count < (size_t)(_Last1 - _First1) | |
? _Count : _Last1 - _First1)); | |
} | |
}; | |
template<class _Elem, | |
class _Byte, | |
class _Statype> | |
locale::id codecvt<_Elem, _Byte, _Statype>::id; | |
enum _Codecvt_mode { | |
_Consume_header = 4, | |
_Generate_header = 2 | |
}; | |
template<> | |
class codecvt<char16_t, char, _Mbstatet> | |
: public codecvt_base | |
{ | |
public: | |
typedef codecvt<char16_t, char, _Mbstatet> _Mybase; | |
typedef char16_t _Elem; | |
typedef char _Byte; | |
typedef _Mbstatet _Statype; | |
typedef _Elem intern_type; | |
typedef _Byte extern_type; | |
typedef _Statype state_type; | |
result in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
return (do_in(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_out(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_unshift(_State, | |
_First2, _Last2, _Mid2)); | |
} | |
int length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return (do_length(_State, _First1, _Last1, _Count)); | |
} | |
static locale::id id; | |
explicit codecvt(size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(0x10ffff), _Mode(_Consume_header) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
codecvt(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(0x10ffff), _Mode(_Consume_header) | |
{ | |
_Init(_Lobj); | |
} | |
codecvt(const _Locinfo& _Lobj, unsigned long _Maxcode_arg, | |
_Codecvt_mode _Mode_arg, size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(_Maxcode_arg), _Mode(_Mode_arg) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new codecvt<_Elem, _Byte, _Statype>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~codecvt() throw () | |
{ | |
} | |
void _Init(const _Locinfo&) | |
{ | |
} | |
virtual result do_in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
unsigned short *_Pstate = (unsigned short *)&_State; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ) | |
{ | |
unsigned char _By = (unsigned char)*_Mid1; | |
unsigned long _Ch; | |
int _Nextra, _Nskip; | |
if (*_Pstate <= 1) | |
; | |
else if (_By < 0x80 || 0xc0 <= _By) | |
return (_Mybase::error); | |
else | |
{ | |
++_Mid1; | |
*_Mid2++ = (_Elem)(*_Pstate | (_By & 0x3f)); | |
*_Pstate = 1; | |
continue; | |
} | |
if (_By < 0x80) | |
_Ch = _By, _Nextra = 0; | |
else if (_By < 0xc0) | |
{ | |
++_Mid1; | |
return (_Mybase::error); | |
} | |
else if (_By < 0xe0) | |
_Ch = _By & 0x1f, _Nextra = 1; | |
else if (_By < 0xf0) | |
_Ch = _By & 0x0f, _Nextra = 2; | |
else if (_By < 0xf8) | |
_Ch = _By & 0x07, _Nextra = 3; | |
else | |
_Ch = _By & 0x03, _Nextra = _By < 0xfc ? 4 : 5; | |
_Nskip = _Nextra < 3 ? 0 : 1; | |
_First1 = _Mid1; | |
if (_Nextra == 0) | |
++_Mid1; | |
else if (_Last1 - _Mid1 < _Nextra + 1 - _Nskip) | |
break; | |
else | |
for (++_Mid1; _Nskip < _Nextra; --_Nextra, ++_Mid1) | |
if ((_By = (unsigned char)*_Mid1) < 0x80 || 0xc0 <= _By) | |
return (_Mybase::error); | |
else | |
_Ch = _Ch << 6 | (_By & 0x3f); | |
if (0 < _Nskip) | |
_Ch <<= 6; | |
if ((_Maxcode < 0x10ffff ? _Maxcode : 0x10ffff) < _Ch) | |
return (_Mybase::error); | |
else if (0xffff < _Ch) | |
{ | |
unsigned short _Ch0 = | |
(unsigned short)(0xd800 | (_Ch >> 10) - 0x0040); | |
*_Mid2++ = (_Elem)_Ch0; | |
*_Pstate = (unsigned short)(0xdc00 | (_Ch & 0x03ff)); | |
continue; | |
} | |
if (_Nskip == 0) | |
; | |
else if (_Mid1 == _Last1) | |
{ | |
_Mid1 = _First1; | |
break; | |
} | |
else if ((_By = (unsigned char)*_Mid1++) < 0x80 || 0xc0 <= _By) | |
return (_Mybase::error); | |
else | |
_Ch |= _By & 0x3f; | |
if (*_Pstate == 0) | |
{ | |
*_Pstate = 1; | |
if ((_Mode & _Consume_header) != 0 && _Ch == 0xfeff) | |
{ | |
result _Ans = do_in(_State, _Mid1, _Last1, _Mid1, | |
_First2, _Last2, _Mid2); | |
if (_Ans == _Mybase::partial) | |
{ | |
*_Pstate = 0; | |
_Mid1 = _First1; | |
} | |
return (_Ans); | |
} | |
} | |
*_Mid2++ = (_Elem)_Ch; | |
} | |
return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok); | |
} | |
virtual result do_out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
unsigned short *_Pstate = (unsigned short *)&_State; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ) | |
{ | |
unsigned long _Ch; | |
unsigned short _Ch1 = (unsigned short)*_Mid1; | |
bool _Save = false; | |
if (1 < *_Pstate) | |
{ | |
if (_Ch1 < 0xdc00 || 0xe000 <= _Ch1) | |
return (_Mybase::error); | |
_Ch = (*_Pstate << 10) | (_Ch1 - 0xdc00); | |
} | |
else if (0xd800 <= _Ch1 && _Ch1 < 0xdc00) | |
{ | |
_Ch = (_Ch1 - 0xd800 + 0x0040) << 10; | |
_Save = true; | |
} | |
else | |
_Ch = _Ch1; | |
_Byte _By; | |
int _Nextra; | |
if (_Ch < 0x0080) | |
_By = (_Byte)_Ch, _Nextra = 0; | |
else if (_Ch < 0x0800) | |
_By = (_Byte)(0xc0 | _Ch >> 6), _Nextra = 1; | |
else if (_Ch < 0x10000) | |
_By = (_Byte)(0xe0 | _Ch >> 12), _Nextra = 2; | |
else | |
_By = (_Byte)(0xf0 | _Ch >> 18), _Nextra = 3; | |
int _Nput = _Nextra < 3 ? _Nextra + 1 : _Save ? 1 : 3; | |
if (_Last2 - _Mid2 < _Nput) | |
break; | |
else if (*_Pstate != 0 || (_Mode & _Generate_header) == 0) | |
; | |
else if (_Last2 - _Mid2 < 3 + _Nput) | |
break; | |
else | |
{ | |
*_Mid2++ = (_Byte)(unsigned char)0xef; | |
*_Mid2++ = (_Byte)(unsigned char)0xbb; | |
*_Mid2++ = (_Byte)(unsigned char)0xbf; | |
} | |
++_Mid1; | |
if (_Save || _Nextra < 3) | |
{ | |
*_Mid2++ = _By; | |
--_Nput; | |
} | |
for (; 0 < _Nput; --_Nput) | |
*_Mid2++ = (_Byte)((_Ch >> 6 * --_Nextra & 0x3f) | 0x80); | |
*_Pstate = (unsigned short)(_Save ? _Ch >> 10 : 1); | |
} | |
return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok); | |
} | |
virtual result do_unshift(_Statype& _State, | |
_Byte *_First2, _Byte *, _Byte *& _Mid2) const | |
{ | |
unsigned short *_Pstate = (unsigned short *)&_State; | |
_Mid2 = _First2; | |
return (1 < *_Pstate | |
? _Mybase::error : _Mybase::ok); | |
} | |
virtual int do_length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
size_t _Wchars = 0; | |
_Statype _Mystate = _State; | |
for (; _Wchars < _Count && _First1 != _Last1; ) | |
{ | |
const _Byte *_Mid1; | |
_Elem *_Mid2; | |
_Elem _Ch; | |
switch (do_in(_Mystate, _First1, _Last1, _Mid1, | |
&_Ch, &_Ch + 1, _Mid2)) | |
{ | |
case _Mybase::noconv: | |
return ((int)(_Wchars + (_Last1 - _First1))); | |
case _Mybase::ok: | |
if (_Mid2 == &_Ch + 1) | |
++_Wchars; | |
_First1 = _Mid1; | |
break; | |
default: | |
return ((int)_Wchars); | |
} | |
} | |
return ((int)_Wchars); | |
} | |
virtual bool do_always_noconv() const | |
{ | |
return (false); | |
} | |
virtual int do_max_length() const | |
{ | |
return ((_Mode & _Consume_header) != 0 ? 9 | |
: (_Mode & _Generate_header) != 0 ? 7 | |
: 6); | |
} | |
virtual int do_encoding() const | |
{ | |
return (0); | |
} | |
private: | |
unsigned long _Maxcode; | |
_Codecvt_mode _Mode; | |
}; | |
template<> | |
class codecvt<char32_t, char, _Mbstatet> | |
: public codecvt_base | |
{ | |
public: | |
typedef codecvt<char32_t, char, _Mbstatet> _Mybase; | |
typedef char32_t _Elem; | |
typedef char _Byte; | |
typedef _Mbstatet _Statype; | |
typedef _Elem intern_type; | |
typedef _Byte extern_type; | |
typedef _Statype state_type; | |
result in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
return (do_in(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_out(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_unshift(_State, | |
_First2, _Last2, _Mid2)); | |
} | |
int length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return (do_length(_State, _First1, _Last1, _Count)); | |
} | |
static locale::id id; | |
explicit codecvt(size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(0xffffffff), _Mode(_Consume_header) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
codecvt(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(0xffffffff), _Mode(_Consume_header) | |
{ | |
_Init(_Lobj); | |
} | |
codecvt(const _Locinfo& _Lobj, unsigned long _Maxcode_arg, | |
_Codecvt_mode _Mode_arg, size_t _Refs = 0) | |
: codecvt_base(_Refs), _Maxcode(_Maxcode_arg), _Mode(_Mode_arg) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new codecvt<_Elem, _Byte, _Statype>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~codecvt() throw () | |
{ | |
} | |
void _Init(const _Locinfo&) | |
{ | |
} | |
virtual result do_in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
char *_Pstate = (char *)&_State; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ) | |
{ | |
unsigned char _By = (unsigned char)*_Mid1; | |
unsigned long _Ch; | |
int _Nextra; | |
if (_By < 0x80) | |
_Ch = _By, _Nextra = 0; | |
else if (_By < 0xc0) | |
{ | |
++_Mid1; | |
return (_Mybase::error); | |
} | |
else if (_By < 0xe0) | |
_Ch = _By & 0x1f, _Nextra = 1; | |
else if (_By < 0xf0) | |
_Ch = _By & 0x0f, _Nextra = 2; | |
else if (_By < 0xf8) | |
_Ch = _By & 0x07, _Nextra = 3; | |
else | |
_Ch = _By & 0x03, _Nextra = _By < 0xfc ? 4 : 5; | |
if (_Nextra == 0) | |
++_Mid1; | |
else if (_Last1 - _Mid1 < _Nextra + 1) | |
break; | |
else | |
for (++_Mid1; 0 < _Nextra; --_Nextra, ++_Mid1) | |
if ((_By = (unsigned char)*_Mid1) < 0x80 || 0xc0 <= _By) | |
return (_Mybase::error); | |
else | |
_Ch = _Ch << 6 | (_By & 0x3f); | |
if (*_Pstate == 0) | |
{ | |
*_Pstate = 1; | |
if ((_Mode & _Consume_header) != 0 && _Ch == 0xfeff) | |
{ | |
result _Ans = do_in(_State, _Mid1, _Last1, _Mid1, | |
_First2, _Last2, _Mid2); | |
if (_Ans == _Mybase::partial) | |
{ | |
*_Pstate = 0; | |
_Mid1 = _First1; | |
} | |
return (_Ans); | |
} | |
} | |
if (_Maxcode < _Ch) | |
return (_Mybase::error); | |
*_Mid2++ = (_Elem)_Ch; | |
} | |
return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok); | |
} | |
virtual result do_out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
char *_Pstate = (char *)&_State; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
for (; _Mid1 != _Last1 && _Mid2 != _Last2; ) | |
{ | |
_Byte _By; | |
int _Nextra; | |
unsigned long _Ch = (unsigned long)*_Mid1; | |
if (_Maxcode < _Ch) | |
return (_Mybase::error); | |
if (_Ch < 0x0080) | |
_By = (_Byte)_Ch, _Nextra = 0; | |
else if (_Ch < 0x0800) | |
_By = (_Byte)(0xc0 | _Ch >> 6), _Nextra = 1; | |
else if (_Ch < 0x00010000) | |
_By = (_Byte)(0xe0 | _Ch >> 12), _Nextra = 2; | |
else if (_Ch < 0x00200000) | |
_By = (_Byte)(0xf0 | _Ch >> 18), _Nextra = 3; | |
else if (_Ch < 0x04000000) | |
_By = (_Byte)(0xf8 | _Ch >> 24), _Nextra = 4; | |
else | |
_By = (_Byte)(0xfc | (_Ch >> 30 & 0x03)), _Nextra = 5; | |
if (*_Pstate == 0) | |
{ | |
*_Pstate = 1; | |
if ((_Mode & _Generate_header) == 0) | |
; | |
else if (_Last2 - _Mid2 < 3 + 1 + _Nextra) | |
return (_Mybase::partial); | |
else | |
{ | |
*_Mid2++ = (_Byte)(unsigned char)0xef; | |
*_Mid2++ = (_Byte)(unsigned char)0xbb; | |
*_Mid2++ = (_Byte)(unsigned char)0xbf; | |
} | |
} | |
if (_Last2 - _Mid2 < 1 + _Nextra) | |
break; | |
++_Mid1; | |
for (*_Mid2++ = _By; 0 < _Nextra; ) | |
*_Mid2++ = (_Byte)((_Ch >> 6 * --_Nextra & 0x3f) | 0x80); | |
} | |
return (_First1 == _Mid1 ? _Mybase::partial : _Mybase::ok); | |
} | |
virtual result do_unshift(_Statype&, | |
_Byte *_First2, _Byte *, _Byte *& _Mid2) const | |
{ | |
_Mid2 = _First2; | |
return (_Mybase::ok); | |
} | |
virtual int do_length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
int _Wchars = 0; | |
_Statype _Mystate = _State; | |
for (; (size_t)_Wchars < _Count && _First1 != _Last1; ) | |
{ | |
const _Byte *_Mid1; | |
_Elem *_Mid2; | |
_Elem _Ch; | |
switch (do_in(_Mystate, _First1, _Last1, _Mid1, | |
&_Ch, &_Ch + 1, _Mid2)) | |
{ | |
case _Mybase::noconv: | |
return ((int)(_Wchars + (int)(_Last1 - _First1))); | |
case _Mybase::ok: | |
if (_Mid2 == &_Ch + 1) | |
++_Wchars; | |
_First1 = _Mid1; | |
break; | |
default: | |
return ((int)_Wchars); | |
} | |
} | |
return ((int)_Wchars); | |
} | |
virtual bool do_always_noconv() const | |
{ | |
return (false); | |
} | |
virtual int do_max_length() const | |
{ | |
return ((_Mode & (_Consume_header | _Generate_header)) != 0 | |
? 9 : 6); | |
} | |
virtual int do_encoding() const | |
{ | |
return ((_Mode & (_Consume_header | _Generate_header)) != 0 | |
? -1 : 0); | |
} | |
private: | |
unsigned long _Maxcode; | |
_Codecvt_mode _Mode; | |
}; | |
template<> | |
class codecvt<wchar_t, char, _Mbstatet> | |
: public codecvt_base | |
{ | |
public: | |
typedef wchar_t _Elem; | |
typedef char _Byte; | |
typedef _Mbstatet _Statype; | |
typedef _Elem intern_type; | |
typedef _Byte extern_type; | |
typedef _Statype state_type; | |
result in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
return (do_in(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_out(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_unshift(_State, | |
_First2, _Last2, _Mid2)); | |
} | |
int length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return (do_length(_State, _First1, _Last1, _Count)); | |
} | |
static locale::id id; | |
explicit codecvt(size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
codecvt(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new codecvt<_Elem, _Byte, _Statype>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~codecvt() throw () | |
{ | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Cvt = _Lobj._Getcvt(); | |
} | |
virtual result do_in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
; | |
; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
result _Ans = _Mid1 == _Last1 ? ok : partial; | |
int _Bytes; | |
while (_Mid1 != _Last1 && _Mid2 != _Last2) | |
switch (_Bytes = _Mbrtowc(_Mid2, _Mid1, _Last1 - _Mid1, | |
&_State, &_Cvt)) | |
{ | |
case -2: | |
_Mid1 = _Last1; | |
return (_Ans); | |
case -1: | |
return (error); | |
case 0: | |
if (*_Mid2 == (_Elem)0) | |
_Bytes = (int):: strlen(_Mid1) + 1; | |
default: | |
if (_Bytes == -3) | |
_Bytes = 0; | |
_Mid1 += _Bytes; | |
++_Mid2; | |
_Ans = ok; | |
} | |
return (_Ans); | |
} | |
virtual result do_out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
; | |
; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
int _Bytes; | |
while (_Mid1 != _Last1 && _Mid2 != _Last2) | |
{ | |
if ((int)5 <= _Last2 - _Mid2) | |
{ | |
if ((_Bytes = _Wcrtomb(_Mid2, *_Mid1, | |
&_State, &_Cvt)) < 0) | |
{ | |
return (error); | |
} | |
else | |
{ | |
++_Mid1; | |
_Mid2 += _Bytes; | |
} | |
} | |
else | |
{ | |
_Byte _Buf[5]; | |
_Statype _Stsave = _State; | |
if ((_Bytes = _Wcrtomb(_Buf, *_Mid1, | |
&_State, &_Cvt)) < 0) | |
{ | |
return (error); | |
} | |
else if (_Last2 - _Mid2 < _Bytes) | |
{ | |
_State = _Stsave; | |
break; | |
} | |
else | |
{ | |
:: memcpy(_Mid2, _Buf, _Bytes); | |
++_Mid1; | |
_Mid2 += _Bytes; | |
} | |
} | |
} | |
return (_Mid1 == _Last1 ? ok : partial); | |
} | |
virtual result do_unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
; | |
_Mid2 = _First2; | |
result _Ans = ok; | |
int _Bytes; | |
_Byte _Buf[5]; | |
_Statype _Stsave = _State; | |
if ((_Bytes = _Wcrtomb(_Buf, L'\0', &_State, &_Cvt)) <= 0) | |
_Ans = error; | |
else if (_Last2 - _Mid2 < --_Bytes) | |
{ | |
_State = _Stsave; | |
_Ans = partial; | |
} | |
else if (0 < _Bytes) | |
{ | |
:: memcpy(_Mid2, _Buf, _Bytes); | |
_Mid2 += _Bytes; | |
} | |
return (_Ans); | |
} | |
virtual int do_length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
; | |
int _Wchars; | |
const _Byte *_Mid1; | |
_Statype _Mystate = _State; | |
for (_Wchars = 0, _Mid1 = _First1; | |
(size_t)_Wchars < _Count && _Mid1 != _Last1; ) | |
{ | |
int _Bytes; | |
_Elem _Ch; | |
switch (_Bytes = _Mbrtowc(&_Ch, _Mid1, _Last1 - _Mid1, | |
&_Mystate, &_Cvt)) | |
{ | |
case -2: | |
return (_Wchars); | |
case -1: | |
return (_Wchars); | |
case 0: | |
if (_Ch == (_Elem)0) | |
_Bytes = (int):: strlen(_Mid1) + 1; | |
default: | |
if (_Bytes == -3) | |
_Bytes = 0; | |
_Mid1 += _Bytes; | |
++_Wchars; | |
} | |
} | |
return (_Wchars); | |
} | |
virtual bool do_always_noconv() const | |
{ | |
return (false); | |
} | |
virtual int do_max_length() const | |
{ | |
return (5); | |
} | |
virtual int do_encoding() const | |
{ | |
return (0); | |
} | |
private: | |
_Locinfo::_Cvtvec _Cvt; | |
}; | |
template<> | |
class codecvt<unsigned short, char, _Mbstatet> | |
: public codecvt_base | |
{ | |
public: | |
typedef unsigned short _Elem; | |
typedef char _Byte; | |
typedef _Mbstatet _Statype; | |
typedef _Elem intern_type; | |
typedef _Byte extern_type; | |
typedef _Statype state_type; | |
result in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
return (do_in(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_out(_State, | |
_First1, _Last1, _Mid1, _First2, _Last2, _Mid2)); | |
} | |
result unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
return (do_unshift(_State, | |
_First2, _Last2, _Mid2)); | |
} | |
int length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
return (do_length(_State, _First1, _Last1, _Count)); | |
} | |
static locale::id id; | |
explicit codecvt(size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
codecvt(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: codecvt_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new codecvt<_Elem, _Byte, _Statype>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~codecvt() throw () | |
{ | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Cvt = _Lobj._Getcvt(); | |
} | |
virtual result do_in(_Statype& _State, | |
const _Byte *_First1, const _Byte *_Last1, const _Byte *& _Mid1, | |
_Elem *_First2, _Elem *_Last2, _Elem *& _Mid2) const | |
{ | |
; | |
; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
result _Ans = _Mid1 == _Last1 ? ok : partial; | |
int _Bytes; | |
while (_Mid1 != _Last1 && _Mid2 != _Last2) | |
switch (_Bytes = _Mbrtowc((wchar_t *)_Mid2, _Mid1, _Last1 - _Mid1, | |
&_State, &_Cvt)) | |
{ | |
case -2: | |
_Mid1 = _Last1; | |
return (_Ans); | |
case -1: | |
return (error); | |
case 0: | |
if (*_Mid2 == (_Elem)0) | |
_Bytes = (int):: strlen(_Mid1) + 1; | |
default: | |
if (_Bytes == -3) | |
_Bytes = 0; | |
_Mid1 += _Bytes; | |
++_Mid2; | |
_Ans = ok; | |
} | |
return (_Ans); | |
} | |
virtual result do_out(_Statype& _State, | |
const _Elem *_First1, const _Elem *_Last1, const _Elem *& _Mid1, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
; | |
; | |
_Mid1 = _First1; | |
_Mid2 = _First2; | |
int _Bytes; | |
while (_Mid1 != _Last1 && _Mid2 != _Last2) | |
{ | |
if ((int)5 <= _Last2 - _Mid2) | |
{ | |
if ((_Bytes = _Wcrtomb(_Mid2, *_Mid1, | |
&_State, &_Cvt)) < 0) | |
{ | |
return (error); | |
} | |
else | |
{ | |
++_Mid1; | |
_Mid2 += _Bytes; | |
} | |
} | |
else | |
{ | |
_Byte _Buf[5]; | |
_Statype _Stsave = _State; | |
if ((_Bytes = _Wcrtomb(_Buf, *_Mid1, | |
&_State, &_Cvt)) < 0) | |
{ | |
return (error); | |
} | |
else if (_Last2 - _Mid2 < _Bytes) | |
{ | |
_State = _Stsave; | |
break; | |
} | |
else | |
{ | |
:: memcpy(_Mid2, _Buf, _Bytes); | |
++_Mid1; | |
_Mid2 += _Bytes; | |
} | |
} | |
} | |
return (_Mid1 == _Last1 ? ok : partial); | |
} | |
virtual result do_unshift(_Statype& _State, | |
_Byte *_First2, _Byte *_Last2, _Byte *& _Mid2) const | |
{ | |
; | |
_Mid2 = _First2; | |
result _Ans = ok; | |
int _Bytes; | |
_Byte _Buf[5]; | |
_Statype _Stsave = _State; | |
if ((_Bytes = _Wcrtomb(_Buf, L'\0', &_State, &_Cvt)) <= 0) | |
_Ans = error; | |
else if (_Last2 - _Mid2 < --_Bytes) | |
{ | |
_State = _Stsave; | |
_Ans = partial; | |
} | |
else if (0 < _Bytes) | |
{ | |
:: memcpy(_Mid2, _Buf, _Bytes); | |
_Mid2 += _Bytes; | |
} | |
return (_Ans); | |
} | |
virtual int do_length(_Statype& _State, const _Byte *_First1, | |
const _Byte *_Last1, size_t _Count) const | |
{ | |
; | |
int _Wchars; | |
const _Byte *_Mid1; | |
_Statype _Mystate = _State; | |
for (_Wchars = 0, _Mid1 = _First1; | |
(size_t)_Wchars < _Count && _Mid1 != _Last1; ) | |
{ | |
int _Bytes; | |
_Elem _Ch; | |
switch (_Bytes = _Mbrtowc((wchar_t *)&_Ch, _Mid1, _Last1 - _Mid1, | |
&_Mystate, &_Cvt)) | |
{ | |
case -2: | |
return (_Wchars); | |
case -1: | |
return (_Wchars); | |
case 0: | |
if (_Ch == (_Elem)0) | |
_Bytes = (int):: strlen(_Mid1) + 1; | |
default: | |
if (_Bytes == -3) | |
_Bytes = 0; | |
_Mid1 += _Bytes; | |
++_Wchars; | |
} | |
} | |
return (_Wchars); | |
} | |
virtual bool do_always_noconv() const | |
{ | |
return (false); | |
} | |
virtual int do_max_length() const | |
{ | |
return (5); | |
} | |
virtual int do_encoding() const | |
{ | |
return (0); | |
} | |
private: | |
_Locinfo::_Cvtvec _Cvt; | |
}; | |
#line 2027 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
template<class _Elem, | |
class _Byte, | |
class _Statype> | |
class codecvt_byname | |
: public codecvt<_Elem, _Byte, _Statype> | |
{ | |
public: | |
explicit codecvt_byname(const char *_Locname, size_t _Refs = 0) | |
: codecvt<_Elem, _Byte, _Statype>(_Locinfo(_Locname), _Refs) | |
{ | |
} | |
explicit codecvt_byname(const string& _Str, size_t _Refs = 0) | |
: codecvt<_Elem, _Byte, _Statype>(_Locinfo(_Str.c_str()), _Refs) | |
{ | |
} | |
protected: | |
virtual ~codecvt_byname() throw () | |
{ | |
} | |
}; | |
struct ctype_base | |
: public locale::facet | |
{ | |
enum | |
{ | |
alnum = 0x04 | 0x02 | 0x01 | 0x100, alpha = 0x02 | 0x01 | 0x100, | |
cntrl = 0x20, digit = 0x04, graph = 0x04 | 0x02 | 0x10 | 0x01 | 0x100, | |
lower = 0x02, print = 0x04 | 0x02 | 0x10 | 0x40 | 0x01 | 0x100 | 0x80, | |
punct = 0x10, space = 0x08 | 0x40 | 0x000, upper = 0x01, | |
xdigit = 0x80, blank = 0x08 | 0x40 | 0x000 | 0x000}; | |
typedef short mask; | |
ctype_base(size_t _Refs = 0) | |
: locale::facet(_Refs) | |
{ | |
} | |
~ctype_base() throw () | |
{ | |
} | |
}; | |
template<class _Elem> | |
class ctype | |
: public ctype_base | |
{ | |
public: | |
typedef _Elem char_type; | |
bool is(mask _Maskval, _Elem _Ch) const | |
{ | |
return (do_is(_Maskval, _Ch)); | |
} | |
const _Elem * is(const _Elem *_First, const _Elem *_Last, | |
mask *_Dest) const | |
{ | |
return (do_is(_First, _Last, _Dest)); | |
} | |
const _Elem * scan_is(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_is(_Maskval, _First, _Last)); | |
} | |
const _Elem * scan_not(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_not(_Maskval, _First, _Last)); | |
} | |
_Elem tolower(_Elem _Ch) const | |
{ | |
return (do_tolower(_Ch)); | |
} | |
const _Elem * tolower(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_tolower(_First, _Last)); | |
} | |
_Elem toupper(_Elem _Ch) const | |
{ | |
return (do_toupper(_Ch)); | |
} | |
const _Elem * toupper(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_toupper(_First, _Last)); | |
} | |
_Elem widen(char _Byte) const | |
{ | |
return (do_widen(_Byte)); | |
} | |
const char * widen(const char *_First, const char *_Last, | |
_Elem *_Dest) const | |
{ | |
return (do_widen(_First, _Last, _Dest)); | |
} | |
char narrow(_Elem _Ch, char _Dflt = '\0') const | |
{ | |
return (do_narrow(_Ch, _Dflt)); | |
} | |
const _Elem * narrow(const _Elem *_First, const _Elem *_Last, | |
char _Dflt, char *_Dest) const | |
{ | |
return (do_narrow(_First, _Last, _Dflt, _Dest)); | |
} | |
static locale::id id; | |
explicit ctype(size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
ctype(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new ctype<_Elem>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~ctype() throw () | |
{ | |
if (_Ctype._Delfl) | |
:: free((void *)_Ctype._Table); | |
:: free(_Ctype._LocaleName); | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Ctype = _Lobj._Getctype(); | |
_Cvt = _Lobj._Getcvt(); | |
} | |
virtual bool do_is(mask _Maskval, _Elem _Ch) const | |
{ | |
return ((_Ctype._Table[(unsigned char)narrow(_Ch)] | |
& _Maskval) != 0); | |
} | |
virtual const _Elem * do_is(const _Elem *_First, const _Elem *_Last, | |
mask *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Ctype._Table[(unsigned char)narrow(*_First)]; | |
return (_First); | |
} | |
virtual const _Elem * do_scan_is(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && !is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual const _Elem * do_scan_not(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual _Elem do_tolower(_Elem _Ch) const | |
{ | |
unsigned char _Byte = (unsigned char)narrow(_Ch, '\0'); | |
if (_Byte == '\0') | |
return (_Ch); | |
else | |
return (widen((char)_Tolower(_Byte, &_Ctype))); | |
} | |
virtual const _Elem * do_tolower(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
{ | |
unsigned char _Byte = (unsigned char)narrow(*_First, '\0'); | |
if (_Byte != '\0') | |
*_First = (widen((char)_Tolower(_Byte, &_Ctype))); | |
} | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_toupper(_Elem _Ch) const | |
{ | |
unsigned char _Byte = (unsigned char)narrow(_Ch, '\0'); | |
if (_Byte == '\0') | |
return (_Ch); | |
else | |
return (widen((char)_Toupper(_Byte, &_Ctype))); | |
} | |
virtual const _Elem * do_toupper(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
{ | |
unsigned char _Byte = (unsigned char)narrow(*_First, '\0'); | |
if (_Byte != '\0') | |
*_First = (widen((char)_Toupper(_Byte, &_Ctype))); | |
} | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_widen(char _Byte) const | |
{ | |
return (_Maklocchr(_Byte, (_Elem *)0, _Cvt)); | |
} | |
virtual const char * do_widen(const char *_First, | |
const char *_Last, _Elem *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Maklocchr(*_First, (_Elem *)0, _Cvt); | |
return (_First); | |
} | |
char _Donarrow(_Elem _Ch, char _Dflt) const | |
{ | |
char _Byte; | |
if (_Ch == (_Elem)0) | |
return ('\0'); | |
else if ((_Byte = _Maklocbyte((_Elem)_Ch, _Cvt)) == '\0') | |
return (_Dflt); | |
else | |
return (_Byte); | |
} | |
virtual char do_narrow(_Elem _Ch, char _Dflt) const | |
{ | |
return (_Donarrow(_Ch, _Dflt)); | |
} | |
virtual const _Elem * do_narrow(const _Elem *_First, | |
const _Elem *_Last, char _Dflt, char *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Donarrow(*_First, _Dflt); | |
return (_First); | |
} | |
private: | |
_Locinfo::_Ctypevec _Ctype; | |
_Locinfo::_Cvtvec _Cvt; | |
}; | |
template<class _Elem> | |
locale::id ctype<_Elem>::id; | |
template<> | |
class ctype<char> | |
: public ctype_base | |
{ | |
typedef ctype<char> _Myt; | |
public: | |
typedef char _Elem; | |
typedef _Elem char_type; | |
bool is(mask _Maskval, _Elem _Ch) const | |
{ | |
return ((_Ctype._Table[(unsigned char)_Ch] & _Maskval) != 0); | |
} | |
const _Elem * is(const _Elem *_First, | |
const _Elem *_Last, mask *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Ctype._Table[(unsigned char)*_First]; | |
return (_First); | |
} | |
const _Elem * scan_is(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && !is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
const _Elem * scan_not(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
_Elem tolower(_Elem _Ch) const | |
{ | |
return (do_tolower(_Ch)); | |
} | |
const _Elem * tolower(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_tolower(_First, _Last)); | |
} | |
_Elem toupper(_Elem _Ch) const | |
{ | |
return (do_toupper(_Ch)); | |
} | |
const _Elem * toupper(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_toupper(_First, _Last)); | |
} | |
_Elem widen(char _Byte) const | |
{ | |
return (do_widen(_Byte)); | |
} | |
const _Elem * widen(const char *_First, const char *_Last, | |
_Elem *_Dest) const | |
{ | |
return (do_widen(_First, _Last, _Dest)); | |
} | |
_Elem narrow(_Elem _Ch, char _Dflt = '\0') const | |
{ | |
return (do_narrow(_Ch, _Dflt)); | |
} | |
const _Elem * narrow(const _Elem *_First, const _Elem *_Last, | |
char _Dflt, char *_Dest) const | |
{ | |
return (do_narrow(_First, _Last, _Dflt, _Dest)); | |
} | |
static locale::id id; | |
explicit ctype(const mask *_Table = 0, | |
bool _Deletetable = false, | |
size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
_Tidy(); | |
if (_Table != 0) | |
{ | |
_Ctype._Table = _Table; | |
_Ctype._Delfl = _Deletetable ? -1 : 0; | |
} | |
else | |
{ | |
_Ctype._Table = classic_table(); | |
_Ctype._Delfl = 0; | |
} | |
} | |
ctype(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new ctype<_Elem>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
const mask * table() const | |
{ | |
return (_Ctype._Table); | |
} | |
static const mask *__cdecl classic_table() | |
{ | |
const _Myt& _Ctype_fac = use_facet< _Myt >(locale::classic()); | |
return (_Ctype_fac.table()); | |
} | |
static const size_t table_size = | |
1 << 8; | |
protected: | |
virtual ~ctype() throw () | |
{ | |
_Tidy(); | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Ctype = _Lobj._Getctype(); | |
} | |
void _Tidy() | |
{ | |
if (0 < _Ctype._Delfl) | |
:: free((void *)_Ctype._Table); | |
else if (_Ctype._Delfl < 0) | |
delete[] _Ctype._Table; | |
:: free(_Ctype._LocaleName); | |
} | |
virtual _Elem do_tolower(_Elem _Ch) const | |
{ | |
return ((_Elem)_Tolower((unsigned char)_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_tolower(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = (_Elem)_Tolower((unsigned char)*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_toupper(_Elem _Ch) const | |
{ | |
return ((_Elem)_Toupper((unsigned char)_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_toupper(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = (_Elem)_Toupper((unsigned char)*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_widen(char _Byte) const | |
{ | |
return (_Byte); | |
} | |
virtual const _Elem * do_widen(const char *_First, | |
const char *_Last, _Elem *_Dest) const | |
{ | |
; | |
:: memcpy(_Dest, _First, _Last - _First); | |
return (_Last); | |
} | |
virtual _Elem do_narrow(_Elem _Ch, char) const | |
{ | |
return (_Ch); | |
} | |
virtual const _Elem * do_narrow(const _Elem *_First, | |
const _Elem *_Last, char, char *_Dest) const | |
{ | |
; | |
:: memcpy(_Dest, _First, _Last - _First); | |
return (_Last); | |
} | |
private: | |
_Locinfo::_Ctypevec _Ctype; | |
}; | |
template<> | |
class ctype<wchar_t> | |
: public ctype_base | |
{ | |
typedef ctype<wchar_t> _Myt; | |
public: | |
typedef wchar_t _Elem; | |
typedef _Elem char_type; | |
bool is(mask _Maskval, _Elem _Ch) const | |
{ | |
return (do_is(_Maskval, _Ch)); | |
} | |
const _Elem * is(const _Elem *_First, const _Elem *_Last, | |
mask *_Dest) const | |
{ | |
return (do_is(_First, _Last, _Dest)); | |
} | |
const _Elem * scan_is(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_is(_Maskval, _First, _Last)); | |
} | |
const _Elem * scan_not(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_not(_Maskval, _First, _Last)); | |
} | |
_Elem tolower(_Elem _Ch) const | |
{ | |
return (do_tolower(_Ch)); | |
} | |
const _Elem * tolower(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_tolower(_First, _Last)); | |
} | |
_Elem toupper(_Elem _Ch) const | |
{ | |
return (do_toupper(_Ch)); | |
} | |
const _Elem * toupper(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_toupper(_First, _Last)); | |
} | |
_Elem widen(char _Byte) const | |
{ | |
return (do_widen(_Byte)); | |
} | |
const char * widen(const char *_First, const char *_Last, | |
_Elem *_Dest) const | |
{ | |
return (do_widen(_First, _Last, _Dest)); | |
} | |
char narrow(_Elem _Ch, char _Dflt = '\0') const | |
{ | |
return (do_narrow(_Ch, _Dflt)); | |
} | |
const _Elem * narrow(const _Elem *_First, const _Elem *_Last, | |
char _Dflt, char *_Dest) const | |
{ | |
return (do_narrow(_First, _Last, _Dflt, _Dest)); | |
} | |
static locale::id id; | |
explicit ctype(size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
ctype(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new ctype<_Elem>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~ctype() throw () | |
{ | |
if (_Ctype._Delfl) | |
:: free((void *)_Ctype._Table); | |
:: free(_Ctype._LocaleName); | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Ctype = _Lobj._Getctype(); | |
_Cvt = _Lobj._Getcvt(); | |
} | |
virtual bool do_is(mask _Maskval, _Elem _Ch) const | |
{ | |
return ((:: _Getwctype(_Ch, &_Ctype) & _Maskval) != 0); | |
} | |
virtual const _Elem * do_is(const _Elem *_First, | |
const _Elem *_Last, mask *_Dest) const | |
{ | |
; | |
return (:: _Getwctypes(_First, _Last, _Dest, &_Ctype)); | |
} | |
virtual const _Elem * do_scan_is(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && !is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual const _Elem * do_scan_not(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual _Elem do_tolower(_Elem _Ch) const | |
{ | |
return (_Towlower(_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_tolower(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = _Towlower(*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_toupper(_Elem _Ch) const | |
{ | |
return (_Towupper(_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_toupper(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = _Towupper(*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
_Elem _Dowiden(char _Byte) const | |
{ | |
mbstate_t _Mbst = {}; | |
wchar_t _Wc; | |
return (_Mbrtowc(&_Wc, &_Byte, 1, &_Mbst, &_Cvt) < 0 | |
? (wchar_t)((wint_t)(0xFFFF)) : _Wc); | |
} | |
virtual _Elem do_widen(char _Byte) const | |
{ | |
return (_Dowiden(_Byte)); | |
} | |
virtual const char * do_widen(const char *_First, | |
const char *_Last, _Elem *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Dowiden(*_First); | |
return (_First); | |
} | |
char _Donarrow(_Elem _Ch, char _Dflt) const | |
{ | |
char _Buf[5]; | |
mbstate_t _Mbst = {}; | |
return (_Wcrtomb(_Buf, _Ch, &_Mbst, &_Cvt) != 1 | |
? _Dflt : _Buf[0]); | |
} | |
virtual char do_narrow(_Elem _Ch, char _Dflt) const | |
{ | |
return (_Donarrow(_Ch, _Dflt)); | |
} | |
virtual const _Elem * do_narrow(const _Elem *_First, | |
const _Elem *_Last, char _Dflt, char *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Donarrow(*_First, _Dflt); | |
return (_First); | |
} | |
private: | |
_Locinfo::_Ctypevec _Ctype; | |
_Locinfo::_Cvtvec _Cvt; | |
}; | |
template<> | |
class ctype<unsigned short> | |
: public ctype_base | |
{ | |
typedef ctype<unsigned short> _Myt; | |
public: | |
typedef unsigned short _Elem; | |
typedef _Elem char_type; | |
bool is(mask _Maskval, _Elem _Ch) const | |
{ | |
return (do_is(_Maskval, _Ch)); | |
} | |
const _Elem * is(const _Elem *_First, const _Elem *_Last, | |
mask *_Dest) const | |
{ | |
return (do_is(_First, _Last, _Dest)); | |
} | |
const _Elem * scan_is(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_is(_Maskval, _First, _Last)); | |
} | |
const _Elem * scan_not(mask _Maskval, const _Elem *_First, | |
const _Elem *_Last) const | |
{ | |
return (do_scan_not(_Maskval, _First, _Last)); | |
} | |
_Elem tolower(_Elem _Ch) const | |
{ | |
return (do_tolower(_Ch)); | |
} | |
const _Elem * tolower(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_tolower(_First, _Last)); | |
} | |
_Elem toupper(_Elem _Ch) const | |
{ | |
return (do_toupper(_Ch)); | |
} | |
const _Elem * toupper(_Elem *_First, const _Elem *_Last) const | |
{ | |
return (do_toupper(_First, _Last)); | |
} | |
_Elem widen(char _Byte) const | |
{ | |
return (do_widen(_Byte)); | |
} | |
const char * widen(const char *_First, const char *_Last, | |
_Elem *_Dest) const | |
{ | |
return (do_widen(_First, _Last, _Dest)); | |
} | |
char narrow(_Elem _Ch, char _Dflt = '\0') const | |
{ | |
return (do_narrow(_Ch, _Dflt)); | |
} | |
const _Elem * narrow(const _Elem *_First, const _Elem *_Last, | |
char _Dflt, char *_Dest) const | |
{ | |
return (do_narrow(_First, _Last, _Dflt, _Dest)); | |
} | |
static locale::id id; | |
explicit ctype(size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
ctype(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: ctype_base(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new ctype<_Elem>( | |
_Locinfo(_Ploc->c_str())); | |
return (2); | |
} | |
protected: | |
virtual ~ctype() throw () | |
{ | |
if (_Ctype._Delfl) | |
:: free((void *)_Ctype._Table); | |
:: free(_Ctype._LocaleName); | |
} | |
void _Init(const _Locinfo& _Lobj) | |
{ | |
_Ctype = _Lobj._Getctype(); | |
_Cvt = _Lobj._Getcvt(); | |
} | |
virtual bool do_is(mask _Maskval, _Elem _Ch) const | |
{ | |
return ((:: _Getwctype(_Ch, &_Ctype) & _Maskval) != 0); | |
} | |
virtual const _Elem * do_is(const _Elem *_First, | |
const _Elem *_Last, mask *_Dest) const | |
{ | |
; | |
return ((const _Elem *):: _Getwctypes((const wchar_t *)_First, | |
(const wchar_t *)_Last, _Dest, &_Ctype)); | |
} | |
virtual const _Elem * do_scan_is(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && !is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual const _Elem * do_scan_not(mask _Maskval, | |
const _Elem *_First, const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last && is(_Maskval, *_First); ++_First) | |
; | |
return (_First); | |
} | |
virtual _Elem do_tolower(_Elem _Ch) const | |
{ | |
return (_Towlower(_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_tolower(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = _Towlower(*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
virtual _Elem do_toupper(_Elem _Ch) const | |
{ | |
return (_Towupper(_Ch, &_Ctype)); | |
} | |
virtual const _Elem * do_toupper(_Elem *_First, | |
const _Elem *_Last) const | |
{ | |
; | |
for (; _First != _Last; ++_First) | |
*_First = _Towupper(*_First, &_Ctype); | |
return ((const _Elem *)_First); | |
} | |
_Elem _Dowiden(char _Byte) const | |
{ | |
mbstate_t _Mbst = {}; | |
unsigned short _Wc; | |
return (_Mbrtowc((wchar_t *)&_Wc, &_Byte, 1, &_Mbst, &_Cvt) < 0 | |
? (unsigned short)((wint_t)(0xFFFF)) : _Wc); | |
} | |
virtual _Elem do_widen(char _Byte) const | |
{ | |
return (_Dowiden(_Byte)); | |
} | |
virtual const char * do_widen(const char *_First, | |
const char *_Last, _Elem *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Dowiden(*_First); | |
return (_First); | |
} | |
char _Donarrow(_Elem _Ch, char _Dflt) const | |
{ | |
char _Buf[5]; | |
mbstate_t _Mbst = {}; | |
return (_Wcrtomb(_Buf, _Ch, &_Mbst, &_Cvt) != 1 | |
? _Dflt : _Buf[0]); | |
} | |
virtual char do_narrow(_Elem _Ch, char _Dflt) const | |
{ | |
return (_Donarrow(_Ch, _Dflt)); | |
} | |
virtual const _Elem * do_narrow(const _Elem *_First, | |
const _Elem *_Last, char _Dflt, char *_Dest) const | |
{ | |
; | |
for (; _First != _Last; ++_First, ++_Dest) | |
*_Dest = _Donarrow(*_First, _Dflt); | |
return (_First); | |
} | |
private: | |
_Locinfo::_Ctypevec _Ctype; | |
_Locinfo::_Cvtvec _Cvt; | |
}; | |
#line 2978 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
template<class _Elem> | |
class ctype_byname | |
: public ctype<_Elem> | |
{ | |
public: | |
explicit ctype_byname(const char *_Locname, size_t _Refs = 0) | |
: ctype<_Elem>(_Locinfo(_Locname), _Refs) | |
{ | |
} | |
explicit ctype_byname(const string& _Str, size_t _Refs = 0) | |
: ctype<_Elem>(_Locinfo(_Str.c_str()), _Refs) | |
{ | |
} | |
protected: | |
virtual ~ctype_byname() throw () | |
{ | |
} | |
}; | |
template<> | |
class ctype_byname<char> | |
: public ctype<char> | |
{ | |
public: | |
explicit ctype_byname(const char *_Locname, size_t _Refs = 0) | |
: ctype<char>(_Locinfo(_Locname), _Refs) | |
{ | |
} | |
explicit ctype_byname(const string& _Str, size_t _Refs = 0) | |
: ctype<char>(_Locinfo(_Str.c_str()), _Refs) | |
{ | |
} | |
protected: | |
virtual ~ctype_byname() throw () | |
{ | |
} | |
}; | |
#line 3029 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 3034 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 3035 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocale" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
#pragma once | |
#line 1 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cerrno" | |
#pragma once | |
#line 10 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cerrno" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\cerrno" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
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 | |
}; | |
typedef errc _Errc; | |
enum class io_errc { | |
stream = 1 | |
}; | |
typedef io_errc _Io_errc; | |
template<class _Enum> | |
struct is_error_code_enum | |
: public false_type | |
{ | |
}; | |
template<> | |
struct is_error_code_enum<_Io_errc> | |
: public true_type | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_error_code_enum_v = is_error_code_enum<_Ty>::value; | |
template<class _Enum> | |
struct is_error_condition_enum | |
: public false_type | |
{ | |
}; | |
template<> | |
struct is_error_condition_enum<_Errc> | |
: public true_type | |
{ | |
}; | |
template<class _Ty> | |
constexpr bool is_error_condition_enum_v = is_error_condition_enum<_Ty>::value; | |
class error_code; | |
class error_condition; | |
error_code make_error_code(_Errc) throw (); | |
error_code make_error_code(_Io_errc) throw (); | |
error_condition make_error_condition(_Errc) throw (); | |
error_condition make_error_condition(_Io_errc) throw (); | |
class error_category; | |
const error_category& generic_category() throw (); | |
const error_category& iostream_category() throw (); | |
const error_category& system_category() throw (); | |
class error_category | |
{ | |
public: | |
error_category() throw () | |
{ | |
_Addr = reinterpret_cast<uintptr_t>(this); | |
} | |
virtual ~error_category() throw () | |
{ | |
} | |
virtual const char *name() const throw () = 0; | |
virtual string message(int _Errval) const = 0; | |
virtual error_condition | |
default_error_condition(int _Errval) const throw (); | |
virtual bool equivalent(int _Errval, | |
const error_condition& _Cond) const throw (); | |
virtual bool equivalent(const error_code& _Code, | |
int _Errval) const throw (); | |
bool operator==(const error_category& _Right) const throw () | |
{ | |
return (_Addr == _Right._Addr); | |
} | |
bool operator!=(const error_category& _Right) const throw () | |
{ | |
return (!(*this == _Right)); | |
} | |
bool operator<(const error_category& _Right) const throw () | |
{ | |
return (_Addr < _Right._Addr); | |
} | |
error_category(const error_category&) = delete; | |
error_category& operator=(const error_category&) = delete; | |
protected: | |
uintptr_t _Addr; | |
enum : uintptr_t | |
{ | |
_Future_addr = 1, | |
_Generic_addr = 3, | |
_Iostream_addr = 5, | |
_System_addr = 7 | |
}; | |
}; | |
class error_code | |
{ | |
public: | |
typedef error_code _Myt; | |
error_code() throw () | |
: _Myval(0), | |
_Mycat(&system_category()) | |
{ | |
} | |
error_code(int _Val, const error_category& _Cat) throw () | |
: _Myval(_Val), _Mycat(&_Cat) | |
{ | |
} | |
template<class _Enum, | |
class = typename enable_if<is_error_code_enum<_Enum>::value, | |
void>::type> | |
error_code(_Enum _Errcode) throw () | |
: _Myval(0), _Mycat(0) | |
{ | |
*this = make_error_code(_Errcode); | |
} | |
void assign(int _Val, const error_category& _Cat) throw () | |
{ | |
_Myval = _Val; | |
_Mycat = &_Cat; | |
} | |
template<class _Enum> | |
typename enable_if<is_error_code_enum<_Enum>::value, | |
error_code>::type& operator=(_Enum _Errcode) throw () | |
{ | |
*this = make_error_code(_Errcode); | |
return (*this); | |
} | |
void clear() throw () | |
{ | |
_Myval = 0; | |
_Mycat = &system_category(); | |
} | |
int value() const throw () | |
{ | |
return (_Myval); | |
} | |
const error_category& category() const throw () | |
{ | |
return (*_Mycat); | |
} | |
error_condition default_error_condition() const throw (); | |
string message() const | |
{ | |
return (category().message(value())); | |
} | |
explicit operator bool() const throw () | |
{ | |
return (value() != 0); | |
} | |
private: | |
int _Myval; | |
const error_category *_Mycat; | |
}; | |
class error_condition | |
{ | |
public: | |
typedef error_condition _Myt; | |
error_condition() throw () | |
: _Myval(0), | |
_Mycat(&generic_category()) | |
{ | |
} | |
error_condition(int _Val, const error_category& _Cat) throw () | |
: _Myval(_Val), _Mycat(&_Cat) | |
{ | |
} | |
template<class _Enum, | |
class = typename enable_if<is_error_condition_enum<_Enum>::value, | |
void>::type> | |
error_condition(_Enum _Errcode) throw () | |
: _Myval(0), _Mycat(0) | |
{ | |
*this = make_error_condition(_Errcode); | |
} | |
void assign(int _Val, const error_category& _Cat) throw () | |
{ | |
_Myval = _Val; | |
_Mycat = &_Cat; | |
} | |
template<class _Enum> | |
typename enable_if<is_error_condition_enum<_Enum>::value, | |
error_condition>::type& operator=(_Enum _Errcode) throw () | |
{ | |
*this = make_error_condition(_Errcode); | |
return (*this); | |
} | |
void clear() throw () | |
{ | |
_Myval = 0; | |
_Mycat = &generic_category(); | |
} | |
int value() const throw () | |
{ | |
return (_Myval); | |
} | |
const error_category& category() const throw () | |
{ | |
return (*_Mycat); | |
} | |
string message() const | |
{ | |
return (category().message(value())); | |
} | |
explicit operator bool() const throw () | |
{ | |
return (value() != 0); | |
} | |
private: | |
int _Myval; | |
const error_category *_Mycat; | |
}; | |
inline bool operator==( | |
const error_code& _Left, | |
const error_code& _Right) throw () | |
{ | |
return (_Left.category() == _Right.category() | |
&& _Left.value() == _Right.value()); | |
} | |
inline bool operator==( | |
const error_code& _Left, | |
const error_condition& _Right) throw () | |
{ | |
return (_Left.category().equivalent(_Left.value(), _Right) | |
|| _Right.category().equivalent(_Left, _Right.value())); | |
} | |
inline bool operator==( | |
const error_condition& _Left, | |
const error_code& _Right) throw () | |
{ | |
return (_Right.category().equivalent(_Right.value(), _Left) | |
|| _Left.category().equivalent(_Right, _Left.value())); | |
} | |
inline bool operator==( | |
const error_condition& _Left, | |
const error_condition& _Right) throw () | |
{ | |
return (_Left.category() == _Right.category() | |
&& _Left.value() == _Right.value()); | |
} | |
inline bool operator!=( | |
const error_code& _Left, | |
const error_code& _Right) throw () | |
{ | |
return (!(_Left == _Right)); | |
} | |
inline bool operator!=( | |
const error_code& _Left, | |
const error_condition& _Right) throw () | |
{ | |
return (!(_Left == _Right)); | |
} | |
inline bool operator!=( | |
const error_condition& _Left, | |
const error_code& _Right) throw () | |
{ | |
return (!(_Left == _Right)); | |
} | |
inline bool operator!=( | |
const error_condition& _Left, | |
const error_condition& _Right) throw () | |
{ | |
return (!(_Left == _Right)); | |
} | |
inline bool operator<( | |
const error_code& _Left, | |
const error_code& _Right) throw () | |
{ | |
return (_Left.category() < _Right.category() | |
|| (_Left.category() == _Right.category() | |
&& _Left.value() < _Right.value())); | |
} | |
inline bool operator<( | |
const error_condition& _Left, | |
const error_condition& _Right) throw () | |
{ | |
return (_Left.category() < _Right.category() | |
|| (_Left.category() == _Right.category() | |
&& _Left.value() < _Right.value())); | |
} | |
inline error_condition | |
error_category::default_error_condition(int _Errval) const throw () | |
{ | |
return (error_condition(_Errval, *this)); | |
} | |
inline bool | |
error_category::equivalent(int _Errval, | |
const error_condition& _Cond) const throw () | |
{ | |
return (default_error_condition(_Errval) == _Cond); | |
} | |
inline bool | |
error_category::equivalent(const error_code& _Code, | |
int _Errval) const throw () | |
{ | |
return (*this == _Code.category() && _Code.value() == _Errval); | |
} | |
inline error_condition error_code::default_error_condition() const throw () | |
{ | |
return (category().default_error_condition(value())); | |
} | |
inline error_code make_error_code(_Errc _Errno) throw () | |
{ | |
return (error_code((int)_Errno, generic_category())); | |
} | |
inline error_code make_error_code(_Io_errc _Errno) throw () | |
{ | |
return (error_code((int)_Errno, iostream_category())); | |
} | |
inline error_condition make_error_condition(_Errc _Errno) throw () | |
{ | |
return (error_condition((int)_Errno, generic_category())); | |
} | |
inline error_condition make_error_condition(_Io_errc _Errno) throw () | |
{ | |
return (error_condition((int)_Errno, iostream_category())); | |
} | |
template<> | |
struct hash<error_code> | |
{ | |
typedef error_code argument_type; | |
typedef size_t result_type; | |
size_t operator()(const argument_type& _Keyval) const | |
{ | |
return (hash<int>()(_Keyval.value())); | |
} | |
}; | |
class _System_error | |
: public runtime_error | |
{ | |
private: | |
static string _Makestr(error_code _Errcode, string _Message) | |
{ | |
if (!_Message.empty()) | |
_Message.append(": "); | |
_Message.append(_Errcode.message()); | |
return (_Message); | |
} | |
protected: | |
_System_error(error_code _Errcode, const string& _Message) | |
: runtime_error(_Makestr(_Errcode, _Message)), _Mycode(_Errcode) | |
{ | |
} | |
error_code _Mycode; | |
}; | |
class system_error | |
: public _System_error | |
{ | |
private: | |
typedef _System_error _Mybase; | |
public: | |
system_error(error_code _Errcode) | |
: _Mybase(_Errcode, "") | |
{ | |
} | |
system_error(error_code _Errcode, const string& _Message) | |
: _Mybase(_Errcode, _Message) | |
{ | |
} | |
system_error(error_code _Errcode, const char *_Message) | |
: _Mybase(_Errcode, _Message) | |
{ | |
} | |
system_error(int _Errval, const error_category& _Errcat) | |
: _Mybase(error_code(_Errval, _Errcat), "") | |
{ | |
} | |
system_error(int _Errval, const error_category& _Errcat, | |
const string& _Message) | |
: _Mybase(error_code(_Errval, _Errcat), _Message) | |
{ | |
} | |
system_error(int _Errval, const error_category& _Errcat, | |
const char *_Message) | |
: _Mybase(error_code(_Errval, _Errcat), _Message) | |
{ | |
} | |
const error_code& code() const throw () | |
{ | |
return (_Mycode); | |
} | |
#line 573 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error", 576, 0); | |
} | |
#line 579 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
}; | |
const char *__cdecl _Syserror_map(int); | |
int __cdecl _Winerror_map(int); | |
unsigned long __cdecl _Winerror_message( | |
unsigned long _Message_id, char *_Narrow, unsigned long _Size); | |
class _Generic_error_category | |
: public error_category | |
{ | |
public: | |
_Generic_error_category() throw () | |
{ | |
_Addr = _Generic_addr; | |
} | |
virtual const char *name() const throw () | |
{ | |
return ("generic"); | |
} | |
virtual string message(int _Errcode) const | |
{ | |
return (_Syserror_map(_Errcode)); | |
} | |
}; | |
class _Iostream_error_category | |
: public _Generic_error_category | |
{ | |
public: | |
_Iostream_error_category() throw () | |
{ | |
_Addr = _Iostream_addr; | |
} | |
virtual const char *name() const throw () | |
{ | |
return ("iostream"); | |
} | |
virtual string message(int _Errcode) const | |
{ | |
if (_Errcode == (int)io_errc::stream) | |
return ("iostream stream error"); | |
else | |
return (_Generic_error_category::message(_Errcode)); | |
} | |
}; | |
class _System_error_category | |
: public error_category | |
{ | |
public: | |
_System_error_category() throw () | |
{ | |
_Addr = _System_addr; | |
} | |
virtual const char *name() const throw () | |
{ | |
return ("system"); | |
} | |
virtual string message(int _Errcode) const | |
{ | |
const unsigned long _Size = 32767; | |
string _Narrow(_Size, '\0'); | |
const unsigned long _Val = _Winerror_message( | |
static_cast<unsigned long>(_Errcode), &_Narrow[0], _Size); | |
if (_Val == 0) | |
return ("unknown error"); | |
_Narrow.resize(_Val); | |
_Narrow.shrink_to_fit(); | |
return (_Narrow); | |
} | |
virtual error_condition | |
default_error_condition(int _Errval) const throw () | |
{ | |
int _Posv = _Winerror_map(_Errval); | |
if (_Posv != 0) | |
return (error_condition(_Posv, generic_category())); | |
else | |
return (error_condition(_Errval, system_category())); | |
} | |
}; | |
template<class _Ty> | |
struct _Immortalizer | |
{ | |
_Immortalizer() | |
{ | |
::new (static_cast<void *>(&_Storage)) _Ty(); | |
} | |
~_Immortalizer() throw () | |
{ | |
} | |
_Immortalizer(const _Immortalizer&) = delete; | |
_Immortalizer& operator=(const _Immortalizer&) = delete; | |
typename aligned_union<1, _Ty>::type _Storage; | |
}; | |
template<class _Ty> inline | |
_Ty& _Immortalize() | |
{ | |
static _Immortalizer<_Ty> _Static; | |
return (*reinterpret_cast<_Ty *>(&_Static._Storage)); | |
} | |
inline const error_category& generic_category() throw () | |
{ | |
return (_Immortalize<_Generic_error_category>()); | |
} | |
inline const error_category& iostream_category() throw () | |
{ | |
return (_Immortalize<_Iostream_error_category>()); | |
} | |
inline const error_category& system_category() throw () | |
{ | |
return (_Immortalize<_System_error_category>()); | |
} | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 718 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
#line 719 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\system_error" | |
#line 9 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\share.h" | |
#pragma once | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Dummy> | |
class _Iosb | |
{ | |
public: | |
enum _Dummy_enum {_Dummy_enum_val = 1}; | |
enum _Fmtflags | |
{ | |
_Fmtmask = 0xffff, _Fmtzero = 0}; | |
static constexpr _Fmtflags skipws = (_Fmtflags)0x0001; | |
static constexpr _Fmtflags unitbuf = (_Fmtflags)0x0002; | |
static constexpr _Fmtflags uppercase = (_Fmtflags)0x0004; | |
static constexpr _Fmtflags showbase = (_Fmtflags)0x0008; | |
static constexpr _Fmtflags showpoint = (_Fmtflags)0x0010; | |
static constexpr _Fmtflags showpos = (_Fmtflags)0x0020; | |
static constexpr _Fmtflags left = (_Fmtflags)0x0040; | |
static constexpr _Fmtflags right = (_Fmtflags)0x0080; | |
static constexpr _Fmtflags internal = (_Fmtflags)0x0100; | |
static constexpr _Fmtflags dec = (_Fmtflags)0x0200; | |
static constexpr _Fmtflags oct = (_Fmtflags)0x0400; | |
static constexpr _Fmtflags hex = (_Fmtflags)0x0800; | |
static constexpr _Fmtflags scientific = (_Fmtflags)0x1000; | |
static constexpr _Fmtflags fixed = (_Fmtflags)0x2000; | |
static constexpr _Fmtflags hexfloat = | |
(_Fmtflags)0x3000; | |
static constexpr _Fmtflags boolalpha = (_Fmtflags)0x4000; | |
static constexpr _Fmtflags _Stdio = (_Fmtflags)0x8000; | |
static constexpr _Fmtflags adjustfield = (_Fmtflags)(0x0040 | |
| 0x0080 | 0x0100); | |
static constexpr _Fmtflags basefield = (_Fmtflags)(0x0200 | |
| 0x0400 | 0x0800); | |
static constexpr _Fmtflags floatfield = (_Fmtflags)(0x1000 | |
| 0x2000); | |
enum _Iostate | |
{ | |
_Statmask = 0x17}; | |
static constexpr _Iostate goodbit = (_Iostate)0x0; | |
static constexpr _Iostate eofbit = (_Iostate)0x1; | |
static constexpr _Iostate failbit = (_Iostate)0x2; | |
static constexpr _Iostate badbit = (_Iostate)0x4; | |
enum _Openmode | |
{ | |
_Openmask = 0xff}; | |
static constexpr _Openmode in = (_Openmode)0x01; | |
static constexpr _Openmode out = (_Openmode)0x02; | |
static constexpr _Openmode ate = (_Openmode)0x04; | |
static constexpr _Openmode app = (_Openmode)0x08; | |
static constexpr _Openmode trunc = (_Openmode)0x10; | |
static constexpr _Openmode _Nocreate = (_Openmode)0x40; | |
static constexpr _Openmode _Noreplace = (_Openmode)0x80; | |
static constexpr _Openmode binary = (_Openmode)0x20; | |
enum _Seekdir | |
{ | |
_Seekbeg, | |
_Seekcur, | |
_Seekend | |
}; | |
static constexpr _Seekdir beg = _Seekbeg; | |
static constexpr _Seekdir cur = _Seekcur; | |
static constexpr _Seekdir end = _Seekend; | |
enum | |
{ | |
_Openprot = 0x40}; | |
}; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::skipws; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::unitbuf; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::uppercase; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::showbase; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::showpoint; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::showpos; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::left; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::right; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::internal; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::dec; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::oct; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::hex; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::scientific; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::fixed; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags | |
_Iosb<_Dummy>::hexfloat; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::boolalpha; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::_Stdio; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::adjustfield; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::basefield; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Fmtflags _Iosb<_Dummy>::floatfield; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Iostate _Iosb<_Dummy>::goodbit; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Iostate _Iosb<_Dummy>::eofbit; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Iostate _Iosb<_Dummy>::failbit; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Iostate _Iosb<_Dummy>::badbit; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::in; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::out; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::ate; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::app; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::trunc; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::_Nocreate; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::_Noreplace; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::binary; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Seekdir _Iosb<_Dummy>::beg; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Seekdir _Iosb<_Dummy>::cur; | |
template<class _Dummy> | |
const typename _Iosb<_Dummy>::_Seekdir _Iosb<_Dummy>::end; | |
class ios_base | |
: public _Iosb<int> | |
{ | |
public: | |
typedef int fmtflags; | |
typedef int iostate; | |
typedef int openmode; | |
typedef int seekdir; | |
typedef ::std:: streamoff streamoff; | |
typedef ::std:: streampos streampos; | |
#line 211 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
enum event | |
{ | |
erase_event, imbue_event, copyfmt_event}; | |
typedef void (__cdecl *event_callback)(event, ios_base&, int); | |
typedef unsigned int io_state, open_mode, seek_dir; | |
#line 221 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
class failure | |
: public system_error | |
{ | |
public: | |
explicit failure(const string &_Message, | |
const error_code& _Errcode = make_error_code(io_errc::stream)) | |
: system_error(_Errcode, _Message) | |
{ | |
} | |
explicit failure(const char *_Message, | |
const error_code& _Errcode = make_error_code(io_errc::stream)) | |
: system_error(_Errcode, _Message) | |
{ | |
} | |
#line 244 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
protected: | |
virtual void _Doraise() const | |
{ | |
_invoke_watson(L"*this", __LPREFIX( __FUNCTION__), L"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase", 247, 0); | |
} | |
#line 250 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
}; | |
class Init | |
{ | |
public: | |
Init() | |
{ | |
_Init_ctor(this); | |
} | |
~Init() throw () | |
{ | |
_Init_dtor(this); | |
} | |
private: | |
static void __cdecl _Init_ctor(Init *); | |
static void __cdecl _Init_dtor(Init *); | |
static int _Init_cnt; | |
static int& __cdecl _Init_cnt_func(); | |
}; | |
explicit operator bool() const | |
{ | |
return (!fail()); | |
} | |
bool operator!() const | |
{ | |
return (fail()); | |
} | |
void clear(iostate _State, bool _Reraise) | |
{ | |
_Mystate = (iostate)(_State & _Statmask); | |
if ((_Mystate & _Except) == 0) | |
; | |
else if (_Reraise) | |
; | |
else if (_Mystate & _Except & badbit) | |
failure("ios_base::badbit set")._Raise(); | |
else if (_Mystate & _Except & failbit) | |
failure("ios_base::failbit set")._Raise(); | |
else | |
failure("ios_base::eofbit set")._Raise(); | |
} | |
void clear(iostate _State = goodbit) | |
{ | |
clear(_State, false); | |
} | |
void clear(io_state _State) | |
{ | |
clear((iostate)_State); | |
} | |
#line 311 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
iostate rdstate() const | |
{ | |
return (_Mystate); | |
} | |
void setstate(iostate _State, bool _Exreraise) | |
{ | |
if (_State != goodbit) | |
clear((iostate)((int)rdstate() | (int)_State), _Exreraise); | |
} | |
void setstate(iostate _State) | |
{ | |
if (_State != goodbit) | |
clear((iostate)((int)rdstate() | (int)_State), false); | |
} | |
void setstate(io_state _State) | |
{ | |
setstate((iostate)_State); | |
} | |
#line 335 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
bool good() const | |
{ | |
return (rdstate() == goodbit); | |
} | |
bool eof() const | |
{ | |
return ((int)rdstate() & (int)eofbit); | |
} | |
bool fail() const | |
{ | |
return (((int)rdstate() | |
& ((int)badbit | (int)failbit)) != 0); | |
} | |
bool bad() const | |
{ | |
return (((int)rdstate() & (int)badbit) != 0); | |
} | |
iostate exceptions() const | |
{ | |
return (_Except); | |
} | |
void exceptions(iostate _Newexcept) | |
{ | |
_Except = (iostate)((int)_Newexcept & (int)_Statmask); | |
clear(_Mystate); | |
} | |
void exceptions(io_state _State) | |
{ | |
exceptions((iostate)_State); | |
} | |
#line 374 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
fmtflags flags() const | |
{ | |
return (_Fmtfl); | |
} | |
fmtflags flags(fmtflags _Newfmtflags) | |
{ | |
fmtflags _Oldfmtflags = _Fmtfl; | |
_Fmtfl = (fmtflags)((int)_Newfmtflags & (int)_Fmtmask); | |
return (_Oldfmtflags); | |
} | |
fmtflags setf(fmtflags _Newfmtflags) | |
{ | |
ios_base::fmtflags _Oldfmtflags = _Fmtfl; | |
_Fmtfl = (fmtflags)((int)_Fmtfl | |
| ((int)_Newfmtflags & (int)_Fmtmask)); | |
return (_Oldfmtflags); | |
} | |
fmtflags setf(fmtflags _Newfmtflags, fmtflags _Mask) | |
{ | |
ios_base::fmtflags _Oldfmtflags = _Fmtfl; | |
_Fmtfl = (fmtflags)(((int)_Fmtfl & (int)~_Mask) | |
| ((int)_Newfmtflags & (int)_Mask & (int)_Fmtmask)); | |
return (_Oldfmtflags); | |
} | |
void unsetf(fmtflags _Mask) | |
{ | |
_Fmtfl = (fmtflags)((int)_Fmtfl & (int)~_Mask); | |
} | |
streamsize precision() const | |
{ | |
return (_Prec); | |
} | |
streamsize precision(streamsize _Newprecision) | |
{ | |
streamsize _Oldprecision = _Prec; | |
_Prec = _Newprecision; | |
return (_Oldprecision); | |
} | |
streamsize width() const | |
{ | |
return (_Wide); | |
} | |
streamsize width(streamsize _Newwidth) | |
{ | |
streamsize _Oldwidth = _Wide; | |
_Wide = _Newwidth; | |
return (_Oldwidth); | |
} | |
locale getloc() const | |
{ | |
return (*_Ploc); | |
} | |
locale imbue(const locale& _Loc) | |
{ | |
locale _Oldlocale = *_Ploc; | |
*_Ploc = _Loc; | |
_Callfns(imbue_event); | |
return (_Oldlocale); | |
} | |
static int __cdecl xalloc() | |
{ | |
{ ::std:: _Lockit _Lock(2); | |
return (_Index++); | |
} | |
} | |
long& iword(int _Idx) | |
{ | |
return (_Findarr(_Idx)._Lo); | |
} | |
void *& pword(int _Idx) | |
{ | |
return (_Findarr(_Idx)._Vp); | |
} | |
void register_callback(event_callback _Pfn, | |
int _Idx) | |
{ | |
_Calls = new _Fnarray(_Idx, _Pfn, _Calls); | |
} | |
ios_base& copyfmt(const ios_base& _Other) | |
{ | |
if (this != ::std:: addressof(_Other)) | |
{ | |
_Tidy(); | |
*_Ploc = *_Other._Ploc; | |
_Fmtfl = _Other._Fmtfl; | |
_Prec = _Other._Prec; | |
_Wide = _Other._Wide; | |
_Iosarray *_Ptr = _Other._Arr; | |
for (_Arr = 0; _Ptr != 0; _Ptr = _Ptr->_Next) | |
if (_Ptr->_Lo != 0 || _Ptr->_Vp != 0) | |
{ | |
iword(_Ptr->_Index) = _Ptr->_Lo; | |
pword(_Ptr->_Index) = _Ptr->_Vp; | |
} | |
for (_Fnarray *_Pfa = _Other._Calls; _Pfa != 0; | |
_Pfa = _Pfa->_Next) | |
register_callback(_Pfa->_Pfn, _Pfa->_Index); | |
_Callfns(copyfmt_event); | |
exceptions(_Other._Except); | |
} | |
return (*this); | |
} | |
static bool __cdecl sync_with_stdio(bool _Newsync = true) | |
{ | |
{ ::std:: _Lockit _Lock(2); | |
const bool _Oldsync = _Sync; | |
_Sync = _Newsync; | |
return (_Oldsync); | |
} | |
} | |
void swap(ios_base& _Right) | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
::std:: swap(_Mystate, _Right._Mystate); | |
::std:: swap(_Except, _Right._Except); | |
::std:: swap(_Fmtfl, _Right._Fmtfl); | |
::std:: swap(_Prec, _Right._Prec); | |
::std:: swap(_Wide, _Right._Wide); | |
::std:: swap(_Arr, _Right._Arr); | |
::std:: swap(_Calls, _Right._Calls); | |
::std:: swap(_Ploc, _Right._Ploc); | |
} | |
} | |
virtual ~ios_base() throw () | |
{ | |
_Ios_base_dtor(this); | |
} | |
static void __cdecl | |
_Addstd(ios_base *); | |
size_t _Stdstr; | |
protected: | |
ios_base() | |
{ | |
} | |
void _Init() | |
{ | |
_Ploc = 0; | |
_Stdstr = 0; | |
_Except = goodbit; | |
_Fmtfl = (fmtflags)(skipws | dec); | |
_Prec = 6; | |
_Wide = 0; | |
_Arr = 0; | |
_Calls = 0; | |
clear(goodbit); | |
_Ploc = new locale; | |
} | |
private: | |
struct _Iosarray | |
: public _Crt_new_delete | |
{ | |
public: | |
_Iosarray(int _Idx, _Iosarray *_Link) | |
: _Next(_Link), _Index(_Idx), _Lo(0), _Vp(0) | |
{ | |
} | |
_Iosarray *_Next; | |
int _Index; | |
long _Lo; | |
void *_Vp; | |
}; | |
struct _Fnarray | |
: public _Crt_new_delete | |
{ | |
_Fnarray(int _Idx, event_callback _Pnew, _Fnarray *_Link) | |
: _Next(_Link), _Index(_Idx), _Pfn(_Pnew) | |
{ | |
} | |
_Fnarray *_Next; | |
int _Index; | |
event_callback _Pfn; | |
}; | |
void _Callfns(event _Ev) | |
{ | |
for (_Fnarray *_Pfa = _Calls; _Pfa != 0; _Pfa = _Pfa->_Next) | |
(*_Pfa->_Pfn)(_Ev, *this, _Pfa->_Index); | |
} | |
_Iosarray& _Findarr(int _Idx) | |
{ | |
_Iosarray *_Ptr1, *_Ptr2; | |
for (_Ptr1 = _Arr, _Ptr2 = 0; _Ptr1 != 0; _Ptr1 = _Ptr1->_Next) | |
if (_Ptr1->_Index == _Idx) | |
return (*_Ptr1); | |
else if (_Ptr2 == 0 && _Ptr1->_Lo == 0 && _Ptr1->_Vp == 0) | |
_Ptr2 = _Ptr1; | |
if (_Ptr2 != 0) | |
{ | |
_Ptr2->_Index = _Idx; | |
return (*_Ptr2); | |
} | |
_Arr = new _Iosarray(_Idx, _Arr); | |
return (*_Arr); | |
} | |
void _Tidy() | |
{ | |
_Callfns(erase_event); | |
_Iosarray *_Ptr1, *_Ptr2; | |
for (_Ptr1 = _Arr; _Ptr1 != 0; _Ptr1 = _Ptr2) | |
{ | |
_Ptr2 = _Ptr1->_Next; | |
delete _Ptr1; | |
} | |
_Arr = 0; | |
_Fnarray *_Pfa1, *_Pfa2; | |
for (_Pfa1 = _Calls; _Pfa1 != 0; _Pfa1 = _Pfa2) | |
{ | |
_Pfa2 = _Pfa1->_Next; | |
delete _Pfa1; | |
} | |
_Calls = 0; | |
} | |
iostate _Mystate; | |
iostate _Except; | |
fmtflags _Fmtfl; | |
streamsize _Prec; | |
streamsize _Wide; | |
_Iosarray *_Arr; | |
_Fnarray *_Calls; | |
locale *_Ploc; | |
static int _Index; | |
static bool _Sync; | |
static void __cdecl | |
_Ios_base_dtor(ios_base *); | |
public: | |
ios_base(const ios_base&) = delete; | |
ios_base& operator=(const ios_base&) = delete; | |
}; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 657 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#line 658 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xiosbase" | |
#line 7 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
namespace std { | |
template<class _Elem, | |
class _Traits> | |
class basic_streambuf | |
{ | |
typedef basic_streambuf<_Elem, _Traits> _Myt; | |
protected: | |
basic_streambuf() | |
: _Plocale(new locale) | |
{ | |
_Init(); | |
} | |
basic_streambuf(_Uninitialized) | |
{ | |
} | |
basic_streambuf(const _Myt& _Right) | |
: _Plocale(new locale(_Right.getloc())) | |
{ | |
_Init(); | |
setp(_Right.pbase(), _Right.pptr(), _Right.epptr()); | |
setg(_Right.eback(), _Right.gptr(), _Right.egptr()); | |
} | |
_Myt& operator=(const _Myt& _Right) | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
setp(_Right.pbase(), _Right.pptr(), _Right.epptr()); | |
setg(_Right.eback(), _Right.gptr(), _Right.egptr()); | |
pubimbue(_Right.getloc()); | |
} | |
return (*this); | |
} | |
void swap(_Myt& _Right) | |
{ | |
if (this != ::std:: addressof(_Right)) | |
{ | |
_Elem *_Pfirst0 = pbase(); | |
_Elem *_Pnext0 = pptr(); | |
_Elem *_Pend = epptr(); | |
_Elem *_Gfirst0 = eback(); | |
_Elem *_Gnext0 = gptr(); | |
_Elem *_Gend = egptr(); | |
setp(_Right.pbase(), _Right.pptr(), _Right.epptr()); | |
_Right.setp(_Pfirst0, _Pnext0, _Pend); | |
setg(_Right.eback(), _Right.gptr(), _Right.egptr()); | |
_Right.setg(_Gfirst0, _Gnext0, _Gend); | |
::std:: swap(_Plocale, _Right._Plocale); | |
} | |
} | |
public: | |
typedef _Elem char_type; | |
typedef _Traits traits_type; | |
virtual ~basic_streambuf() throw () | |
{ | |
delete _Plocale; | |
} | |
typedef typename _Traits::int_type int_type; | |
typedef typename _Traits::pos_type pos_type; | |
typedef typename _Traits::off_type off_type; | |
pos_type pubseekoff(off_type _Off, | |
ios_base::seekdir _Way, | |
ios_base::openmode _Mode = ios_base::in | ios_base::out) | |
{ | |
return (seekoff(_Off, _Way, _Mode)); | |
} | |
pos_type pubseekoff(off_type _Off, | |
ios_base::seek_dir _Way, | |
ios_base::open_mode _Mode) | |
{ | |
return (pubseekoff(_Off, (ios_base::seekdir)_Way, | |
(ios_base::openmode)_Mode)); | |
} | |
#line 102 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
pos_type pubseekpos(pos_type _Pos, | |
ios_base::openmode _Mode = ios_base::in | ios_base::out) | |
{ | |
return (seekpos(_Pos, _Mode)); | |
} | |
pos_type pubseekpos(pos_type _Pos, | |
ios_base::open_mode _Mode) | |
{ | |
return (seekpos(_Pos, (ios_base::openmode)_Mode)); | |
} | |
#line 116 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
_Myt * pubsetbuf(_Elem *_Buffer, | |
streamsize _Count) | |
{ | |
return (setbuf(_Buffer, _Count)); | |
} | |
locale pubimbue(const locale &_Newlocale) | |
{ | |
locale _Oldlocale = *_Plocale; | |
imbue(_Newlocale); | |
*_Plocale = _Newlocale; | |
return (_Oldlocale); | |
} | |
locale getloc() const | |
{ | |
return (*_Plocale); | |
} | |
streamsize in_avail() | |
{ | |
streamsize _Res = _Gnavail(); | |
return (0 < _Res ? _Res : showmanyc()); | |
} | |
int pubsync() | |
{ | |
return (sync()); | |
} | |
int_type sbumpc() | |
{ | |
return (0 < _Gnavail() | |
? _Traits::to_int_type(*_Gninc()) : uflow()); | |
} | |
int_type sgetc() | |
{ | |
return (0 < _Gnavail() | |
? _Traits::to_int_type(*gptr()) : underflow()); | |
} | |
streamsize sgetn(_Elem *_Ptr, | |
streamsize _Count) | |
{ | |
return (xsgetn(_Ptr, _Count)); | |
} | |
int_type snextc() | |
{ | |
return (1 < _Gnavail() | |
? _Traits::to_int_type(*_Gnpreinc()) | |
: _Traits::eq_int_type(_Traits::eof(), sbumpc()) | |
? _Traits::eof() : sgetc()); | |
} | |
int_type sputbackc(_Elem _Ch) | |
{ | |
return (gptr() != 0 && eback() < gptr() | |
&& _Traits::eq(_Ch, gptr()[-1]) | |
? _Traits::to_int_type(*_Gndec()) | |
: pbackfail(_Traits::to_int_type(_Ch))); | |
} | |
void stossc() | |
{ | |
if (0 < _Gnavail()) | |
_Gninc(); | |
else | |
uflow(); | |
} | |
#line 190 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
int_type sungetc() | |
{ | |
return (gptr() != 0 && eback() < gptr() | |
? _Traits::to_int_type(*_Gndec()) : pbackfail()); | |
} | |
int_type sputc(_Elem _Ch) | |
{ | |
return (0 < _Pnavail() | |
? _Traits::to_int_type(*_Pninc() = _Ch) | |
: overflow(_Traits::to_int_type(_Ch))); | |
} | |
streamsize sputn(const _Elem *_Ptr, | |
streamsize _Count) | |
{ | |
return (xsputn(_Ptr, _Count)); | |
} | |
virtual void _Lock() | |
{ | |
} | |
virtual void _Unlock() | |
{ | |
} | |
protected: | |
_Elem * eback() const | |
{ | |
return (*_IGfirst); | |
} | |
_Elem * gptr() const | |
{ | |
return (*_IGnext); | |
} | |
_Elem * pbase() const | |
{ | |
return (*_IPfirst); | |
} | |
_Elem * pptr() const | |
{ | |
return (*_IPnext); | |
} | |
_Elem * egptr() const | |
{ | |
return (*_IGnext + *_IGcount); | |
} | |
void gbump(int _Off) | |
{ | |
*_IGcount -= _Off; | |
*_IGnext += _Off; | |
} | |
void setg(_Elem *_First, _Elem *_Next, _Elem *_Last) | |
{ | |
*_IGfirst = _First; | |
*_IGnext = _Next; | |
*_IGcount = (int)(_Last - _Next); | |
} | |
_Elem * epptr() const | |
{ | |
return (*_IPnext + *_IPcount); | |
} | |
_Elem * _Gndec() | |
{ | |
++*_IGcount; | |
return (--*_IGnext); | |
} | |
_Elem * _Gninc() | |
{ | |
--*_IGcount; | |
return ((*_IGnext)++); | |
} | |
_Elem * _Gnpreinc() | |
{ | |
--*_IGcount; | |
return (++(*_IGnext)); | |
} | |
streamsize _Gnavail() const | |
{ | |
return (*_IGnext != 0 ? *_IGcount : 0); | |
} | |
void pbump(int _Off) | |
{ | |
*_IPcount -= _Off; | |
*_IPnext += _Off; | |
} | |
void setp(_Elem *_First, _Elem *_Last) | |
{ | |
*_IPfirst = _First; | |
*_IPnext = _First; | |
*_IPcount = (int)(_Last - _First); | |
} | |
void setp(_Elem *_First, _Elem *_Next, _Elem *_Last) | |
{ | |
*_IPfirst = _First; | |
*_IPnext = _Next; | |
*_IPcount = (int)(_Last - _Next); | |
} | |
_Elem * _Pninc() | |
{ | |
--*_IPcount; | |
return ((*_IPnext)++); | |
} | |
streamsize _Pnavail() const | |
{ | |
return (*_IPnext != 0 ? *_IPcount : 0); | |
} | |
void _Init() | |
{ | |
_IGfirst = &_Gfirst; | |
_IPfirst = &_Pfirst; | |
_IGnext = &_Gnext; | |
_IPnext = &_Pnext; | |
_IGcount = &_Gcount; | |
_IPcount = &_Pcount; | |
setp(0, 0); | |
setg(0, 0, 0); | |
} | |
void _Init(_Elem **_Gf, _Elem **_Gn, int *_Gc, | |
_Elem **_Pf, _Elem **_Pn, int *_Pc) | |
{ | |
_IGfirst = _Gf; | |
_IPfirst = _Pf; | |
_IGnext = _Gn; | |
_IPnext = _Pn; | |
_IGcount = _Gc; | |
_IPcount = _Pc; | |
} | |
virtual int_type overflow(int_type = _Traits::eof()) | |
{ | |
return (_Traits::eof()); | |
} | |
virtual int_type pbackfail(int_type = _Traits::eof()) | |
{ | |
return (_Traits::eof()); | |
} | |
virtual streamsize showmanyc() | |
{ | |
return (0); | |
} | |
virtual int_type underflow() | |
{ | |
return (_Traits::eof()); | |
} | |
virtual int_type uflow() | |
{ | |
return (_Traits::eq_int_type(_Traits::eof(), underflow()) | |
? _Traits::eof() : _Traits::to_int_type(*_Gninc())); | |
} | |
virtual streamsize xsgetn(_Elem * _Ptr, | |
streamsize _Count) | |
{ | |
int_type _Meta; | |
streamsize _Size, _Copied; | |
for (_Copied = 0; 0 < _Count; ) | |
if (0 < (_Size = _Gnavail())) | |
{ | |
if (_Count < _Size) | |
_Size = _Count; | |
_Traits::copy(_Ptr, gptr(), (size_t)_Size); | |
_Ptr += _Size; | |
_Copied += _Size; | |
_Count -= _Size; | |
gbump((int)_Size); | |
} | |
else if (_Traits::eq_int_type(_Traits::eof(), _Meta = uflow())) | |
break; | |
else | |
{ | |
*_Ptr++ = _Traits::to_char_type(_Meta); | |
++_Copied; | |
--_Count; | |
} | |
return (_Copied); | |
} | |
virtual streamsize xsputn(const _Elem *_Ptr, | |
streamsize _Count) | |
{ | |
streamsize _Size, _Copied; | |
for (_Copied = 0; 0 < _Count; ) | |
if (0 < (_Size = _Pnavail())) | |
{ | |
if (_Count < _Size) | |
_Size = _Count; | |
_Traits::copy(pptr(), _Ptr, (size_t)_Size); | |
_Ptr += _Size; | |
_Copied += _Size; | |
_Count -= _Size; | |
pbump((int)_Size); | |
} | |
else if (_Traits::eq_int_type(_Traits::eof(), | |
overflow(_Traits::to_int_type(*_Ptr)))) | |
break; | |
else | |
{ | |
++_Ptr; | |
++_Copied; | |
--_Count; | |
} | |
return (_Copied); | |
} | |
virtual pos_type seekoff(off_type, | |
ios_base::seekdir, | |
ios_base::openmode = ios_base::in | ios_base::out) | |
{ | |
return (streampos(_BADOFF)); | |
} | |
virtual pos_type seekpos(pos_type, | |
ios_base::openmode = ios_base::in | ios_base::out) | |
{ | |
return (streampos(_BADOFF)); | |
} | |
virtual _Myt * setbuf(_Elem *, streamsize) | |
{ | |
return (this); | |
} | |
virtual int sync() | |
{ | |
return (0); | |
} | |
virtual void imbue(const locale&) | |
{ | |
} | |
private: | |
_Elem *_Gfirst; | |
_Elem *_Pfirst; | |
_Elem **_IGfirst; | |
_Elem **_IPfirst; | |
_Elem *_Gnext; | |
_Elem *_Pnext; | |
_Elem **_IGnext; | |
_Elem **_IPnext; | |
int _Gcount; | |
int _Pcount; | |
int *_IGcount; | |
int *_IPcount; | |
protected: | |
locale *_Plocale; | |
}; | |
#line 481 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
template<class _Elem, | |
class _Traits> | |
class istreambuf_iterator | |
: public iterator<input_iterator_tag, | |
_Elem, typename _Traits::off_type, const _Elem *, _Elem> | |
{ | |
typedef istreambuf_iterator<_Elem, _Traits> _Myt; | |
public: | |
typedef _Elem char_type; | |
typedef _Traits traits_type; | |
typedef basic_streambuf<_Elem, _Traits> streambuf_type; | |
typedef basic_istream<_Elem, _Traits> istream_type; | |
typedef typename traits_type::int_type int_type; | |
typedef const _Elem *pointer; | |
constexpr istreambuf_iterator(streambuf_type *_Sb = 0) | |
: _Strbuf(_Sb), _Got(_Sb == 0), _Val() | |
{ | |
} | |
istreambuf_iterator(istream_type& _Istr) | |
: _Strbuf(_Istr.rdbuf()), _Got(_Istr.rdbuf() == 0) | |
{ | |
} | |
_Elem operator*() const | |
{ | |
if (!_Got) | |
_Peek(); | |
#line 520 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
return (_Val); | |
} | |
const _Elem *operator->() const | |
{ | |
return (pointer_traits<pointer>::pointer_to(**this)); | |
} | |
_Myt& operator++() | |
{ | |
#line 537 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
_Inc(); | |
return (*this); | |
} | |
_Myt operator++(int) | |
{ | |
if (!_Got) | |
_Peek(); | |
_Myt _Tmp = *this; | |
++*this; | |
return (_Tmp); | |
} | |
bool equal(const _Myt& _Right) const | |
{ | |
if (!_Got) | |
_Peek(); | |
if (!_Right._Got) | |
_Right._Peek(); | |
return ((_Strbuf == 0 && _Right._Strbuf == 0) | |
|| (_Strbuf != 0 && _Right._Strbuf != 0)); | |
} | |
private: | |
void _Inc() | |
{ | |
if (_Strbuf == 0 | |
|| traits_type::eq_int_type(traits_type::eof(), | |
_Strbuf->sbumpc())) | |
{ | |
_Strbuf = 0; | |
_Got = true; | |
} | |
else | |
{ | |
_Got = false; | |
} | |
} | |
_Elem _Peek() const | |
{ | |
int_type _Meta; | |
if (_Strbuf == 0 | |
|| traits_type::eq_int_type(traits_type::eof(), | |
_Meta = _Strbuf->sgetc())) | |
_Strbuf = 0; | |
else | |
_Val = traits_type::to_char_type(_Meta); | |
_Got = true; | |
return (_Val); | |
} | |
mutable streambuf_type *_Strbuf; | |
mutable bool _Got; | |
mutable _Elem _Val; | |
}; | |
template<class _Elem, | |
class _Traits> | |
struct _Is_checked_helper<istreambuf_iterator<_Elem, _Traits> > | |
: public true_type | |
{ | |
}; | |
template<class _Elem, | |
class _Traits> inline | |
bool operator==( | |
const istreambuf_iterator<_Elem, _Traits>& _Left, | |
const istreambuf_iterator<_Elem, _Traits>& _Right) | |
{ | |
return (_Left.equal(_Right)); | |
} | |
template<class _Elem, | |
class _Traits> inline | |
bool operator!=( | |
const istreambuf_iterator<_Elem, _Traits>& _Left, | |
const istreambuf_iterator<_Elem, _Traits>& _Right) | |
{ | |
return (!(_Left == _Right)); | |
} | |
template<class _Elem, | |
class _Traits> | |
class ostreambuf_iterator | |
: public _Outit | |
{ | |
typedef ostreambuf_iterator<_Elem, _Traits> _Myt; | |
public: | |
typedef _Elem char_type; | |
typedef _Traits traits_type; | |
typedef basic_streambuf<_Elem, _Traits> streambuf_type; | |
typedef basic_ostream<_Elem, _Traits> ostream_type; | |
ostreambuf_iterator(streambuf_type *_Sb) | |
: _Failed(false), _Strbuf(_Sb) | |
{ | |
} | |
ostreambuf_iterator(ostream_type& _Ostr) | |
: _Failed(false), _Strbuf(_Ostr.rdbuf()) | |
{ | |
} | |
_Myt& operator=(_Elem _Right) | |
{ | |
if (_Strbuf == 0 | |
|| traits_type::eq_int_type(_Traits::eof(), | |
_Strbuf->sputc(_Right))) | |
_Failed = true; | |
return (*this); | |
} | |
_Myt& operator*() | |
{ | |
return (*this); | |
} | |
_Myt& operator++() | |
{ | |
return (*this); | |
} | |
_Myt& operator++(int) | |
{ | |
return (*this); | |
} | |
bool failed() const | |
{ | |
return (_Failed); | |
} | |
private: | |
bool _Failed; | |
streambuf_type *_Strbuf; | |
}; | |
template<class _Elem, | |
class _Traits> | |
struct _Is_checked_helper<ostreambuf_iterator<_Elem, _Traits> > | |
: public true_type | |
{ | |
}; | |
} | |
#pragma warning(pop) | |
#pragma pack(pop) | |
#line 690 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
#line 691 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\streambuf" | |
#line 11 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
#pragma pack(push,8) | |
#pragma warning(push,4) | |
#pragma warning(disable: 4702 ) | |
extern "C" { | |
#line 23 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
extern float __cdecl _Stofx(const char *, | |
char **, | |
long, int *); | |
extern double __cdecl _Stodx(const char *, | |
char **, | |
long, int *); | |
extern long double __cdecl _Stoldx(const char *, | |
char **, | |
long, int *); | |
extern long __cdecl _Stolx(const char *, | |
char **, | |
int, int *); | |
extern unsigned long __cdecl _Stoulx(const char *, | |
char **, | |
int, int *); | |
extern long long __cdecl _Stollx(const char *, | |
char **, | |
int, int *); | |
extern unsigned long long __cdecl _Stoullx(const char *, | |
char **, | |
int, int *); | |
} | |
#line 49 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
namespace std { | |
inline double _Stodx_v2(const char *_Str, char **_Endptr, int _Pten, int *_Perr) | |
{ | |
int& _Errno_ref = (*_errno()); | |
const int _Orig = _Errno_ref; | |
_Errno_ref = 0; | |
double _Val = :: strtod(_Str, _Endptr); | |
*_Perr = _Errno_ref; | |
_Errno_ref = _Orig; | |
if (_Pten != 0) | |
_Val *= :: pow(10.0, static_cast<double>(_Pten)); | |
return (_Val); | |
} | |
inline float _Stofx_v2(const char *_Str, char **_Endptr, int _Pten, int *_Perr) | |
{ | |
int& _Errno_ref = (*_errno()); | |
const int _Orig = _Errno_ref; | |
_Errno_ref = 0; | |
float _Val = :: strtof(_Str, _Endptr); | |
*_Perr = _Errno_ref; | |
_Errno_ref = _Orig; | |
if (_Pten != 0) | |
_Val *= :: powf(10.0f, static_cast<float>(_Pten)); | |
return (_Val); | |
} | |
template<class _Elem> inline | |
size_t _Find_elem(_Elem *_Base, _Elem _Ch) | |
{ | |
_Elem *_Ptr = _Base; | |
for (; *_Ptr != (_Elem)0 && *_Ptr != _Ch; ++_Ptr) | |
; | |
return ((size_t)(_Ptr - _Base)); | |
} | |
inline wchar_t *_Maklocwcs(const wchar_t *_Ptr) | |
{ | |
size_t _Count = :: wcslen(_Ptr) + 1; | |
wchar_t *_Ptrdest = (wchar_t *)_calloc_dbg(_Count, sizeof (wchar_t), | |
2, "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum", 101); | |
if (!_Ptrdest) | |
_Xbad_alloc(); | |
:: wmemcpy(_Ptrdest, _Ptr, _Count); | |
return (_Ptrdest); | |
} | |
template<class _Elem> | |
class numpunct | |
: public locale::facet | |
{ | |
public: | |
typedef basic_string<_Elem, char_traits<_Elem>, allocator<_Elem> > | |
string_type; | |
typedef _Elem char_type; | |
static locale::id id; | |
_Elem decimal_point() const | |
{ | |
return (do_decimal_point()); | |
} | |
_Elem thousands_sep() const | |
{ | |
return (do_thousands_sep()); | |
} | |
string grouping() const | |
{ | |
return (do_grouping()); | |
} | |
string_type falsename() const | |
{ | |
return (do_falsename()); | |
} | |
string_type truename() const | |
{ | |
return (do_truename()); | |
} | |
explicit numpunct(size_t _Refs = 0) | |
: locale::facet(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
if (_Kseparator == 0) | |
_Kseparator = | |
_Maklocchr(',', (_Elem *)0, _Lobj._Getcvt()); | |
} | |
} | |
numpunct(const _Locinfo& _Lobj, size_t _Refs = 0, bool _Isdef = false) | |
: locale::facet(_Refs) | |
{ | |
_Init(_Lobj, _Isdef); | |
} | |
static size_t _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new numpunct<_Elem>( | |
_Locinfo(_Ploc->c_str()), 0, true); | |
return (4); | |
} | |
protected: | |
virtual ~numpunct() throw () | |
{ | |
_Tidy(); | |
} | |
numpunct(const char *_Locname, size_t _Refs = 0, bool _Isdef = false) | |
: locale::facet(_Refs) | |
{ | |
{ _Locinfo _Lobj(_Locname); | |
_Init(_Lobj, _Isdef); | |
} | |
} | |
template<class _Elem2> | |
void _Getvals(_Elem2, const lconv *_Ptr, _Locinfo::_Cvtvec _Cvt) | |
{ | |
_Dp = _Maklocchr(_Ptr->decimal_point[0], (_Elem2 *)0, _Cvt); | |
_Kseparator = _Maklocchr(_Ptr->thousands_sep[0], (_Elem2 *)0, _Cvt); | |
} | |
template<> | |
void _Getvals(wchar_t, const lconv *_Ptr, _Locinfo::_Cvtvec) | |
{ | |
_Dp = (_Elem)_Ptr->_W_decimal_point[0]; | |
_Kseparator = (_Elem)_Ptr->_W_thousands_sep[0]; | |
} | |
void _Init(const _Locinfo& _Lobj, bool _Isdef = false) | |
{ | |
const lconv *_Ptr = _Lobj._Getlconv(); | |
_Locinfo::_Cvtvec _Cvt = _Lobj._Getcvt(); | |
_Grouping = 0; | |
_Falsename = 0; | |
_Truename = 0; | |
{ if (1) { | |
_Grouping = _Maklocstr(_Isdef ? "" : _Ptr->grouping, (char *)0, _Lobj._Getcvt()); | |
#line 212 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\include\\xlocnum" | |
_Falsename = _Maklocstr(_Lobj._Getfalse(), (_Elem *)0, _Cvt); | |
_Truename = _Maklocstr(_Lobj._Gettrue(), (_Elem *)0, _Cvt); | |
} else if (0) { | |
_Tidy(); | |
; | |
} } | |
if (_Isdef) | |
{ | |
_Dp = _Maklocchr('.', (_Elem *)0, _Cvt); | |
_Kseparator = _Maklocchr(',', (_Elem *)0, _Cvt); | |
} | |
else | |
_Getvals((_Elem)0, _Ptr, _Cvt); | |
} | |
virtual _Elem do_decimal_point() const | |
{ | |
return (_Dp); | |
} | |
virtual _Elem do_thousands_sep() const | |
{ | |
return (_Kseparator); | |
} | |
virtual string do_grouping() const | |
{ | |
return (string(_Grouping)); | |
} | |
virtual string_type do_falsename() const | |
{ | |
return (string_type(_Falsename)); | |
} | |
virtual string_type do_truename() const | |
{ | |
return (string_type(_Truename)); | |
} | |
private: | |
void _Tidy() | |
{ | |
:: free((void *)_Grouping); | |
:: free((void *)_Falsename); | |
:: free((void *)_Truename); | |
} | |
const char *_Grouping; | |
_Elem _Dp; | |
_Elem _Kseparator; | |
const _Elem *_Falsename; | |
const _Elem *_Truename; | |
}; | |
template<class _Elem> | |
class numpunct_byname | |
: public numpunct<_Elem> | |
{ | |
public: | |
explicit numpunct_byname(const char *_Locname, size_t _Refs = 0) | |
: numpunct<_Elem>(_Locname, _Refs) | |
{ | |
} | |
explicit numpunct_byname(const string& _Str, size_t _Refs = 0) | |
: numpunct<_Elem>(_Str.c_str(), _Refs) | |
{ | |
} | |
protected: | |
virtual ~numpunct_byname() throw () | |
{ | |
} | |
}; | |
template<class _Elem> | |
locale::id numpunct<_Elem>::id; | |
template<class _Elem, | |
class _InIt = istreambuf_iterator<_Elem, char_traits<_Elem> > > | |
class num_get | |
: public locale::facet | |
{ | |
public: | |
typedef numpunct<_Elem> _Mypunct; | |
typedef basic_string<_Elem, char_traits<_Elem>, allocator<_Elem> > | |
_Mystr; | |
static size_t __cdecl _Getcat(const locale::facet **_Ppf = 0, | |
const locale *_Ploc = 0) | |
{ | |
if (_Ppf != 0 && *_Ppf == 0) | |
*_Ppf = new num_get<_Elem, _InIt>( | |
_Locinfo(_Ploc->c_str())); | |
return (4); | |
} | |
static locale::id id; | |
protected: | |
virtual ~num_get() throw () | |
{ | |
} | |
void _Init(const _Locinfo&) | |
{ | |
} | |
public: | |
explicit num_get(size_t _Refs = 0) | |
: locale::facet(_Refs) | |
{ | |
{ _Locinfo _Lobj; | |
_Init(_Lobj); | |
} | |
} | |
num_get(const _Locinfo& _Lobj, size_t _Refs = 0) | |
: locale::facet(_Refs) | |
{ | |
_Init(_Lobj); | |
} | |
typedef _Elem char_type; | |
typedef _InIt iter_type; | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
bool& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned short& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned int& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
long& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned long& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
long long& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned long long& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
float& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
double& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
long double& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
_InIt get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
void *& _Val) const | |
{ | |
return (do_get(_First, _Last, _Iosbase, _State, _Val)); | |
} | |
protected: | |
virtual _InIt do_get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
bool& _Val) const | |
{ | |
; | |
int _Ans = -1; | |
if (_Iosbase.flags() & ios_base::boolalpha) | |
{ | |
typedef typename _Mystr::size_type _Mystrsize; | |
const _Mypunct& _Punct_fac = use_facet< _Mypunct >(_Iosbase.getloc()); | |
_Mystr _Str((_Mystrsize)1, (char_type)0); | |
_Str += _Punct_fac.falsename(); | |
_Str += (char_type)0; | |
_Str += _Punct_fac.truename(); | |
_Ans = _Getloctxt(_First, _Last, (size_t)2, _Str.c_str()); | |
} | |
else | |
{ | |
char _Ac[32], *_Ep; | |
int _Errno = 0; | |
const unsigned long _Ulo = :: _Stoulx(_Ac, &_Ep, | |
_Getifld(_Ac, _First, _Last, _Iosbase.flags(), | |
_Iosbase.getloc()), &_Errno); | |
if (_Ep != _Ac && _Errno == 0 && _Ulo <= 1) | |
_Ans = _Ulo; | |
} | |
if (_First == _Last) | |
_State |= ios_base::eofbit; | |
if (_Ans < 0) | |
_State |= ios_base::failbit; | |
else | |
_Val = _Ans != 0; | |
return (_First); | |
} | |
virtual _InIt do_get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned short& _Val) const | |
{ | |
; | |
char _Ac[32], *_Ep; | |
int _Errno = 0; | |
int _Base = _Getifld(_Ac, _First, _Last, _Iosbase.flags(), | |
_Iosbase.getloc()); | |
char *_Ptr = _Ac[0] == '-' ? _Ac + 1 : _Ac; | |
const unsigned long _Ans = | |
:: _Stoulx(_Ptr, &_Ep, _Base, &_Errno); | |
if (_First == _Last) | |
_State |= ios_base::eofbit; | |
if (_Ep == _Ptr || _Errno != 0 || 0xffff < _Ans) | |
_State |= ios_base::failbit; | |
else | |
_Val = (unsigned short)(_Ac[0] == '-' | |
? 0 -_Ans : _Ans); | |
return (_First); | |
} | |
virtual _InIt do_get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned int& _Val) const | |
{ | |
; | |
char _Ac[32], *_Ep; | |
int _Errno = 0; | |
int _Base = _Getifld(_Ac, _First, _Last, _Iosbase.flags(), | |
_Iosbase.getloc()); | |
char *_Ptr = _Ac[0] == '-' ? _Ac + 1 : _Ac; | |
const unsigned long _Ans = | |
:: _Stoulx(_Ptr, &_Ep, _Base, &_Errno); | |
if (_First == _Last) | |
_State |= ios_base::eofbit; | |
if (_Ep == _Ptr || _Errno != 0 || 0xffffffff < _Ans) | |
_State |= ios_base::failbit; | |
else | |
_Val = _Ac[0] == '-' ? 0 -_Ans : _Ans; | |
return (_First); | |
} | |
virtual _InIt do_get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
long& _Val) const | |
{ | |
; | |
char _Ac[32], *_Ep; | |
int _Errno = 0; | |
const long _Ans = :: _Stolx(_Ac, &_Ep, | |
_Getifld(_Ac, _First, _Last, _Iosbase.flags(), | |
_Iosbase.getloc()), &_Errno); | |
if (_First == _Last) | |
_State |= ios_base::eofbit; | |
if (_Ep == _Ac || _Errno != 0) | |
_State |= ios_base::failbit; | |
else | |
_Val = _Ans; | |
return (_First); | |
} | |
virtual _InIt do_get(_InIt _First, _InIt _Last, | |
ios_base& _Iosbase, ios_base::iostate& _State, | |
unsigned long& _Val) const | |
{ | |
; | |
char _Ac[32], *_Ep; | |
int _Errno = 0; | |
const unsigned long _Ans = :: _Stoulx(_Ac, &_Ep, | |
_Getifld(_Ac, _First, _Last, _Iosbase.flags(), | |
_Iosbase.getloc()), &_Errno); | |
if (_First == _Last) | |
_State |= ios_base::eofbit; | |
i |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment