pub fn ensureTotalCapacity(self: *Self, new_capacity: usize) Allocator.Error!void self: *Selfnew_capacity: usize449
450
451
452
453
454
455
456
457
458
459
460 pub fn ensureTotalCapacity(self: *Self, new_capacity: usize) Allocator.Error!void {
if (@sizeOf(T) == 0) {
self.capacity = math.maxInt(usize);
return;
}
// Protects growing unnecessarily since better_capacity will be larger.
if (self.capacity >= new_capacity) return;
const better_capacity = Aligned(T, alignment).growCapacity(new_capacity);
return self.ensureTotalCapacityPrecise(better_capacity);
}
If the current capacity is less than
new_capacity, this function will modify the array so that it can hold at leastnew_capacityitems. Invalidates element pointers if additional memory is needed.