VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
|
Pool which proxies allocations to the stdlib. More...
#include <TMemoryPoolStd.hpp>
Public Member Functions | |
void * | allocate (Size size) override |
void | deallocate (void *ptr) override |
void * | reallocate (void *ptr, size_t size) override |
![]() | |
MemoryPool (void *pool, Size size) | |
Construct a pool from memory provided. More... | |
~MemoryPool () | |
Size | getAllocated () const |
Size | getTotalSize () const |
void * | clearallocate (size_t num, size_t size) |
Allocates space for num of structs with size size and clears the memory. More... | |
template<class T , typename ... Args> | |
T * | create (Args &&... args) |
Acts like new. More... | |
template<class T , typename ... Args> | |
T * | createArray (size_t count, Args &&... args) |
template<class T > | |
void | dispose (T *ptr) |
Acts like delete. More... | |
template<class T > | |
void | disposeArray (size_t count, T *ptr) |
Acts like delete. More... | |
void | deallocateAligned (void *ptr) |
void * | allocateAligned (const Size size, const Size align=DEFAULT_ALIGN) |
Allocate aligned if simd is enabled. More... | |
Static Public Member Functions | |
static MemoryPoolStd & | instance () |
The pool uses the standard allocator So no need for multiple instances. More... | |
Private Member Functions | |
MemoryPoolStd () | |
Private Attributes | |
char | mDummyPool [sizeof(SharedPool)] |
void *(*const | mAllocate )(size_t) |
Additional Inherited Members | |
![]() | |
using | Size = uintptr_t |
using | Byte = unsigned char |
using | Mutex = SpinLock |
using | Lock = LockGuard< Mutex > |
![]() | |
SharedPool & | mPool |
![]() | |
static constexpr Size | DEFAULT_ALIGN = xsimd::default_arch::alignment() |
Pool which proxies allocations to the stdlib.
Needs to be included before the monkey patch.
Definition at line 14 of file TMemoryPoolStd.hpp.
|
inlineprivate |
Definition at line 17 of file TMemoryPoolStd.hpp.
|
inlineoverridevirtual |
Implements tklb::memory::MemoryPool.
Definition at line 36 of file TMemoryPoolStd.hpp.
|
inlineoverridevirtual |
Implements tklb::memory::MemoryPool.
Definition at line 47 of file TMemoryPoolStd.hpp.
|
inlinestatic |
The pool uses the standard allocator So no need for multiple instances.
Definition at line 31 of file TMemoryPoolStd.hpp.
|
inlineoverridevirtual |
Implements tklb::memory::MemoryPool.
Definition at line 56 of file TMemoryPoolStd.hpp.
|
inlineprivate |
Definition at line 18 of file TMemoryPoolStd.hpp.
|
private |
Definition at line 16 of file TMemoryPoolStd.hpp.