diff -r 7dfa5bcf39ee -r 88a9ee79c102 docs/api-2.1/allocator_8h.html --- a/docs/api-2.1/allocator_8h.html Wed Jan 22 21:02:46 2025 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,600 +0,0 @@ - - -
- - - - -![]() |
-
- ucx
-
- UAP Common Extensions
- |
-
Allocator for custom memory management. -More...
-#include "ucx.h"Go to the source code of this file.
--Data Structures | |
| struct | UcxAllocator |
| UCX allocator data structure containing memory management functions. More... | |
-Macros | |
| #define | almalloc(allocator, n) ((allocator)->malloc((allocator)->pool, n)) |
| Shorthand for calling an allocators malloc function. More... | |
| #define | alcalloc(allocator, n, size) ((allocator)->calloc((allocator)->pool, n, size)) |
| Shorthand for calling an allocators calloc function. More... | |
| #define | alrealloc(allocator, ptr, n) ((allocator)->realloc((allocator)->pool, ptr, n)) |
| Shorthand for calling an allocators realloc function. More... | |
| #define | alfree(allocator, ptr) ((allocator)->free((allocator)->pool, ptr)) |
| Shorthand for calling an allocators free function. More... | |
| #define | UCX_ALLOCATOR_DEFAULT |
Convenient macro for a default allocator struct definition. More... | |
-Typedefs | |
| typedef void *(* | ucx_allocator_malloc) (void *pool, size_t n) |
A function pointer to the allocators malloc() function. More... | |
| typedef void *(* | ucx_allocator_calloc) (void *pool, size_t n, size_t size) |
A function pointer to the allocators calloc() function. More... | |
| typedef void *(* | ucx_allocator_realloc) (void *pool, void *data, size_t n) |
A function pointer to the allocators realloc() function. More... | |
| typedef void(* | ucx_allocator_free) (void *pool, void *data) |
A function pointer to the allocators free() function. More... | |
-Functions | |
| UcxAllocator * | ucx_default_allocator () |
| Returns a pointer to the default allocator. More... | |
| void * | ucx_default_malloc (void *ignore, size_t n) |
A wrapper for the standard libc malloc() function. More... | |
| void * | ucx_default_calloc (void *ignore, size_t n, size_t size) |
A wrapper for the standard libc calloc() function. More... | |
| void * | ucx_default_realloc (void *ignore, void *data, size_t n) |
A wrapper for the standard libc realloc() function. More... | |
| void | ucx_default_free (void *ignore, void *data) |
A wrapper for the standard libc free() function. More... | |
Allocator for custom memory management.
-A UCX allocator consists of a pointer to the memory area / pool and four function pointers to memory management functions operating on this memory area / pool. These functions shall behave equivalent to the standard libc functions malloc(), calloc(), realloc() and free().
The signature of the memory management functions is based on the signature of the respective libc function but each of them takes the pointer to the memory area / pool as first argument.
-As the pointer to the memory area / pool can be arbitrarily chosen, any data can be provided to the memory management functions. A UcxMempool is just one example.
- - -| #define alcalloc | -( | -- | allocator, | -
| - | - | - | n, | -
| - | - | - | size | -
| - | ) | -((allocator)->calloc((allocator)->pool, n, size)) | -
Shorthand for calling an allocators calloc function.
-| allocator | the allocator to use |
| n | the count of elements the space should be allocated for |
| size | the size of each element |
| #define alfree | -( | -- | allocator, | -
| - | - | - | ptr | -
| - | ) | -((allocator)->free((allocator)->pool, ptr)) | -
Shorthand for calling an allocators free function.
-| allocator | the allocator to use |
| ptr | the pointer to the memory area that shall be freed |
| #define almalloc | -( | -- | allocator, | -
| - | - | - | n | -
| - | ) | -((allocator)->malloc((allocator)->pool, n)) | -
Shorthand for calling an allocators malloc function.
-| allocator | the allocator to use |
| n | size of space to allocate |
| #define alrealloc | -( | -- | allocator, | -
| - | - | - | ptr, | -
| - | - | - | n | -
| - | ) | -((allocator)->realloc((allocator)->pool, ptr, n)) | -
Shorthand for calling an allocators realloc function.
-| allocator | the allocator to use |
| ptr | the pointer to the memory area that shall be reallocated |
| n | the new size of the allocated memory area |
| #define UCX_ALLOCATOR_DEFAULT | -
Convenient macro for a default allocator struct definition.
| typedef void*(* ucx_allocator_calloc) (void *pool, size_t n, size_t size) | -
A function pointer to the allocators calloc() function.
| typedef void(* ucx_allocator_free) (void *pool, void *data) | -
A function pointer to the allocators free() function.
| typedef void*(* ucx_allocator_malloc) (void *pool, size_t n) | -
A function pointer to the allocators malloc() function.
| typedef void*(* ucx_allocator_realloc) (void *pool, void *data, size_t n) | -
A function pointer to the allocators realloc() function.
| UcxAllocator* ucx_default_allocator | -( | -) | -- |
Returns a pointer to the default allocator.
-The default allocator contains wrappers to the standard libc memory management functions. Use this function to get a pointer to a globally available allocator. You may also define an own UcxAllocator by assigning UCX_ALLOCATOR_DEFAULT to a variable and pass the address of this variable to any function that takes a UcxAllocator as argument. Note that using this function is the recommended way of passing a default allocator, thus it never runs out of scope.
-| void* ucx_default_calloc | -( | -void * | -ignore, | -
| - | - | size_t | -n, | -
| - | - | size_t | -size | -
| - | ) | -- |
A wrapper for the standard libc calloc() function.
| ignore | ignored (may be used by allocators for pooled memory) |
| n | argument passed to calloc() |
| size | argument passed to calloc() |
calloc() | void ucx_default_free | -( | -void * | -ignore, | -
| - | - | void * | -data | -
| - | ) | -- |
A wrapper for the standard libc free() function.
| ignore | ignored (may be used by allocators for pooled memory) |
| data | argument passed to free() |
| void* ucx_default_malloc | -( | -void * | -ignore, | -
| - | - | size_t | -n | -
| - | ) | -- |
A wrapper for the standard libc malloc() function.
| ignore | ignored (may be used by allocators for pooled memory) |
| n | argument passed to malloc() |
malloc() | void* ucx_default_realloc | -( | -void * | -ignore, | -
| - | - | void * | -data, | -
| - | - | size_t | -n | -
| - | ) | -- |
A wrapper for the standard libc realloc() function.
| ignore | ignored (may be used by allocators for pooled memory) |
| data | argumend passed to realloc() |
| n | argument passed to realloc() |
realloc()
- 1.8.13
-
-
-