#include "pa_allocation.h"
#include "pa_util.h"
Data Structures | |
struct | PaUtilAllocationGroupLink |
Defines | |
#define | PA_INITIAL_LINK_COUNT_ 16 |
Functions | |
PaUtilAllocationGroup * | PaUtil_CreateAllocationGroup (void) |
void | PaUtil_DestroyAllocationGroup (PaUtilAllocationGroup *group) |
void * | PaUtil_GroupAllocateMemory (PaUtilAllocationGroup *group, long size) |
void | PaUtil_GroupFreeMemory (PaUtilAllocationGroup *group, void *buffer) |
void | PaUtil_FreeAllAllocations (PaUtilAllocationGroup *group) |
#define PA_INITIAL_LINK_COUNT_ 16 |
PaUtilAllocationGroup* PaUtil_CreateAllocationGroup | ( | void | ) |
Create an allocation group.
void PaUtil_DestroyAllocationGroup | ( | PaUtilAllocationGroup * | group | ) |
Destroy an allocation group, but not the memory allocated through the group.
void PaUtil_FreeAllAllocations | ( | PaUtilAllocationGroup * | group | ) |
Free all blocks of memory which have been allocated through the allocation group. This function doesn't destroy the group itself.
void* PaUtil_GroupAllocateMemory | ( | PaUtilAllocationGroup * | group, | |
long | size | |||
) |
Allocate a block of memory though an allocation group.
void PaUtil_GroupFreeMemory | ( | PaUtilAllocationGroup * | group, | |
void * | buffer | |||
) |
Free a block of memory that was previously allocated though an allocation group. Calling this function is a relatively time consuming operation. Under normal circumstances clients should call PaUtil_FreeAllAllocations to free all allocated blocks simultaneously.