UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FChunkedFixedUObjectArray Class Reference

#include <UObjectArray.h>

Public Member Functions

 FChunkedFixedUObjectArray ()
 
 ~FChunkedFixedUObjectArray ()
 
void PreAllocate (int32 InMaxElements, bool bPreAllocateChunks)
 
UE_FORCEINLINE_HINT int32 Num () const
 
UE_FORCEINLINE_HINT int32 Capacity () const
 
UE_FORCEINLINE_HINT bool IsValidIndex (int32 Index) const
 
FUObjectItem const * GetObjectPtr (int32 Index) const
 
FUObjectItemGetObjectPtr (int32 Index)
 
void PrefetchObjectPtr (int32 Index) const
 
FUObjectItem const & operator[] (int32 Index) const
 
FUObjectItemoperator[] (int32 Index)
 
int32 AddRange (int32 NumToAdd)
 
int32 AddSingle ()
 
FUObjectItem *** GetRootBlockForDebuggerVisualizers ()
 
int64 GetAllocatedSize () const
 

Detailed Description

Simple array type that can be expanded without invalidating existing entries. This is critical to thread safe FNames.

Parameters
ElementTypeType of the pointer we are storing in the array
MaxTotalElementsabsolute maximum number of elements this array can ever hold
ElementsPerChunkhow many elements to allocate in a chunk

Constructor & Destructor Documentation

◆ FChunkedFixedUObjectArray()

FChunkedFixedUObjectArray::FChunkedFixedUObjectArray ( )
inline

Constructor : Probably not thread safe

◆ ~FChunkedFixedUObjectArray()

FChunkedFixedUObjectArray::~FChunkedFixedUObjectArray ( )
inline

Member Function Documentation

◆ AddRange()

int32 FChunkedFixedUObjectArray::AddRange ( int32  NumToAdd)
inline

◆ AddSingle()

int32 FChunkedFixedUObjectArray::AddSingle ( )
inline

◆ Capacity()

UE_FORCEINLINE_HINT int32 FChunkedFixedUObjectArray::Capacity ( ) const
inline

Return the number max capacity of the array Thread safe, but you know, someone might have added more elements before this even returns

Returns
the maximum number of elements in the array

◆ GetAllocatedSize()

int64 FChunkedFixedUObjectArray::GetAllocatedSize ( ) const
inline

◆ GetObjectPtr() [1/2]

FUObjectItem * FChunkedFixedUObjectArray::GetObjectPtr ( int32  Index)
inline

◆ GetObjectPtr() [2/2]

FUObjectItem const * FChunkedFixedUObjectArray::GetObjectPtr ( int32  Index) const
inline

Return a pointer to the pointer to a given element

Parameters
IndexThe Index of an element we want to retrieve the pointer-to-pointer for

◆ GetRootBlockForDebuggerVisualizers()

FUObjectItem *** FChunkedFixedUObjectArray::GetRootBlockForDebuggerVisualizers ( )
inline

Return a naked pointer to the fundamental data structure for debug visualizers.

◆ IsValidIndex()

UE_FORCEINLINE_HINT bool FChunkedFixedUObjectArray::IsValidIndex ( int32  Index) const
inline

Return if this index is valid Thread safe, if it is valid now, it is valid forever. Other threads might be adding during this call.

Parameters
IndexIndex to test
Returns
true, if this is a valid

◆ Num()

UE_FORCEINLINE_HINT int32 FChunkedFixedUObjectArray::Num ( ) const
inline

Return the number of elements in the array Thread safe, but you know, someone might have added more elements before this even returns

Returns
the number of elements in the array

◆ operator[]() [1/2]

FUObjectItem & FChunkedFixedUObjectArray::operator[] ( int32  Index)
inline

◆ operator[]() [2/2]

FUObjectItem const & FChunkedFixedUObjectArray::operator[] ( int32  Index) const
inline

Return a reference to an element

Parameters
IndexIndex to return
Returns
a reference to the pointer to the element Thread safe, if it is valid now, it is valid forever. This might return nullptr, but by then, some other thread might have made it non-nullptr.

◆ PreAllocate()

void FChunkedFixedUObjectArray::PreAllocate ( int32  InMaxElements,
bool  bPreAllocateChunks 
)
inline

Expands the array so that Element[Index] is allocated. New pointers are all zero.

Parameters
IndexThe Index of an element we want to be sure is allocated

◆ PrefetchObjectPtr()

void FChunkedFixedUObjectArray::PrefetchObjectPtr ( int32  Index) const
inline

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