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

#include <HashTable.h>

+ Inheritance diagram for FHashTable:

Public Member Functions

 FHashTable (uint32 InHashSize=1024, uint32 InIndexSize=0)
 
 FHashTable (const FHashTable &Other)
 
 FHashTable (FHashTable &&Other)
 
 ~FHashTable ()
 
void Clear ()
 
void Clear (uint32 InHashSize, uint32 InIndexSize=0)
 
void Free ()
 
CORE_API void Resize (uint32 NewIndexSize)
 
uint32 GetIndexSize () const
 
uint32 GetHashSize () const
 
CORE_API SIZE_T GetAllocatedSize () const
 
uint32 First (uint32 Key) const
 
uint32 Next (uint32 Index) const
 
bool IsValid (uint32 Index) const
 
void Add (uint32 Key, uint32 Index)
 
void Add_Concurrent (uint32 Key, uint32 Index)
 
void Remove (uint32 Key, uint32 Index)
 
CORE_API float AverageSearch () const
 
FHashTableoperator= (const FHashTable &Other)
 
FHashTableoperator= (FHashTable &&Other)
 

Protected Attributes

uint32 HashSize
 
uint32 HashMask
 
uint32 IndexSize
 
uint32Hash
 
uint32NextIndex
 

Static Protected Attributes

static CORE_API uint32 EmptyHash [1] = { ~0u }
 

Constructor & Destructor Documentation

◆ FHashTable() [1/3]

FHashTable::FHashTable ( uint32  InHashSize = 1024,
uint32  InIndexSize = 0 
)
inline

◆ FHashTable() [2/3]

FHashTable::FHashTable ( const FHashTable Other)
inline

◆ FHashTable() [3/3]

FHashTable::FHashTable ( FHashTable &&  Other)
inline

◆ ~FHashTable()

UE_FORCEINLINE_HINT FHashTable::~FHashTable ( )

Member Function Documentation

◆ Add()

void FHashTable::Add ( uint32  Key,
uint32  Index 
)
inline

◆ Add_Concurrent()

void FHashTable::Add_Concurrent ( uint32  Key,
uint32  Index 
)
inline

◆ AverageSearch()

CORE_API float FHashTable::AverageSearch ( ) const

◆ Clear() [1/2]

void FHashTable::Clear ( )
inline

◆ Clear() [2/2]

void FHashTable::Clear ( uint32  InHashSize,
uint32  InIndexSize = 0 
)
inline

◆ First()

uint32 FHashTable::First ( uint32  Key) const
inline

◆ Free()

void FHashTable::Free ( )
inline

◆ GetAllocatedSize()

SIZE_T FHashTable::GetAllocatedSize ( ) const

◆ GetHashSize()

uint32 FHashTable::GetHashSize ( ) const
inline

◆ GetIndexSize()

uint32 FHashTable::GetIndexSize ( ) const
inline

◆ IsValid()

UE_FORCEINLINE_HINT bool FHashTable::IsValid ( uint32  Index) const

◆ Next()

uint32 FHashTable::Next ( uint32  Index) const
inline

◆ operator=() [1/2]

FHashTable & FHashTable::operator= ( const FHashTable Other)
inline

◆ operator=() [2/2]

FHashTable & FHashTable::operator= ( FHashTable &&  Other)
inline

◆ Remove()

void FHashTable::Remove ( uint32  Key,
uint32  Index 
)
inline

◆ Resize()

CORE_API void FHashTable::Resize ( uint32  NewIndexSize)

Increases or decreases the size of the index but not the hash lookup. If the previous size was empty, allocates the hash at its desired size.

Member Data Documentation

◆ EmptyHash

CORE_API uint32 FHashTable::EmptyHash = { ~0u }
staticprotected

◆ Hash

uint32* FHashTable::Hash
protected

◆ HashMask

uint32 FHashTable::HashMask
protected

◆ HashSize

uint32 FHashTable::HashSize
protected

◆ IndexSize

uint32 FHashTable::IndexSize
protected

◆ NextIndex

uint32* FHashTable::NextIndex
protected

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