momo  3.9
momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager > Class Template Reference

#include <HashMultiMap.h>

Public Types

typedef TKey Key
 
typedef TValue Value
 
typedef TMemManager MemManager
 
template<typename... ValueArgs>
using ValueCreator = typename ValueManager::template Creator< ValueArgs... >
 

Static Public Member Functions

template<typename Executor >
static void MoveExecKey (MemManager &memManager, Key &&srcKey, Key *dstKey, Executor &&exec)
 
template<typename Executor >
static void CopyExecKey (MemManager &memManager, const Key &srcKey, Key *dstKey, Executor &&exec)
 
static void DestroyKey (MemManager &memManager, Key &key) noexcept
 
static void DestroyValues (MemManager &memManager, Value *values, size_t count) noexcept
 
static void RelocateKey (MemManager &memManager, Key &srcKey, Key *dstKey) noexcept(isKeyNothrowRelocatable)
 
template<typename KeyIterator , typename Executor >
static void RelocateExecKeys (MemManager &memManager, KeyIterator srcKeyBegin, KeyIterator dstKeyBegin, size_t count, Executor &&exec)
 
template<typename ValueCreator >
static void RelocateCreateValues (MemManager &memManager, Value *srcValues, Value *dstValues, size_t count, ValueCreator &&valueCreator, Value *newValue)
 
template<typename KeyArg >
static void AssignKey (MemManager &, KeyArg &&keyArg, Key &key)
 
static void AssignAnywayValue (MemManager &memManager, Value &srcValue, Value &dstValue)
 

Static Public Attributes

static const size_t keyAlignment = KeyManager::alignment
 
static const size_t valueAlignment = ValueManager::alignment
 
static const bool isKeyNothrowRelocatable = KeyManager::isNothrowRelocatable
 
static const bool isValueTriviallyRelocatable = ValueManager::isTriviallyRelocatable
 

Member Typedef Documentation

◆ Key

template<typename TKey , typename TValue , typename TMemManager >
typedef TKey momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::Key

◆ MemManager

template<typename TKey , typename TValue , typename TMemManager >
typedef TMemManager momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::MemManager

◆ Value

template<typename TKey , typename TValue , typename TMemManager >
typedef TValue momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::Value

◆ ValueCreator

template<typename TKey , typename TValue , typename TMemManager >
template<typename... ValueArgs>
using momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::ValueCreator = typename ValueManager::template Creator<ValueArgs...>

Member Function Documentation

◆ AssignAnywayValue()

template<typename TKey , typename TValue , typename TMemManager >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::AssignAnywayValue ( MemManager memManager,
Value srcValue,
Value dstValue 
)
inlinestatic

◆ AssignKey()

template<typename TKey , typename TValue , typename TMemManager >
template<typename KeyArg >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::AssignKey ( MemManager ,
KeyArg &&  keyArg,
Key key 
)
inlinestatic

◆ CopyExecKey()

template<typename TKey , typename TValue , typename TMemManager >
template<typename Executor >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::CopyExecKey ( MemManager memManager,
const Key srcKey,
Key dstKey,
Executor &&  exec 
)
inlinestatic

◆ DestroyKey()

template<typename TKey , typename TValue , typename TMemManager >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::DestroyKey ( MemManager memManager,
Key key 
)
inlinestaticnoexcept

◆ DestroyValues()

template<typename TKey , typename TValue , typename TMemManager >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::DestroyValues ( MemManager memManager,
Value values,
size_t  count 
)
inlinestaticnoexcept

◆ MoveExecKey()

template<typename TKey , typename TValue , typename TMemManager >
template<typename Executor >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::MoveExecKey ( MemManager memManager,
Key &&  srcKey,
Key dstKey,
Executor &&  exec 
)
inlinestatic

◆ RelocateCreateValues()

template<typename TKey , typename TValue , typename TMemManager >
template<typename ValueCreator >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::RelocateCreateValues ( MemManager memManager,
Value srcValues,
Value dstValues,
size_t  count,
ValueCreator &&  valueCreator,
Value newValue 
)
inlinestatic

◆ RelocateExecKeys()

template<typename TKey , typename TValue , typename TMemManager >
template<typename KeyIterator , typename Executor >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::RelocateExecKeys ( MemManager memManager,
KeyIterator  srcKeyBegin,
KeyIterator  dstKeyBegin,
size_t  count,
Executor &&  exec 
)
inlinestatic

◆ RelocateKey()

template<typename TKey , typename TValue , typename TMemManager >
static void momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::RelocateKey ( MemManager memManager,
Key srcKey,
Key dstKey 
)
inlinestaticnoexcept

Member Data Documentation

◆ isKeyNothrowRelocatable

template<typename TKey , typename TValue , typename TMemManager >
const bool momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::isKeyNothrowRelocatable = KeyManager::isNothrowRelocatable
static

◆ isValueTriviallyRelocatable

template<typename TKey , typename TValue , typename TMemManager >
const bool momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::isValueTriviallyRelocatable = ValueManager::isTriviallyRelocatable
static

◆ keyAlignment

template<typename TKey , typename TValue , typename TMemManager >
const size_t momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::keyAlignment = KeyManager::alignment
static

◆ valueAlignment

template<typename TKey , typename TValue , typename TMemManager >
const size_t momo::HashMultiMapKeyValueTraits< TKey, TValue, TMemManager >::valueAlignment = ValueManager::alignment
static

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