From 0566f0804b7e48a1070d0d3a5d0f6817b4003a05 Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Fri, 16 Jan 2026 16:54:39 -0600 Subject: move include directory --- include/arena.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 include/arena.h (limited to 'include/arena.h') diff --git a/include/arena.h b/include/arena.h new file mode 100644 index 0000000..fa1674b --- /dev/null +++ b/include/arena.h @@ -0,0 +1,28 @@ +#ifndef VL_ARENA_H_INCLUDED +#define VL_ARENA_H_INCLUDED + +/* implements a basic arena allocator */ + +#include +#include + +typedef struct vl__arena_tag vl_arena; + +/* returns NULL if an arena could not be allocated */ +vl_arena *vl_arena_new(size_t cap); + +/* aborts if the arena is overflowing */ +void *vl_arena_push(vl_arena *parena, size_t len); + +/* resets the arena (but does not free it) */ +void vl_arena_reset(vl_arena *parena); + +/* frees the arena */ +void vl_arena_free(vl_arena *parena); + +char *vl_arena_strdup(vl_arena *parena, const char *str); + +char *vl_arena_sprintf(vl_arena *parena, const char *fmt, ...); +char *vl_arena_vsprintf(vl_arena *parena, const char *fmt, va_list ap); + +#endif /* include guard */ -- cgit v1.2.3-70-g09d2