UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::GC::TDirectDispatcher< ProcessorType > Struct Template Reference

#include <FastReferenceCollector.h>

Public Types

typedef FDebugSchemaStackScope SchemaStackScopeType
 

Public Member Functions

FORCEINLINE void HandleReferenceDirectly (UObject *ReferencingObject, UObject *&Object, FMemberId MemberId, EOrigin Origin, bool bAllowReferenceElimination) const
 
FORCEINLINE void HandleKillableReference (UObject *&Object, FMemberId MemberId, EOrigin Origin) const
 
FORCEINLINE void HandleImmutableReference (UObject *Object, FMemberId MemberId, EOrigin Origin) const
 
template<class ArrayType >
FORCEINLINE void HandleKillableReferences (ArrayType &&Objects, FMemberId MemberId, EOrigin Origin) const
 
FORCEINLINE void HandleKillableArray (TArray< UObject * > &Array, FMemberId MemberId, EOrigin Origin) const
 
FORCEINLINE void HandleKillableArray (Private::FStridedReferenceArray Array, FMemberId MemberId, EOrigin Origin) const
 
void Suspend ()
 
void SetDebugSchemaStackMemberId (FMemberId Member)
 

Public Attributes

ProcessorType & Processor
 
FWorkerContextContext
 
FReferenceCollectorCollector
 

Static Public Attributes

static constexpr bool bBatching = false
 
static constexpr bool bParallel = IsParallel(ProcessorType::Options)
 

Detailed Description

template<class ProcessorType>
struct UE::GC::TDirectDispatcher< ProcessorType >

Forwards references directly to ProcessorType::HandleTokenStreamObjectReference(), unlike TBatchDispatcher

Member Typedef Documentation

◆ SchemaStackScopeType

template<class ProcessorType >
typedef FDebugSchemaStackScope UE::GC::TDirectDispatcher< ProcessorType >::SchemaStackScopeType

Member Function Documentation

◆ HandleImmutableReference()

template<class ProcessorType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleImmutableReference ( UObject Object,
FMemberId  MemberId,
EOrigin  Origin 
) const
inline

◆ HandleKillableArray() [1/2]

template<class ProcessorType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleKillableArray ( Private::FStridedReferenceArray  Array,
FMemberId  MemberId,
EOrigin  Origin 
) const
inline

◆ HandleKillableArray() [2/2]

template<class ProcessorType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleKillableArray ( TArray< UObject * > &  Array,
FMemberId  MemberId,
EOrigin  Origin 
) const
inline

◆ HandleKillableReference()

template<class ProcessorType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleKillableReference ( UObject *&  Object,
FMemberId  MemberId,
EOrigin  Origin 
) const
inline

◆ HandleKillableReferences()

template<class ProcessorType >
template<class ArrayType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleKillableReferences ( ArrayType &&  Objects,
FMemberId  MemberId,
EOrigin  Origin 
) const
inline

◆ HandleReferenceDirectly()

template<class ProcessorType >
FORCEINLINE void UE::GC::TDirectDispatcher< ProcessorType >::HandleReferenceDirectly ( UObject ReferencingObject,
UObject *&  Object,
FMemberId  MemberId,
EOrigin  Origin,
bool  bAllowReferenceElimination 
) const
inline

◆ SetDebugSchemaStackMemberId()

template<class ProcessorType >
void UE::GC::TDirectDispatcher< ProcessorType >::SetDebugSchemaStackMemberId ( FMemberId  Member)
inline

◆ Suspend()

template<class ProcessorType >
void UE::GC::TDirectDispatcher< ProcessorType >::Suspend ( )
inline

Member Data Documentation

◆ bBatching

template<class ProcessorType >
constexpr bool UE::GC::TDirectDispatcher< ProcessorType >::bBatching = false
staticconstexpr

◆ bParallel

template<class ProcessorType >
constexpr bool UE::GC::TDirectDispatcher< ProcessorType >::bParallel = IsParallel(ProcessorType::Options)
staticconstexpr

◆ Collector

template<class ProcessorType >
FReferenceCollector& UE::GC::TDirectDispatcher< ProcessorType >::Collector

◆ Context

template<class ProcessorType >
FWorkerContext& UE::GC::TDirectDispatcher< ProcessorType >::Context

◆ Processor

template<class ProcessorType >
ProcessorType& UE::GC::TDirectDispatcher< ProcessorType >::Processor

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