From 0aef1faa820e29a9eceb51a2048977d7be938f2a Mon Sep 17 00:00:00 2001 From: ducdetronquito Date: Sun, 21 Feb 2021 11:55:00 +0100 Subject: [PATCH] std.fifo.LinearFifo - Expose reader and writer type. --- lib/std/fifo.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/std/fifo.zig b/lib/std/fifo.zig index b21cb7fc1c..b0771bba16 100644 --- a/lib/std/fifo.zig +++ b/lib/std/fifo.zig @@ -44,6 +44,8 @@ pub fn LinearFifo( count: usize, const Self = @This(); + pub const Reader = std.io.Reader(*Self, error{}, readFn); + pub const Writer = std.io.Writer(*Self, error{OutOfMemory}, appendWrite); // Type of Self argument for slice operations. // If buffer is inline (Static) then we need to ensure we haven't @@ -228,7 +230,7 @@ pub fn LinearFifo( return self.read(dest); } - pub fn reader(self: *Self) std.io.Reader(*Self, error{}, readFn) { + pub fn reader(self: *Self) Reader { return .{ .context = self }; } @@ -318,7 +320,7 @@ pub fn LinearFifo( return bytes.len; } - pub fn writer(self: *Self) std.io.Writer(*Self, error{OutOfMemory}, appendWrite) { + pub fn writer(self: *Self) Writer { return .{ .context = self }; }