UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator > Class Template Reference

#include <RobinHoodHashTable.h>

+ Inheritance diagram for Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >:

Public Member Functions

 TRobinHoodHashSet ()
 
 TRobinHoodHashSet (const TRobinHoodHashSet &Other)=default
 
TRobinHoodHashSetoperator= (const TRobinHoodHashSet &Other)=default
 
 TRobinHoodHashSet (TRobinHoodHashSet &&Other)=default
 
TRobinHoodHashSetoperator= (TRobinHoodHashSet &&Other)=default
 
FHashElementId FindOrAddIdByHash (FHashType HashValue, const KeyType &Key, bool &bIsAlreadyInSet)
 
FHashElementId FindOrAddIdByHash (FHashType HashValue, KeyType &&Key, bool &bIsAlreadyInSet)
 
FHashElementId FindOrAddId (const KeyType &Key, bool &bIsAlreadyInSet)
 
FHashElementId FindOrAddId (KeyType &&Key, bool &bIsAlreadyInSet)
 
FindValueType FindOrAdd (const KeyType &Key, bool &bIsAlreadyInSet)
 
FindValueType FindOrAdd (KeyType &&Key, bool &bIsAlreadyInSet)
 
FHashElementId FindOrAddIdByHash (FHashType HashValue, const KeyType &Key)
 
FHashElementId FindOrAddIdByHash (FHashType HashValue, KeyType &&Key)
 
FHashElementId FindOrAddId (const KeyType &Key)
 
FHashElementId FindOrAddId (KeyType &&Key)
 
FindValueType FindOrAdd (const KeyType &Key)
 
FindValueType FindOrAdd (KeyType &&Key)
 
- Public Member Functions inherited from Experimental::RobinHoodHashTable_Private::TRobinHoodHashTable< KeyType, ValueType, Hasher, HashMapAllocator >
FIteratorType begin ()
 
FIteratorType end ()
 
FConstIteratorType begin () const
 
FConstIteratorType end () const
 
SizeType GetAllocatedSize () const
 
int32 Num () const
 
IndexType GetMaxIndex () const
 
ElementTypeGetByElementId (FHashElementId Id)
 
const ElementTypeGetByElementId (FHashElementId Id) const
 
bool ContainsElementId (FHashElementId Id) const
 
FHashElementId FindIdByHash (const FHashType HashValue, const KeyType &ComparableKey) const
 
FHashElementId FindId (const KeyType &Key) const
 
FindValueType FindByHash (const FHashType HashValue, const KeyType &Key)
 
FindValueType Find (const KeyType &Key)
 
const FindValueType FindByHash (const FHashType HashValue, const KeyType &Key) const
 
FindValueTypeConst Find (const KeyType &Key) const
 
bool RemoveByHash (const FHashType HashValue, const KeyType &ComparableKey)
 
bool Remove (const KeyType &Key)
 
bool RemoveByElementId (FHashElementId Id)
 
void Empty ()
 
void Reserve (SizeType ReserveNum)
 

Additional Inherited Members

- Static Public Member Functions inherited from Experimental::RobinHoodHashTable_Private::TRobinHoodHashTable< KeyType, ValueType, Hasher, HashMapAllocator >
static FHashType ComputeHash (const KeyType &Key)
 
- Protected Types inherited from Experimental::RobinHoodHashTable_Private::TRobinHoodHashTable< KeyType, ValueType, Hasher, HashMapAllocator >
using InlineOneAllocatorType = TInlineAllocator< 1, HashMapAllocator >
 
using KeyValueType = RobinHoodHashTable_Private::TKeyValue< KeyType, ValueType >
 
using FindValueType = typename KeyValueType::FindValueType
 
using FindValueTypeConst = typename KeyValueType::FindValueTypeConst
 
using ElementType = typename KeyValueType::ElementType
 
using IndexType = uint32
 
using SizeType = SIZE_T
 
- Protected Member Functions inherited from Experimental::RobinHoodHashTable_Private::TRobinHoodHashTable< KeyType, ValueType, Hasher, HashMapAllocator >
IndexType ModTableSize (IndexType HashValue) const
 
