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

#include <Handles.h>

Public Types

using FHandle = THandle< ElementType, IndexWidth, GenerationWidth >
 
using FConstHandle = TConstHandle< ElementType, IndexWidth, GenerationWidth >
 

Public Member Functions

 THandleHeap (int32 ReserveNum)
 
 THandleHeap (const THandleHeap< ElementType, IndexWidth, GenerationWidth > &Other)
 
 THandleHeap (THandleHeap< ElementType, IndexWidth, GenerationWidth > &&Other)
 
THandleHeapoperator= (const THandleHeap< ElementType, IndexWidth, GenerationWidth > &Other)
 
THandleHeapoperator= (THandleHeap< ElementType, IndexWidth, GenerationWidth > &&Other)
 
 THandleHeap ()
 
 ~THandleHeap ()
 
ElementType * Get (FHandle InHandle)
 
const ElementType * Get (FConstHandle InHandle) const
 
FHandle GetHandle (uint32 InIndex)
 
FConstHandle GetConstHandle (uint32 InIndex)
 
template<typename... ConstructionArgs>
FHandle Create (ConstructionArgs... Args)
 
void Destroy (FHandle InHandle)
 
int32 Num () const
 
int32 GetNumActive () const
 
void Empty (bool bShrink=true)
 

Static Public Attributes

static constexpr uint32 InvalidFreeIndex = TNumericLimits<uint32>::Max() >> GenerationWidth
 

Friends

FArchiveoperator<< (FArchive &Ar, THandleHeap &Array)
 

Member Typedef Documentation

◆ FConstHandle

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

◆ FHandle

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

Constructor & Destructor Documentation

◆ THandleHeap() [1/4]

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

◆ THandleHeap() [2/4]

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

◆ THandleHeap() [3/4]

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

◆ THandleHeap() [4/4]

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

◆ ~THandleHeap()

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

Member Function Documentation

◆ Create()

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

◆ Destroy()

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

◆ Empty()

template<typename ElementType , uint32 IndexWidth = 24, uint32 GenerationWidth = 8>
void Chaos::THandleHeap< ElementType, IndexWidth, GenerationWidth >::Empty ( bool  bShrink = true)
inline

◆ Get() [1/2]

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

◆ Get() [2/2]

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

◆ GetConstHandle()

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

◆ GetHandle()

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

◆ GetNumActive()

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

◆ Num()

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Friends And Related Symbol Documentation

◆ operator<<

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

Member Data Documentation

◆ InvalidFreeIndex

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

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