momo  3.9
momo::internal::MapNestedSetItemTraits< TKeyValueTraits > Class Template Reference

#include <MapUtility.h>

Inheritance diagram for momo::internal::MapNestedSetItemTraits< TKeyValueTraits >:
momo::internal::HashMapNestedSetItemTraits< TKeyValueTraits > momo::internal::TreeMapNestedSetItemTraits< TKeyValueTraits >

Classes

class  Creator
 

Public Types

typedef KeyValueTraits::Key Key
 
typedef KeyValueTraits::MemManager MemManager
 
typedef MapKeyValuePair< Key, Value, KeyValueTraits::keyAlignment, KeyValueTraits::valueAlignment > Item
 

Static Public Member Functions

static const KeyGetKey (const Item &item) noexcept
 
static void Destroy (MemManager *memManager, Item &item) noexcept
 
static void Relocate (MemManager *memManager, Item &srcItem, Item *dstItem)
 
static void Replace (MemManager &memManager, Item &srcItem, Item &dstItem)
 
static void ReplaceRelocate (MemManager &memManager, Item &srcItem, Item &midItem, Item *dstItem)
 
template<typename KeyArg >
static void AssignKey (MemManager &memManager, KeyArg &&keyArg, Item &item)
 

Static Public Attributes

static const size_t alignment = ObjectAlignmenter<Item>::alignment
 
static const bool isNothrowRelocatable
 

Protected Types

typedef TKeyValueTraits KeyValueTraits
 
typedef KeyValueTraits::Value Value
 

Member Typedef Documentation

◆ Item

template<typename TKeyValueTraits >
typedef MapKeyValuePair<Key, Value, KeyValueTraits::keyAlignment, KeyValueTraits::valueAlignment> momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Item

◆ Key

template<typename TKeyValueTraits >
typedef KeyValueTraits::Key momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Key

◆ KeyValueTraits

template<typename TKeyValueTraits >
typedef TKeyValueTraits momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::KeyValueTraits
protected

◆ MemManager

template<typename TKeyValueTraits >
typedef KeyValueTraits::MemManager momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::MemManager

◆ Value

template<typename TKeyValueTraits >
typedef KeyValueTraits::Value momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Value
protected

Member Function Documentation

◆ AssignKey()

template<typename TKeyValueTraits >
template<typename KeyArg >
static void momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::AssignKey ( MemManager memManager,
KeyArg &&  keyArg,
Item item 
)
inlinestatic

◆ Destroy()

template<typename TKeyValueTraits >
static void momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Destroy ( MemManager memManager,
Item item 
)
inlinestaticnoexcept

◆ GetKey()

template<typename TKeyValueTraits >
static const Key& momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::GetKey ( const Item item)
inlinestaticnoexcept

◆ Relocate()

template<typename TKeyValueTraits >
static void momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Relocate ( MemManager memManager,
Item srcItem,
Item dstItem 
)
inlinestatic

◆ Replace()

template<typename TKeyValueTraits >
static void momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::Replace ( MemManager memManager,
Item srcItem,
Item dstItem 
)
inlinestatic

◆ ReplaceRelocate()

template<typename TKeyValueTraits >
static void momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::ReplaceRelocate ( MemManager memManager,
Item srcItem,
Item midItem,
Item dstItem 
)
inlinestatic

Member Data Documentation

◆ alignment

template<typename TKeyValueTraits >
const size_t momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::alignment = ObjectAlignmenter<Item>::alignment
static

◆ isNothrowRelocatable

template<typename TKeyValueTraits >
const bool momo::internal::MapNestedSetItemTraits< TKeyValueTraits >::isNothrowRelocatable
static
Initial value:
=
KeyValueTraits::isKeyNothrowRelocatable && KeyValueTraits::isValueNothrowRelocatable

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