Function resize [src]

Prototype

pub fn resize( ctx: *anyopaque, buf: []u8, alignment: mem.Alignment, new_size: usize, return_address: usize, ) bool

Parameters

ctx: *anyopaquebuf: []u8alignment: mem.Alignmentnew_size: usizereturn_address: usize

Source

pub fn resize( ctx: *anyopaque, buf: []u8, alignment: mem.Alignment, new_size: usize, return_address: usize, ) bool { const self: *FixedBufferAllocator = @ptrCast(@alignCast(ctx)); _ = alignment; _ = return_address; assert(@inComptime() or self.ownsSlice(buf)); if (!self.isLastAllocation(buf)) { if (new_size > buf.len) return false; return true; } if (new_size <= buf.len) { const sub = buf.len - new_size; self.end_index -= sub; return true; } const add = new_size - buf.len; if (add + self.end_index > self.buffer.len) return false; self.end_index += add; return true; }