momo  3.9
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > Class Template Reference

#include <HashMultiMap.h>

Public Types

typedef TKey Key
 
typedef TValue Value
 
typedef THashTraits HashTraits
 
typedef TMemManager MemManager
 
typedef TKeyValueTraits KeyValueTraits
 
typedef TSettings Settings
 
typedef internal::HashDerivedIterator< HashMapIterator, internal::HashMultiMapKeyReferenceKeyIterator
 
typedef KeyIterator::ConstIterator ConstKeyIterator
 
typedef internal::HashMultiMapKeyBounds< KeyIteratorKeyBounds
 
typedef KeyBounds::ConstBounds ConstKeyBounds
 
typedef internal::HashMultiMapIterator< KeyIterator, SettingsIterator
 
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))
 
 HashMultiMap ()
 
 HashMultiMap (const HashTraits &hashTraits, MemManager memManager=MemManager())
 
template<typename Pair = std::pair<Key, Value>>
 HashMultiMap (std::initializer_list< Pair > pairs)
 
template<typename Pair = std::pair<Key, Value>>
 HashMultiMap (std::initializer_list< Pair > pairs, const HashTraits &hashTraits, MemManager memManager=MemManager())
 
 HashMultiMap (HashMultiMap &&hashMultiMap) noexcept
 
 HashMultiMap (const HashMultiMap &hashMultiMap)
 
 HashMultiMap (const HashMultiMap &hashMultiMap, MemManager memManager)
 
 ~HashMultiMap () noexcept
 
HashMultiMapoperator= (HashMultiMap &&hashMultiMap) noexcept
 
HashMultiMapoperator= (const HashMultiMap &hashMultiMap)
 