void InsertIntoTable (IndexType Index, FHashType Hash)
 
template<typename DeducedKeyType , typename DeducedValueType >
FHashElementId FindOrAddIdByHash (FHashType HashValue, DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
template<typename DeducedKeyType , typename DeducedValueType >
FHashElementId FindOrAddId (DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
template<typename DeducedKeyType , typename DeducedValueType >
FindValueType FindOrAdd (DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
template<typename DeducedKeyType , typename DeducedValueType >
FHashElementId UpdateIdByHash (FHashType HashValue, DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
template<typename DeducedKeyType , typename DeducedValueType >
FHashElementId UpdateId (DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
template<typename DeducedKeyType , typename DeducedValueType >
FindValueType Update (DeducedKeyType &&Key, DeducedValueType &&Val, bool &bIsAlreadyInMap)
 
 TRobinHoodHashTable ()
 
 TRobinHoodHashTable (const TRobinHoodHashTable &Other)
 
TRobinHoodHashTableoperator= (const TRobinHoodHashTable &Other)
 
 TRobinHoodHashTable (TRobinHoodHashTable &&Other)
 
TRobinHoodHashTableoperator= (TRobinHoodHashTable &&Other)
 
- Static Protected Attributes inherited from Experimental::RobinHoodHashTable_Private::TRobinHoodHashTable< KeyType, ValueType, Hasher, HashMapAllocator >
static constexpr const IndexType LoadFactorDivisor = 3
 
static constexpr const IndexType LoadFactorQuotient = 5
 
static constexpr const IndexType InvalidIndex = ~IndexType(0)
 

Constructor & Destructor Documentation

◆ TRobinHoodHashSet() [1/3]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::TRobinHoodHashSet ( )
inline

◆ TRobinHoodHashSet() [2/3]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::TRobinHoodHashSet ( const TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator > &  Other)
default

◆ TRobinHoodHashSet() [3/3]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::TRobinHoodHashSet ( TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator > &&  Other)
default

Member Function Documentation

◆ FindOrAdd() [1/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FindValueType Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAdd ( const KeyType &  Key)
inline

◆ FindOrAdd() [2/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FindValueType Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAdd ( const KeyType &  Key,
bool bIsAlreadyInSet 
)
inline

◆ FindOrAdd() [3/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FindValueType Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAdd ( KeyType &&  Key)
inline

◆ FindOrAdd() [4/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FindValueType Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAdd ( KeyType &&  Key,
bool bIsAlreadyInSet 
)
inline

◆ FindOrAddId() [1/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddId ( const KeyType &  Key)
inline

◆ FindOrAddId() [2/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddId ( const KeyType &  Key,
bool bIsAlreadyInSet 
)
inline

◆ FindOrAddId() [3/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddId ( KeyType &&  Key)
inline

◆ FindOrAddId() [4/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddId ( KeyType &&  Key,
bool bIsAlreadyInSet 
)
inline

◆ FindOrAddIdByHash() [1/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddIdByHash ( FHashType  HashValue,
const KeyType &  Key 
)
inline

◆ FindOrAddIdByHash() [2/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddIdByHash ( FHashType  HashValue,
const KeyType &  Key,
bool bIsAlreadyInSet 
)
inline

◆ FindOrAddIdByHash() [3/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddIdByHash ( FHashType  HashValue,
KeyType &&  Key 
)
inline

◆ FindOrAddIdByHash() [4/4]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
FHashElementId Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::FindOrAddIdByHash ( FHashType  HashValue,
KeyType &&  Key,
bool bIsAlreadyInSet 
)
inline

◆ operator=() [1/2]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
TRobinHoodHashSet & Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::operator= ( const TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator > &  Other)
default

◆ operator=() [2/2]

template<typename KeyType , typename Hasher = DefaultKeyFuncs<KeyType, false>, typename HashMapAllocator = FDefaultAllocator>
TRobinHoodHashSet & Experimental::TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator >::operator= ( TRobinHoodHashSet< KeyType, Hasher, HashMapAllocator > &&  Other)
default

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