UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::GC::TReachabilityProcessor< InOptions > Class Template Reference

Public Member Functions

FORCEINLINE void BeginTimingObject (UObject *CurrentObject)
 
FORCEINLINE void UpdateDetailedStats (UObject *CurrentObject)
 
FORCEINLINE void LogDetailedStatsSummary ()
 
FORCEINLINE bool IsTimeLimitExceeded () const
 

Static Public Member Functions

static constexpr FORCEINLINE bool IsEliminatingGarbage ()
 
static constexpr FORCEINLINE EKillable MayKill (EOrigin Origin, bool bAllowKill)
 
static constexpr FORCEINLINE bool IsWithIncrementalReachabilityAnalysis ()
 
static FORCEINLINE void ProcessReferenceDirectly (FWorkerContext &Context, FPermanentObjectPoolExtents PermanentPool, const UObject *ReferencingObject, UObject *&Object, FMemberId MemberId, EKillable Killable)
 
static FORCEINLINE void DetectGarbageReference (FWorkerContext &Context, FReferenceMetadata Metadata)
 
template<EKillable Killable>
static FORCEINLINE_DEBUGGABLE void ProcessReferenceDirectly (FWorkerContext &Context, FPermanentObjectPoolExtents PermanentPool, const UObject *ReferencingObject, UObject *&Object, FMemberId MemberId)
 
static FORCEINLINE void HandleBatchedReference (FWorkerContext &Context, FResolvedMutableReference Reference, FReferenceMetadata Metadata)
 
static FORCEINLINE void HandleBatchedReference (FWorkerContext &Context, FImmutableReference Reference, FReferenceMetadata Metadata)
 
static FORCEINLINE bool HandleValidReference (FWorkerContext &Context, FImmutableReference Reference, FReferenceMetadata Metadata)
 

Static Public Attributes

static constexpr EGCOptions Options = InOptions
 
static constexpr EInternalObjectFlags KillFlag = EInternalObjectFlags::Garbage
 

Member Function Documentation

◆ BeginTimingObject()

template<EGCOptions InOptions>
FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::BeginTimingObject ( UObject CurrentObject)
inline

◆ DetectGarbageReference()

template<EGCOptions InOptions>
static FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::DetectGarbageReference ( FWorkerContext Context,
FReferenceMetadata  Metadata 
)
inlinestatic

◆ HandleBatchedReference() [1/2]

template<EGCOptions InOptions>
static FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::HandleBatchedReference ( FWorkerContext Context,
FImmutableReference  Reference,
FReferenceMetadata  Metadata 
)
inlinestatic

◆ HandleBatchedReference() [2/2]

template<EGCOptions InOptions>
static FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::HandleBatchedReference ( FWorkerContext Context,
FResolvedMutableReference  Reference,
FReferenceMetadata  Metadata 
)
inlinestatic

◆ HandleValidReference()

template<EGCOptions InOptions>
static FORCEINLINE bool UE::GC::TReachabilityProcessor< InOptions >::HandleValidReference ( FWorkerContext Context,
FImmutableReference  Reference,
FReferenceMetadata  Metadata 
)
inlinestatic

◆ IsEliminatingGarbage()

template<EGCOptions InOptions>
static constexpr FORCEINLINE bool UE::GC::TReachabilityProcessor< InOptions >::IsEliminatingGarbage ( )
inlinestaticconstexpr

◆ IsTimeLimitExceeded()

template<EGCOptions InOptions>
FORCEINLINE bool UE::GC::TReachabilityProcessor< InOptions >::IsTimeLimitExceeded ( ) const
inline

◆ IsWithIncrementalReachabilityAnalysis()

template<EGCOptions InOptions>
static constexpr FORCEINLINE bool UE::GC::TReachabilityProcessor< InOptions >::IsWithIncrementalReachabilityAnalysis ( )
inlinestaticconstexpr

◆ LogDetailedStatsSummary()

template<EGCOptions InOptions>
FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::LogDetailedStatsSummary ( )
inline

◆ MayKill()

template<EGCOptions InOptions>
static constexpr FORCEINLINE EKillable UE::GC::TReachabilityProcessor< InOptions >::MayKill ( EOrigin  Origin,
bool  bAllowKill 
)
inlinestaticconstexpr

◆ ProcessReferenceDirectly() [1/2]

template<EGCOptions InOptions>
template<EKillable Killable>
static FORCEINLINE_DEBUGGABLE void UE::GC::TReachabilityProcessor< InOptions >::ProcessReferenceDirectly ( FWorkerContext Context,
FPermanentObjectPoolExtents  PermanentPool,
const UObject ReferencingObject,
UObject *&  Object,
FMemberId  MemberId 
)
inlinestatic

Handles object reference, potentially NULL'ing

Parameters
ObjectObject pointer passed by reference
ReferencingObjectUObject which owns the reference (can be NULL)
bAllowReferenceEliminationWhether to allow NULL'ing the reference if RF_PendingKill is set

◆ ProcessReferenceDirectly() [2/2]

template<EGCOptions InOptions>
static FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::ProcessReferenceDirectly ( FWorkerContext Context,
FPermanentObjectPoolExtents  PermanentPool,
const UObject ReferencingObject,
UObject *&  Object,
FMemberId  MemberId,
EKillable  Killable 
)
inlinestatic

◆ UpdateDetailedStats()

template<EGCOptions InOptions>
FORCEINLINE void UE::GC::TReachabilityProcessor< InOptions >::UpdateDetailedStats ( UObject CurrentObject)
inline

Member Data Documentation

◆ KillFlag

◆ Options

template<EGCOptions InOptions>
constexpr EGCOptions UE::GC::TReachabilityProcessor< InOptions >::Options = InOptions
staticconstexpr

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