Nui
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Microsoft::WRL::ComPtr< T > Class Template Reference

#include <client.h>

Public Types

typedef T InterfaceType
 

Public Member Functions

 ComPtr () throw ()
 
 ComPtr (decltype(nullptr)) throw ()
 
template<class U >
 ComPtr (U *other) throw ()
 
 ComPtr (const ComPtr &other) throw ()
 
template<class U >
 ComPtr (const ComPtr< U > &other) throw ()
 
 ComPtr (ComPtr &&other) throw ()
 
template<class U >
 ComPtr (ComPtr< U > &&other) throw ()
 
 ~ComPtr () throw ()
 
ComPtroperator= (decltype(nullptr)) throw ()
 
ComPtroperator= (InterfaceType *other) throw ()
 
template<typename U >
ComPtroperator= (U *other) throw ()
 
ComPtroperator= (const ComPtr &other) throw ()
 
template<class U >
ComPtroperator= (const ComPtr< U > &other) throw ()
 
ComPtroperator= (ComPtr &&other) throw ()
 
template<class U >
ComPtroperator= (ComPtr< U > &&other) throw ()
 
void Swap (ComPtr &&r) throw ()
 
void Swap (ComPtr &r) throw ()
 
 operator Details::BoolType () const throw ()
 
InterfaceTypeGet () const throw ()
 
InterfaceTypeoperator-> () const throw ()
 
Details::ComPtrRef< ComPtr< T > > operator& () throw ()
 
const Details::ComPtrRef< const ComPtr< T > > operator& () const throw ()
 
InterfaceType *const * GetAddressOf () const throw ()
 
InterfaceType ** GetAddressOf () throw ()
 
InterfaceType ** ReleaseAndGetAddressOf () throw ()
 
InterfaceTypeDetach () throw ()
 
void Attach (InterfaceType *other) throw ()
 
unsigned long Reset ()
 
HRESULT CopyTo (InterfaceType **ptr) const throw ()
 
HRESULT CopyTo (REFIID riid, void **ptr) const throw ()
 
template<typename U >
HRESULT CopyTo (U **ptr) const throw ()
 
template<typename U >
HRESULT As (Details::ComPtrRef< ComPtr< U >> p) const throw ()
 
template<typename U >
HRESULT As (ComPtr< U > *p) const throw ()
 
HRESULT AsIID (REFIID riid, ComPtr< IUnknown > *p) const throw ()
 

Protected Member Functions

void InternalAddRef () const throw ()
 
unsigned long InternalRelease () throw ()
 

Protected Attributes

InterfaceTypeptr_
 

Member Typedef Documentation

◆ InterfaceType

template<typename T >
typedef T Microsoft::WRL::ComPtr< T >::InterfaceType

Constructor & Destructor Documentation

◆ ComPtr() [1/7]

template<typename T >
Microsoft::WRL::ComPtr< T >::ComPtr ( )
throw (
)
inline

◆ ComPtr() [2/7]

template<typename T >
Microsoft::WRL::ComPtr< T >::ComPtr ( decltype(nullptr)  )
throw (
)
inline

◆ ComPtr() [3/7]

template<typename T >
template<class U >
Microsoft::WRL::ComPtr< T >::ComPtr ( U *  other)
throw (
)
inline

◆ ComPtr() [4/7]

template<typename T >
Microsoft::WRL::ComPtr< T >::ComPtr ( const ComPtr< T > &  other)
throw (
)
inline

◆ ComPtr() [5/7]

template<typename T >
template<class U >
Microsoft::WRL::ComPtr< T >::ComPtr ( const ComPtr< U > &  other)
throw (
)
inline

◆ ComPtr() [6/7]

template<typename T >
Microsoft::WRL::ComPtr< T >::ComPtr ( ComPtr< T > &&  other)
throw (
)
inline

◆ ComPtr() [7/7]

template<typename T >
template<class U >
Microsoft::WRL::ComPtr< T >::ComPtr ( ComPtr< U > &&  other)
throw (
)
inline

◆ ~ComPtr()

template<typename T >
Microsoft::WRL::ComPtr< T >::~ComPtr ( )
throw (
)
inline

Member Function Documentation

◆ As() [1/2]

template<typename T >
template<typename U >
HRESULT Microsoft::WRL::ComPtr< T >::As ( ComPtr< U > *  p) const
throw (
)
inline

◆ As() [2/2]

