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

#include <TreeMap.h>

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

Public Types

typedef KeyValueTraits::Key Key
 
typedef MapKeyValuePair< Key, Value, KeyValueTraits::keyAlignment, KeyValueTraits::valueAlignment > Item
 
typedef KeyValueTraits::MemManager MemManager
 
- Public Types inherited from momo::internal::MapNestedSetItemTraits< TKeyValueTraits >
typedef KeyValueTraits::Key Key
 
typedef KeyValueTraits::MemManager MemManager
 
typedef MapKeyValuePair< Key, Value, KeyValueTraits::keyAlignment, KeyValueTraits::valueAlignment > Item
 

Static Public Member Functions

template<typename Iterator , typename ItemCreator >
static void RelocateCreate (MemManager &memManager, Iterator srcBegin, Iterator dstBegin, size_t count, ItemCreator &&itemCreator, Item *newItem)
 
template<typename Iterator >
static void ShiftNothrow (MemManager &memManager, Iterator begin, size_t shift) noexcept
 
- Static Public Member Functions inherited from momo::internal::MapNestedSetItemTraits< TKeyValueTraits >
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 bool isNothrowShiftable
 
- Static Public Attributes inherited from momo::internal::MapNestedSetItemTraits< TKeyValueTraits >
static const size_t alignment = ObjectAlignmenter<Item>::alignment
 
static const bool isNothrowRelocatable
 

Protected Types

typedef TKeyValueTraits KeyValueTraits
 
typedef KeyValueTraits::Value Value
 
- Protected Types inherited from momo::internal::MapNestedSetItemTraits< TKeyValueTraits >
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

◆ RelocateCreate()

template<typename TKeyValueTraits >
template<typename Iterator , typename ItemCreator >
static void momo::internal::TreeMapNestedSetItemTraits< TKeyValueTraits >::RelocateCreate ( MemManager memManager,
Iterator  srcBegin,
Iterator  dstBegin,
size_t  count,
ItemCreator &&  itemCreator,
Item newItem 
)
inlinestatic

◆ ShiftNothrow()

template<typename TKeyValueTraits >
template<typename Iterator >
static void momo::internal::TreeMapNestedSetItemTraits< TKeyValueTraits >::ShiftNothrow ( MemManager memManager,
Iterator  begin,
size_t  shift 
)
inlinestaticnoexcept

Member Data Documentation

◆ isNothrowShiftable

template<typename TKeyValueTraits >
const bool momo::internal::TreeMapNestedSetItemTraits< TKeyValueTraits >::isNothrowShiftable
static
Initial value:
= KeyValueTraits::isKeyNothrowShiftable
&& KeyValueTraits::isValueNothrowShiftable

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