UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FUObjectItem Struct Reference

#include <UObjectArray.h>

Public Member Functions

 FUObjectItem ()
 
 ~FUObjectItem ()
 
 FUObjectItem (FUObjectItem &&)=delete
 
 FUObjectItem (const FUObjectItem &)=delete
 
FUObjectItemoperator= (FUObjectItem &&)=delete
 
FUObjectItemoperator= (const FUObjectItem &)=delete
 
class UObjectBaseGetObject () const
 
void SetObject (class UObjectBase *InObject)
 
UE_FORCEINLINE_HINT void SetOwnerIndex (int32 OwnerIndex)
 
UE_FORCEINLINE_HINT int32 GetOwnerIndex () const
 
UE_FORCEINLINE_HINT void SetClusterIndex (int32 ClusterIndex)
 
int32 GetClusterIndex () const
 
int32 GetSerialNumber () const
 
UE_FORCEINLINE_HINT void SetFlags (EInternalObjectFlags FlagsToSet)
 
EInternalObjectFlags GetFlags () const
 
UE_FORCEINLINE_HINT void ClearFlags (EInternalObjectFlags FlagsToClear)
 
bool ThisThreadAtomicallyClearedFlag (EInternalObjectFlags FlagToClear)
 
bool ThisThreadAtomicallySetFlag (EInternalObjectFlags FlagToSet)
 
UE_FORCEINLINE_HINT bool HasAnyFlags (EInternalObjectFlags InFlags) const
 
UE_FORCEINLINE_HINT bool HasAllFlags (EInternalObjectFlags InFlags) const
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT void SetGarbage ()
 
UE_FORCEINLINE_HINT void ClearGarbage ()
 
UE_FORCEINLINE_HINT bool IsGarbage () const
 
UE_FORCEINLINE_HINT void SetRootSet ()
 
UE_FORCEINLINE_HINT void ClearRootSet ()
 
UE_FORCEINLINE_HINT bool IsRootSet () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
void AddRef ()
 
void ReleaseRef ()
 

Public Attributes

union { 
 
   uint32   ObjectPtrLow 
 
};  
 
int32 SerialNumber
 
int32 ClusterRootIndex
 

Friends

class FUObjectArray
 
class UE::GC::Private::FGCFlags
 

Detailed Description

Single item in the UObject array.

Constructor & Destructor Documentation

◆ FUObjectItem() [1/3]

FUObjectItem::FUObjectItem ( )
inline

◆ ~FUObjectItem()

FUObjectItem::~FUObjectItem ( )
inline

◆ FUObjectItem() [2/3]

FUObjectItem::FUObjectItem ( FUObjectItem &&  )
delete

◆ FUObjectItem() [3/3]

FUObjectItem::FUObjectItem ( const FUObjectItem )
delete

Member Function Documentation

◆ AddRef()

void FUObjectItem::AddRef ( )
inline

◆ ClearFlags()

UE_FORCEINLINE_HINT void FUObjectItem::ClearFlags ( EInternalObjectFlags  FlagsToClear)
inline

◆ ClearGarbage()

UE_FORCEINLINE_HINT void FUObjectItem::ClearGarbage ( )
inline

◆ ClearRootSet()

UE_FORCEINLINE_HINT void FUObjectItem::ClearRootSet ( )
inline

◆ GetClusterIndex()

int32 FUObjectItem::GetClusterIndex ( ) const
inline

Decodes the cluster index from the ClusterRootIndex variable

◆ GetFlags()

EInternalObjectFlags FUObjectItem::GetFlags ( ) const
inline

◆ GetObject()

class UObjectBase * FUObjectItem::GetObject ( ) const
inline

◆ GetOwnerIndex()

UE_FORCEINLINE_HINT int32 FUObjectItem::GetOwnerIndex ( ) const
inline

◆ GetRefCount()

UE_FORCEINLINE_HINT int32 FUObjectItem::GetRefCount ( ) const
inline

◆ GetSerialNumber()

int32 FUObjectItem::GetSerialNumber ( ) const
inline

◆ HasAllFlags()

UE_FORCEINLINE_HINT bool FUObjectItem::HasAllFlags ( EInternalObjectFlags  InFlags) const
inline

◆ HasAnyFlags()

UE_FORCEINLINE_HINT bool FUObjectItem::HasAnyFlags ( EInternalObjectFlags  InFlags) const
inline

◆ IsGarbage()

UE_FORCEINLINE_HINT bool FUObjectItem::IsGarbage ( ) const
inline

◆ IsRootSet()

UE_FORCEINLINE_HINT bool FUObjectItem::IsRootSet ( ) const
inline

◆ IsUnreachable()

UE_FORCEINLINE_HINT bool FUObjectItem::IsUnreachable ( ) const
inline

◆ operator=() [1/2]

FUObjectItem & FUObjectItem::operator= ( const FUObjectItem )
delete

◆ operator=() [2/2]

FUObjectItem & FUObjectItem::operator= ( FUObjectItem &&  )
delete

◆ ReleaseRef()

void FUObjectItem::ReleaseRef ( )
inline

◆ SetClusterIndex()

UE_FORCEINLINE_HINT void FUObjectItem::SetClusterIndex ( int32  ClusterIndex)
inline

Encodes the cluster index in the ClusterRootIndex variable

◆ SetFlags()

UE_FORCEINLINE_HINT void FUObjectItem::SetFlags ( EInternalObjectFlags  FlagsToSet)
inline

◆ SetGarbage()

UE_FORCEINLINE_HINT void FUObjectItem::SetGarbage ( )
inline

◆ SetObject()

void FUObjectItem::SetObject ( class UObjectBase InObject)
inline

◆ SetOwnerIndex()

UE_FORCEINLINE_HINT void FUObjectItem::SetOwnerIndex ( int32  OwnerIndex)
inline

◆ SetRootSet()

UE_FORCEINLINE_HINT void FUObjectItem::SetRootSet ( )
inline

◆ ThisThreadAtomicallyClearedFlag()

bool FUObjectItem::ThisThreadAtomicallyClearedFlag ( EInternalObjectFlags  FlagToClear)
inline

Uses atomics to clear the specified flag(s).

Parameters
FlagsToClear
Returns
True if this call cleared the flag, false if it has been cleared by another thread.

◆ ThisThreadAtomicallySetFlag()

bool FUObjectItem::ThisThreadAtomicallySetFlag ( EInternalObjectFlags  FlagToSet)
inline

Uses atomics to set the specified flag(s)

Parameters
FlagToSet
Returns
True if this call set the flag, false if it has been set by another thread.

Friends And Related Symbol Documentation

◆ FUObjectArray

friend class FUObjectArray
friend

◆ UE::GC::Private::FGCFlags

Member Data Documentation

◆ [union]

union { ... } FUObjectItem

◆ ClusterRootIndex

int32 FUObjectItem::ClusterRootIndex

◆ FlagsAndRefCount

int64 FUObjectItem::FlagsAndRefCount

◆ ObjectPtrLow

uint32 FUObjectItem::ObjectPtrLow

◆ RemoteId

uint8 FUObjectItem::RemoteId

◆ SerialNumber

int32 FUObjectItem::SerialNumber

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