package GuaCaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type data = {
  1. mutable free : bool;
  2. mutable pos : int;
  3. mutable meta : (string -> unit) option;
}
val data : unit -> data
val file_channel_buffer_size : int
type file_channel = {
  1. mutable pos : int;
  2. mutable buf : bool array;
  3. cha : Stdlib.out_channel;
}
type stats_channel = {
  1. mutable state : string list;
  2. table : (string list, int Stdlib.ref) Stdlib.Hashtbl.t;
}
module BA = BTools_BArray
type barray_channel = {
  1. mutable pos : int;
  2. mutable buf : char;
  3. mutable cha : Stdlib.Bytes.t;
  4. mutable tot_len : int;
  5. mutable tot_cha : Stdlib.Bytes.t list;
}
type channel_type =
  1. | Null
  2. | File of file_channel
  3. | BArray of barray_channel
  4. | Tee of channel * channel
  5. | Fun of bool -> unit
  6. | Stats of stats_channel
and channel = data * channel_type
type t = channel
val get_pos : channel -> int
val get_free : channel -> bool
val set_meta : channel -> (string -> unit) -> unit
val prn_meta : channel -> string -> unit
val ppos : ?s:string -> channel -> unit
val mpos : ?s:string -> channel -> unit
val open_null : unit -> data * channel_type
val close_null : (data * channel_type) -> unit
val open_file : string -> channel
val open_fun : (bool -> unit) -> channel
val open_flush : ?cha:Stdlib.out_channel -> unit -> channel
val lock : channel -> unit
val unlock : channel -> unit
val close_fun : (data * channel_type) -> unit
val close_flush : (data * channel_type) -> unit
val flush : channel -> unit
val open_tee : (data * channel_type) -> (data * channel_type) -> channel
val close_tee : channel -> channel * channel
val close_file : channel -> unit
val open_barray : unit -> channel
val close_barray : channel -> BA.t
val open_stats : unit -> channel
val close_stats : channel -> (string list, int) Stdlib.Hashtbl.t
val stats_rem : channel -> string -> unit
val stats_add : channel -> string -> unit -> unit