momo  3.12
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings > Class Template Reference

#include <HashMap.h>

Public Types

typedef TKeyValueTraits KeyValueTraits
 
typedef THashTraits HashTraits
 
typedef TSettings Settings
 
typedef KeyValueTraits::Key Key
 
typedef KeyValueTraits::Value Value
 
typedef KeyValueTraits::MemManager MemManager
 
typedef internal::HashMapIterator< HashSetConstIteratorIterator
 
typedef Iterator::ConstIterator ConstIterator
 
typedef internal::HashMapPosition< HashSetConstPositionPosition
 
typedef Position::ConstPosition ConstPosition
 
typedef internal::InsertResult< PositionInsertResult
 
typedef internal::MapExtractedPair< HashSetExtractedItemExtractedPair
 
typedef internal::HashMapBucketBounds< typename HashSet::ConstBucketBoundsBucketBounds
 
typedef BucketBounds::ConstBounds ConstBucketBounds
 
template<typename KeyReference >
using ValueReference = typename ValueReferencer::template ValueReference< KeyReference >
 

Public Member Functions

 HashMapCore ()
 
 HashMapCore (const HashTraits &hashTraits, MemManager memManager=MemManager())
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
 HashMapCore (ArgIterator begin, ArgSentinel end, const HashTraits &hashTraits=HashTraits(), MemManager memManager=MemManager())
 
template<typename Pair = std::pair<Key, Value>>
 HashMapCore (std::initializer_list< Pair > pairs)
 
template<typename Pair = std::pair<Key, Value>>
 HashMapCore (std::initializer_list< Pair > pairs, const HashTraits &hashTraits, MemManager memManager=MemManager())
 
 HashMapCore (HashMapCore &&hashMap) noexcept
 
 HashMapCore (const HashMapCore &hashMap)
 
 HashMapCore (const HashMapCore &hashMap, MemManager memManager)
 
 ~HashMapCore ()=default
 
HashMapCoreoperator= (HashMapCore &&hashMap) noexcept
 
HashMapCoreoperator= (const HashMapCore &hashMap)
 
void Swap (HashMapCore &hashMap) noexcept
 
ConstIterator GetBegin () const noexcept
 
Iterator GetBegin () noexcept
 
ConstIterator GetEnd () const noexcept
 
Iterator GetEnd () noexcept
 
const HashTraitsGetHashTraits () const noexcept
 
const MemManagerGetMemManager () const noexcept
 
MemManagerGetMemManager () noexcept
 
size_t GetCount () const noexcept
 
bool IsEmpty () const noexcept
 
void Clear (bool shrink=true) noexcept
 
size_t GetCapacity () const noexcept
 
void Reserve (size_t capacity)
 
MOMO_FORCEINLINE ConstPosition Find (const Key &key) const
 
MOMO_FORCEINLINE Position Find (const Key &key)
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstPositionFind (const KeyArg &key) const
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, PositionFind (const KeyArg &key)
 
MOMO_FORCEINLINE bool ContainsKey (const Key &key) const
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, bool > ContainsKey (const KeyArg &key) const
 
