Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / io / imperative-io.sig
CommitLineData
7f918cf1
CE
1signature IMPERATIVE_IO =
2 sig
3 structure StreamIO: STREAM_IO
4
5 type elem = StreamIO.elem
6 type vector = StreamIO.vector
7 type instream
8 type outstream
9
10 val canInput: instream * int -> int option
11 val closeIn: instream -> unit
12 val closeOut: outstream -> unit
13 val endOfStream: instream -> bool
14 val flushOut: outstream -> unit
15 val getInstream: instream -> StreamIO.instream
16 val getOutstream: outstream -> StreamIO.outstream
17 val getPosOut: outstream -> StreamIO.out_pos
18 val input1: instream -> elem option
19 val input: instream -> vector
20 val inputAll: instream -> vector
21 val inputN: instream * int -> vector
22 val lookahead: instream -> elem option
23 val mkInstream: StreamIO.instream -> instream
24 val mkOutstream: StreamIO.outstream -> outstream
25 val output1: outstream * elem -> unit
26 val output: outstream * vector -> unit
27 val setInstream: instream * StreamIO.instream -> unit
28 val setOutstream: outstream * StreamIO.outstream -> unit
29 val setPosOut: outstream * StreamIO.out_pos -> unit
30 end
31
32signature IMPERATIVE_IO_EXTRA =
33 sig
34 structure StreamIO: STREAM_IO_EXTRA
35
36 type elem = StreamIO.elem
37 type instream
38 type outstream
39 type vector = StreamIO.vector
40 type vector_slice = StreamIO.vector_slice
41
42 val canInput: instream * int -> int option
43 val closeIn: instream -> unit
44 val closeOut: outstream -> unit
45 val endOfStream: instream -> bool
46 val equalsIn: instream * instream -> bool
47 val flushOut: outstream -> unit
48 val getInstream: instream -> StreamIO.instream
49 val getOutstream: outstream -> StreamIO.outstream
50 val getPosOut: outstream -> StreamIO.out_pos
51 val inFd: instream -> Posix.IO.file_desc
52 val input1: instream -> elem option
53 val input: instream -> vector
54 val inputAll: instream -> vector
55 val inputLine: instream -> vector option
56 val inputN: instream * int -> vector
57 val lookahead: instream -> elem option
58 val mkInstream: StreamIO.instream -> instream
59 val mkOutstream: StreamIO.outstream -> outstream
60 val newIn: Posix.IO.file_desc * string -> instream
61 val newOut: Posix.IO.file_desc * string -> outstream
62 val openAppend: string -> outstream
63 val openIn: string -> instream
64 val openOut: string -> outstream
65 val openVector: vector -> instream
66 val outFd: outstream -> Posix.IO.file_desc
67 val output1: outstream * elem -> unit
68 val output: outstream * vector -> unit
69 val outputSlice: outstream * vector_slice -> unit
70 val scanStream:
71 ((elem, StreamIO.instream) StringCvt.reader
72 -> ('a, StreamIO.instream) StringCvt.reader)
73 -> instream -> 'a option
74 val setInstream: instream * StreamIO.instream -> unit
75 val setOutstream: outstream * StreamIO.outstream -> unit
76 val setPosOut: outstream * StreamIO.out_pos -> unit
77 val stdErr: outstream
78 val stdIn: instream
79 val stdOut: outstream
80 end