UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CompactHashTable.h File Reference

Go to the source code of this file.

Classes

struct  TCompactHashTypeLookupBySize< 1 >
 
struct  TCompactHashTypeLookupBySize< 2 >
 
struct  TCompactHashTypeLookupBySize< 4 >
 
class  TStaticCompactHashTable< ElementCount, HashCount >
 
class  FConstCompactHashTableView
 
class  FCompactHashTableView
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::CompactHashTable
 
namespace  UE::Core::CompactHashTable::Private
 

Macros

#define UE_COMPACTHASHTABLE_CALLBYTYPE(NextIndexCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::GetFirst(Key, (const Type *)HashData, HashCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::GetFirstByIndex(HashIndex, (const Type *)HashData, HashCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::GetNext(Index, (const Type *)NextIndexData, CurrentCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::Find(Key, (const Type *)HashData, HashCount, (const Type *)NextIndexData, CurrentCount, Predicate)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   UE::Core::CompactHashTable::Add(Index, Key, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::Remove(Index, Key, LastIndex, OptLastKey, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)
 
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)   return UE::Core::CompactHashTable::RemoveStable(Index, Key, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)
 

Functions

template<typename IndexType >
void UE::Core::CompactHashTable::Private::RemoveInternal (const uint32 Index, const uint32 Key, IndexType *HashData, const uint32 HashCount, IndexType *NextIndexData, const uint32 NextIndexCount)
 
UE_FORCEINLINE_HINT constexpr uint32 UE::Core::CompactHashTable::GetTypeSize (uint32 IndexCount)
 
UE_FORCEINLINE_HINT constexpr uint32 UE::Core::CompactHashTable::GetTypeShift (uint32 IndexCount)
 
UE_FORCEINLINE_HINT constexpr size_t UE::Core::CompactHashTable::GetMemoryRequiredInBytes (uint32 IndexCount, uint32 HashCount)
 
UE_FORCEINLINE_HINT constexpr size_t UE::Core::CompactHashTable::GetMemoryAlignment ()
 
constexpr size_t UE::Core::CompactHashTable::GetHashCount (uint32 NumElements)
 
template<typename IndexType >
uint32 UE::Core::CompactHashTable::GetFirst (uint32 Key, const IndexType *HashData, const uint32 HashCount)
 
template<typename IndexType >
uint32 UE::Core::CompactHashTable::GetFirstByIndex (uint32 HashIndex, const IndexType *HashData, const uint32 HashCount)
 
template<typename IndexType >
uint32 UE::Core::CompactHashTable::GetNext (uint32 Index, const IndexType *NextIndexData, const uint32 NextIndexCount)
 
template<typename IndexType , typename PredicateType >
uint32 UE::Core::CompactHashTable::Find (uint32 Key, const IndexType *HashData, const uint32 HashCount, const IndexType *NextIndexData, const uint32 NextIndexCount, const PredicateType &Predicate)
 
template<typename IndexType >
void UE::Core::CompactHashTable::Add (uint32 Index, uint32 Key, IndexType *HashData, const uint32 HashCount, IndexType *NextIndexData, const uint32 NextIndexCount)
 
template<typename IndexType >
void UE::Core::CompactHashTable::Remove (const uint32 Index, const uint32 Key, const uint32 LastIndex, uint32 OptLastKey, IndexType *HashData, const uint32 HashCount, IndexType *NextIndexData, const uint32 NextIndexCount)
 
template<typename IndexType >
void UE::Core::CompactHashTable::RemoveStable (const uint32 Index, const uint32 Key, IndexType *HashData, const uint32 HashCount, IndexType *NextIndexData, const uint32 NextIndexCount)
 

Macro Definition Documentation

◆ UE_COMPACTHASHTABLE_CALLBYTYPE

#define UE_COMPACTHASHTABLE_CALLBYTYPE (   NextIndexCount)
Value:
switch (UE::Core::CompactHashTable::GetTypeSize(NextIndexCount)) { \
default: checkNoEntry(); }
#define checkNoEntry()
Definition AssertionMacros.h:316
#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE(Type)
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
UE_FORCEINLINE_HINT constexpr uint32 GetTypeSize(uint32 IndexCount)
Definition CompactHashTable.h:54

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [1/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::GetFirst(Key, (const Type *)HashData, HashCount)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [2/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::GetFirstByIndex(HashIndex, (const Type *)HashData, HashCount)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [3/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::GetNext(Index, (const Type *)NextIndexData, CurrentCount)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [4/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::Find(Key, (const Type *)HashData, HashCount, (const Type *)NextIndexData, CurrentCount, Predicate)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [5/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    UE::Core::CompactHashTable::Add(Index, Key, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [6/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::Remove(Index, Key, LastIndex, OptLastKey, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)

◆ UE_COMPACTHASHTABLE_EXECUTEBYTYPE [7/7]

#define UE_COMPACTHASHTABLE_EXECUTEBYTYPE (   Type)    return UE::Core::CompactHashTable::RemoveStable(Index, Key, (Type*)(HashData), HashCount, (Type*)(NextIndexData), NextIndexCount)