UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TEvaluationTreeEntryContainer< ElementType > Struct Template Reference

#include <MovieSceneEvaluationTree.h>

Public Member Functions

FEvaluationTreeEntryHandle AllocateEntry (int32 InitialCapacity=2)
 
TArrayView< ElementType > Get (FEvaluationTreeEntryHandle ID)
 
TArrayView< const ElementType > Get (FEvaluationTreeEntryHandle ID) const
 
void Add (FEvaluationTreeEntryHandle ID, ElementType &&Element)
 
void Insert (FEvaluationTreeEntryHandle ID, int32 Index, ElementType &&Element)
 
void Compact ()
 
void Reset ()
 

Friends

FArchiveoperator<< (FArchive &Ar, TEvaluationTreeEntryContainer &In)
 
bool operator== (const TEvaluationTreeEntryContainer< ElementType > &A, const TEvaluationTreeEntryContainer< ElementType > &B)
 

Detailed Description

template<typename ElementType>
struct TEvaluationTreeEntryContainer< ElementType >

Sub-divided container type that allocates smaller 'buckets' of capacity within a single allocation. New entries, or entries needing additional capacity are reallocated at the end of the array to avoid reallocation or shuffling. Memory footprint can be compacted once the container is fully built using TEvaluationTreeEntryContainer::Compact Designed specifically to solve allocation cost incurred when compiling very large trees of sequence data. Restrictions: Container can only ever add entries, never remove

Member Function Documentation

◆ Add()

template<typename ElementType >
void TEvaluationTreeEntryContainer< ElementType >::Add ( FEvaluationTreeEntryHandle  ID,
ElementType &&  Element 
)

Add a new element to the entry contents with the specified identifier

Parameters
IDThe entry identifier, obtained through AllocateEntry
ElementThe element to add

◆ AllocateEntry()

template<typename ElementType >
FEvaluationTreeEntryHandle TEvaluationTreeEntryContainer< ElementType >::AllocateEntry ( int32  InitialCapacity = 2)

Allocate a new entry of the specified capacity. Will default-construct Capacity elements in the item array.

Parameters
InitialCapacityThe initial capacity of the entry
Returns
The identifier to be used to access the entry

◆ Compact()

template<typename ElementType >
void TEvaluationTreeEntryContainer< ElementType >::Compact ( )

Compress the item array to remove any unused capacity.

◆ Get() [1/2]

template<typename ElementType >
TArrayView< ElementType > TEvaluationTreeEntryContainer< ElementType >::Get ( FEvaluationTreeEntryHandle  ID)

Access the entry contents corresponding to the specified ID

Returns
An array view for the currently allocated elements, not including spare capacity

◆ Get() [2/2]

template<typename ElementType >
TArrayView< const ElementType > TEvaluationTreeEntryContainer< ElementType >::Get ( FEvaluationTreeEntryHandle  ID) const

Const access to the entry contents corresponding to the specified ID

Returns
A const array view for the currently allocated elements, not including spare capacity

◆ Insert()

template<typename ElementType >
void TEvaluationTreeEntryContainer< ElementType >::Insert ( FEvaluationTreeEntryHandle  ID,
int32  Index,
ElementType &&  Element 
)

Insert a new element to the entry with the specified identifier at a specific index within the entry

Parameters
IDThe entry identifier, obtained through AllocateEntry
IndexThe index within the entry at which to insert the new element
ElementThe element to add

◆ Reset()

template<typename ElementType >
void TEvaluationTreeEntryContainer< ElementType >::Reset ( )
inline

Reset this container to its default state

Friends And Related Symbol Documentation

◆ operator<<

template<typename ElementType >
FArchive & operator<< ( FArchive Ar,
TEvaluationTreeEntryContainer< ElementType > &  In 
)
friend

Serialize this container

◆ operator==

template<typename ElementType >
bool operator== ( const TEvaluationTreeEntryContainer< ElementType > &  A,
const TEvaluationTreeEntryContainer< ElementType > &  B 
)
friend

Equality operator


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