


The standard library Base_Io api defines
The Base_Io api is implemented by the binary_base_io package.
The Base_Io api source code is in src/lib/std/src/io/base-io.api.
The above information is manually maintained and may contain errors.
api { Element ;
Vector ;
Vector_Slice ;
Rw_Vector ;
Rw_Vector_Slice ;
eqtype File_Position ;
compare : (File_Position , File_Position) -> Order;
Reader
= READER {avail:Void -> Null_Or(Int ),
block:Null_Or((Void -> Void) ),
can_read:Null_Or((Void -> Bool) ),
chunk_size:Int, close:Void -> Void,
end_position:Null_Or((Void -> File_Position) ),
get_position:Null_Or((Void -> File_Position) ),
io_descriptor:Null_Or(Int ), name:String,
read_rw_vector:Null_Or((Rw_Vector_Slice -> Int) ),
read_rw_vector_nonblocking:Null_Or((Rw_Vector_Slice -> Null_Or(Int )) ),
read_vector:Null_Or((Int -> Vector) ),
read_vector_nonblocking:Null_Or((Int -> Null_Or(Vector )) ),
set_position:Null_Or((File_Position -> Void) ),
verify_position:Null_Or((Void -> File_Position) )};
Writer
= WRITER {block:Null_Or((Void -> Void) ),
can_output:Null_Or((Void -> Bool) ),
chunk_size:Int, close:Void -> Void,
end_position:Null_Or((Void -> File_Position) ),
get_position:Null_Or((Void -> File_Position) ),
io_descriptor:Null_Or(Int ), name:String,
set_position:Null_Or((File_Position -> Void) ),
verify_position:Null_Or((Void -> File_Position) ),
write_rw_vector:Null_Or((Rw_Vector_Slice -> Int) ),
write_rw_vector_nonblocking:Null_Or((Rw_Vector_Slice -> Null_Or(Int )) ),
write_vector:Null_Or((Vector_Slice -> Int) ),
write_vector_nonblocking:Null_Or((Vector_Slice -> Null_Or(Int )) )};
open_vector : Vector -> Reader;
null_reader : Void -> Reader;
null_writer : Void -> Writer;
augment_reader : Reader -> Reader;
augment_writer : Writer -> Writer;
};


