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

#include <SharedPointerInternals.h>

Public Member Functions

UE_FORCEINLINE_HINT FSharedReferencer ()
 
 FSharedReferencer (TReferenceControllerBase< Mode > *InReferenceController)
 
 FSharedReferencer (FSharedReferencer const &InSharedReference)
 
 FSharedReferencer (FSharedReferencer &&InSharedReference)
 
 FSharedReferencer (FWeakReferencer< Mode > const &InWeakReference)
 
 FSharedReferencer (FWeakReferencer< Mode > &&InWeakReference)
 
 ~FSharedReferencer ()
 
FSharedReferenceroperator= (FSharedReferencer const &InSharedReference)
 
FSharedReferenceroperator= (FSharedReferencer &&InSharedReference)
 
UE_FORCEINLINE_HINT const bool IsValid () const
 
UE_FORCEINLINE_HINT const int32 GetSharedReferenceCount () const
 
UE_FORCEINLINE_HINT const bool IsUnique () const
 

Friends

template<ESPMode OtherMode>
class FWeakReferencer
 

Detailed Description

template<ESPMode Mode>
class SharedPointerInternals::FSharedReferencer< Mode >

FSharedReferencer is a wrapper around a pointer to a reference controller that is used by either a TSharedRef or a TSharedPtr to keep track of a referenced object's lifetime

Constructor & Destructor Documentation

◆ FSharedReferencer() [1/6]

template<ESPMode Mode>
UE_FORCEINLINE_HINT SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( )
inline

Constructor for an empty shared referencer object

◆ FSharedReferencer() [2/6]

template<ESPMode Mode>
SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( TReferenceControllerBase< Mode > *  InReferenceController)
inlineexplicit

Constructor that counts a single reference to the specified object

◆ FSharedReferencer() [3/6]

template<ESPMode Mode>
SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( FSharedReferencer< Mode > const &  InSharedReference)
inline

Copy constructor creates a new reference to the existing object

◆ FSharedReferencer() [4/6]

template<ESPMode Mode>
SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( FSharedReferencer< Mode > &&  InSharedReference)
inline

Move constructor creates no new references

◆ FSharedReferencer() [5/6]

template<ESPMode Mode>
SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( FWeakReferencer< Mode > const &  InWeakReference)
inline

Creates a shared referencer object from a weak referencer object. This will only result in a valid object reference if the object already has at least one other shared referencer.

◆ FSharedReferencer() [6/6]

template<ESPMode Mode>
SharedPointerInternals::FSharedReferencer< Mode >::FSharedReferencer ( FWeakReferencer< Mode > &&  InWeakReference)
inline

Creates a shared referencer object from a weak referencer object. This will only result in a valid object reference if the object already has at least one other shared referencer.

◆ ~FSharedReferencer()

Destructor.

Member Function Documentation

◆ GetSharedReferenceCount()

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

Returns the number of shared references to this object (including this reference.)

Returns
Number of shared references to the object (including this reference.)

◆ IsUnique()

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

Returns true if this is the only shared reference to this object. Note that there may be outstanding weak references left.

Returns
True if there is only one shared reference to the object, and this is it!

◆ IsValid()

template<ESPMode Mode>
UE_FORCEINLINE_HINT const bool SharedPointerInternals::FSharedReferencer< Mode >::IsValid ( ) const
inline

Tests to see whether or not this shared counter contains a valid reference

Returns
True if reference is valid

◆ operator=() [1/2]

template<ESPMode Mode>
FSharedReferencer & SharedPointerInternals::FSharedReferencer< Mode >::operator= ( FSharedReferencer< Mode > &&  InSharedReference)
inline

Move assignment operator adds no references to the assigned object. If this counter was previously referencing an object, that reference will be released.

◆ operator=() [2/2]

template<ESPMode Mode>
FSharedReferencer & SharedPointerInternals::FSharedReferencer< Mode >::operator= ( FSharedReferencer< Mode > const &  InSharedReference)
inline

Assignment operator adds a reference to the assigned object. If this counter was previously referencing an object, that reference will be released.

Friends And Related Symbol Documentation

◆ FWeakReferencer

template<ESPMode Mode>
template<ESPMode OtherMode>
friend class FWeakReferencer
friend

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