Nui
Classes | Typedefs | Functions | Variables
Microsoft::WRL::Details Namespace Reference

Classes

class  ComPtrRefBase
 
class  ComPtrRef
 
struct  ArgTraits
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(void)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8)>
 
struct  ArgTraits< HRESULT(STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9)>
 
struct  ArgTraitsHelper
 
struct  ArgTraitsHelper< TDelegateInterface, false >
 
struct  ArgTraitsHelper< TDelegateInterface, true >
 
struct  InvokeHelper
 
class  WrlSealed
 
struct  ImplementsBase
 
class  ModuleBase
 
class  Nil
 
class  DontUseNewUseMake
 
class  RuntimeClassBase
 
class  RuntimeClassBaseT
 
class  FtmBaseMarker
 
struct  VerifyInterfaceHelper
 
struct  VerifyInterfaceHelper< ClassicCom, I, doStrictCheck, false >
 
struct  VerifyInterfaceHelper< WinRtClassicComMix, I, doStrictCheck, false >
 
struct  VerifyInterfaceHelper< WinRt, I, doStrictCheck, false >
 
struct  VerifyInterfaceHelper< type, I, true, true >
 
struct  VerifyInterfaceHelper< type, I, false, true >
 
struct  InterfaceTraits
 
struct  InterfaceTraits< CloakedIid< CloakedType > >
 
struct  InterfaceTraits< Nil >
 
struct  VerifyInheritanceHelper
 
struct  VerifyInheritanceHelper< I, Nil >
 
struct  ImplementsMarker
 
struct  MarkImplements< I0, false >
 
struct  MarkImplements< I0, true >
 
struct  MarkImplements< CloakedIid< I0 >, true >
 
struct  MarkImplements< MixIn< DerivedType, BaseType, hasImplements >, true >
 
struct  AdjustImplements< RuntimeClassFlagsT, doStrictCheck, I0, Bases... >
 
struct  AdjustImplements< RuntimeClassFlagsT, doStrictCheck, Details::Nil, Bases... >
 
struct  AdjustImplements< RuntimeClassFlagsT, doStrictCheck >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, I0, TInterfaces... >
 
struct  Selector
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, ImplementsMarker< I0 >, TInterfaces... >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, CloakedIid< I0 >, I1, TInterfaces... >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, CloakedIid< I0 > >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, ChainInterfaces< C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 >, TInterfaces... >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, MixIn< DerivedType, BaseMixInType, hasImplements >, TInterfaces... >
 
struct  AreAllNil
 
struct  AreAllNil< Microsoft::WRL::Details::Nil, TInterfaces... >
 
struct  AreAllNil< Microsoft::WRL::Details::Nil >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, ComposableBase< FactoryInterface >, TInterfaces... >
 
struct  ImplementsHelper< RuntimeClassFlagsT, doStrictCheck, ComposableBase< FactoryInterface > >
 
class  RuntimeClassImpl< RuntimeClassFlagsT, implementsWeakReferenceSource, false, implementsFtmBase, TInterfaces... >
 
struct  HasIInspectable
 
struct  HasIInspectable< I, false >
 
struct  HasIInspectable< I, true >
 
struct  IInspectableInjector
 
struct  IInspectableInjector< I0, true >
 
struct  IInspectableInjector< I0, false >
 
class  RuntimeClassImpl< RuntimeClassFlagsT, false, true, false, I0, TInterfaces... >
 
class  StrongReference
 
union  ReferenceCountOrWeakReferencePointer
 
class  RuntimeClassImpl< RuntimeClassFlagsT, true, true, false, I0, TInterfaces... >
 
class  RuntimeClassImpl< RuntimeClassFlagsT, false, true, true, I0, TInterfaces... >
 
class  RuntimeClassImpl< RuntimeClassFlagsT, true, true, true, I0, TInterfaces... >
 
struct  InterfaceListHelper
 
class  RuntimeClass
 
