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

#include <HashMultiMap.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::HashDerivedIterator< HashMapIterator, internal::HashMultiMapKeyReference > KeyIterator
 
typedef KeyIterator::ConstIterator ConstKeyIterator
 
typedef internal::HashMultiMapKeyBounds< KeyIterator > KeyBounds
 
typedef KeyBounds::ConstBounds ConstKeyBounds
 
typedef internal::HashMultiMapIterator< KeyIterator, Settings > Iterator
 
typedef Iterator::ConstIterator ConstIterator
 

Public Member Functions

 MOMO_STATIC_ASSERT (internal::ObjectAlignmenter< Key >::Check(KeyValueTraits::keyAlignment))
 
 MOMO_STATIC_ASSERT (internal::ObjectAlignmenter< Value >::Check(KeyValueTraits::valueAlignment))
 
 HashMultiMapCore ()
 
 HashMultiMapCore (const HashTraits &hashTraits, MemManager memManager=MemManager())
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
 HashMultiMapCore (ArgIterator begin, ArgSentinel end, const HashTraits &hashTraits=HashTraits(), MemManager memManager=MemManager())
 
template<typename Pair = std::pair<Key, Value>>
 HashMultiMapCore (std::initializer_list< Pair > pairs)
 
template<typename Pair = std::pair<Key, Value>>
 HashMultiMapCore (std::initializer_list< Pair > pairs, const HashTraits &hashTraits, MemManager memManager=MemManager())
 
 HashMultiMapCore (HashMultiMapCore &&hashMultiMap) noexcept
 
 HashMultiMapCore (const HashMultiMapCore &hashMultiMap)
 
 HashMultiMapCore (const HashMultiMapCore &hashMultiMap, MemManager memManager)
 
 ~HashMultiMapCore () noexcept
 
HashMultiMapCore & operator= (HashMultiMapCore &&hashMultiMap) noexcept
 
HashMultiMapCore & operator= (const HashMultiMapCore &hashMultiMap)
 
void Swap (HashMultiMapCore &hashMultiMap) noexcept
 
ConstIterator GetBegin () const noexcept
 
Iterator GetBegin () noexcept
 
ConstIterator GetEnd () const noexcept
 
Iterator GetEnd () noexcept
 
const HashTraits & GetHashTraits () const noexcept
 
const MemManager & GetMemManager () const noexcept
 
MemManager & GetMemManager () noexcept
 
size_t GetValueCount () const noexcept
 
size_t GetCount () const noexcept
 
bool IsEmpty () const noexcept
 
void Clear () noexcept
 
ConstKeyBounds GetKeyBounds () const noexcept
 
KeyBounds GetKeyBounds () noexcept
 
size_t GetKeyCount () const noexcept
 
MOMO_FORCEINLINE ConstKeyIterator Find (const Key &key) const
 
