UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SharedPointerInternals::TReferenceControllerBase< Mode > Class Template Referenceabstract

#include <SharedPointerInternals.h>

+ Inheritance diagram for SharedPointerInternals::TReferenceControllerBase< Mode >:

Public Member Functions

UE_FORCEINLINE_HINT TReferenceControllerBase ()=default
 
virtual void DestroyObject ()=0
 
virtual ~TReferenceControllerBase ()
 
int32 GetSharedReferenceCount () const
 
UE_FORCEINLINE_HINT bool IsUnique () const
 
void AddSharedReference ()
 
bool ConditionallyAddSharedReference ()
 
void ReleaseSharedReference ()
 
void AddWeakReference ()
 
void ReleaseWeakReference ()
 
 TReferenceControllerBase (const TReferenceControllerBase &)=delete
 
TReferenceControllerBaseoperator= (const TReferenceControllerBase &)=delete
 

Static Public Member Functions

static FORCENOINLINE void ReleaseSharedReferenceNoInline (TReferenceControllerBase< Mode > *ReferenceController)
 

Public Attributes

RefCountType SharedReferenceCount {1}
 
RefCountType WeakReferenceCount {1}
 

Constructor & Destructor Documentation

◆ TReferenceControllerBase() [1/2]

template<ESPMode Mode>
UE_FORCEINLINE_HINT SharedPointerInternals::TReferenceControllerBase< Mode >::TReferenceControllerBase ( )
explicitdefault

◆ ~TReferenceControllerBase()

◆ TReferenceControllerBase() [2/2]

template<ESPMode Mode>
SharedPointerInternals::TReferenceControllerBase< Mode >::TReferenceControllerBase ( const TReferenceControllerBase< Mode > &  )
delete

Member Function Documentation

◆ AddSharedReference()

template<ESPMode Mode>
void SharedPointerInternals::TReferenceControllerBase< Mode >::AddSharedReference ( )
inline

Adds a shared reference to this counter

◆ AddWeakReference()

template<ESPMode Mode>
void SharedPointerInternals::TReferenceControllerBase< Mode >::AddWeakReference ( )
inline

Adds a weak reference to this counter

◆ ConditionallyAddSharedReference()

template<ESPMode Mode>
bool SharedPointerInternals::TReferenceControllerBase< Mode >::ConditionallyAddSharedReference ( )
inline

Adds a shared reference to this counter ONLY if there is already at least one reference

Returns
True if the shared reference was added successfully

◆ DestroyObject()

◆ GetSharedReferenceCount()

template<ESPMode Mode>
int32 SharedPointerInternals::TReferenceControllerBase< Mode >::GetSharedReferenceCount ( ) const
inline

Returns the shared reference count

◆ IsUnique()

template<ESPMode Mode>
UE_FORCEINLINE_HINT bool SharedPointerInternals::TReferenceControllerBase< Mode >::IsUnique ( ) const
inline

Checks if there is exactly one reference left to the object.

◆ operator=()

template<ESPMode Mode>
TReferenceControllerBase & SharedPointerInternals::TReferenceControllerBase< Mode >::operator= ( const TReferenceControllerBase< Mode > &  )
delete

◆ ReleaseSharedReference()

template<ESPMode Mode>
void SharedPointerInternals::TReferenceControllerBase< Mode >::ReleaseSharedReference ( )
inline

Releases a shared reference to this counter

◆ ReleaseSharedReferenceNoInline()

template<ESPMode Mode>
static FORCENOINLINE void SharedPointerInternals::TReferenceControllerBase< Mode >::ReleaseSharedReferenceNoInline ( TReferenceControllerBase< Mode > *  ReferenceController)
inlinestatic

Release a shared reference, including nullptr check. Not inlined, for code size.

◆ ReleaseWeakReference()

template<ESPMode Mode>
void SharedPointerInternals::TReferenceControllerBase< Mode >::ReleaseWeakReference ( )
inline

Releases a weak reference to this counter

Member Data Documentation

◆ SharedReferenceCount

template<ESPMode Mode>
RefCountType SharedPointerInternals::TReferenceControllerBase< Mode >::SharedReferenceCount {1}

◆ WeakReferenceCount

template<ESPMode Mode>
RefCountType SharedPointerInternals::TReferenceControllerBase< Mode >::WeakReferenceCount {1}

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