momo  3.9
momo::MemManagerStd< TAllocator > Class Template Reference

MemManagerStd uses allocator<unsigned char>::allocate and deallocate More...

#include <MemManager.h>

Inheritance diagram for momo::MemManagerStd< TAllocator >:

Public Types

typedef TAllocator Allocator
 
typedef std::allocator_traits< Allocator >::template rebind_alloc< internal::ByteByteAllocator
 

Public Member Functions

 MemManagerStd () noexcept(std::is_nothrow_default_constructible< ByteAllocator >::value)
 
 MemManagerStd (const Allocator &alloc) noexcept
 
 MemManagerStd (MemManagerStd &&memManager) noexcept
 
 MemManagerStd (const MemManagerStd &memManager)
 
 ~MemManagerStd ()=default
 
template<bool enabled = std::is_nothrow_move_assignable<ByteAllocator>::value || ByteAllocatorTraits::propagate_on_container_move_assignment::value || ByteAllocatorTraits::propagate_on_container_copy_assignment::value || ByteAllocatorTraits::propagate_on_container_swap::value>
internal::EnableIf< enabled, MemManagerStd & > operator= (MemManagerStd &&memManager) noexcept
 
MemManagerStdoperator= (const MemManagerStd &)=delete
 
MOMO_NODISCARD void * Allocate (size_t size)
 
void Deallocate (void *ptr, size_t size) noexcept
 
bool IsEqual (const MemManagerStd &memManager) const noexcept
 
const ByteAllocatorGetByteAllocator () const noexcept
 
ByteAllocatorGetByteAllocator () noexcept
 

Detailed Description

template<typename TAllocator>
class momo::MemManagerStd< TAllocator >

MemManagerStd uses allocator<unsigned char>::allocate and deallocate

Member Typedef Documentation

◆ Allocator

template<typename TAllocator >
typedef TAllocator momo::MemManagerStd< TAllocator >::Allocator

◆ ByteAllocator

template<typename TAllocator >
typedef std::allocator_traits<Allocator>::template rebind_alloc<internal::Byte> momo::MemManagerStd< TAllocator >::ByteAllocator

Constructor & Destructor Documentation

◆ MemManagerStd() [1/4]

template<typename TAllocator >
momo::MemManagerStd< TAllocator >::MemManagerStd ( )
inlineexplicitnoexcept

◆ MemManagerStd() [2/4]

template<typename TAllocator >
momo::MemManagerStd< TAllocator >::MemManagerStd ( const Allocator alloc)
inlineexplicitnoexcept

◆ MemManagerStd() [3/4]

template<typename TAllocator >
momo::MemManagerStd< TAllocator >::MemManagerStd ( MemManagerStd< TAllocator > &&  memManager)
inlinenoexcept

◆ MemManagerStd() [4/4]

template<typename TAllocator >
momo::MemManagerStd< TAllocator >::MemManagerStd ( const MemManagerStd< TAllocator > &  memManager)
inline

◆ ~MemManagerStd()

template<typename TAllocator >
momo::MemManagerStd< TAllocator >::~MemManagerStd ( )
default

Member Function Documentation

◆ Allocate()

template<typename TAllocator >
MOMO_NODISCARD void* momo::MemManagerStd< TAllocator >::Allocate ( size_t  size)
inline

◆ Deallocate()

template<typename TAllocator >
void momo::MemManagerStd< TAllocator >::Deallocate ( void *  ptr,
size_t  size 
)
inlinenoexcept

◆ GetByteAllocator() [1/2]

template<typename TAllocator >
const ByteAllocator& momo::MemManagerStd< TAllocator >::GetByteAllocator ( ) const
inlinenoexcept

◆ GetByteAllocator() [2/2]

template<typename TAllocator >
ByteAllocator& momo::MemManagerStd< TAllocator >::GetByteAllocator ( )
inlinenoexcept

◆ IsEqual()

template<typename TAllocator >
bool momo::MemManagerStd< TAllocator >::IsEqual ( const MemManagerStd< TAllocator > &  memManager) const
inlinenoexcept

◆ operator=() [1/2]

template<typename TAllocator >
MemManagerStd& momo::MemManagerStd< TAllocator >::operator= ( const MemManagerStd< TAllocator > &  )
delete

◆ operator=() [2/2]

template<typename TAllocator >
template<bool enabled = std::is_nothrow_move_assignable<ByteAllocator>::value || ByteAllocatorTraits::propagate_on_container_move_assignment::value || ByteAllocatorTraits::propagate_on_container_copy_assignment::value || ByteAllocatorTraits::propagate_on_container_swap::value>
internal::EnableIf<enabled, MemManagerStd&> momo::MemManagerStd< TAllocator >::operator= ( MemManagerStd< TAllocator > &&  memManager)
inlinenoexcept

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