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 37