| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Namespace List
- Namespace Members

# CS::Memory Namespace Reference

## Classes
class | AllocatorAlign
| This class implements an allocator policy which aligns the first element on given byte boundary. More...
class | AllocatorHeap
| A memory allocator that allocates from a heap. More...
class | AllocatorHeapBase
| A memory allocator that allocates from a heap. More...
class | AllocatorMalloc
| A default memory allocator that allocates with cs_malloc(). More...
struct | AllocatorPointerWrapper
| Class to store a pointer that is allocated from Allocator, to eliminate overhead from a possibly empty Allocator. More...
class | Heap
| A separate heap from which memory can be allocated. More...
struct | HeapAccessPointer
| Heap accessor for AllocatorHeapBase. More...
class | LocalBufferAllocator
| An allocator with a small local buffer. More...
## Functions
void | AlignedFree (void *ptr)
| Free a block of memory allocated with AlignedMalloc.
void * | AlignedMalloc (size_t size, size_t align)
| Allocate a block of memory, with the start address being aligned to a multiple of `align` bytes.
void * | AlignedRealloc (void *ptr, size_t size, size_t align)
| Reallocate a block of memory with a new size, with the start address being aligned to a multiple of `align` bytes.

## Function Documentation

void CS::Memory::AlignedFree | ( | void * | ptr | ) |

Free a block of memory allocated with AlignedMalloc.

Referenced by CS::Memory::AllocatorAlign< A >::Free().

void* CS::Memory::AlignedMalloc | ( | size_t | size,
|  | size_t | align |
| ) |  |  |

Allocate a block of memory, with the start address being aligned to a multiple of `align` bytes.

Remarks:
  The returned block of memory must be freed with AlignedFree.

Referenced by CS::Memory::AllocatorAlign< A >::Alloc().

void* CS::Memory::AlignedRealloc | ( | void * | ptr,
|  | size_t | size,
|  | size_t | align |
| ) |  |  |

Reallocate a block of memory with a new size, with the start address being aligned to a multiple of `align` bytes.

Remarks:
  The returned block of memory must be freed with AlignedFree.

Warning:
  The alignment must be the same as initially passed to AlignedMalloc.

Referenced by CS::Memory::AllocatorAlign< A >::Realloc().