diff options
author | Omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-05-03 21:37:51 +1000 |
---|---|---|
committer | Omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-05-03 21:37:51 +1000 |
commit | aed7d1b7ac340c19656059c9cbd94aff40952f83 (patch) | |
tree | 9629cfda30456200e2496d0ac706de0002927614 /src/std/mem.h | |
parent | 8407723dfc12d302f6b696f702a5ae9caaf219c1 (diff) |
create logical device
Diffstat (limited to 'src/std/mem.h')
-rw-r--r-- | src/std/mem.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/std/mem.h b/src/std/mem.h index 2f92894..bbfb852 100644 --- a/src/std/mem.h +++ b/src/std/mem.h @@ -18,9 +18,16 @@ typedef struct arena { char* end; } arena; +typedef struct arena_save { + arena* arena; + char* savepoint; +} arena_save; + arena arena_create(void* backing_buffer, size_t capacity); void* arena_alloc(arena* a, size_t size); void* arena_alloc_align(arena* a, size_t size, size_t align); void arena_free_all(arena* a); void arena_free_storage(arena* a); +arena_save arena_savepoint(arena* a); +void arena_rewind(arena_save savepoint); // TODO: arena_resize
\ No newline at end of file |