@@ -279,3 +279,11 @@ calc_padding_with_header :: proc(ptr: uintptr, align: uintptr, header_size: int)
return int(padding);
}
+
+clone_slice :: proc(slice: $T/[]$E, allocator := context.allocator, loc := #caller_location) -> T {
+ new_slice := make(T, len(slice), allocator, loc);
+ copy(new_slice, slice);
+ return new_slice;
+}