Add set function for dyn arr

This commit is contained in:
Hugo Mårdbrink 2025-04-19 19:17:49 +02:00
parent 81731c38f4
commit 2a87f8e144
2 changed files with 6 additions and 0 deletions

View file

@ -15,6 +15,8 @@ void dynarr_init(DynamicArray* arr, usize size);
void* dynarr_at(DynamicArray* arr, usize idx); void* dynarr_at(DynamicArray* arr, usize idx);
void dynarr_set(DynamicArray* arr, usize idx, void* data);
void dynarr_push(DynamicArray* arr, void* data); void dynarr_push(DynamicArray* arr, void* data);
void dynarr_free(DynamicArray* arr); void dynarr_free(DynamicArray* arr);

View file

@ -18,6 +18,10 @@ void* dynarr_at(DynamicArray* arr, usize idx) {
return &((u8*)arr->data)[arr->data_size * idx]; return &((u8*)arr->data)[arr->data_size * idx];
} }
void dynarr_set(DynamicArray* arr, usize idx, void* data) {
memcpy(&((u8*)arr->data)[arr->data_size * idx], data, arr->data_size);
}
void* dynarr_last(DynamicArray* arr) { void* dynarr_last(DynamicArray* arr) {
return &((u8*)arr->data)[arr->data_size * (arr->len - 1)]; return &((u8*)arr->data)[arr->data_size * (arr->len - 1)];
} }