45 // predefined allocator that uses stdlib functions |
45 // predefined allocator that uses stdlib functions |
46 CxAllocator * const cxStdlibAllocator; |
46 CxAllocator * const cxStdlibAllocator; |
47 |
47 |
48 // default allocator that can be changed |
48 // default allocator that can be changed |
49 CxAllocator *cxDefaultAllocator = cxStdlibAllocator; |
49 CxAllocator *cxDefaultAllocator = cxStdlibAllocator; |
|
50 |
|
51 // Convenience macros that invokes above functions with the cxDefaultAllocator. |
|
52 #define cxMallocDefault(...) |
|
53 #define cxCallocDefault(...) |
|
54 #define cxReallocDefault(...) |
|
55 #define cxReallocateDefault(...) |
|
56 #define cxReallocateArrayDefault(...) |
|
57 #define cxReallocArrayDefault(...) |
|
58 #define cxFreeDefault(...) |
50 ``` |
59 ``` |
51 |
60 |
52 > All UCX functions that are not _explicitly_ designed for taking an allocator argument |
61 > All UCX functions that are not _explicitly_ designed for taking an allocator argument |
53 > (recognizable by a `_a` suffix in the function's name) do support a `NULL` argument |
62 > (recognizable by a `_a` suffix in the function's name) do support a `NULL` argument |
54 > in which case the `cxDefaultAllocator` will be used. |
63 > in which case the `cxDefaultAllocator` will be used. |