momo  3.9
momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings > Class Template Reference

#include <HashMultiMap.h>

Classes

class  ValueCreator
 

Public Types

typedef HashMultiMapKeyValueTraits::Key Key
 
typedef HashMultiMapKeyValueTraits::MemManager MemManager
 
typedef ArrayBucket< HashMultiMapArrayBucketItemTraits< HashMultiMapKeyValueTraits >, HashMultiMapSettings::valueArrayMaxFastCount, typename HashMultiMapSettings::ValueArrayMemPoolParams, typename HashMultiMapSettings::ValueArraySettingsValue
 

Static Public Member Functions

template<typename ValueCreator >
static void Create (MemManager &memManager, Key &&key, ValueCreator &&valueCreator, Key *newKey, Value *newValue)
 
template<typename ValueCreator >
static void Create (MemManager &memManager, const Key &key, ValueCreator &&valueCreator, Key *newKey, Value *newValue)
 
static void Destroy (MemManager *memManager, Key &key, Value &value) noexcept
 
static void Relocate (MemManager *memManager, Key &srcKey, Value &srcValue, Key *dstKey, Value *dstValue)
 
static void Replace (MemManager &memManager, Key &srcKey, Value &srcValue, Key &dstKey, Value &dstValue)
 
template<typename KeyIterator , typename ValueIterator , typename Executor >
static void RelocateExec (MemManager &memManager, KeyIterator srcKeyBegin, ValueIterator srcValueBegin, KeyIterator dstKeyBegin, ValueIterator dstValueBegin, size_t count, Executor &&exec)
 
template<typename KeyArg >
static void AssignKey (MemManager &memManager, KeyArg &&keyArg, Key &key)
 

Static Public Attributes

static const size_t keyAlignment = HashMultiMapKeyValueTraits::keyAlignment
 
static const size_t valueAlignment = ValueManager::alignment
 
static const bool isKeyNothrowRelocatable
 
static const bool isValueNothrowRelocatable = ValueManager::isNothrowRelocatable
 

Protected Types

typedef THashMultiMapKeyValueTraits HashMultiMapKeyValueTraits
 
typedef THashMultiMapSettings HashMultiMapSettings
 

Member Typedef Documentation

◆ HashMultiMapKeyValueTraits

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
typedef THashMultiMapKeyValueTraits momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::HashMultiMapKeyValueTraits
protected

◆ HashMultiMapSettings

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
typedef THashMultiMapSettings momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::HashMultiMapSettings
protected

◆ Key

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
typedef HashMultiMapKeyValueTraits::Key momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Key

◆ MemManager

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
typedef HashMultiMapKeyValueTraits::MemManager momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::MemManager

◆ Value

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
typedef ArrayBucket<HashMultiMapArrayBucketItemTraits<HashMultiMapKeyValueTraits>, HashMultiMapSettings::valueArrayMaxFastCount, typename HashMultiMapSettings::ValueArrayMemPoolParams, typename HashMultiMapSettings::ValueArraySettings> momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Value

Member Function Documentation

◆ AssignKey()

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
template<typename KeyArg >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::AssignKey ( MemManager memManager,
KeyArg &&  keyArg,
Key key 
)
inlinestatic

◆ Create() [1/2]

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
template<typename ValueCreator >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Create ( MemManager memManager,
const Key key,
ValueCreator &&  valueCreator,
Key newKey,
Value newValue 
)
inlinestatic

◆ Create() [2/2]

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
template<typename ValueCreator >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Create ( MemManager memManager,
Key &&  key,
ValueCreator &&  valueCreator,
Key newKey,
Value newValue 
)
inlinestatic

◆ Destroy()

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Destroy ( MemManager memManager,
Key key,
Value value 
)
inlinestaticnoexcept

◆ Relocate()

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Relocate ( MemManager memManager,
Key srcKey,
Value srcValue,
Key dstKey,
Value dstValue 
)
inlinestatic

◆ RelocateExec()

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
template<typename KeyIterator , typename ValueIterator , typename Executor >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::RelocateExec ( MemManager memManager,
KeyIterator  srcKeyBegin,
ValueIterator  srcValueBegin,
KeyIterator  dstKeyBegin,
ValueIterator  dstValueBegin,
size_t  count,
Executor &&  exec 
)
inlinestatic

◆ Replace()

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
static void momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::Replace ( MemManager memManager,
Key srcKey,
Value srcValue,
Key dstKey,
Value dstValue 
)
inlinestatic

Member Data Documentation

◆ isKeyNothrowRelocatable

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
const bool momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::isKeyNothrowRelocatable
static

◆ isValueNothrowRelocatable

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
const bool momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::isValueNothrowRelocatable = ValueManager::isNothrowRelocatable
static

◆ keyAlignment

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
const size_t momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::keyAlignment = HashMultiMapKeyValueTraits::keyAlignment
static

◆ valueAlignment

template<typename THashMultiMapKeyValueTraits , typename THashMultiMapSettings >
const size_t momo::internal::HashMultiMapNestedMapKeyValueTraits< THashMultiMapKeyValueTraits, THashMultiMapSettings >::valueAlignment = ValueManager::alignment
static

The documentation for this class was generated from the following file:
momo::HashMultiMapKeyValueTraits::isKeyNothrowRelocatable
static const bool isKeyNothrowRelocatable
Definition: HashMultiMap.h:467