blob: 9581d0c74194b8a6bd13e8064b6f91ef07d5e209 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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))
|