class  RuntimeClass< InterfaceListHelper< TInterfaces... >, RuntimeClassFlagsT, implementsWeakReferenceSource, implementsInspectable, implementsFtmBase >
 
class  WeakReferenceImpl
 
class  MakeAllocator
 
struct  BoolStruct
 
struct  EnableIf
 
struct  EnableIf< true, T >
 
struct  IsSame
 
struct  IsSame< T1, T1 >
 
struct  RemoveReference
 
struct  RemoveReference< T & >
 
struct  RemoveReference< T && >
 
struct  Identity
 
struct  IsBaseOfStrict
 
struct  IsBaseOfStrict< Base, Base >
 
struct  Dummy
 

Typedefs

typedef int BoolStruct::* BoolType
 

Functions

template<typename TDelegateInterface >
void * GetDelegateBucketAssist (TDelegateInterface *pDelegate)
 
unsigned long SafeUnknownIncrementReference (long volatile &refcount) throw ()
 
unsigned long SafeUnknownDecrementReference (long volatile &refcount) throw ()
 
bool IsValueAPointerToWeakReference (INT_PTR value)
 
INT_PTR EncodeWeakReferencePointer (Microsoft::WRL::Details::WeakReferenceImpl *value)
 
Microsoft::WRL::Details::WeakReferenceImplDecodeWeakReferencePointer (INT_PTR value)
 
template<typename T >
ReadValueFromPointerNoFence (const volatile T *value)
 
WeakReferenceImplCreateWeakReference (IUnknown *)
 
template<typename T , typename... TArgs>
ComPtr< T > Make (TArgs &&... args)
 
template<typename T , typename I , typename... TArgs>
HRESULT MakeAndInitialize (I **result, TArgs &&... args)
 
template<typename T , typename I , typename... TArgs>
HRESULT MakeAndInitialize (_Inout_ ComPtrRef< ComPtr< I >> ppvObject, TArgs &&... args)
 
void RaiseException (HRESULT hr, DWORD dwExceptionFlags=EXCEPTION_NONCONTINUABLE)
 
template<class T >
RemoveReference< T >::Type && Move (_Inout_ T &&arg) throw ()
 
template<class T >
void Swap (_Inout_ T &left, _Inout_ T &right) throw ()
 
template<class T >
T && Forward (typename Identity< T >::Type &arg) throw ()
 

Variables

const CreatorMap * __pobjectentryfirst = nullptr
 
const CreatorMap * __pobjectentrymid = nullptr
 
const CreatorMap * __pobjectentrylast = nullptr
 
template<typename RuntimeClassFlagsT , bool doStrictCheck, typename... TInterfaces>
struct WRT_NO_VTABLE ImplementsHelper
 
template<typename I0 , bool isImplements>
struct WRT_NO_VTABLE MarkImplements
 
template<typename RuntimeClassFlagsT , bool doStrictCheck, typename... Bases>
struct WRT_NO_VTABLE AdjustImplements
 
template<class RuntimeClassFlagsT , bool implementsWeakReferenceSource, bool implementsInspectable, bool implementsFtmBase, typename... TInterfaces>
class WRT_NO_VTABLE RuntimeClassImpl
 
const UINT_PTR EncodeWeakReferencePointerFlag = static_cast<UINT_PTR>(1) << ((sizeof(UINT_PTR) * 8) - 1)
 

Typedef Documentation

◆ BoolType

typedef int BoolStruct::* Microsoft::WRL::Details::BoolType

Function Documentation

◆ CreateWeakReference()

WeakReferenceImpl * Microsoft::WRL::Details::CreateWeakReference ( IUnknown *  unk)
inline

◆ DecodeWeakReferencePointer()

Microsoft::WRL::Details::WeakReferenceImpl * Microsoft::WRL::Details::DecodeWeakReferencePointer ( INT_PTR  value)
inline

◆ EncodeWeakReferencePointer()

