Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
THashTable< InAllocator > Class Template Reference

#include <HashTable.h>

+ Collaboration diagram for THashTable< InAllocator >:

Public Types

using Allocator = InAllocator
 
using ElementAllocatorType
 

Public Member Functions

 THashTable (uint32 InHashSize=1024, uint32 InIndexSize=0)
 
 THashTable (const THashTable &Other)=delete
 
 THashTable (THashTable &&Other)
 
 ~THashTable ()
 
THashTableoperator= (const THashTable &Other)=delete
 
THashTableoperator= (THashTable &&Other)
 
THashTableMoveAssign (THashTable &&Other)
 
void Clear ()
 
void Resize (uint32 NewIndexSize)
 
const uint32GetNextIndices () const
 
uint32 First (uint16 Key) const
 
uint32 Next (uint32 Index) const
 
bool IsValid (uint32 Index) const
 
void Add (uint16 Key, uint32 Index)
 
void Remove (uint16 Key, uint32 Index)
 
void WriteMemoryImage (FMemoryImageWriter &Writer) const
 
void CopyUnfrozen (const FMemoryUnfreezeContent &Context, void *Dst) const
 

Private Member Functions

FORCEINLINE uint32 HashAt (uint32 Index) const
 
FORCEINLINE uint32 NextIndexAt (uint32 Index) const
 
FORCEINLINE uint32HashAt (uint32 Index)
 
FORCEINLINE uint32NextIndexAt (uint32 Index)
 

Private Attributes

ElementAllocatorType Hash
 
ElementAllocatorType NextIndex
 
uint32 HashMask
 
uint32 IndexSize
 

Detailed Description

template<typename InAllocator>
class THashTable< InAllocator >

Definition at line 390 of file HashTable.h.

Member Typedef Documentation

◆ Allocator

Definition at line 393 of file HashTable.h.

◆ ElementAllocatorType

template<typename InAllocator >
using THashTable< InAllocator >::ElementAllocatorType
Initial value:
typename TChooseClass<
Allocator::NeedsElementType,
typename Allocator::ForAnyElementType

Definition at line 395 of file HashTable.h.

Constructor & Destructor Documentation

◆ THashTable() [1/3]

template<typename InAllocator >
FORCEINLINE THashTable< InAllocator >::THashTable ( uint32 InHashSize = 1024,
uint32 InIndexSize = 0 )
explicit

Definition at line 466 of file HashTable.h.

◆ THashTable() [2/3]

◆ THashTable() [3/3]

Definition at line 403 of file HashTable.h.

◆ ~THashTable()

Definition at line 483 of file HashTable.h.

Member Function Documentation

◆ Add()

Definition at line 533 of file HashTable.h.

◆ Clear()

Definition at line 500 of file HashTable.h.

◆ CopyUnfrozen()

template<typename InAllocator >
void THashTable< InAllocator >::CopyUnfrozen ( const FMemoryUnfreezeContent & Context,
void * Dst ) const
inline

Definition at line 450 of file HashTable.h.

◆ First()

template<typename InAllocator >
FORCEINLINE uint32 THashTable< InAllocator >::First ( uint16 Key) const

Definition at line 510 of file HashTable.h.

◆ GetNextIndices()

template<typename InAllocator >
const uint32 * THashTable< InAllocator >::GetNextIndices ( ) const
inline

Definition at line 413 of file HashTable.h.

◆ HashAt() [1/2]

template<typename InAllocator >
FORCEINLINE uint32 & THashTable< InAllocator >::HashAt ( uint32 Index)
inlineprivate

Definition at line 426 of file HashTable.h.

◆ HashAt() [2/2]

template<typename InAllocator >
FORCEINLINE uint32 THashTable< InAllocator >::HashAt ( uint32 Index) const
inlineprivate

Definition at line 424 of file HashTable.h.

◆ IsValid()

template<typename InAllocator >
FORCEINLINE bool THashTable< InAllocator >::IsValid ( uint32 Index) const

Definition at line 527 of file HashTable.h.

◆ MoveAssign()

template<typename InAllocator >
THashTable< InAllocator > & THashTable< InAllocator >::MoveAssign ( THashTable< InAllocator > && Other)

Definition at line 488 of file HashTable.h.

◆ Next()

template<typename InAllocator >
FORCEINLINE uint32 THashTable< InAllocator >::Next ( uint32 Index) const

Definition at line 518 of file HashTable.h.

◆ NextIndexAt() [1/2]

template<typename InAllocator >
FORCEINLINE uint32 & THashTable< InAllocator >::NextIndexAt ( uint32 Index)
inlineprivate

Definition at line 427 of file HashTable.h.

◆ NextIndexAt() [2/2]

template<typename InAllocator >
FORCEINLINE uint32 THashTable< InAllocator >::NextIndexAt ( uint32 Index) const
inlineprivate

Definition at line 425 of file HashTable.h.

◆ operator=() [1/2]

◆ operator=() [2/2]

Definition at line 407 of file HashTable.h.

◆ Remove()

template<typename InAllocator >
void THashTable< InAllocator >::Remove ( uint16 Key,
uint32 Index )
inline

Definition at line 546 of file HashTable.h.

◆ Resize()

template<typename InAllocator >
void THashTable< InAllocator >::Resize ( uint32 NewIndexSize)

Definition at line 574 of file HashTable.h.

◆ WriteMemoryImage()

template<typename InAllocator >
void THashTable< InAllocator >::WriteMemoryImage ( FMemoryImageWriter & Writer) const
inline

Definition at line 435 of file HashTable.h.

Member Data Documentation

◆ Hash

Definition at line 429 of file HashTable.h.

◆ HashMask

template<typename InAllocator >
uint32 THashTable< InAllocator >::HashMask
private

Definition at line 431 of file HashTable.h.

◆ IndexSize

template<typename InAllocator >
uint32 THashTable< InAllocator >::IndexSize
private

Definition at line 432 of file HashTable.h.

◆ NextIndex

Definition at line 430 of file HashTable.h.


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