diff -r 3539dd99ab92 -r cfc1193b1e65 src/cx/allocator.h --- a/src/cx/allocator.h Sun Feb 07 17:17:46 2021 +0100 +++ b/src/cx/allocator.h Sun Feb 07 18:08:21 2021 +0100 @@ -31,18 +31,13 @@ #include -/* LOW LEVEL API */ +typedef void *(*cx_malloc_func)(void *data, size_t n); -typedef void* cx_allocator; -typedef void*(*cx_malloc_func)(cx_allocator a, size_t n); -typedef void*(*cx_realloc_func)(cx_allocator a, void* mem, size_t n); -typedef void*(*cx_calloc_func)(cx_allocator a, size_t nelem, size_t n); -typedef void(*cx_free_func)(cx_allocator a, void* mem); +typedef void *(*cx_realloc_func)(void *data, void *mem, size_t n); -void* cx_malloc_stdlib(cx_allocator a, size_t n); -void* cx_realloc_stdlib(cx_allocator a, void* mem, size_t n); -void* cx_calloc_stdlib(cx_allocator a, size_t nelem, size_t n); -void cx_free_stdlib(cx_allocator a, void* mem); +typedef void *(*cx_calloc_func)(void *data, size_t nelem, size_t n); + +typedef void(*cx_free_func)(void *data, void *mem); typedef struct { cx_malloc_func malloc; @@ -53,19 +48,20 @@ extern cx_allocator_class cx_default_allocator_class; -/* HIGH LEVEL API */ - struct cx_allocator_s { cx_allocator_class *cl; - cx_allocator data; + void *data; }; -typedef struct cx_allocator_s* CxAllocator; +typedef struct cx_allocator_s *CxAllocator; extern CxAllocator cxDefaultAllocator; -void* cxMalloc(CxAllocator allocator, size_t n); -void* cxRealloc(CxAllocator allocator, void* mem, size_t n); -void* cxCalloc(CxAllocator allocator, size_t nelem, size_t n); -void cxFree(CxAllocator allocator, void* mem); +void *cxMalloc(CxAllocator allocator, size_t n); + +void *cxRealloc(CxAllocator allocator, void *mem, size_t n); + +void *cxCalloc(CxAllocator allocator, size_t nelem, size_t n); + +void cxFree(CxAllocator allocator, void *mem); #endif /* UCX_ALLOCATOR_H */