Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / libs / basis-1997 / io / stream-io.sig
1 signature STREAM_IO_1997 =
2 sig
3 type elem
4 type vector
5 (*
6 type reader
7 type writer
8 *)
9
10 type instream
11 type outstream
12
13 type out_pos
14 type pos (* = int *)
15
16 val canInput: instream * int -> int option
17 val closeIn: instream -> unit
18 val endOfStream: instream -> bool
19 val filePosOut: out_pos -> pos
20 val input1: instream -> (elem * instream) option
21 val input: instream -> vector * instream
22 val inputAll: instream -> vector
23 val inputN: instream * int -> vector * instream
24 (*
25 val mkInstream: reader * vector -> instream (* need to update this *)
26 val getReader: instream -> reader * vector
27 val output: outstream * vector -> unit
28 val output1: outstream * elem -> unit
29 val flushOut: outstream -> unit
30 val closeOut: outstream -> unit
31 val setBufferMode: outstream * IO.buffer_mode -> unit
32 val getBufferMode: outstream -> IO.buffer_mode
33 val mkOutstream: writer * IO.buffer_mode -> outstream
34 val getWriter: outstream -> writer * IO.buffer_mode
35 val getPosOut: outstream -> out_pos
36 val setPosOut: out_pos -> outstream
37 *)
38 end