INT_PTR Microsoft::WRL::Details::EncodeWeakReferencePointer ( Microsoft::WRL::Details::WeakReferenceImpl value)
inline

◆ Forward()

template<class T >
T&& Microsoft::WRL::Details::Forward ( typename Identity< T >::Type &  arg)
throw (
)
inline

◆ GetDelegateBucketAssist()

template<typename TDelegateInterface >
void* Microsoft::WRL::Details::GetDelegateBucketAssist ( TDelegateInterface *  pDelegate)

◆ IsValueAPointerToWeakReference()

bool Microsoft::WRL::Details::IsValueAPointerToWeakReference ( INT_PTR  value)
inline

◆ Make()

template<typename T , typename... TArgs>
ComPtr<T> Microsoft::WRL::Details::Make ( TArgs &&...  args)

◆ MakeAndInitialize() [1/2]

template<typename T , typename I , typename... TArgs>
HRESULT Microsoft::WRL::Details::MakeAndInitialize ( _Inout_ ComPtrRef< ComPtr< I >>  ppvObject,
TArgs &&...  args 
)

◆ MakeAndInitialize() [2/2]

template<typename T , typename I , typename... TArgs>
HRESULT Microsoft::WRL::Details::MakeAndInitialize ( I **  result,
TArgs &&...  args 
)

◆ Move()

template<class T >
RemoveReference<T>::Type&& Microsoft::WRL::Details::Move ( _Inout_ T &&  arg)
throw (
)
inline

◆ RaiseException()

void Microsoft::WRL::Details::RaiseException ( HRESULT  hr,
DWORD  dwExceptionFlags = EXCEPTION_NONCONTINUABLE 
)
inline

◆ ReadValueFromPointerNoFence()

template<typename T >
T Microsoft::WRL::Details::ReadValueFromPointerNoFence ( const volatile T *  value)
inline

◆ SafeUnknownDecrementReference()

unsigned long Microsoft::WRL::Details::SafeUnknownDecrementReference ( long volatile &  refcount)
throw (
)
inline

◆ SafeUnknownIncrementReference()

unsigned long Microsoft::WRL::Details::SafeUnknownIncrementReference ( long volatile &  refcount)
throw (
)
inline

◆ Swap()

template<class T >
void Microsoft::WRL::Details::Swap ( _Inout_ T &  left,
_Inout_ T &  right 
)
throw (
)
inline

Variable Documentation

◆ __pobjectentryfirst

const CreatorMap* Microsoft::WRL::Details::__pobjectentryfirst = nullptr

◆ __pobjectentrylast

const CreatorMap* Microsoft::WRL::Details::__pobjectentrylast = nullptr

◆ __pobjectentrymid

const CreatorMap* Microsoft::WRL::Details::__pobjectentrymid = nullptr

◆ AdjustImplements

template<typename RuntimeClassFlagsT , bool doStrictCheck, typename... Bases>
struct WRT_NO_VTABLE Microsoft::WRL::Details::AdjustImplements

◆ EncodeWeakReferencePointerFlag

const UINT_PTR Microsoft::WRL::Details::EncodeWeakReferencePointerFlag = static_cast<UINT_PTR>(1) << ((sizeof(UINT_PTR) * 8) - 1)

◆ ImplementsHelper

template<typename RuntimeClassFlagsT , bool doStrictCheck, typename... TInterfaces>
struct WRT_NO_VTABLE Microsoft::WRL::Details::ImplementsHelper

◆ MarkImplements

template<typename I0 , bool isImplements>
struct WRT_NO_VTABLE Microsoft::WRL::Details::MarkImplements

◆ RuntimeClassImpl

template<class RuntimeClassFlagsT , bool implementsWeakReferenceSource, bool implementsInspectable, bool implementsFtmBase, typename... TInterfaces>
class WRT_NO_VTABLE Microsoft::WRL::Details::RuntimeClassImpl