1.3 AllocationΒΆ

Functions or objects that allocate memory take a pointer to a ZixAllocator, which can be used to customize the allocation scheme. To simply use the system allocator, callers can pass NULL, which is equivalent to zix_default_allocator().

Zix includes one implementation of a custom allocator, a very simple bump-pointer allocator which can be created with zix_bump_allocator().

A convenience API for using custom allocators (or the system allocator as a fallback) is provided with functions like zix_malloc() that reflect the standard C API.

Memory allocated with an allocator must be freed by calling zix_free() with the same allocator.