commit 123076ea88a809888692b308ab5bb214dc3a2caf (tree) parent 32edb9b55d0e41a58a11e0437149c4a9705c4699 Author: Andrew Kelley <andrew@ziglang.org> Date: Fri, 18 Feb 2022 19:35:39 -0700 ArrayList: add unusedCapacitySlice to the unmanaged API This function is super nice thank you whoever added it 👍 Diffstat:
| M | lib/std/array_list.zig | | | 8 | ++++++++ |
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/lib/std/array_list.zig b/lib/std/array_list.zig @@ -780,6 +780,14 @@ pub fn ArrayListAlignedUnmanaged(comptime T: type, comptime alignment: ?u29) typ pub fn allocatedSlice(self: Self) Slice { return self.items.ptr[0..self.capacity]; } + + /// Returns a slice of only the extra capacity after items. + /// This can be useful for writing directly into an ArrayList. + /// Note that such an operation must be followed up with a direct + /// modification of `self.items.len`. + pub fn unusedCapacitySlice(self: Self) Slice { + return self.allocatedSlice()[self.items.len..]; + } }; }