template<typename ValueCreator >
InsertResult InsertCrt (Key &&key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
InsertResult InsertVar (Key &&key, ValueArgs &&... valueArgs)
 
InsertResult Insert (Key &&key, Value &&value)
 
InsertResult Insert (Key &&key, const Value &value)
 
template<typename ValueCreator >
InsertResult InsertCrt (const Key &key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
InsertResult InsertVar (const Key &key, ValueArgs &&... valueArgs)
 
InsertResult Insert (const Key &key, Value &&value)
 
InsertResult Insert (const Key &key, const Value &value)
 
InsertResult Insert (ExtractedPair &&extPair)
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
size_t Insert (ArgIterator begin, ArgSentinel end)
 
template<typename Pair = std::pair<Key, Value>>
size_t Insert (std::initializer_list< Pair > pairs)
 
template<typename PairCreator , bool extraCheck = true>
Position AddCrt (ConstPosition pos, PairCreator &&pairCreator)
 
template<typename ValueCreator , bool extraCheck = true>
Position AddCrt (ConstPosition pos, Key &&key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Position AddVar (ConstPosition pos, Key &&key, ValueArgs &&... valueArgs)
 
Position Add (ConstPosition pos, Key &&key, Value &&value)
 
Position Add (ConstPosition pos, Key &&key, const Value &value)
 
template<typename ValueCreator , bool extraCheck = true>
Position AddCrt (ConstPosition pos, const Key &key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Position AddVar (ConstPosition pos, const Key &key, ValueArgs &&... valueArgs)
 
Position Add (ConstPosition pos, const Key &key, Value &&value)
 
Position Add (ConstPosition pos, const Key &key, const Value &value)
 
Position Add (ConstPosition pos, ExtractedPair &&extPair)
 
MOMO_FORCEINLINE ValueReference< Key && > operator[] (Key &&key)
 
MOMO_FORCEINLINE ValueReference< const Key & > operator[] (const Key &key)
 
Iterator Remove (ConstIterator iter)
 
Iterator Remove (Iterator iter)
 
void Remove (ConstPosition pos)
 
void Remove (Position pos)
 
Iterator Remove (ConstIterator iter, ExtractedPair &extPair)
 
bool Remove (const Key &key)
 
template<typename PairFilter >
internal::EnableIf< internal::IsInvocable< const PairFilter &, bool, const Key &, const Value & >::value, size_t > Remove (const PairFilter &pairFilter)
 
ExtractedPair Extract (ConstPosition pos)
 
template<typename KeyArg , bool extraCheck = true>
void ResetKey (ConstPosition pos, KeyArg &&keyArg)
 
template<typename RMap >
void MergeFrom (RMap &&srcMap)
 
template<typename Map >
void MergeTo (Map &dstMap)
 
size_t GetBucketCount () const noexcept
 
ConstBucketBounds GetBucketBounds (size_t bucketIndex) const
 
BucketBounds GetBucketBounds (size_t bucketIndex)
 
size_t GetBucketIndex (const Key &key) const
 
ConstPosition MakePosition (size_t hashCode) const noexcept
 
Iterator MakeMutableIterator (ConstIterator iter)
 
void CheckIterator (ConstIterator iter, bool allowEmpty=true) const
 

Static Public Attributes

static const size_t bucketMaxItemCount = HashSet::bucketMaxItemCount
 

Detailed Description

template<typename TKeyValueTraits, typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
class momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >

All HashMapCore functions and constructors have strong exception safety, but not the following cases:

  1. Functions Insert receiving many items have basic exception safety.
  2. Function Remove receiving predicate has basic exception safety.
  3. Functions MergeFrom and MergeTo have basic exception safety.
  4. In case default KeyValueTraits: if insert/add function receiving argument Key&& key throws exception, this argument may be changed.
  5. In case default KeyValueTraits: if function Remove throws exception and ObjectManager<Key, MemManager>::isNothrowAnywayAssignable is false and ObjectManager<Value, MemManager>::isNothrowAnywayAssignable is false, removing value may be changed.

Member Typedef Documentation

◆ BucketBounds

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef internal::HashMapBucketBounds<typename HashSet::ConstBucketBounds> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::BucketBounds

◆ ConstBucketBounds

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef BucketBounds::ConstBounds momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ConstBucketBounds

◆ ConstIterator

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef Iterator::ConstIterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ConstIterator

◆ ConstPosition

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef Position::ConstPosition momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ConstPosition

◆ ExtractedPair

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef internal::MapExtractedPair<HashSetExtractedItem> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ExtractedPair

◆ HashTraits

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef THashTraits momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashTraits

◆ InsertResult

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef internal::InsertResult<Position> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertResult

◆ Iterator

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef internal::HashMapIterator<HashSetConstIterator> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Iterator

◆ Key

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef KeyValueTraits::Key momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Key

◆ KeyValueTraits

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef TKeyValueTraits momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::KeyValueTraits

◆ MemManager

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef KeyValueTraits::MemManager momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::MemManager

◆ Position

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef internal::HashMapPosition<HashSetConstPosition> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Position

◆ Settings

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef TSettings momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Settings

◆ Value

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
typedef KeyValueTraits::Value momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Value

◆ ValueReference

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename KeyReference >
using momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ValueReference = typename ValueReferencer::template ValueReference<KeyReference>

Constructor & Destructor Documentation

◆ HashMapCore() [1/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( )
inline

◆ HashMapCore() [2/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashMapCore() [3/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( ArgIterator  begin,
ArgSentinel  end,
const HashTraits hashTraits = HashTraits(),
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashMapCore() [4/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( std::initializer_list< Pair >  pairs)
inline

◆ HashMapCore() [5/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( std::initializer_list< Pair >  pairs,
const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashMapCore() [6/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( HashMapCore< TKeyValueTraits, THashTraits, TSettings > &&  hashMap)
inlinenoexcept

◆ HashMapCore() [7/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( const HashMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMap)
inline

◆ HashMapCore() [8/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMapCore ( const HashMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMap,
MemManager  memManager 
)
inlineexplicit

◆ ~HashMapCore()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::~HashMapCore ( )
default

Member Function Documentation

◆ Add() [1/5]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstPosition  pos,
const Key key,
const Value value 
)
inline

◆ Add() [2/5]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstPosition  pos,
const Key key,
Value &&  value 
)
inline

◆ Add() [3/5]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstPosition  pos,
ExtractedPair &&  extPair 
)
inline

◆ Add() [4/5]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstPosition  pos,
Key &&  key,
const Value value 
)
inline

◆ Add() [5/5]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstPosition  pos,
Key &&  key,
Value &&  value 
)
inline

◆ AddCrt() [1/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ValueCreator , bool extraCheck = true>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( ConstPosition  pos,
const Key key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [2/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ValueCreator , bool extraCheck = true>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( ConstPosition  pos,
Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [3/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename PairCreator , bool extraCheck = true>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( ConstPosition  pos,
PairCreator &&  pairCreator 
)
inline

◆ AddVar() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename... ValueArgs>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::AddVar ( ConstPosition  pos,
const Key key,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename... ValueArgs>
Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::AddVar ( ConstPosition  pos,
Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ CheckIterator()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::CheckIterator ( ConstIterator  iter,
bool  allowEmpty = true 
) const
inline

◆ Clear()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Clear ( bool  shrink = true)
inlinenoexcept

◆ ContainsKey() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MOMO_FORCEINLINE bool momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ContainsKey ( const Key key) const
inline

◆ ContainsKey() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, bool> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ContainsKey ( const KeyArg &  key) const
inline

◆ Extract()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
ExtractedPair momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Extract ( ConstPosition  pos)
inline

◆ Find() [1/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MOMO_FORCEINLINE Position momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const Key key)
inline

◆ Find() [2/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MOMO_FORCEINLINE ConstPosition momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const Key key) const
inline

◆ Find() [3/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, Position> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const KeyArg &  key)
inline

◆ Find() [4/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstPosition> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const KeyArg &  key) const
inline

◆ GetBegin() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
ConstIterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBegin ( ) const
inlinenoexcept

◆ GetBegin() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBegin ( )
inlinenoexcept

◆ GetBucketBounds() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
BucketBounds momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBucketBounds ( size_t  bucketIndex)
inline

◆ GetBucketBounds() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
ConstBucketBounds momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBucketBounds ( size_t  bucketIndex) const
inline

◆ GetBucketCount()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBucketCount ( ) const
inlinenoexcept

◆ GetBucketIndex()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetBucketIndex ( const Key key) const
inline

◆ GetCapacity()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetCapacity ( ) const
inlinenoexcept

◆ GetCount()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetCount ( ) const
inlinenoexcept

◆ GetEnd() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
ConstIterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetEnd ( ) const
inlinenoexcept

◆ GetEnd() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetEnd ( )
inlinenoexcept

◆ GetHashTraits()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
const HashTraits& momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetHashTraits ( ) const
inlinenoexcept

◆ GetMemManager() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
const MemManager& momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetMemManager ( ) const
inlinenoexcept

◆ GetMemManager() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MemManager& momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::GetMemManager ( )
inlinenoexcept

◆ Insert() [1/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( ArgIterator  begin,
ArgSentinel  end 
)
inline

◆ Insert() [2/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( const Key key,
const Value value 
)
inline

◆ Insert() [3/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( const Key key,
Value &&  value 
)
inline

◆ Insert() [4/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( ExtractedPair &&  extPair)
inline

◆ Insert() [5/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( Key &&  key,
const Value value 
)
inline

◆ Insert() [6/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( Key &&  key,
Value &&  value 
)
inline

◆ Insert() [7/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename Pair = std::pair<Key, Value>>
size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Insert ( std::initializer_list< Pair >  pairs)
inline

◆ InsertCrt() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ValueCreator >
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertCrt ( const Key key,
ValueCreator &&  valueCreator 
)
inline

◆ InsertCrt() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename ValueCreator >
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertCrt ( Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ InsertVar() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename... ValueArgs>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertVar ( const Key key,
ValueArgs &&...  valueArgs 
)
inline

◆ InsertVar() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename... ValueArgs>
InsertResult momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertVar ( Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ IsEmpty()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
bool momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::IsEmpty ( ) const
inlinenoexcept

◆ MakeMutableIterator()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::MakeMutableIterator ( ConstIterator  iter)
inline

◆ MakePosition()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
ConstPosition momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::MakePosition ( size_t  hashCode) const
inlinenoexcept

◆ MergeFrom()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename RMap >
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::MergeFrom ( RMap &&  srcMap)
inline

◆ MergeTo()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename Map >
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::MergeTo ( Map &  dstMap)
inline

◆ operator=() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
HashMapCore& momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::operator= ( const HashMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMap)
inline

◆ operator=() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
HashMapCore& momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::operator= ( HashMapCore< TKeyValueTraits, THashTraits, TSettings > &&  hashMap)
inlinenoexcept

◆ operator[]() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MOMO_FORCEINLINE ValueReference<const Key&> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::operator[] ( const Key key)
inline

◆ operator[]() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
MOMO_FORCEINLINE ValueReference<Key&&> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::operator[] ( Key &&  key)
inline

◆ Remove() [1/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
bool momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( const Key key)
inline

◆ Remove() [2/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename PairFilter >
internal::EnableIf<internal::IsInvocable<const PairFilter&, bool, const Key&, const Value&>::value, size_t> momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( const PairFilter &  pairFilter)
inline

◆ Remove() [3/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( ConstIterator  iter)
inline

◆ Remove() [4/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( ConstIterator  iter,
ExtractedPair extPair 
)
inline

◆ Remove() [5/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( ConstPosition  pos)
inline

◆ Remove() [6/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
Iterator momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( Iterator  iter)
inline

◆ Remove() [7/7]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( Position  pos)
inline

◆ Reserve()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Reserve ( size_t  capacity)
inline

◆ ResetKey()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
template<typename KeyArg , bool extraCheck = true>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::ResetKey ( ConstPosition  pos,
KeyArg &&  keyArg 
)
inline

◆ Swap()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
void momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::Swap ( HashMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMap)
inlinenoexcept

Member Data Documentation

◆ bucketMaxItemCount

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMapSettings>
const size_t momo::HashMapCore< TKeyValueTraits, THashTraits, TSettings >::bucketMaxItemCount = HashSet::bucketMaxItemCount
static

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