alice
library
manual.

Alice Project

The STREAM_IO signature


________ Synopsis ____________________________________________________

    signature STREAM_IO
    functor StreamIO (structure PrimIO : PRIM_IO
                      structure Vector : MONO_VECTOR
				where type elem   = PrimIO.elem
				  and type vector = PrimIO.vector
		      structure Array :  MONO_ARRAY
				where type elem   = PrimIO.elem
				  and type vector = PrimIO.vector
				  and type array  = PrimIO.array
                      structure VectorSlice : MONO_VECTOR_SLICE
				where type elem   = PrimIO.elem
				  and type vector = PrimIO.vector
				  and type slice  = PrimIO.vector_slice
		      structure ArraySlice :  MONO_ARRAY_SLICE
				where type elem         = PrimIO.elem
				  and type vector       = PrimIO.vector
				  and type array        = PrimIO.array
				  and type vector_slice = PrimIO.vector_slice
				  and type slice        = PrimIO.array_slice
                      val someElem : PrimIO.elem) :
	    STREAM_IO where type elem   = PrimIO.elem
	                and type vector = PrimIO.vector
			and type pos    = PrimIO.pos
			and type reader = PrimIO.reader
			and type writer = PrimIO.writer
  

The Standard ML Basis' STREAM_IO signature and StreamIO functor.

See also: TEXT_STREAM_IO, PRIM_IO, IMPERATIVE_IO, BinIO, TextIO


________ Import ______________________________________________________

Imported implicitly.


________ Interface ___________________________________________________

    signature STREAM_IO =
    sig
	type elem
	type vector

	type instream
	type pos
	type reader

	type outstream
	type out_pos
	type writer

	val input :         instream -> vector * instream
	val input1 :        instream -> (elem * instream) option
	val inputN :        instream * int -> vector * instream
	val inputAll :      instream -> vector * instream
	val canInput :      instream * int -> int option
	val closeIn :       instream -> unit
	val endOfStream :   instream -> bool
	val mkInstream :    reader * vector -> instream
	val getReader :     instream -> reader * vector

	val output :        outstream * vector -> unit
	val output1 :       outstream * elem -> unit
	val flushOut :      outstream -> unit
	val closeOut :      outstream -> unit
	val setBufferMode : outstream * IO.buffer_mode -> unit
	val getBufferMode : outstream -> IO.buffer_mode
	val mkOutstream :   writer * IO.buffer_mode -> outstream
	val getWriter :     outstream -> writer * IO.buffer_mode
	val getPosOut :     outstream -> out_pos
	val setPosOut :     out_pos -> outstream
    end
  

________ Description _________________________________________________

Like the Standard ML Basis' STREAM_IO signature and StreamIO functor.

Limitations: The following standard functions are currently missing:



last modified 2007/Mar/30 17:10