16 #pragma pack(push, _CRT_PACKING)
17 #if !defined RC_INVOKED && _HAS_EXCEPTIONS
21 struct __std_exception_data
27 _VCRTIMP void __cdecl __std_exception_copy(
28 _In_ __std_exception_data
const* _From,
29 _Out_ __std_exception_data* _To
32 _VCRTIMP void __cdecl __std_exception_destroy(
33 _Inout_ __std_exception_data* _Data
51 explicit exception(
char const*
const _Message)
throw()
54 __std_exception_data _InitData = { _Message,
true };
55 __std_exception_copy(&_InitData, &_Data);
58 exception(
char const*
const _Message,
int) throw()
61 _Data._What = _Message;
67 __std_exception_copy(&_Other._Data, &_Data);
77 __std_exception_destroy(&_Data);
78 __std_exception_copy(&_Other._Data, &_Data);
84 __std_exception_destroy(&_Data);
87 virtual char const* what()
const
89 return _Data._What ? _Data._What :
"Unknown exception";
94 __std_exception_data _Data;
120 friend class bad_array_new_length;
122 bad_alloc(
char const*
const _Message)
throw()
128 class bad_array_new_length
133 bad_array_new_length() throw()
141 #endif // !RC_INVOKED && _HAS_EXCEPTIONS
#define _Out_
Definition: sal.h:342
#define _VCRTIMP
Definition: vcruntime.h:115
Definition: exception:160
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
#define _In_
Definition: sal.h:305
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
Definition: exception:139
#define _Inout_
Definition: sal.h:375