Browse Source

Add clear_soa (for #soa[dynamic]T)

Jeroen van Rijn 1 year ago
parent
commit
75a2015260
1 changed files with 13 additions and 0 deletions
  1. 13 0
      core/runtime/core_builtin_soa.odin

+ 13 - 0
core/runtime/core_builtin_soa.odin

@@ -413,3 +413,16 @@ delete_soa :: proc{
 	delete_soa_slice,
 	delete_soa_slice,
 	delete_soa_dynamic_array,
 	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,
+}