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

#include <Array.h>

Public Types

typedef TItem Item
 
typedef TMemManager MemManager
 
template<typename... ItemArgs>
using Creator = internal::ObjectCreator< Item, MemManager, ItemArgs... >
 

Static Public Member Functions

static constexpr size_t GetAlignment () noexcept
 
static constexpr bool IsNothrowMoveConstructible () noexcept
 
static constexpr bool IsTriviallyRelocatable () noexcept
 
static constexpr bool IsNothrowRelocatable () noexcept
 
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)
 

Member Typedef Documentation

◆ Creator

template<typename TItem , typename TMemManager = MemManagerDefault>
template<typename... ItemArgs>
using momo::ArrayItemTraits< TItem, TMemManager >::Creator = internal::ObjectCreator<Item, MemManager, ItemArgs...>

◆ Item

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

◆ MemManager

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

Member Function Documentation

◆ Assign()

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

◆ Destroy()

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

◆ GetAlignment()

template<typename TItem , typename TMemManager = MemManagerDefault>
static constexpr size_t momo::ArrayItemTraits< TItem, TMemManager >::GetAlignment ( )
inlinestaticconstexprnoexcept

◆ IsNothrowMoveConstructible()

template<typename TItem , typename TMemManager = MemManagerDefault>
static constexpr bool momo::ArrayItemTraits< TItem, TMemManager >::IsNothrowMoveConstructible ( )
inlinestaticconstexprnoexcept

◆ IsNothrowRelocatable()

template<typename TItem , typename TMemManager = MemManagerDefault>
static constexpr bool momo::ArrayItemTraits< TItem, TMemManager >::IsNothrowRelocatable ( )
inlinestaticconstexprnoexcept

◆ IsTriviallyRelocatable()

template<typename TItem , typename TMemManager = MemManagerDefault>
static constexpr bool momo::ArrayItemTraits< TItem, TMemManager >::IsTriviallyRelocatable ( )
inlinestaticconstexprnoexcept

◆ Relocate()

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

◆ RelocateCreate()

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

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