From 8bec6205ae1631dc0896fe25795b2946ed414df0 Mon Sep 17 00:00:00 2001 From: steven-na Date: Tue, 28 Jul 2026 02:12:54 -0700 Subject: Arenas and start work on strings --- src/ez_arena.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/ez_arena.h (limited to 'src/ez_arena.h') diff --git a/src/ez_arena.h b/src/ez_arena.h new file mode 100644 index 0000000..19def60 --- /dev/null +++ b/src/ez_arena.h @@ -0,0 +1,18 @@ +#pragma once + +#include "common.h" + +#define EZ_ARENA_BASE_POS (sizeof(ez_arena_t)) + +typedef struct { + u64 alloc_size; + u64 pos; +} ez_arena_t; + +ez_arena_t *ez_arena_create(u64 size, b32 zero_out); + void *ez_arena_alloc(ez_arena_t *arena, u64 alloc_amount); + void *ez_arena_alloc_nz(ez_arena_t *arena, u64 alloc_amount); + void ez_arena_clear(ez_arena_t *arena, b32 zero_out); + void ez_arena_destroy(ez_arena_t *arena); + +#define EZA_ALLOC_ARRAY(arena, T, n) (T*)ez_arena_alloc(arena, sizeof(T) * (n)) -- cgit v1.2.3