| 1 |
/** |
| 2 |
* This file has no copyright assigned and is placed in the Public Domain. |
| 3 |
* This file is part of the mingw-w64 runtime package. |
| 4 |
* No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 |
*/ |
| 6 |
|
| 7 |
#ifndef _WRL_INTERNAL_H_ |
| 8 |
#define _WRL_INTERNAL_H_ |
| 9 |
|
| 10 |
#include <windows.h> |
| 11 |
|
| 12 |
namespace Microsoft { |
| 13 |
namespace WRL { |
| 14 |
namespace Details { |
| 15 |
struct BoolStruct { |
| 16 |
int Member; |
| 17 |
}; |
| 18 |
|
| 19 |
typedef int BoolStruct::* BoolType; |
| 20 |
|
| 21 |
inline void DECLSPEC_NORETURN RaiseException(HRESULT hr, DWORD flags = EXCEPTION_NONCONTINUABLE) throw() { |
| 22 |
::RaiseException(static_cast<DWORD>(hr), flags, 0, NULL); |
| 23 |
} |
| 24 |
|
| 25 |
template <bool b, typename T = void> |
| 26 |
struct EnableIf {}; |
| 27 |
|
| 28 |
template <typename T> |
| 29 |
struct EnableIf<true, T> { |
| 30 |
typedef T type; |
| 31 |
}; |
| 32 |
} |
| 33 |
} |
| 34 |
} |
| 35 |
|
| 36 |
#endif |