#include int main(void) { u64 i, size, *value; size = UN_KB(1); { // std Allocator std = un_allocator_get_standard(); void *mem = un_memory_alloc(size, std); if (mem != NULL) { un_memory_free(mem, std); } } { // temp Allocator temp = un_allocator_get_temporary(); u8 *mem = (u8*) un_memory_alloc(size, temp); assert(mem != NULL); for (i = 0; i < size; i++) { mem[i] = 0xAB; } un_memory_destroy(&temp); } { // arena Allocator arena = un_allocator_create_arena(size); for (i = 0; i < 1000; i++) { value = un_memory_alloc(8, arena); *value = 0xAC; } un_memory_destroy(&arena); } { // wrapper Allocator wrapper = un_allocator_create_wrapper(un_allocator_create_arena(size)); for (i = 0; i < 1000; i++) { value = un_memory_alloc(8, wrapper); *value = 0xAC; } un_memory_destroy(&wrapper); } }