Refactor array to avoid having to include external types

This commit is contained in:
2025-05-05 16:33:08 +01:00
parent 98a802e3eb
commit 4e3945d1d0
18 changed files with 841 additions and 1035 deletions

View File

@@ -1,18 +1,19 @@
u64 allocation_size = sizeof({ArrayType}) + sizeof({T}) * capacity;
{ArrayType} *array = NULL;
u64 allocation_size = sizeof({ArrayType}) + item_size * capacity;
{ArrayType} *array = NULL;
if (!allocator) {{
goto RETURN_{Tupper}_ARRAY_ALLOC;
goto RETURN_GENERIC_ARRAY_ALLOC;
}}
array = wapp_mem_allocator_alloc(allocator, allocation_size);
if (!array) {{
goto RETURN_{Tupper}_ARRAY_ALLOC;
goto RETURN_GENERIC_ARRAY_ALLOC;
}}
array->items = ({T} *)((u8 *)array + sizeof({ArrayType}));
array->count = 0;
array->capacity = capacity;
array->items = ({T} *)((u8 *)array + sizeof({ArrayType}));
array->count = 0;
array->capacity = capacity;
array->item_size = item_size;
RETURN_{Tupper}_ARRAY_ALLOC:
RETURN_GENERIC_ARRAY_ALLOC:
return array;