aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/runtime/core_builtin_soa.odin13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/runtime/core_builtin_soa.odin b/core/runtime/core_builtin_soa.odin
index ee2a5f2d0..f3882a9a8 100644
--- a/core/runtime/core_builtin_soa.odin
+++ b/core/runtime/core_builtin_soa.odin
@@ -413,3 +413,16 @@ delete_soa :: proc{
delete_soa_slice,
delete_soa_dynamic_array,
}
+
+
+clear_soa_dynamic_array :: proc(array: ^$T/#soa[dynamic]$E) {
+ when intrinsics.type_struct_field_count(E) != 0 {
+ footer := raw_soa_footer(array)
+ footer.len = 0
+ }
+}
+
+@builtin
+clear_soa :: proc{
+ clear_soa_dynamic_array,
+} \ No newline at end of file