From 8dcb14fbc227038489661beec63e35ad49e8f8f5 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 24 Jun 2021 15:55:42 +0100 Subject: [PATCH] Add helper procedures for `strings.Reader` creation --- core/strings/reader.odin | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/strings/reader.odin b/core/strings/reader.odin index 468c2f836..8e6952fdc 100644 --- a/core/strings/reader.odin +++ b/core/strings/reader.odin @@ -21,6 +21,28 @@ reader_to_stream :: proc(r: ^Reader) -> (s: io.Stream) { return; } +to_reader :: proc(r: ^Reader, s: string) -> io.Reader { + reader_init(r, s); + rr, _ := io.to_reader(reader_to_stream(r)); + return rr; +} +to_reader_at :: proc(r: ^Reader, s: string) -> io.Reader_At { + reader_init(r, s); + rr, _ := io.to_reader_at(reader_to_stream(r)); + return rr; +} +to_byte_reader :: proc(r: ^Reader, s: string) -> io.Byte_Reader { + reader_init(r, s); + rr, _ := io.to_byte_reader(reader_to_stream(r)); + return rr; +} +to_rune_reader :: proc(r: ^Reader, s: string) -> io.Rune_Reader { + reader_init(r, s); + rr, _ := io.to_rune_reader(reader_to_stream(r)); + return rr; +} + + reader_length :: proc(r: ^Reader) -> int { if r.i >= i64(len(r.s)) { return 0;