momo  3.9
momo::ArrayItemTraits< TItem, TMemManager > Class Template Reference

#include <Array.h>

Public Types

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

Static Public Member Functions

static void Destroy (MemManager &memManager, Item *items, size_t count) noexcept
 
static void Relocate (MemManager &memManager, Item *srcItems, Item *dstItems, size_t count) noexcept(isNothrowRelocatable)
 
template<typename ItemCreator >
static void RelocateCreate (MemManager &memManager, Item *srcItems, Item *dstItems, size_t count, ItemCreator &&itemCreator, Item *newItem)
 
template<typename ItemArg >
static void Assign (MemManager &, ItemArg &&itemArg, Item &item)
 

Static Public Attributes

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

Member Typedef Documentation

◆ Creator

template<typename TItem , typename TMemManager >
template<typename... ItemArgs>
using momo::ArrayItemTraits< TItem, TMemManager >::Creator = typename ItemManager::template Creator<ItemArgs...>

◆ Item

template<typename TItem , typename TMemManager >
typedef TItem momo::ArrayItemTraits< TItem, TMemManager >::Item

◆ MemManager

template<typename TItem , typename TMemManager >
typedef TMemManager momo::ArrayItemTraits< TItem, TMemManager >::MemManager

Member Function Documentation

◆ Assign()

template<typename TItem , typename TMemManager >
template<typename ItemArg >
static void momo::ArrayItemTraits< TItem, TMemManager >::Assign ( MemManager ,
ItemArg &&  itemArg,
Item item 
)
inlinestatic

◆ Destroy()

template<typename TItem , typename TMemManager >
static void momo::ArrayItemTraits< TItem, TMemManager >::Destroy ( MemManager memManager,
Item items,
size_t  count 
)
inlinestaticnoexcept

◆ Relocate()

template<typename TItem , typename TMemManager >
static void momo::ArrayItemTraits< TItem, TMemManager >::Relocate ( MemManager memManager,
Item srcItems,
Item dstItems,
size_t  count 
)
inlinestaticnoexcept

◆ RelocateCreate()

template<typename TItem , typename TMemManager >
template<typename ItemCreator >
static void momo::ArrayItemTraits< TItem, TMemManager >::RelocateCreate ( MemManager memManager,
Item srcItems,
Item dstItems,
size_t  count,
ItemCreator &&  itemCreator,
Item newItem 
)
inlinestatic

Member Data Documentation

◆ alignment

template<typename TItem , typename TMemManager >
const size_t momo::ArrayItemTraits< TItem, TMemManager >::alignment = ItemManager::alignment
static

◆ isNothrowMoveConstructible

template<typename TItem , typename TMemManager >
const bool momo::ArrayItemTraits< TItem, TMemManager >::isNothrowMoveConstructible = ItemManager::isNothrowMoveConstructible
static

◆ isNothrowRelocatable

template<typename TItem , typename TMemManager >
const bool momo::ArrayItemTraits< TItem, TMemManager >::isNothrowRelocatable = ItemManager::isNothrowRelocatable
static

◆ isTriviallyRelocatable

template<typename TItem , typename TMemManager >
const bool momo::ArrayItemTraits< TItem, TMemManager >::isTriviallyRelocatable = ItemManager::isTriviallyRelocatable
static

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