std.bufio
buffered io::Reader/io::Writer wrappers; the caller owns the buffer
BufReader
Section titled “BufReader”pub BufReader :: struct { src: *Reader, buf: []u8, start: usize, end: usize, at_end: bool, failed: bool,}unread bytes are buf[start..end]
BufReader.buffered
Section titled “BufReader.buffered”pub buffered :: fn(self: *Self) -> []const u8read but not yet taken
BufReader.fill
Section titled “BufReader.fill”pub fill :: fn(self: *Self) -> usize ! IoErrorcompacts, reads more from src; returns bytes added (0 at end or when full)
BufReader.read_byte
Section titled “BufReader.read_byte”pub read_byte :: fn(self: *Self) -> ?u8 ! IoErrornull at the end
BufReader.read_until
Section titled “BufReader.read_until”pub read_until :: fn(self: *Self, delim: u8) -> ?[]const u8 ! IoErrorup to delim, excluded; the tail at end, then null; buffer_full if no delim fits
slice into the buffer; valid until the next read
BufReader.read_line
Section titled “BufReader.read_line”pub read_line :: fn(self: *Self) -> ?[]const u8 ! IoErrorlike read_until(‘\n’), “\r” stripped too; no empty last line
BufReader.lines
Section titled “BufReader.lines”pub lines :: fn(self: *Self) -> Linesremaining lines; a failed read ends the loop and sets failed
pub Lines :: struct { r: *BufReader,}iterator from BufReader.lines
Lines.next
Section titled “Lines.next”pub next :: fn(self: *Self) -> ?[]const u8reader
Section titled “reader”pub reader :: fn(src: *Reader, buf: []u8) -> BufReaderuses buf as the buffer
reader_in
Section titled “reader_in”pub reader_in :: fn(a: *Arena, src: *Reader, size: usize) -> BufReadersize-byte buffer in a
BufWriter
Section titled “BufWriter”pub BufWriter :: struct { dst: *Writer, buf: []u8, n: usize,}buf[0..n] waits to be written; flush writes it
BufWriter.drain
Section titled “BufWriter.drain”pub drain :: fn(self: *Self) -> void ! IoErrorwrites the buffer to dst; does not flush dst
writer
Section titled “writer”pub writer :: fn(dst: *Writer, buf: []u8) -> BufWriteruses buf as the buffer
writer_in
Section titled “writer_in”pub writer_in :: fn(a: *Arena, dst: *Writer, size: usize) -> BufWritersize-byte buffer in a
read_all
Section titled “read_all”pub read_all :: fn(a: *Arena, src: *Reader) -> []u8 ! IoErrorreads src to its end into a