Module Shexp_bigstring_io.Bigstring

Bigstring IO helpers

include module type of sig ... end
type t = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
val create : int ‑> t
val length : t ‑> int
val blit : src:t ‑> src_pos:int ‑> dst:t ‑> dst_pos:int ‑> len:int ‑> unit
val blit_string_t : src:string ‑> src_pos:int ‑> dst:t ‑> dst_pos:int ‑> len:int ‑> unit
val blit_t_bytes : src:t ‑> src_pos:int ‑> dst:Bytes.t ‑> dst_pos:int ‑> len:int ‑> unit
val sub_string : t ‑> pos:int ‑> len:int ‑> string
val index : t ‑> pos:int ‑> len:int ‑> char:char ‑> int option
val rindex : t ‑> pos:int ‑> len:int ‑> char:char ‑> int option
val pos_len_ok : pos:int ‑> len:int ‑> length:int ‑> bool
val check_pos_len_exn : pos:int ‑> len:int ‑> length:int ‑> unit
val with_temporary : size:int ‑> f:(t ‑> 'a) ‑> 'a
type ('a, 'b) fold_temporary_result = ('a'bShexp_bigstring__Bigstring.fold_temporary_result =
| Resize of {
new_size : int;
state : 'a;
}
| Continue of {
state : 'a;
}
| Return of 'b
val fold_temporary : size:int ‑> init:'a ‑> f:(t ‑> 'a ‑> ('a'bfold_temporary_result) ‑> 'b
val write : Unix.file_descr ‑> t ‑> pos:int ‑> len:int ‑> int
val read : Unix.file_descr ‑> t ‑> pos:int ‑> len:int ‑> int
val read_all : Unix.file_descr ‑> string
val write_all : Unix.file_descr ‑> string ‑> unit
val read_exactly : Unix.file_descr ‑> int ‑> string
type read_all_interruptible_result = {
interrupted : bool;
collected : string;
}
val read_all_interruptible : ?⁠delay:float ‑> Unix.file_descr ‑> stop:(unit ‑> bool) ‑> read_all_interruptible_result

Same as read_all except that stop is called every delay seconds until it returns true. In this case returns prematurely the data collected so far.

val fold_lines : Unix.file_descr ‑> init:'a ‑> f:('a ‑> string ‑> 'a) ‑> 'a
val fold_chunks : Unix.file_descr ‑> sep:char ‑> init:'a ‑> f:('a ‑> string ‑> 'a) ‑> 'a