Struct in stdx_arena.h

XArenaMark

A mark is a lightweight snapshot for scoped unwinds.

typedef struct XArenaMark{
  XArenaChunk *chunk;
  size_t used;
}XArenaMark;
Function in stdx_arena.h

x_arena_mark

Makes a snapshot of the arena state.

X_ARENA_API XArenaMark x_arena_mark(XArena *arena);

Parameters

XArena *arena
The arena to take snapshot from.

Returns

A snapshot of the current arena state.

Function in stdx_arena.h

x_arena_release

Rewind the arena to a previous mark (frees newer chunks).

X_ARENA_API void x_arena_release(
 XArena *arena,
 XArenaMark mark
);

Parameters

XArena *arena
The arena to apply the snapshot.
XArenaMark mark
The snapshot to apply.