Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Stream(3)			   OCamldoc			     Stream(3)

       Stream -	Streams	and parsers.

       Module	Stream

       Module Stream
	: sig end

       Streams and parsers.

       type 'a t

       The type	of streams holding values of type 'a .

       exception Failure

       Raised  by parsers when none of the first components of the stream pat-
       terns is	accepted.

       exception Error of string

       Raised by parsers when the first	component of a stream pattern  is  ac-
       cepted, but one of the following	components is rejected.

       === Stream builders ===

       val from	: (int -> 'a option) ->	'a t

       Stream.from f returns a stream built from the function f	.  To create a
       new stream element, the function	f is called with  the  current	stream
       count.  The user	function f must	return either Some <value> for a value
       or None to specify the end of the stream.

       Do note that the	indices	passed to f may	not start at 0 in the  general
       case.  For  example, [< '0; '1; Stream.from f >]	would call f the first
       time with count 2 .

       val of_list : 'a	list ->	'a t

       Return the stream holding the elements of the list in the same order.

       val of_string : string -> char t

       Return the stream of the	characters of the string parameter.

       val of_bytes : bytes -> char t

       Return the stream of the	characters of the bytes	parameter.

       Since 4.02.0

       val of_channel :	Pervasives.in_channel -> char t

       Return the stream of the	characters read	from the input channel.

       === Stream iterator ===

       val iter	: ('a -> unit) -> 'a t -> unit

       Stream.iter f s scans the whole stream s, applying function f  in  turn
       to each stream element encountered.

       === Predefined parsers ===

       val next	: 'a t -> 'a

       Return  the  first element of the stream	and remove it from the stream.
       Raise Stream.Failure if the stream is empty.

       val empty : 'a t	-> unit

       Return () if the	stream is empty, else raise Stream.Failure .

       === Useful functions ===

       val peek	: 'a t -> 'a option

       Return Some of "the first element" of the stream, or None if the	stream
       is empty.

       val junk	: 'a t -> unit

       Remove the first	element	of the stream, possibly	unfreezing it before.

       val count : 'a t	-> int

       Return the current count	of the stream elements,	i.e. the number	of the
       stream elements discarded.

       val npeek : int -> 'a t -> 'a list

       npeek n returns the list	of the n first elements	of the stream, or  all
       its remaining elements if less than n elements are available.

2020-08-11			    source:			     Stream(3)

NAME | Module | Documentation

Want to link to this manual page? Use this URL:

home | help