#include <HashTable.h>
template<class KeyType, class KeyValueType, class
HashTraits, class AllocatorType, typename... AllocatorArgsType>
class uLang::THashTable< KeyType, KeyValueType, HashTraits, AllocatorType, AllocatorArgsType >
A Robin-Hood hash table Inspired by https://www.sebastiansylvan.com/post/robin-hood-hashing-should-be-your-default-hash-table-implementation/ and http://codecapsule.com/2013/11/17/robin-hood-hashing-backward-shift-deletion/
◆ THashTable() [1/3]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ THashTable() [2/3]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ THashTable() [3/3]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ ~THashTable()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Allocate()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ begin() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ begin() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ cbegin()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ cend()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ ComputeNonZeroHash()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Contains()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ DesiredPos()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Empty()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ end() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ end() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Find() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Find() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ FindByPredicate() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
Finds a key-value pair which matches a predicate functor. The predicate must take a TKeyValuePair<KeyType, ValueType>.
- Parameters
-
| Pred | The functor to apply to each key-value pair. true, or nullptr if none is found. |
- Returns
- Pointer to the first key-value pair for which the predicate returns true, or nullptr if none is found.
- See also
- FilterByPredicate, ContainsByPredicate
◆ FindByPredicate() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
Finds an key-value pair which matches a predicate functor. The predicate must take a TKeyValuePair<KeyType, ValueType>.
- Parameters
-
| Pred | The functor to apply to each key-value pair. |
- Returns
- Pointer to the first key-value pair for which the predicate returns true, or nullptr if none is found.
- See also
- FilterByPredicate, ContainsByPredicate
◆ FindOrInsert()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Grow()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Insert() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Insert() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ InsertInternal() [1/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ InsertInternal() [2/2]
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ IsEmpty()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Lookup()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Num()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ operator=()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ ProbeDistance()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Remove()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ Swap()
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ _Allocator
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
How to allocate the memory This allocator can be 0 in size
◆ _Entries
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ _NumEntries
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ _NumOccupied
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ MaxLoadFactorDenominator
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
◆ MaxLoadFactorNumerator
template<class KeyType , class KeyValueType , class
HashTraits , class AllocatorType , typename... AllocatorArgsType>
The documentation for this class was generated from the following file:
- Engine/Source/Runtime/Solaris/uLangCore/Public/uLang/Common/Containers/HashTable.h