UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth > Class Template Reference

#include <Handles.h>

Classes

struct  TIterator
 

Public Types

using FHandle = THandle< ElementType, IndexWidth, GenerationWidth >
 
using FConstHandle = TConstHandle< ElementType, IndexWidth, GenerationWidth >
 
using TRangedForIterator = TIterator< false >
 
using TRangedForConstIterator = TIterator< true >
 

Public Member Functions

 THandleArray (const THandleArray< ElementType, IndexWidth, GenerationWidth > &Other)
 
 THandleArray (THandleArray< ElementType, IndexWidth, GenerationWidth > &&Other)
 
THandleArrayoperator= (const THandleArray< ElementType, IndexWidth, GenerationWidth > &Other)
 
THandleArrayoperator= (THandleArray< ElementType, IndexWidth, GenerationWidth > &&Other)
 
 THandleArray ()
 
 THandleArray (int32 InitialNum)
 
 ~THandleArray ()
 
ElementType * Get (FHandle InHandle) const
 
const ElementType * Get (FConstHandle InHandle) const
 
FHandle GetHandle (uint32 InIndex) const
 
FConstHandle GetConstHandle (uint32 InIndex) const
 
template<typename... ConstructionArgs>
FHandle Create (ConstructionArgs &&... InConstructionArgs)
 
void Destroy (FHandle InHandle)
 
uint32 Num () const
 
uint32 GetCapacity () const
 
uint32 GetNumActive () const
 
uint32 GetNumFree () const
 
TRangedForIterator begin ()
 
TRangedForConstIterator begin () const
 
TRangedForIterator end ()
 
TRangedForConstIterator end () const
 

Static Public Attributes

static constexpr uint32 ElementAlign = alignof(ElementType)
 
static constexpr SIZE_T ElementSize = sizeof(ElementType)
 
static constexpr uint32 ElementGrowth = 4
 
static constexpr uint32 InvalidFreeIndex = TNumericLimits<uint32>::Max() >> GenerationWidth
 

Friends

FChaosArchiveoperator<< (FChaosArchive &Ar, THandleArray &Array)
 

Member Typedef Documentation

◆ FConstHandle

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
using Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::FConstHandle = TConstHandle<ElementType, IndexWidth, GenerationWidth>

◆ FHandle

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
using Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::FHandle = THandle<ElementType, IndexWidth, GenerationWidth>

◆ TRangedForConstIterator

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
using Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::TRangedForConstIterator = TIterator<true>

◆ TRangedForIterator

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
using Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::TRangedForIterator = TIterator<false>

Constructor & Destructor Documentation

◆ THandleArray() [1/4]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::THandleArray ( const THandleArray< ElementType, IndexWidth, GenerationWidth > &  Other)
inline

◆ THandleArray() [2/4]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::THandleArray ( THandleArray< ElementType, IndexWidth, GenerationWidth > &&  Other)
inline

◆ THandleArray() [3/4]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::THandleArray ( )
inline

◆ THandleArray() [4/4]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::THandleArray ( int32  InitialNum)
inlineexplicit

◆ ~THandleArray()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::~THandleArray ( )
inline

Member Function Documentation

◆ begin() [1/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
TRangedForIterator Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::begin ( )
inline

◆ begin() [2/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
TRangedForConstIterator Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::begin ( ) const
inline

◆ Create()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
template<typename... ConstructionArgs>
FHandle Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::Create ( ConstructionArgs &&...  InConstructionArgs)
inline

◆ Destroy()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
void Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::Destroy ( FHandle  InHandle)
inline

◆ end() [1/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
TRangedForIterator Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::end ( )
inline

◆ end() [2/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
TRangedForConstIterator Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::end ( ) const
inline

◆ Get() [1/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
const ElementType * Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::Get ( FConstHandle  InHandle) const
inline

◆ Get() [2/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
ElementType * Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::Get ( FHandle  InHandle) const
inline

◆ GetCapacity()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::GetCapacity ( ) const
inline

◆ GetConstHandle()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
FConstHandle Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::GetConstHandle ( uint32  InIndex) const
inline

◆ GetHandle()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
FHandle Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::GetHandle ( uint32  InIndex) const
inline

◆ GetNumActive()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::GetNumActive ( ) const
inline

◆ GetNumFree()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::GetNumFree ( ) const
inline

◆ Num()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::Num ( ) const
inline

◆ operator=() [1/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
THandleArray & Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::operator= ( const THandleArray< ElementType, IndexWidth, GenerationWidth > &  Other)
inline

◆ operator=() [2/2]

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
THandleArray & Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::operator= ( THandleArray< ElementType, IndexWidth, GenerationWidth > &&  Other)
inline

Friends And Related Symbol Documentation

◆ operator<<

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
FChaosArchive & operator<< ( FChaosArchive Ar,
THandleArray< ElementType, IndexWidth, GenerationWidth > &  Array 
)
friend

Member Data Documentation

◆ ElementAlign

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
constexpr uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::ElementAlign = alignof(ElementType)
staticconstexpr

◆ ElementGrowth

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
constexpr uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::ElementGrowth = 4
staticconstexpr

◆ ElementSize

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
constexpr SIZE_T Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::ElementSize = sizeof(ElementType)
staticconstexpr

◆ InvalidFreeIndex

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
constexpr uint32 Chaos::THandleArray< ElementType, IndexWidth, GenerationWidth >::InvalidFreeIndex = TNumericLimits<uint32>::Max() >> GenerationWidth
staticconstexpr

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