jc/array/dynamic_array.jai
Judah Caruso 606bf14ffe .
2025-05-24 13:16:02 -06:00

30 lines
619 B
Text

// @todo(judah): replace array_add
append :: inline (arr: *[..]$T, value: T) -> *T {
ptr := basic.array_add(arr);
ptr.* = value;
return ptr;
}
append :: inline (arr: *[..]$T, values: ..T) -> *T {
count := arr.count;
basic.array_add(arr, ..values);
return *arr.data[count];
}
append :: inline (arr: *[..]$T) -> *T {
return basic.array_add(arr);
}
reset :: inline (arr: *[..]$T, $keep_memory := true) {
arr.count = 0;
#if !keep_memory {
mem.release_memory(arr.data,, allocator = arr.allocator);
}
}
#scope_file;
mem :: #import "jc/memory";
basic :: #import "Basic"; // @future