mirror of
https://github.com/Jous99/F4MP.git
synced 2026-01-12 08:40:53 +01:00
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
#define ZPL_IMPLEMENTATION
|
|
#define ZPL_NANO
|
|
#include "zpl.h"
|
|
|
|
int
|
|
main(void) {
|
|
|
|
// NOTE(ZaKlaus): Create stack memory
|
|
zpl_stack_memory stack = {0};
|
|
zpl_stack_memory_init(&stack, zpl_heap_allocator(), 2);
|
|
|
|
zpl_allocator stack_alloc = zpl_stack_allocator(&stack);
|
|
|
|
// NOTE(ZaKlaus): Create array container
|
|
zpl_array(u32) arr;
|
|
zpl_array_init(arr, stack_alloc);
|
|
|
|
// NOTE(ZaKlaus): Push 5 elements
|
|
for (i32 i = 0; i < 5; ++i) {
|
|
zpl_array_append(arr, i*2);
|
|
}
|
|
|
|
// NOTE(ZaKlaus): List them
|
|
zpl_printf("Before removal:\n");
|
|
for (i32 i = 0; i < 5; ++i) {
|
|
zpl_printf("Value: %d\n", arr[i]);
|
|
}
|
|
|
|
// NOTE(ZaKlaus): Pop 2 values
|
|
zpl_array_pop(arr);
|
|
zpl_array_pop(arr);
|
|
|
|
// NOTE(ZaKlaus): List them again
|
|
zpl_printf("\nAfter removal:\n");
|
|
for (i32 i = 0; i < 3; ++i) {
|
|
zpl_printf("Value: %d\n", arr[i]);
|
|
}
|
|
|
|
// NOTE(ZaKlaus): Clear the array out
|
|
zpl_array_clear(arr);
|
|
|
|
// NOTE(ZaKlaus): Release used resources
|
|
zpl_stack_memory_free(&stack);
|
|
return 0;
|
|
}
|