UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::GC::FWorkerContext Struct Reference

#include <FastReferenceCollector.h>

Public Member Functions

 UE_NONCOPYABLE (FWorkerContext)
 
COREUOBJECT_API FWorkerContext ()
 
COREUOBJECT_API ~FWorkerContext ()
 
FORCEINLINE UObjectGetReferencingObject ()
 
TConstArrayView< UObject * > GetInitialObjects ()
 
void ResetInitialObjects ()
 
void SetInitialObjectsUnpadded (TArray< UObject * > &Objects)
 
void SetInitialObjectsPrepadded (TConstArrayView< UObject * > PaddedObjects)
 
int64 GetAllocatedSize () const
 
FORCEINLINE int32 GetWorkerIndex () const
 
void AllocateWorkerIndex ()
 
void FreeWorkerIndex ()
 

Public Attributes

FWorkBlockifier ObjectsToSerialize
 
TConstArrayView< UObject ** > InitialNativeReferences
 
FWorkCoordinatorCoordinator = nullptr
 
TArray< FWeakReferenceInfoWeakReferences
 
FProcessorStats Stats
 
TArray< FGarbageReferenceInfoGarbageReferences
 
FSuspendedStructBatch IncrementalStructs
 
bool bIsSuspended = false
 
bool bDidWork = false
 
FDebugSchemaStackNodeSchemaStack = nullptr
 

Friends

template<typename ProcessorType , typename CollectorType >
class TFastReferenceCollector
 
class FSlowAROManager
 

Detailed Description

Thread-local context containing initial objects and references to collect

Constructor & Destructor Documentation

◆ FWorkerContext()

UE::GC::FWorkerContext::FWorkerContext ( )

◆ ~FWorkerContext()

UE::GC::FWorkerContext::~FWorkerContext ( )

Member Function Documentation

◆ AllocateWorkerIndex()

void UE::GC::FWorkerContext::AllocateWorkerIndex ( )

◆ FreeWorkerIndex()

void UE::GC::FWorkerContext::FreeWorkerIndex ( )

◆ GetAllocatedSize()

int64 UE::GC::FWorkerContext::GetAllocatedSize ( ) const
inline

Returns the size of memory allocated by internal arrays

◆ GetInitialObjects()

TConstArrayView< UObject * > UE::GC::FWorkerContext::GetInitialObjects ( )
inline

◆ GetReferencingObject()

FORCEINLINE UObject * UE::GC::FWorkerContext::GetReferencingObject ( )
inline

◆ GetWorkerIndex()

FORCEINLINE int32 UE::GC::FWorkerContext::GetWorkerIndex ( ) const
inline

◆ ResetInitialObjects()

void UE::GC::FWorkerContext::ResetInitialObjects ( )
inline

◆ SetInitialObjectsPrepadded()

void UE::GC::FWorkerContext::SetInitialObjectsPrepadded ( TConstArrayView< UObject * >  PaddedObjects)
inline
Parameters
PaddedObjectsmust already be padded to allow reading valid objects past the end

◆ SetInitialObjectsUnpadded()

void UE::GC::FWorkerContext::SetInitialObjectsUnpadded ( TArray< UObject * > &  Objects)
inline
Parameters
Objectsmust outlive this context. It's data is padded by repeating the last object to allow prefetching past the end.

◆ UE_NONCOPYABLE()

UE::GC::FWorkerContext::UE_NONCOPYABLE ( FWorkerContext  )

Friends And Related Symbol Documentation

◆ FSlowAROManager

friend class FSlowAROManager
friend

◆ TFastReferenceCollector

template<typename ProcessorType , typename CollectorType >
friend class TFastReferenceCollector
friend

Member Data Documentation

◆ bDidWork

bool UE::GC::FWorkerContext::bDidWork = false

◆ bIsSuspended

bool UE::GC::FWorkerContext::bIsSuspended = false

◆ Coordinator

FWorkCoordinator* UE::GC::FWorkerContext::Coordinator = nullptr

◆ GarbageReferences

TArray<FGarbageReferenceInfo> UE::GC::FWorkerContext::GarbageReferences

◆ IncrementalStructs

FSuspendedStructBatch UE::GC::FWorkerContext::IncrementalStructs

◆ InitialNativeReferences

TConstArrayView<UObject**> UE::GC::FWorkerContext::InitialNativeReferences

◆ ObjectsToSerialize

FWorkBlockifier UE::GC::FWorkerContext::ObjectsToSerialize

◆ SchemaStack

FDebugSchemaStackNode* UE::GC::FWorkerContext::SchemaStack = nullptr

◆ Stats

FProcessorStats UE::GC::FWorkerContext::Stats

◆ WeakReferences

TArray<FWeakReferenceInfo> UE::GC::FWorkerContext::WeakReferences

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