momo  3.9
momo::internal::SetItemTraits< TKey, TMemManager > Class Template Reference

#include <SetUtility.h>

Inheritance diagram for momo::internal::SetItemTraits< TKey, TMemManager >:
momo::HashSetItemTraits< TKey, TMemManager > momo::TreeSetItemTraits< TKey, TMemManager >

Public Types

typedef TKey Key
 
typedef TMemManager MemManager
 
typedef Key Item
 
template<typename... ItemArgs>
using Creator = typename ItemManager::template Creator< ItemArgs... >
 

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) noexcept(isNothrowRelocatable)
 
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 &, KeyArg &&keyArg, Item &item)
 

Static Public Attributes

static const size_t alignment = ItemManager::alignment
 
static const bool isNothrowRelocatable = ItemManager::isNothrowRelocatable
 

Member Typedef Documentation

◆ Creator

template<typename TKey , typename TMemManager >
template<typename... ItemArgs>
using momo::internal::SetItemTraits< TKey, TMemManager >::Creator = typename ItemManager::template Creator<ItemArgs...>

◆ Item

template<typename TKey , typename TMemManager >
typedef Key momo::internal::SetItemTraits< TKey, TMemManager >::Item

◆ Key

template<typename TKey , typename TMemManager >
typedef TKey momo::internal::SetItemTraits< TKey, TMemManager >::Key

◆ MemManager

template<typename TKey , typename TMemManager >
typedef TMemManager momo::internal::SetItemTraits< TKey, TMemManager >::MemManager

Member Function Documentation

◆ AssignKey()

template<typename TKey , typename TMemManager >
template<typename KeyArg >
static void momo::internal::SetItemTraits< TKey, TMemManager >::AssignKey ( MemManager ,
KeyArg &&  keyArg,
Item item 
)
inlinestatic

◆ Destroy()

template<typename TKey , typename TMemManager >
static void momo::internal::SetItemTraits< TKey, TMemManager >::Destroy ( MemManager memManager,
Item item 
)
inlinestaticnoexcept

◆ GetKey()

template<typename TKey , typename TMemManager >
static const Key& momo::internal::SetItemTraits< TKey, TMemManager >::GetKey ( const Item item)
inlinestaticnoexcept

◆ Relocate()

template<typename TKey , typename TMemManager >
static void momo::internal::SetItemTraits< TKey, TMemManager >::Relocate ( MemManager memManager,
Item srcItem,
Item dstItem 
)
inlinestaticnoexcept

◆ Replace()

template<typename TKey , typename TMemManager >
static void momo::internal::SetItemTraits< TKey, TMemManager >::Replace ( MemManager memManager,
Item srcItem,
Item dstItem 
)
inlinestatic

◆ ReplaceRelocate()

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

Member Data Documentation

◆ alignment

template<typename TKey , typename TMemManager >
const size_t momo::internal::SetItemTraits< TKey, TMemManager >::alignment = ItemManager::alignment
static

◆ isNothrowRelocatable

template<typename TKey , typename TMemManager >
const bool momo::internal::SetItemTraits< TKey, TMemManager >::isNothrowRelocatable = ItemManager::isNothrowRelocatable
static

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