LibGame v0.4.0
The LG Game Engine - Copyright (C) 2024-2026 ETMSoftware
Loading...
Searching...
No Matches
lg_arena.c File Reference

Functions

LG_Arena lg_arena_create (size_t size)
 
zboolean lg_arena_was_initialized (LG_Arena *arena)
 
void * lg_arena_alloc (LG_Arena *arena, size_t size)
 
void lg_arena_reset (LG_Arena *arena)
 
zboolean lg_arena_release (LG_Arena *arena)
 
void lg_arena_info (LG_Arena *arena)
 
size_t lg_get_sys_page_size ()
 
size_t lg_align_up_to_next_pagesize_boundary (size_t size)
 

Detailed Description

Arena allocator implementation

Function Documentation

◆ lg_arena_create()

LG_Arena lg_arena_create ( size_t  size)

Create arena

Returns
A new LG_Arena

◆ lg_arena_was_initialized()

zboolean lg_arena_was_initialized ( LG_Arena arena)

Check if arena was proprerly initialized

Parameters
arenaPointer to a LG_Arena
Returns
TRUE if initialized, FALSE otherwise

◆ lg_arena_alloc()

void * lg_arena_alloc ( LG_Arena arena,
size_t  size 
)

Allocate memory from arena

Parameters
arenaPointer to a LG_Arena
Returns
Newly arena-allocated memory

◆ lg_arena_reset()

void lg_arena_reset ( LG_Arena arena)

Reset arena

Parameters
arenaPointer to a LG_Arena

◆ lg_arena_release()

zboolean lg_arena_release ( LG_Arena arena)

Release arena

Parameters
arenaPointer to a LG_Arena
Returns
TRUE if OK, FALSE on error

◆ lg_arena_info()

void lg_arena_info ( LG_Arena arena)

Print out LG_Arena info

Parameters
arenaPointer to a LG_Arena

◆ lg_get_sys_page_size()

size_t lg_get_sys_page_size ( )

Get system page size

Returns
Page size

◆ lg_align_up_to_next_pagesize_boundary()

size_t lg_align_up_to_next_pagesize_boundary ( size_t  size)

Align size up to next sys page size boundary

Parameters
sizeRequired size
Returns
New aligned size (always >= size)