20 lines
529 B
C
20 lines
529 B
C
|
|
typedef struct Arena{
|
|
OS_Memory memory;
|
|
U64 len;
|
|
U64 alignment;
|
|
}Arena;
|
|
|
|
typedef struct Arena_Checkpoint{
|
|
Arena *arena;
|
|
SizeU pos;
|
|
} Arena_Checkpoint;
|
|
|
|
function B32 string_compare(String a, String b);
|
|
function void *arena_push_size(Arena *a, SizeU size);
|
|
function String arena_push_string_copy(Arena *arena, String string);
|
|
#define arena_push_array(a,T,c) arena_push_size(a,sizeof(T)*(c))
|
|
#define arena_push_struct(a,T) arena_push_array(a,T,1)
|
|
|
|
function Arena *arena_begin_scratch();
|
|
function void arena_end_scratch(); |