]> git.bts.cx Git - benzene.git/blob - src/bz/memory/arena.h
Initial version
[benzene.git] / src / bz / memory / arena.h
1 #ifndef BZ_MEMORY_STADIUM_H
2 #define BZ_MEMORY_STADIUM_H
3
4 #include <bz/types/common.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 typedef struct BZMemoryArena BZMemoryArena;
11 typedef BZMemoryArena * BZMemoryArenaID;
12
13 extern BZMemoryArenaID kBZSystemMemoryArena;
14
15 extern BZMemoryArenaID bzMemoryArenaCreate(BZMemoryArenaID hostArena, size_t size, const char *nameFmt, ...);
16
17 extern void bzMemoryArenaReset(BZMemoryArenaID arena);
18 extern void bzMemoryArenaResetTmp(BZMemoryArenaID arena); // Reset temporary memory only
19
20 extern void bzMemoryArenaPushWatermark(BZMemoryArenaID arena);
21 extern void bzMemoryArenaPopWatermark(BZMemoryArenaID arena);
22
23 #ifdef __cplusplus
24 }
25 #endif
26
27 #endif