Module LStream
Extending streams with a (non-canonical) location function
val from : ?loc:Loc.t -> (int -> ('a * Loc.t) option) -> 'a tval current_loc : 'a t -> Loc.tReturning the loc of the last consumed element or the initial loc if no element is consumed
val max_peek_loc : 'a t -> Loc.tReturning the loc of the max visited element or the initial loc if no element is consumed
val interval_loc : int -> int -> 'a t -> Loc.tReturning the loc starting after element
bp(counting from 0) and spanning up to already peeked element at positionep, under the assumption thatbp<=ep; returns an empty interval ifbp=ep; returns the empty initial interval if additionallybp= 0; fails if the elements have not been peeked yet
val get_loc : int -> 'a t -> Loc.tReturn location of an already peeked element at some position counting from 0; fails if the element has not been peeked yet
val count : 'a t -> intval peek : 'a t -> 'a optionval npeek : int -> 'a t -> 'a listval junk : 'a t -> unitconsumes the next element if there is one
val next : 'a t -> 'anext strmreturns and consumes the next element; raiseStream.Failureif the stream is empty
val peek_nth : int -> 'a t -> 'apeek_nth n strmreturns the nth element counting from 0 without consuming the stream; raisesStream.Failureif not enough elements