src/cx/allocator.h

changeset 397
cfc1193b1e65
parent 396
3539dd99ab92
child 405
44efaa54d63d
     1.1 --- a/src/cx/allocator.h	Sun Feb 07 17:17:46 2021 +0100
     1.2 +++ b/src/cx/allocator.h	Sun Feb 07 18:08:21 2021 +0100
     1.3 @@ -31,18 +31,13 @@
     1.4  
     1.5  #include <stdlib.h>
     1.6  
     1.7 -/* LOW LEVEL API */
     1.8 +typedef void *(*cx_malloc_func)(void *data, size_t n);
     1.9  
    1.10 -typedef void* cx_allocator;
    1.11 -typedef void*(*cx_malloc_func)(cx_allocator a, size_t n);
    1.12 -typedef void*(*cx_realloc_func)(cx_allocator a, void* mem, size_t n);
    1.13 -typedef void*(*cx_calloc_func)(cx_allocator a, size_t nelem, size_t n);
    1.14 -typedef void(*cx_free_func)(cx_allocator a, void* mem);
    1.15 +typedef void *(*cx_realloc_func)(void *data, void *mem, size_t n);
    1.16  
    1.17 -void* cx_malloc_stdlib(cx_allocator a, size_t n);
    1.18 -void* cx_realloc_stdlib(cx_allocator a, void* mem, size_t n);
    1.19 -void* cx_calloc_stdlib(cx_allocator a, size_t nelem, size_t n);
    1.20 -void cx_free_stdlib(cx_allocator a, void* mem);
    1.21 +typedef void *(*cx_calloc_func)(void *data, size_t nelem, size_t n);
    1.22 +
    1.23 +typedef void(*cx_free_func)(void *data, void *mem);
    1.24  
    1.25  typedef struct {
    1.26      cx_malloc_func malloc;
    1.27 @@ -53,19 +48,20 @@
    1.28  
    1.29  extern cx_allocator_class cx_default_allocator_class;
    1.30  
    1.31 -/* HIGH LEVEL API */
    1.32 -
    1.33  struct cx_allocator_s {
    1.34      cx_allocator_class *cl;
    1.35 -    cx_allocator data;
    1.36 +    void *data;
    1.37  };
    1.38 -typedef struct cx_allocator_s* CxAllocator;
    1.39 +typedef struct cx_allocator_s *CxAllocator;
    1.40  
    1.41  extern CxAllocator cxDefaultAllocator;
    1.42  
    1.43 -void* cxMalloc(CxAllocator allocator, size_t n);
    1.44 -void* cxRealloc(CxAllocator allocator, void* mem, size_t n);
    1.45 -void* cxCalloc(CxAllocator allocator, size_t nelem, size_t n);
    1.46 -void cxFree(CxAllocator allocator, void* mem);
    1.47 +void *cxMalloc(CxAllocator allocator, size_t n);
    1.48 +
    1.49 +void *cxRealloc(CxAllocator allocator, void *mem, size_t n);
    1.50 +
    1.51 +void *cxCalloc(CxAllocator allocator, size_t nelem, size_t n);
    1.52 +
    1.53 +void cxFree(CxAllocator allocator, void *mem);
    1.54  
    1.55  #endif /* UCX_ALLOCATOR_H */

mercurial