Commit 4f1382e581

Andrew Kelley <andrew@ziglang.org>
2023-03-15 03:47:42
add std.LinearFifo.readableSliceOfLen
1 parent 6664d24
Changed files (1)
lib
lib/std/fifo.zig
@@ -164,6 +164,17 @@ pub fn LinearFifo(
             return self.readableSliceMut(offset);
         }
 
+        pub fn readableSliceOfLen(self: *Self, len: usize) []const T {
+            assert(len <= self.count);
+            const buf = self.readableSlice(0);
+            if (buf.len >= len) {
+                return buf[0..len];
+            } else {
+                self.realign();
+                return self.readableSlice(0)[0..len];
+            }
+        }
+
         /// Discard first `count` items in the fifo
         pub fn discard(self: *Self, count: usize) void {
             assert(count <= self.count);