Files
2026-10-31 11:14:30 -03:00

30 lines
564 B
C

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define ARENA_MEMORY_ALIGN 8
typedef struct Chunk{
size_t size;
size_t offset;
unsigned char *buffer;
struct Chunk *next;
}Chunk;
typedef struct{
Chunk *current;
Chunk *first;
}Arena;
Arena arena_create(size_t);
void* arena_alloc(Arena*, size_t);
void arena_free(Arena*);
void arena_print(Arena*);
Chunk* arena_chunk_create(size_t);
void arena_chunk_free(Chunk*);
void* arena_chunk_alloc(Arena*, Chunk*, size_t);
char* arena_strdup(Arena*, const char*);