XArenaMark
A mark is a lightweight snapshot for scoped unwinds.
typedef struct XArenaMark{
XArenaChunk *chunk;
size_t used;
}XArenaMark;
A mark is a lightweight snapshot for scoped unwinds.
typedef struct XArenaMark{
XArenaChunk *chunk;
size_t used;
}XArenaMark;
Makes a snapshot of the arena state.
X_ARENA_API XArenaMark x_arena_mark(XArena *arena);
XArena *arenaA snapshot of the current arena state.
Rewind the arena to a previous mark (frees newer chunks).
X_ARENA_API void x_arena_release(
XArena *arena,
XArenaMark mark
);
XArena *arenaXArenaMark mark