UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TComPtr< T > Class Template Reference

#include <COMPointer.h>

Public Types

typedefPointerType
 

Public Member Functions

 TComPtr ()
 
 TComPtr (PointerType *const Object)
 
 TComPtr (const TComPtr< PointerType > &Other)
 
 TComPtr (TComPtr< PointerType > &&Other)
 
TComPtr< PointerType > & operator= (PointerType *const Object)
 
TComPtr< PointerType > & operator= (const TComPtr< PointerType > &Other)
 
TComPtr< PointerType > & operator= (TComPtr< PointerType > &&Other)
 
 ~TComPtr ()
 
UE_FORCEINLINE_HINT PointerType ** operator& ()
 
PointerTypeoperator-> () const
 
UE_FORCEINLINE_HINT bool operator== (PointerType *const Object) const
 
UE_FORCEINLINE_HINT bool operator!= (PointerType *const Object) const
 
UE_FORCEINLINE_HINT operator PointerType * () const
 
void Attach (PointerType *Object)
 
void Detach ()
 
HRESULT FromQueryInterface (REFIID Riid, IUnknown *Unknown)
 
UE_FORCEINLINE_HINT PointerTypeGet () const
 
UE_FORCEINLINE_HINT const bool IsValid () const
 
void Reset ()
 

Friends

UE_FORCEINLINE_HINT uint32 GetTypeHash (const TComPtr< T > &InObjectPtr)
 

Detailed Description

template<typename T>
class TComPtr< T >

Smart COM object pointer.

Member Typedef Documentation

◆ PointerType

template<typename T >
typedef T TComPtr< T >::PointerType

Constructor & Destructor Documentation

◆ TComPtr() [1/4]

template<typename T >
TComPtr< T >::TComPtr ( )
inline

Default constructor (initialized to null).

◆ TComPtr() [2/4]

template<typename T >
TComPtr< T >::TComPtr ( PointerType *const  Object)
inline

Create and initialize a new instance.

Parameters
ObjectThe object to point to.

◆ TComPtr() [3/4]

template<typename T >
TComPtr< T >::TComPtr ( const TComPtr< PointerType > &  Other)
inline

Copy constructor.

Parameters
OtherThe instance to copy.

◆ TComPtr() [4/4]

template<typename T >
TComPtr< T >::TComPtr ( TComPtr< PointerType > &&  Other)
inline

Move constructor.

Parameters
OtherThe instance to move.

◆ ~TComPtr()

template<typename T >
TComPtr< T >::~TComPtr ( )
inline

Destructor.

Member Function Documentation

◆ Attach()

template<typename T >
void TComPtr< T >::Attach ( PointerType Object)
inline

Set the pointer without adding a reference.

Parameters
InRawPointerThe object to point to.
See also
Detach

◆ Detach()

template<typename T >
void TComPtr< T >::Detach ( )
inline

Reset the pointer without releasing a reference.

See also
Attach

◆ FromQueryInterface()

template<typename T >
HRESULT TComPtr< T >::FromQueryInterface ( REFIID  Riid,
IUnknown Unknown 
)
inline

Initialize this pointer from a COM interface to be queried.

Parameters
RiidThe ID of the interface to be queried.
UnknownThe object to query the interface from.
Returns
The result code of the query.

◆ Get()

template<typename T >
UE_FORCEINLINE_HINT PointerType * TComPtr< T >::Get ( ) const
inline

Get raw pointer to the object pointed to.

Returns
Pointer to the object, or NULL if not valid.
See also
IsValid

◆ IsValid()

template<typename T >
UE_FORCEINLINE_HINT const bool TComPtr< T >::IsValid ( ) const
inline

Whether this pointer is pointing to an actual object.

Returns
true if the pointer is valid, false otherwise.
See also
Get

◆ operator PointerType *()

template<typename T >
UE_FORCEINLINE_HINT TComPtr< T >::operator PointerType * ( ) const
inline

◆ operator!=()

template<typename T >
UE_FORCEINLINE_HINT bool TComPtr< T >::operator!= ( PointerType *const  Object) const
inline

◆ operator&()

template<typename T >
UE_FORCEINLINE_HINT PointerType ** TComPtr< T >::operator& ( )
inline

◆ operator->()

template<typename T >
PointerType * TComPtr< T >::operator-> ( ) const
inline

◆ operator=() [1/3]

template<typename T >
TComPtr< PointerType > & TComPtr< T >::operator= ( const TComPtr< PointerType > &  Other)
inline

Copy assignment operator.

Parameters
OtherThe instance to copy.

◆ operator=() [2/3]

template<typename T >
TComPtr< PointerType > & TComPtr< T >::operator= ( PointerType *const  Object)
inline

Assignment operator.

Parameters
ObjectThe object to point to.

◆ operator=() [3/3]

template<typename T >
TComPtr< PointerType > & TComPtr< T >::operator= ( TComPtr< PointerType > &&  Other)
inline

Move assignment operator.

Parameters
OtherThe instance to move.

◆ operator==()

template<typename T >
UE_FORCEINLINE_HINT bool TComPtr< T >::operator== ( PointerType *const  Object) const
inline

◆ Reset()

template<typename T >
void TComPtr< T >::Reset ( )
inline

Reset this pointer to null.

Friends And Related Symbol Documentation

◆ GetTypeHash

template<typename T >
UE_FORCEINLINE_HINT uint32 GetTypeHash ( const TComPtr< T > &  InObjectPtr)
friend

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