From 75a20152600da5259bdd2a87ff84f2cc9d4ec224 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Sun, 22 Oct 2023 13:21:22 +0200 Subject: [PATCH] Add clear_soa (for #soa[dynamic]T) --- core/runtime/core_builtin_soa.odin | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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