#ifndef INCLUDE_ROARING_MEMORY_H_ #define INCLUDE_ROARING_MEMORY_H_ #ifdef __cplusplus extern "C" { #endif #include // for size_t typedef void* (*roaring_malloc_p)(size_t); typedef void* (*roaring_realloc_p)(void*, size_t); typedef void* (*roaring_calloc_p)(size_t, size_t); typedef void (*roaring_free_p)(void*); typedef void* (*roaring_aligned_malloc_p)(size_t, size_t); typedef void (*roaring_aligned_free_p)(void*); typedef struct roaring_memory_s { roaring_malloc_p malloc; roaring_realloc_p realloc; roaring_calloc_p calloc; roaring_free_p free; roaring_aligned_malloc_p aligned_malloc; roaring_aligned_free_p aligned_free; } roaring_memory_t; void roaring_init_memory_hook(roaring_memory_t memory_hook); void* roaring_malloc(size_t); void* roaring_realloc(void*, size_t); void* roaring_calloc(size_t, size_t); void roaring_free(void*); void* roaring_aligned_malloc(size_t, size_t); void roaring_aligned_free(void*); #ifdef __cplusplus } #endif #endif // INCLUDE_ROARING_MEMORY_H_