UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FBinaryHeap< KeyType, IndexType > Class Template Reference

#include <BinaryHeap.h>

Public Member Functions

 FBinaryHeap ()
 
 FBinaryHeap (uint32 InHeapSize, uint32 InIndexSize)
 
 ~FBinaryHeap ()
 
 FBinaryHeap (const FBinaryHeap &)=delete
 
void operator= (const FBinaryHeap &)=delete
 
 FBinaryHeap (FBinaryHeap &&Other)
 
void Clear ()
 
void Free ()
 
void Resize (uint32 NewHeapSize, uint32 NewIndexSize)
 
bool IsEmpty () const
 
uint32 Num () const
 
uint32 GetHeapSize () const
 
uint32 GetIndexSize () const
 
bool IsPresent (IndexType Index) const
 
KeyType GetKey (IndexType Index) const
 
IndexType Peek (IndexType Index) const
 
IndexType Top () const
 
void Pop ()
 
void Add (KeyType Key, IndexType Index)
 
void Update (KeyType Key, IndexType Index)
 
void Remove (IndexType Index)
 

Protected Member Functions

void ResizeHeap (uint32 NewHeapSize)
 
void ResizeIndexes (uint32 NewIndexSize)
 
void UpHeap (IndexType HeapIndex)
 
void DownHeap (IndexType HeapIndex)
 
void ResetInternal ()
 

Protected Attributes

uint32 HeapNum
 
uint32 HeapSize
 
uint32 IndexSize
 
IndexType * Heap
 
KeyType * Keys
 
IndexType * HeapIndexes
 

Constructor & Destructor Documentation

◆ FBinaryHeap() [1/4]

template<typename KeyType , typename IndexType >
UE_FORCEINLINE_HINT FBinaryHeap< KeyType, IndexType >::FBinaryHeap ( )

◆ FBinaryHeap() [2/4]

template<typename KeyType , typename IndexType >
FBinaryHeap< KeyType, IndexType >::FBinaryHeap ( uint32  InHeapSize,
uint32  InIndexSize 
)
inline

◆ ~FBinaryHeap()

template<typename KeyType , typename IndexType >
UE_FORCEINLINE_HINT FBinaryHeap< KeyType, IndexType >::~FBinaryHeap ( )

◆ FBinaryHeap() [3/4]

template<typename KeyType , typename IndexType = uint32>
FBinaryHeap< KeyType, IndexType >::FBinaryHeap ( const FBinaryHeap< KeyType, IndexType > &  )
delete

◆ FBinaryHeap() [4/4]

template<typename KeyType , typename IndexType >
FBinaryHeap< KeyType, IndexType >::FBinaryHeap ( FBinaryHeap< KeyType, IndexType > &&  Other)
inline

Member Function Documentation

◆ Add()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Add ( KeyType  Key,
IndexType  Index 
)
inline

◆ Clear()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Clear ( )
inline

◆ DownHeap()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::DownHeap ( IndexType  HeapIndex)
protected

◆ Free()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Free ( )
inline

◆ GetHeapSize()

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::GetHeapSize ( ) const
inline

◆ GetIndexSize()

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::GetIndexSize ( ) const
inline

◆ GetKey()

template<typename KeyType , typename IndexType >
KeyType FBinaryHeap< KeyType, IndexType >::GetKey ( IndexType  Index) const
inline

◆ IsEmpty()

template<typename KeyType , typename IndexType = uint32>
bool FBinaryHeap< KeyType, IndexType >::IsEmpty ( ) const
inline

◆ IsPresent()

template<typename KeyType , typename IndexType >
bool FBinaryHeap< KeyType, IndexType >::IsPresent ( IndexType  Index) const
inline

◆ Num()

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::Num ( ) const
inline

◆ operator=()

template<typename KeyType , typename IndexType = uint32>
void FBinaryHeap< KeyType, IndexType >::operator= ( const FBinaryHeap< KeyType, IndexType > &  )
delete

◆ Peek()

template<typename KeyType , typename IndexType >
IndexType FBinaryHeap< KeyType, IndexType >::Peek ( IndexType  Index) const
inline

◆ Pop()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Pop ( )
inline

◆ Remove()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Remove ( IndexType  Index)
inline

◆ ResetInternal()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::ResetInternal ( )
inlineprotected

Reset internal variables to a cleared state, does not free data.

◆ Resize()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Resize ( uint32  NewHeapSize,
uint32  NewIndexSize 
)
inline

◆ ResizeHeap()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::ResizeHeap ( uint32  NewHeapSize)
protected

◆ ResizeIndexes()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::ResizeIndexes ( uint32  NewIndexSize)
protected

◆ Top()

template<typename KeyType , typename IndexType >
IndexType FBinaryHeap< KeyType, IndexType >::Top ( ) const
inline

◆ Update()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::Update ( KeyType  Key,
IndexType  Index 
)
inline

◆ UpHeap()

template<typename KeyType , typename IndexType >
void FBinaryHeap< KeyType, IndexType >::UpHeap ( IndexType  HeapIndex)
protected

Member Data Documentation

◆ Heap

template<typename KeyType , typename IndexType = uint32>
IndexType* FBinaryHeap< KeyType, IndexType >::Heap
protected

◆ HeapIndexes

template<typename KeyType , typename IndexType = uint32>
IndexType* FBinaryHeap< KeyType, IndexType >::HeapIndexes
protected

◆ HeapNum

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::HeapNum
protected

◆ HeapSize

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::HeapSize
protected

◆ IndexSize

template<typename KeyType , typename IndexType = uint32>
uint32 FBinaryHeap< KeyType, IndexType >::IndexSize
protected

◆ Keys

template<typename KeyType , typename IndexType = uint32>
KeyType* FBinaryHeap< KeyType, IndexType >::Keys
protected

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