memory - Memory allocation/deallocation functions
void * AcquireMemory( const size_t size );
void * CloneMemory( void *destination, const void *source, const size_t size );
void LiberateMemory( void ** memory );
void ReacquireMemory( void ** memory, const size_t size );
AcquireMemory() returns a pointer to a block of memory of at least size bytes suitably aligned for any use.
The format of the AcquireMemory method is:
void *AcquireMemory ( const size_t size );
A description of each parameter follows:
The size of the memory in bytes to allocate.
CloneMemory() copies size bytes from memory area source to the destination. Copying between objects that overlap will take place correctly. It returns destination.
The format of the CloneMemory method is:
void *CloneMemory ( void *destination, const void *source, const size_t size );
A description of each parameter follows:
The size of the memory in bytes to allocate.
LiberateMemory() frees memory that has already been allocated, and NULLs the pointer to it.
The format of the LiberateMemory method is:
void LiberateMemory ( void **memory );
A description of each parameter follows:
A pointer to a block of memory to free for reuse.
ReacquireMemory() changes the size of the memory and returns a pointer to the ( possibly moved ) block. The contents will be unchanged up to the lesser of the new and old sizes.
The format of the ReacquireMemory method is:
void ReacquireMemory ( void **memory, const size_t size );
A description of each parameter follows:
A pointer to a memory allocation. On return the pointer may change but the contents of the original allocation will not.
The new size of the allocated memory.