mirror of
https://github.com/ziglang/zig.git
synced 2026-02-21 16:54:52 +00:00
std.Io: delete FindByteWriter
dead
This commit is contained in:
parent
03a6892189
commit
af0a02a2de
@ -462,9 +462,6 @@ pub const bitReader = @import("Io/bit_reader.zig").bitReader;
|
||||
pub const BitWriter = @import("Io/bit_writer.zig").BitWriter;
|
||||
pub const bitWriter = @import("Io/bit_writer.zig").bitWriter;
|
||||
|
||||
pub const FindByteWriter = @import("Io/find_byte_writer.zig").FindByteWriter;
|
||||
pub const findByteWriter = @import("Io/find_byte_writer.zig").findByteWriter;
|
||||
|
||||
pub const tty = @import("Io/tty.zig");
|
||||
|
||||
/// A Writer that doesn't write to anything.
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
const std = @import("../std.zig");
|
||||
const io = std.io;
|
||||
const assert = std.debug.assert;
|
||||
|
||||
/// A Writer that returns whether the given character has been written to it.
|
||||
/// The contents are not written to anything.
|
||||
pub fn FindByteWriter(comptime UnderlyingWriter: type) type {
|
||||
return struct {
|
||||
const Self = @This();
|
||||
pub const Error = UnderlyingWriter.Error;
|
||||
pub const Writer = io.GenericWriter(*Self, Error, write);
|
||||
|
||||
underlying_writer: UnderlyingWriter,
|
||||
byte_found: bool,
|
||||
byte: u8,
|
||||
|
||||
pub fn writer(self: *Self) Writer {
|
||||
return .{ .context = self };
|
||||
}
|
||||
|
||||
fn write(self: *Self, bytes: []const u8) Error!usize {
|
||||
if (!self.byte_found) {
|
||||
self.byte_found = blk: {
|
||||
for (bytes) |b|
|
||||
if (b == self.byte) break :blk true;
|
||||
break :blk false;
|
||||
};
|
||||
}
|
||||
return self.underlying_writer.write(bytes);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
pub fn findByteWriter(byte: u8, underlying_writer: anytype) FindByteWriter(@TypeOf(underlying_writer)) {
|
||||
return FindByteWriter(@TypeOf(underlying_writer)){
|
||||
.underlying_writer = underlying_writer,
|
||||
.byte = byte,
|
||||
.byte_found = false,
|
||||
};
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user