Browse Source

Add mem.clone_slice

gingerBill 5 years ago
parent
commit
4930a9c1a4
1 changed files with 8 additions and 0 deletions
  1. 8 0
      core/mem/mem.odin

+ 8 - 0
core/mem/mem.odin

@@ -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;
+}