MOMO_FORCEINLINE KeyIterator Find (const Key &key)
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, ConstKeyIterator > Find (const KeyArg &key) const
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, KeyIterator > Find (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 >
Iterator AddCrt (Key &&key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Iterator AddVar (Key &&key, ValueArgs &&... valueArgs)
 
Iterator Add (Key &&key, Value &&value)
 
Iterator Add (Key &&key, const Value &value)
 
template<typename ValueCreator >
Iterator AddCrt (const Key &key, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Iterator AddVar (const Key &key, ValueArgs &&... valueArgs)
 
Iterator Add (const Key &key, Value &&value)
 
Iterator Add (const Key &key, const Value &value)
 
template<typename ValueCreator >
Iterator AddCrt (ConstKeyIterator keyIter, ValueCreator &&valueCreator)
 
template<typename... ValueArgs>
Iterator AddVar (ConstKeyIterator keyIter, ValueArgs &&... valueArgs)
 
Iterator Add (ConstKeyIterator keyIter, Value &&value)
 
Iterator Add (ConstKeyIterator keyIter, const Value &value)
 
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
void Add (ArgIterator begin, ArgSentinel end)
 
template<typename Pair = std::pair<Key, Value>>
void Add (std::initializer_list< Pair > pairs)
 
KeyIterator InsertKey (Key &&key)
 
KeyIterator InsertKey (const Key &key)
 
template<typename KeyCreator >
KeyIterator AddKeyCrt (ConstKeyIterator keyIter, KeyCreator &&keyCreator)
 
Iterator Remove (ConstKeyIterator keyIter, size_t valueIndex)
 
Iterator Remove (ConstIterator iter)
 
template<typename PairFilter >
internal::EnableIf< internal::IsInvocable< const PairFilter &, bool, const Key &, const Value & >::value, size_t > Remove (const PairFilter &pairFilter)
 
Iterator RemoveValues (ConstKeyIterator keyIter)
 
KeyIterator RemoveKey (ConstKeyIterator keyIter)
 
size_t RemoveKey (const Key &key)
 
template<typename KeyArg , bool extraCheck = true>
void ResetKey (ConstKeyIterator keyIter, KeyArg &&keyArg)
 
ConstIterator MakeIterator (ConstKeyIterator keyIter, size_t valueIndex=0) const
 
Iterator MakeIterator (KeyIterator keyIter, size_t valueIndex=0)
 
Iterator MakeMutableIterator (ConstIterator iter)
 
KeyIterator MakeMutableKeyIterator (ConstKeyIterator keyIter)
 
void CheckIterator (ConstIterator iter, bool allowEmpty=true) const
 
void CheckKeyIterator (ConstKeyIterator keyIter, bool allowEmpty=true) const
 

Detailed Description

template<typename TKeyValueTraits, typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
class momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >

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

  1. Functions Add receiving many items have basic exception safety.
  2. Function Remove receiving predicate has basic exception safety.
  3. In case default KeyValueTraits: If function Add, AddVar or AddCrt receiving argument Key&& key throws exception, this argument may be changed.

Member Typedef Documentation

◆ ConstIterator

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

◆ ConstKeyBounds

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef KeyBounds::ConstBounds momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::ConstKeyBounds

◆ ConstKeyIterator

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef KeyIterator::ConstIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::ConstKeyIterator

◆ HashTraits

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef THashTraits momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::HashTraits

◆ Iterator

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef internal::HashMultiMapIterator<KeyIterator, Settings> momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Iterator

◆ Key

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef KeyValueTraits::Key momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Key

◆ KeyBounds

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef internal::HashMultiMapKeyBounds<KeyIterator> momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::KeyBounds

◆ KeyIterator

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef internal::HashDerivedIterator<HashMapIterator, internal::HashMultiMapKeyReference> momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::KeyIterator

◆ KeyValueTraits

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef TKeyValueTraits momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::KeyValueTraits

◆ MemManager

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

◆ Settings

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
typedef TSettings momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Settings

◆ Value

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

Constructor & Destructor Documentation

◆ HashMultiMapCore() [1/8]

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

◆ HashMultiMapCore() [2/8]

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

◆ HashMultiMapCore() [3/8]

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

◆ HashMultiMapCore() [4/8]

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

◆ HashMultiMapCore() [5/8]

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

◆ HashMultiMapCore() [6/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMultiMapCore ( HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &&  hashMultiMap)
inlinenoexcept

◆ HashMultiMapCore() [7/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMultiMapCore ( const HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMultiMap)
inline

◆ HashMultiMapCore() [8/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::HashMultiMapCore ( const HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMultiMap,
MemManager  memManager 
)
inlineexplicit

◆ ~HashMultiMapCore()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::~HashMultiMapCore ( )
inlinenoexcept

Member Function Documentation

◆ Add() [1/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename ArgIterator , typename ArgSentinel , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ArgIterator  begin,
ArgSentinel  end 
)
inline

◆ Add() [2/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( const Key &  key,
const Value &  value 
)
inline

◆ Add() [3/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( const Key &  key,
Value &&  value 
)
inline

◆ Add() [4/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstKeyIterator  keyIter,
const Value &  value 
)
inline

◆ Add() [5/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( ConstKeyIterator  keyIter,
Value &&  value 
)
inline

◆ Add() [6/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( Key &&  key,
const Value &  value 
)
inline

◆ Add() [7/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( Key &&  key,
Value &&  value 
)
inline

◆ Add() [8/8]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename Pair = std::pair<Key, Value>>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Add ( std::initializer_list< Pair >  pairs)
inline

◆ AddCrt() [1/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( const Key &  key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [2/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( ConstKeyIterator  keyIter,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [3/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddCrt ( Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ AddKeyCrt()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename KeyCreator >
KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddKeyCrt ( ConstKeyIterator  keyIter,
KeyCreator &&  keyCreator 
)
inline

◆ AddVar() [1/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddVar ( const Key &  key,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [2/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddVar ( ConstKeyIterator  keyIter,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [3/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::AddVar ( Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ CheckIterator()

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

◆ CheckKeyIterator()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::CheckKeyIterator ( ConstKeyIterator  keyIter,
bool  allowEmpty = true 
) const
inline

◆ Clear()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Clear ( )
inlinenoexcept

◆ ContainsKey() [1/2]

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

◆ ContainsKey() [2/2]

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

◆ Find() [1/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
MOMO_FORCEINLINE KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const Key &  key)
inline

◆ Find() [2/4]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
MOMO_FORCEINLINE ConstKeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Find ( const Key &  key) const
inline

◆ Find() [3/4]

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

◆ Find() [4/4]

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

◆ GetBegin() [1/2]

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

◆ GetBegin() [2/2]

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

◆ GetCount()

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

◆ GetEnd() [1/2]

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

◆ GetEnd() [2/2]

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

◆ GetHashTraits()

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

◆ GetKeyBounds() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
ConstKeyBounds momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::GetKeyBounds ( ) const
inlinenoexcept

◆ GetKeyBounds() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
KeyBounds momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::GetKeyBounds ( )
inlinenoexcept

◆ GetKeyCount()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::GetKeyCount ( ) const
inlinenoexcept

◆ GetMemManager() [1/2]

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

◆ GetMemManager() [2/2]

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

◆ GetValueCount()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::GetValueCount ( ) const
inlinenoexcept

◆ InsertKey() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertKey ( const Key &  key)
inline

◆ InsertKey() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::InsertKey ( Key &&  key)
inline

◆ IsEmpty()

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

◆ MakeIterator() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
ConstIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::MakeIterator ( ConstKeyIterator  keyIter,
size_t  valueIndex = 0 
) const
inline

◆ MakeIterator() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::MakeIterator ( KeyIterator  keyIter,
size_t  valueIndex = 0 
)
inline

◆ MakeMutableIterator()

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

◆ MakeMutableKeyIterator()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::MakeMutableKeyIterator ( ConstKeyIterator  keyIter)
inline

◆ MOMO_STATIC_ASSERT() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::MOMO_STATIC_ASSERT ( internal::ObjectAlignmenter< Key >  ::CheckKeyValueTraits::keyAlignment)

◆ MOMO_STATIC_ASSERT() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::MOMO_STATIC_ASSERT ( internal::ObjectAlignmenter< Value >  ::CheckKeyValueTraits::valueAlignment)

◆ operator=() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
HashMultiMapCore& momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::operator= ( const HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMultiMap)
inline

◆ operator=() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
HashMultiMapCore& momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::operator= ( HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &&  hashMultiMap)
inlinenoexcept

◆ Remove() [1/3]

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

◆ Remove() [2/3]

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

◆ Remove() [3/3]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Remove ( ConstKeyIterator  keyIter,
size_t  valueIndex 
)
inline

◆ RemoveKey() [1/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::RemoveKey ( const Key &  key)
inline

◆ RemoveKey() [2/2]

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::RemoveKey ( ConstKeyIterator  keyIter)
inline

◆ RemoveValues()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::RemoveValues ( ConstKeyIterator  keyIter)
inline

◆ ResetKey()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
template<typename KeyArg , bool extraCheck = true>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::ResetKey ( ConstKeyIterator  keyIter,
KeyArg &&  keyArg 
)
inline

◆ Swap()

template<typename TKeyValueTraits , typename THashTraits = HashTraits<typename TKeyValueTraits::Key>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings >::Swap ( HashMultiMapCore< TKeyValueTraits, THashTraits, TSettings > &  hashMultiMap)
inlinenoexcept

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