diff --git a/arena.h b/arena.h index 7ec4c8f..a974ab4 100644 --- a/arena.h +++ b/arena.h @@ -347,6 +347,15 @@ void *arena_memcpy(void *dest, const void *src, size_t n) return dest; } +size_t arena_memory_usage(Arena* arena) +{ + size_t mem_usage = 0; + for(Region* r = arena->begin; r != NULL; r = r->next) { + mem_usage += sizeof(Region) + (sizeof(uintptr_t) * r->capacity); + } + return mem_usage; +} + char *arena_strdup(Arena *a, const char *cstr) { size_t n = arena_strlen(cstr);