signature BIN_IO structure BinIO : BIN_IO
The Standard ML Basis' BinIO structure.
See also: TextIO, IMPERATIVE_IO
Imported implicitly.
signature BIN_IO = sig structure StreamIO : STREAM_IO where type vector = Word8Vector.vector and type elem = Word8.word and type pos = Position.int type vector = StreamIO.vector type elem = StreamIO.elem type instream type outstream val openIn : string -> instream val input : instream -> vector val input1 : instream -> elem option val inputN : instream * int -> vector val inputAll : instream -> vector val seekIn : instream * StreamIO.pos -> unit val canInput : instream * int -> int option val lookahead : instream -> elem option val closeIn : instream -> unit val endOfStream : instream -> bool val mkInstream : StreamIO.instream -> instream val getInstream : instream -> StreamIO.instream val setInstream : instream * StreamIO.instream -> unit val openOut : string -> outstream val openAppend : string -> outstream val openOverwrite : string -> outstream val output : outstream * vector -> unit val output1 : outstream * elem -> unit val flushOut : outstream -> unit val seekOut : outstream * StreamIO.pos -> unit val closeOut : outstream -> unit val mkOutstream : StreamIO.outstream -> outstream val getOutstream : outstream -> StreamIO.outstream val setOutstream : outstream * StreamIO.outstream -> unit val getPosOut : outstream -> StreamIO.out_pos val setPosOut : outstream * StreamIO.out_pos -> unit end
Items not described here are like in the Standard ML Basis' BinIO structure.
Opens the file name for writing. Like openOut, except that the file is not truncated.
Sets the absolute position of the stream is to pos by applying setPos on the underlying reader. Raises IO.RandomAccessNotSupported if the reader does not support positioning. Note that this function extracts the reader from the underlying functional stream, which truncates the stream. The imperative stream is then redirected to a new functional stream reconstructed from the reader.
Sets the absolute position of the stream os to pos by applying setPos on the underlying writer. Raises IO.RandomAccessNotSupported if the writer does not support positioning. Note that this function extracts the writer from the underlying functional stream, which terminates the stream. The imperative stream is then redirected to a new functional stream reconstructed from the writer.