void Swap (HashMultiMap &hashMultiMap) 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 GetValueCount () 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, ConstKeyIteratorFind (const KeyArg &key) const
 
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf< IsValidKeyArg< KeyArg >::value, KeyIteratorFind (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 = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
void Add (ArgIterator begin, ArgIterator 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 TKey, typename TValue, typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
class momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >

All HashMultiMap 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 TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef Iterator::ConstIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ConstIterator

◆ ConstKeyBounds

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef KeyBounds::ConstBounds momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ConstKeyBounds

◆ ConstKeyIterator

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef KeyIterator::ConstIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ConstKeyIterator

◆ HashTraits

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef THashTraits momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashTraits

◆ Iterator

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef internal::HashMultiMapIterator<KeyIterator, Settings> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Iterator

◆ Key

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef TKey momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Key

◆ KeyBounds

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef internal::HashMultiMapKeyBounds<KeyIterator> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::KeyBounds

◆ KeyIterator

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef internal::HashDerivedIterator<HashMapIterator, internal::HashMultiMapKeyReference> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::KeyIterator

◆ KeyValueTraits

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef TKeyValueTraits momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::KeyValueTraits

◆ MemManager

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef TMemManager momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MemManager

◆ Settings

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef TSettings momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Settings

◆ Value

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
typedef TValue momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Value

Constructor & Destructor Documentation

◆ HashMultiMap() [1/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( )
inline

◆ HashMultiMap() [2/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashMultiMap() [3/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( std::initializer_list< Pair >  pairs)
inline

◆ HashMultiMap() [4/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename Pair = std::pair<Key, Value>>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( std::initializer_list< Pair >  pairs,
const HashTraits hashTraits,
MemManager  memManager = MemManager() 
)
inlineexplicit

◆ HashMultiMap() [5/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &&  hashMultiMap)
inlinenoexcept

◆ HashMultiMap() [6/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( const HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &  hashMultiMap)
inline

◆ HashMultiMap() [7/7]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::HashMultiMap ( const HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &  hashMultiMap,
MemManager  memManager 
)
inlineexplicit

◆ ~HashMultiMap()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::~HashMultiMap ( )
inlinenoexcept

Member Function Documentation

◆ Add() [1/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename ArgIterator , typename = decltype(internal::MapPairConverter<ArgIterator>::Convert(*std::declval<ArgIterator>()))>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( ArgIterator  begin,
ArgIterator  end 
)
inline

◆ Add() [2/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( const Key key,
const Value value 
)
inline

◆ Add() [3/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( const Key key,
Value &&  value 
)
inline

◆ Add() [4/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( ConstKeyIterator  keyIter,
const Value value 
)
inline

◆ Add() [5/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( ConstKeyIterator  keyIter,
Value &&  value 
)
inline

◆ Add() [6/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( Key &&  key,
const Value value 
)
inline

◆ Add() [7/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( Key &&  key,
Value &&  value 
)
inline

◆ Add() [8/8]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename Pair = std::pair<Key, Value>>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Add ( std::initializer_list< Pair >  pairs)
inline

◆ AddCrt() [1/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddCrt ( const Key key,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [2/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddCrt ( ConstKeyIterator  keyIter,
ValueCreator &&  valueCreator 
)
inline

◆ AddCrt() [3/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename ValueCreator >
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddCrt ( Key &&  key,
ValueCreator &&  valueCreator 
)
inline

◆ AddKeyCrt()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename KeyCreator >
KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddKeyCrt ( ConstKeyIterator  keyIter,
KeyCreator &&  keyCreator 
)
inline

◆ AddVar() [1/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddVar ( const Key key,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [2/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddVar ( ConstKeyIterator  keyIter,
ValueArgs &&...  valueArgs 
)
inline

◆ AddVar() [3/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename... ValueArgs>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::AddVar ( Key &&  key,
ValueArgs &&...  valueArgs 
)
inline

◆ CheckIterator()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::CheckIterator ( ConstIterator  iter,
bool  allowEmpty = true 
) const
inline

◆ CheckKeyIterator()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::CheckKeyIterator ( ConstKeyIterator  keyIter,
bool  allowEmpty = true 
) const
inline

◆ Clear()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Clear ( )
inlinenoexcept

◆ ContainsKey() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
MOMO_FORCEINLINE bool momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ContainsKey ( const Key key) const
inline

◆ ContainsKey() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, bool> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ContainsKey ( const KeyArg &  key) const
inline

◆ Find() [1/4]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
MOMO_FORCEINLINE KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Find ( const Key key)
inline

◆ Find() [2/4]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
MOMO_FORCEINLINE ConstKeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Find ( const Key key) const
inline

◆ Find() [3/4]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, KeyIterator> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Find ( const KeyArg &  key)
inline

◆ Find() [4/4]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename KeyArg >
MOMO_FORCEINLINE internal::EnableIf<IsValidKeyArg<KeyArg>::value, ConstKeyIterator> momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Find ( const KeyArg &  key) const
inline

◆ GetBegin() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
ConstIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetBegin ( ) const
inlinenoexcept

◆ GetBegin() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetBegin ( )
inlinenoexcept

◆ GetEnd() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
ConstIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetEnd ( ) const
inlinenoexcept

◆ GetEnd() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetEnd ( )
inlinenoexcept

◆ GetHashTraits()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
const HashTraits& momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetHashTraits ( ) const
inlinenoexcept

◆ GetKeyBounds() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
ConstKeyBounds momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetKeyBounds ( ) const
inlinenoexcept

◆ GetKeyBounds() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
KeyBounds momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetKeyBounds ( )
inlinenoexcept

◆ GetKeyCount()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetKeyCount ( ) const
inlinenoexcept

◆ GetMemManager() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
const MemManager& momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetMemManager ( ) const
inlinenoexcept

◆ GetMemManager() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
MemManager& momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetMemManager ( )
inlinenoexcept

◆ GetValueCount()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::GetValueCount ( ) const
inlinenoexcept

◆ InsertKey() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::InsertKey ( const Key key)
inline

◆ InsertKey() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::InsertKey ( Key &&  key)
inline

◆ MakeIterator() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
ConstIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MakeIterator ( ConstKeyIterator  keyIter,
size_t  valueIndex = 0 
) const
inline

◆ MakeIterator() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MakeIterator ( KeyIterator  keyIter,
size_t  valueIndex = 0 
)
inline

◆ MakeMutableIterator()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MakeMutableIterator ( ConstIterator  iter)
inline

◆ MakeMutableKeyIterator()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MakeMutableKeyIterator ( ConstKeyIterator  keyIter)
inline

◆ MOMO_STATIC_ASSERT() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MOMO_STATIC_ASSERT ( internal::ObjectAlignmenter< Key ::CheckKeyValueTraits::keyAlignment)

◆ MOMO_STATIC_ASSERT() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::MOMO_STATIC_ASSERT ( internal::ObjectAlignmenter< Value ::CheckKeyValueTraits::valueAlignment)

◆ operator=() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
HashMultiMap& momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::operator= ( const HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &  hashMultiMap)
inline

◆ operator=() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
HashMultiMap& momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::operator= ( HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &&  hashMultiMap)
inlinenoexcept

◆ Remove() [1/3]

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

◆ Remove() [2/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Remove ( ConstIterator  iter)
inline

◆ Remove() [3/3]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Remove ( ConstKeyIterator  keyIter,
size_t  valueIndex 
)
inline

◆ RemoveKey() [1/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
size_t momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::RemoveKey ( const Key key)
inline

◆ RemoveKey() [2/2]

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
KeyIterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::RemoveKey ( ConstKeyIterator  keyIter)
inline

◆ RemoveValues()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
Iterator momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::RemoveValues ( ConstKeyIterator  keyIter)
inline

◆ ResetKey()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
template<typename KeyArg , bool extraCheck = true>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::ResetKey ( ConstKeyIterator  keyIter,
KeyArg &&  keyArg 
)
inline

◆ Swap()

template<typename TKey , typename TValue , typename THashTraits = HashTraits<TKey>, typename TMemManager = MemManagerDefault, typename TKeyValueTraits = HashMultiMapKeyValueTraits<TKey, TValue, TMemManager>, typename TSettings = HashMultiMapSettings>
void momo::HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings >::Swap ( HashMultiMap< TKey, TValue, THashTraits, TMemManager, TKeyValueTraits, TSettings > &  hashMultiMap)
inlinenoexcept

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