The Nebula Device 3: Memory Namespace Reference

The Nebula Device 3

Memory Namespace Reference


Detailed Description

The Nebula3 Memory subsystem implements custom memory allocation mechanisms which provide higher performance and better debugging aids.

Data Structures

struct  MemoryStatus
class  Heap
class  Memory

Functions

__forceinline void * Alloc (size_t size)
__forceinline void * Realloc (void *ptr, size_t size)
__forceinline void Free (void *ptr)
__forceinline void Copy (const void *from, void *to, size_t numBytes)
__forceinline void Clear (void *ptr, size_t numBytes)
__forceinline char * DuplicateCString (const char *from)

Function Documentation

__forceinline void* Memory::Alloc ( size_t  size  ) 

Allocate a block of memory from the process heap.

__forceinline void* Memory::Realloc ( void *  ptr,
size_t  size 
)

Reallocate a block of memory.

__forceinline void Memory::Free ( void *  ptr  ) 

Free a chunk of memory from the process heap.

__forceinline void Memory::Copy ( const void *  from,
void *  to,
size_t  numBytes 
)

Copy a chunk of memory (note the argument order is different from memcpy()!!!)

__forceinline void Memory::Clear ( void *  ptr,
size_t  numBytes 
)

Overwrite a chunk of memory with 0's.

__forceinline char* Memory::DuplicateCString ( const char *  from  ) 

Duplicate a 0-terminated string.