Base Framework
Static Public Member Functions | List of all members
DynamicMemory Class Reference

Dynamic memory. More...

#include <base/mem/DynamicMemory.h>

Static Public Member Functions

static void * allocate (MemorySize size) noexcept
 
static void release (void *memory) noexcept
 
static void * operator new (MemorySize size, void *place) noexcept
 
static void operator delete (void *memory, void *place) noexcept
 
static void * operator new[] (MemorySize size, void *place) noexcept
 
static void operator delete[] (void *memory, void *place) noexcept
 
static void * operator new (MemorySize size)
 
static void operator delete (void *memory)
 
static void * operator new[] (MemorySize size)
 
static void operator delete[] (void *memory)
 

Detailed Description

Dynamic memory.

This class provides support for dynamic memory allocation/deallocation. Compatible with Heap class.

See also
DebugDynamicMemory
Version
1.0

Member Function Documentation

◆ allocate()

static void* DynamicMemory::allocate ( MemorySize  size)
staticnoexcept

Allocates the specified number of bytes on the heap. The behavior is unspecified if the desired size is 0.

Parameters
sizeThe desired size of the memory block in number of bytes.
Returns
nullptr if not successful.

◆ operator delete() [1/2]

static void DynamicMemory::operator delete ( void *  memory)
static

Releases a dynamic memory block previously allocated by new. Raises MemoryException if memory is 0.

◆ operator delete() [2/2]

static void DynamicMemory::operator delete ( void *  memory,
void *  place 
)
inlinestaticnoexcept

Dynamic memory placement operator.

◆ operator delete[]() [1/2]

static void DynamicMemory::operator delete[] ( void *  memory)
static

Releases dynamic memory previously allocated by new[]. Raises MemoryException if memory is 0.

◆ operator delete[]() [2/2]

static void DynamicMemory::operator delete[] ( void *  memory,
void *  place 
)
inlinestaticnoexcept

Releases dynamic memory previously allocated by new[].

◆ operator new() [1/2]

static void* DynamicMemory::operator new ( MemorySize  size)
static

Allocates a block of dynamic memory of the specified size in bytes. Raises MemoryException if the requested size is 0.

◆ operator new() [2/2]

static void* DynamicMemory::operator new ( MemorySize  size,
void *  place 
)
inlinestaticnoexcept

Dynamic memory placement operator.

◆ operator new[]() [1/2]

static void* DynamicMemory::operator new[] ( MemorySize  size)
static

Allocates a block of dynamic memory for an array of the specified size in bytes. Raises MemoryException if the requested size is 0.

◆ operator new[]() [2/2]

static void* DynamicMemory::operator new[] ( MemorySize  size,
void *  place 
)
inlinestaticnoexcept

Dynamic memory placement operator for arrays.

◆ release()

static void DynamicMemory::release ( void *  memory)
staticnoexcept

Frees the specified memory block previously allocated by allocate(). Does nothing if the pointer is 0.

Parameters
memoryThe memory block.