52 #ifndef UCX_ALLOCATOR_H 53 #define UCX_ALLOCATOR_H 65 typedef void*(*ucx_allocator_malloc)(
void *pool,
size_t n);
71 typedef void*(*ucx_allocator_calloc)(
void *pool,
size_t n,
size_t size);
77 typedef void*(*ucx_allocator_realloc)(
void *pool,
void *data,
size_t n);
165 #define almalloc(allocator, n) ((allocator)->malloc((allocator)->pool, n)) 174 #define alcalloc(allocator, n, size) \ 175 ((allocator)->calloc((allocator)->pool, n, size)) 184 #define alrealloc(allocator, ptr, n) \ 185 ((allocator)->realloc((allocator)->pool, ptr, n)) 192 #define alfree(allocator, ptr) ((allocator)->free((allocator)->pool, ptr)) 197 #define UCX_ALLOCATOR_DEFAULT {NULL, \ 198 ucx_default_malloc, ucx_default_calloc, ucx_default_realloc, \ Main UCX Header providing most common definitions.
void * ucx_default_malloc(void *ignore, size_t n)
A wrapper for the standard libc malloc() function.
Definition: allocator.c:46
UCX allocator data structure containing memory management functions.
Definition: allocator.h:88
ucx_allocator_malloc malloc
The malloc() function for this allocator.
Definition: allocator.h:97
void *(* ucx_allocator_calloc)(void *pool, size_t n, size_t size)
A function pointer to the allocators calloc() function.
Definition: allocator.h:71
ucx_allocator_free free
The free() function for this allocator.
Definition: allocator.h:109
void *(* ucx_allocator_malloc)(void *pool, size_t n)
A function pointer to the allocators malloc() function.
Definition: allocator.h:65
UcxAllocator * ucx_default_allocator()
Returns a pointer to the default allocator.
Definition: allocator.c:41
void * ucx_default_calloc(void *ignore, size_t n, size_t size)
A wrapper for the standard libc calloc() function.
Definition: allocator.c:50
void *(* ucx_allocator_realloc)(void *pool, void *data, size_t n)
A function pointer to the allocators realloc() function.
Definition: allocator.h:77
void * ucx_default_realloc(void *ignore, void *data, size_t n)
A wrapper for the standard libc realloc() function.
Definition: allocator.c:54
void(* ucx_allocator_free)(void *pool, void *data)
A function pointer to the allocators free() function.
Definition: allocator.h:83
ucx_allocator_calloc calloc
The calloc() function for this allocator.
Definition: allocator.h:101
void ucx_default_free(void *ignore, void *data)
A wrapper for the standard libc free() function.
Definition: allocator.c:58
ucx_allocator_realloc realloc
The realloc() function for this allocator.
Definition: allocator.h:105
void * pool
Pointer to an area of memory or a complex memory pool.
Definition: allocator.h:93