authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-03-14 19:47:42-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-03-15 10:48:15-07:00
log4f1382e58166c4324f842450fdad4d134d553085
tree28d122c5b46d9f775023ff24f5c542480b2883e3
parent6664d2418d0348c6432a1c93c96b4412f80036a8

add std.LinearFifo.readableSliceOfLen


1 files changed, 11 insertions(+), 0 deletions(-)

lib/std/fifo.zig+11
......@@ -164,6 +164,17 @@ pub fn LinearFifo(
164164 return self.readableSliceMut(offset);
165165 }
166166
167 pub fn readableSliceOfLen(self: *Self, len: usize) []const T {
168 assert(len <= self.count);
169 const buf = self.readableSlice(0);
170 if (buf.len >= len) {
171 return buf[0..len];
172 } else {
173 self.realign();
174 return self.readableSlice(0)[0..len];
175 }
176 }
177
167178 /// Discard first `count` items in the fifo
168179 pub fn discard(self: *Self, count: usize) void {
169180 assert(count <= self.count);