|
@@ -8,14 +8,14 @@ Conversion_Error :: enum {
|
|
|
|
|
|
to_reader :: proc(s: Stream) -> (r: Reader, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_writer :: proc(s: Stream) -> (w: Writer, err: Conversion_Error) {
|
|
|
w.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
@@ -23,21 +23,21 @@ to_writer :: proc(s: Stream) -> (w: Writer, err: Conversion_Error) {
|
|
|
|
|
|
to_closer :: proc(s: Stream) -> (c: Closer, err: Conversion_Error) {
|
|
|
c.stream = s;
|
|
|
- if s.vtable == nil || s.impl_close == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_close == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_flusher :: proc(s: Stream) -> (f: Flusher, err: Conversion_Error) {
|
|
|
f.stream = s;
|
|
|
- if s.vtable == nil || s.impl_flush == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_flush == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_seeker :: proc(s: Stream) -> (seeker: Seeker, err: Conversion_Error) {
|
|
|
seeker.stream = s;
|
|
|
- if s.vtable == nil || s.impl_seek == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_seek == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
@@ -45,42 +45,42 @@ to_seeker :: proc(s: Stream) -> (seeker: Seeker, err: Conversion_Error) {
|
|
|
|
|
|
to_read_writer :: proc(s: Stream) -> (r: Read_Writer, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read == nil || s.impl_write == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read == nil || s.impl_write == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_read_closer :: proc(s: Stream) -> (r: Read_Closer, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read == nil || s.impl_close == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read == nil || s.impl_close == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_read_write_closer :: proc(s: Stream) -> (r: Read_Write_Closer, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read == nil || s.impl_write == nil || s.impl_close == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read == nil || s.impl_write == nil || s.impl_close == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_read_write_seeker :: proc(s: Stream) -> (r: Read_Write_Seeker, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read == nil || s.impl_write == nil || s.impl_seek == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read == nil || s.impl_write == nil || s.impl_seek == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_write_flusher :: proc(s: Stream) -> (w: Write_Flusher, err: Conversion_Error) {
|
|
|
w.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write == nil || s.impl_flush == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write == nil || s.impl_flush == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_write_flush_closer :: proc(s: Stream) -> (w: Write_Flush_Closer, err: Conversion_Error) {
|
|
|
w.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write == nil || s.impl_flush == nil || s.impl_close == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write == nil || s.impl_flush == nil || s.impl_close == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
@@ -88,28 +88,28 @@ to_write_flush_closer :: proc(s: Stream) -> (w: Write_Flush_Closer, err: Convers
|
|
|
|
|
|
to_reader_at :: proc(s: Stream) -> (r: Reader_At, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read_at == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read_at == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_writer_at :: proc(s: Stream) -> (w: Writer_At, err: Conversion_Error) {
|
|
|
w.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write_at == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write_at == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_reader_from :: proc(s: Stream) -> (r: Reader_From, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read_from == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read_from == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
to_writer_to :: proc(s: Stream) -> (w: Writer_To, err: Conversion_Error) {
|
|
|
w.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write_to == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write_to == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
}
|
|
|
return;
|
|
@@ -117,9 +117,9 @@ to_writer_to :: proc(s: Stream) -> (w: Writer_To, err: Conversion_Error) {
|
|
|
|
|
|
to_byte_reader :: proc(s: Stream) -> (b: Byte_Reader, err: Conversion_Error) {
|
|
|
b.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read_byte == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read_byte == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
- if s.vtable != nil && s.impl_read != nil {
|
|
|
+ if s.stream_vtable != nil && s.impl_read != nil {
|
|
|
err = .Fallback_Possible;
|
|
|
}
|
|
|
}
|
|
@@ -127,7 +127,7 @@ to_byte_reader :: proc(s: Stream) -> (b: Byte_Reader, err: Conversion_Error) {
|
|
|
}
|
|
|
to_byte_scanner :: proc(s: Stream) -> (b: Byte_Scanner, err: Conversion_Error) {
|
|
|
b.stream = s;
|
|
|
- if s.vtable != nil {
|
|
|
+ if s.stream_vtable != nil {
|
|
|
if s.impl_unread_byte == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
return;
|
|
@@ -144,9 +144,9 @@ to_byte_scanner :: proc(s: Stream) -> (b: Byte_Scanner, err: Conversion_Error) {
|
|
|
}
|
|
|
to_byte_writer :: proc(s: Stream) -> (b: Byte_Writer, err: Conversion_Error) {
|
|
|
b.stream = s;
|
|
|
- if s.vtable == nil || s.impl_write_byte == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_write_byte == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
- if s.vtable != nil && s.impl_write != nil {
|
|
|
+ if s.stream_vtable != nil && s.impl_write != nil {
|
|
|
err = .Fallback_Possible;
|
|
|
}
|
|
|
}
|
|
@@ -155,9 +155,9 @@ to_byte_writer :: proc(s: Stream) -> (b: Byte_Writer, err: Conversion_Error) {
|
|
|
|
|
|
to_rune_reader :: proc(s: Stream) -> (r: Rune_Reader, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable == nil || s.impl_read_rune == nil {
|
|
|
+ if s.stream_vtable == nil || s.impl_read_rune == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
- if s.vtable != nil && s.impl_read != nil {
|
|
|
+ if s.stream_vtable != nil && s.impl_read != nil {
|
|
|
err = .Fallback_Possible;
|
|
|
}
|
|
|
}
|
|
@@ -166,7 +166,7 @@ to_rune_reader :: proc(s: Stream) -> (r: Rune_Reader, err: Conversion_Error) {
|
|
|
}
|
|
|
to_rune_scanner :: proc(s: Stream) -> (r: Rune_Scanner, err: Conversion_Error) {
|
|
|
r.stream = s;
|
|
|
- if s.vtable != nil {
|
|
|
+ if s.stream_vtable != nil {
|
|
|
if s.impl_unread_rune == nil {
|
|
|
err = .Missing_Procedure;
|
|
|
return;
|