pub fn pushBackSliceAssumeCapacity(deque: *Self, items: []const T) void deque: *Selfitems: []const T250
251
252
253
254
255
256
257
258
259
260 pub fn pushBackSliceAssumeCapacity(deque: *Self, items: []const T) void {
assert(deque.buffer.len - deque.len >= items.len);
const trailing_buffer = deque.buffer[deque.bufferIndex(deque.len)..];
if (trailing_buffer.len < items.len) {
@memcpy(trailing_buffer, items[0..trailing_buffer.len]);
@memcpy(deque.buffer.ptr, items[trailing_buffer.len..]);
} else {
@memcpy(trailing_buffer[0..items.len], items);
}
deque.len += items.len;
}
Add
itemsto the back of the deque. This is equivalent to iteratingitemsin order and callingpushBackon every single entry.Never invalidates element pointers.
Asserts that the deque can hold the additional items.