diff options
Diffstat (limited to 'include/memory.h')
| -rw-r--r-- | include/memory.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/memory.h b/include/memory.h new file mode 100644 index 0000000..d202e97 --- /dev/null +++ b/include/memory.h @@ -0,0 +1,16 @@ +#pragma once +#include <stddef.h> + +#include "types.h" + +typedef struct { + size cap; + byte *beg; + byte *end; +} Arena; + +Arena Arena_new(size cap); +#define new(a, T, n) (T *)alloc(a, n, sizeof(T), _Alignof(T)) +void *alloc(Arena *a, size count, size tsize, size align); +size Arena_get_used(Arena a); +void Arena_reset(Arena *a); |
