summaryrefslogtreecommitdiff
path: root/source/kit/allocator.h
blob: 73eaa381ecb30ada30c548f685752d8ac70ffaae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef KIT_ALLOCATOR_H
#define KIT_ALLOCATOR_H

#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef void *(*kit_allocate_fn)(void *state, size_t size);
typedef void (*kit_deallocate_fn)(void *state, void *pointer);

typedef struct {
  void             *state;
  kit_allocate_fn   allocate;
  kit_deallocate_fn deallocate;
} kit_allocator_t;

kit_allocator_t kit_alloc_default(void);

#ifdef __cplusplus
}
#endif

#endif