package erm_xml

  1. Overview
  2. Docs
type input = IterMonad.input = {
  1. buf : string;
  2. mutable i : int;
  3. mutable len : int;
  4. mutable is_final : bool;
}
val make_chunk : int -> input
val is_empty : input -> bool
type !'a t = 'a IterMonad.t =
  1. | Return of 'a
  2. | Continue of input -> 'a t
val return : 'a -> 'a t
val fail : exn -> 'a
val bind : 'a t -> ('a -> 'b t) -> 'b t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
exception IllegalCharacter
val get : input -> int option t
exception Located_exn of int * int * exn
type stream = {
  1. mutable line : int;
  2. mutable col : int;
  3. decoder : IterMonad.input -> int option t;
}
val set_decoder : 'a -> 'b -> unit
val make_stream : unit -> stream
val error : ?stream:stream -> exn -> 'a
val next_char : stream -> (unit -> 'a t) -> (int -> 'a t) -> 'a t
OCaml

Innovation. Community. Security.