template<typename T >
template<typename U >
HRESULT Microsoft::WRL::ComPtr< T >::As ( Details::ComPtrRef< ComPtr< U >>  p) const
throw (
)
inline

◆ AsIID()

template<typename T >
HRESULT Microsoft::WRL::ComPtr< T >::AsIID ( REFIID  riid,
ComPtr< IUnknown > *  p 
) const
throw (
)
inline

◆ Attach()

template<typename T >
void Microsoft::WRL::ComPtr< T >::Attach ( InterfaceType other)
throw (
)
inline

◆ CopyTo() [1/3]

template<typename T >
HRESULT Microsoft::WRL::ComPtr< T >::CopyTo ( InterfaceType **  ptr) const
throw (
)
inline

◆ CopyTo() [2/3]

template<typename T >
HRESULT Microsoft::WRL::ComPtr< T >::CopyTo ( REFIID  riid,
void **  ptr 
) const
throw (
)
inline

◆ CopyTo() [3/3]

template<typename T >
template<typename U >
HRESULT Microsoft::WRL::ComPtr< T >::CopyTo ( U **  ptr) const
throw (
)
inline

◆ Detach()

template<typename T >
InterfaceType* Microsoft::WRL::ComPtr< T >::Detach ( )
throw (
)
inline

◆ Get()

template<typename T >
InterfaceType* Microsoft::WRL::ComPtr< T >::Get ( ) const
throw (
)
inline

◆ GetAddressOf() [1/2]

template<typename T >
InterfaceType** Microsoft::WRL::ComPtr< T >::GetAddressOf ( )
throw (
)
inline

◆ GetAddressOf() [2/2]

template<typename T >
InterfaceType* const* Microsoft::WRL::ComPtr< T >::GetAddressOf ( ) const
throw (
)
inline

◆ InternalAddRef()

template<typename T >
void Microsoft::WRL::ComPtr< T >::InternalAddRef ( ) const
throw (
)
inlineprotected

◆ InternalRelease()

template<typename T >
unsigned long Microsoft::WRL::ComPtr< T >::InternalRelease ( )
throw (
)
inlineprotected

◆ operator Details::BoolType()

template<typename T >
Microsoft::WRL::ComPtr< T >::operator Details::BoolType ( ) const
throw (
)
inline

◆ operator&() [1/2]

template<typename T >
Details::ComPtrRef<ComPtr<T> > Microsoft::WRL::ComPtr< T >::operator& ( )
throw (
)
inline

◆ operator&() [2/2]

template<typename T >
const Details::ComPtrRef<const ComPtr<T> > Microsoft::WRL::ComPtr< T >::operator& ( ) const
throw (
)
inline

◆ operator->()

template<typename T >
InterfaceType* Microsoft::WRL::ComPtr< T >::operator-> ( ) const
throw (
)
inline

◆ operator=() [1/7]

template<typename T >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( ComPtr< T > &&  other)
throw (
)
inline

◆ operator=() [2/7]

template<typename T >
template<class U >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( ComPtr< U > &&  other)
throw (
)
inline

◆ operator=() [3/7]

template<typename T >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( const ComPtr< T > &  other)
throw (
)
inline

◆ operator=() [4/7]

template<typename T >
template<class U >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( const ComPtr< U > &  other)
throw (
)
inline

◆ operator=() [5/7]

template<typename T >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( decltype(nullptr)  )
throw (
)
inline

◆ operator=() [6/7]

template<typename T >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( InterfaceType other)
throw (
)
inline

◆ operator=() [7/7]

template<typename T >
template<typename U >
ComPtr& Microsoft::WRL::ComPtr< T >::operator= ( U *  other)
throw (
)
inline

◆ ReleaseAndGetAddressOf()

template<typename T >
InterfaceType** Microsoft::WRL::ComPtr< T >::ReleaseAndGetAddressOf ( )
throw (
)
inline

◆ Reset()

template<typename T >
unsigned long Microsoft::WRL::ComPtr< T >::Reset ( )
inline

◆ Swap() [1/2]

template<typename T >
void Microsoft::WRL::ComPtr< T >::Swap ( ComPtr< T > &&  r)
throw (
)
inline

◆ Swap() [2/2]

template<typename T >
void Microsoft::WRL::ComPtr< T >::Swap ( ComPtr< T > &  r)
throw (
)
inline

Member Data Documentation

◆ ptr_

template<typename T >
InterfaceType* Microsoft::WRL::ComPtr< T >::ptr_
protected

The documentation for this class was generated from the following file: