52#ifndef MSGPACK_ZONE_CHUNK_SIZE
53#define MSGPACK_ZONE_CHUNK_SIZE 8192
66static inline void* msgpack_zone_malloc(
msgpack_zone* zone,
size_t size);
67static inline void* msgpack_zone_malloc_no_align(
msgpack_zone* zone,
size_t size);
69static inline bool msgpack_zone_push_finalizer(
msgpack_zone* zone,
70 void (*func)(
void*
data),
void*
data);
83#ifndef MSGPACK_ZONE_ALIGN
84#define MSGPACK_ZONE_ALIGN sizeof(void*)
90static inline void* msgpack_zone_malloc_no_align(
msgpack_zone* zone,
size_t size)
106static inline void* msgpack_zone_malloc(
msgpack_zone* zone,
size_t size)
131 void (*func)(
void*
data),
void*
data);
133static inline bool msgpack_zone_push_finalizer(
msgpack_zone* zone,
134 void (*func)(
void*
data),
void*
data)
MSGPACK_DLLEXPORT void msgpack_zone_free(msgpack_zone *zone)
struct msgpack_zone_chunk msgpack_zone_chunk
Definition zone.h:38
MSGPACK_DLLEXPORT bool msgpack_zone_init(msgpack_zone *zone, size_t chunk_size)
MSGPACK_DLLEXPORT bool msgpack_zone_is_empty(msgpack_zone *zone)
MSGPACK_DLLEXPORT msgpack_zone * msgpack_zone_new(size_t chunk_size)
MSGPACK_DLLEXPORT void msgpack_zone_clear(msgpack_zone *zone)
MSGPACK_DLLEXPORT void msgpack_zone_destroy(msgpack_zone *zone)
msgpack_zone_chunk * head
Definition zone.h:43
char * ptr
Definition zone.h:42
size_t free
Definition zone.h:41
msgpack_zone_finalizer * array
Definition zone.h:34
msgpack_zone_finalizer * tail
Definition zone.h:32
msgpack_zone_finalizer * end
Definition zone.h:33
void * data
Definition zone.h:28
void(* func)(void *data)
Definition zone.h:27
size_t chunk_size
Definition zone.h:49
msgpack_zone_chunk_list chunk_list
Definition zone.h:47
msgpack_zone_finalizer_array finalizer_array
Definition zone.h:48
const char * data
Definition unpack_template.h:94
const char size_t len
Definition unpack_template.h:94
bool msgpack_zone_push_finalizer_expand(msgpack_zone *zone, void(*func)(void *data), void *data)
MSGPACK_DLLEXPORT void * msgpack_zone_malloc_expand(msgpack_zone *zone, size_t size)
#define MSGPACK_ZONE_ALIGN
Definition zone.h:84