#include "dynamic_array.h" #include "arena_allocator.h" #include wn_darr *wn_darr_init(Arena *arena, size_t object_size, size_t object_count) { wn_darr *darr = arena_alloc(arena, sizeof(wn_darr)); *darr = (wn_darr){.metadata = arena_init(arena, object_count * sizeof(void *)), .data = arena_init(arena, object_count * object_size), .count = 0}; assert(darr->metadata != NULL); assert(darr->data != NULL); return darr; } void wn_darr_deinit(wn_darr *dynamic_array) { assert(dynamic_array->metadata != NULL); assert(dynamic_array->data != NULL); arena_deinit(dynamic_array->metadata); arena_deinit(dynamic_array->data); } // TODO: This void wn_darr_append(wn_darr *dynamic_array, void *data, size_t data_size) {}