sig
module DefStrat :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
module BitDefStrat :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
module Array :
sig
module Strategy :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type 'a t
val length : 'a t -> int
val lix : 'a t -> int
val real_length : 'a t -> int
val real_lix : 'a t -> int
val get : 'a t -> int -> 'a
val set : 'a t -> int -> 'a -> unit
val sempty : strategy -> 'a t
val empty : unit -> 'a t
val screate : strategy -> int -> 'a -> 'a t
val create : int -> 'a -> 'a t
val smake : strategy -> int -> 'a -> 'a t
val make : int -> 'a -> 'a t
val sinit : strategy -> int -> (int -> 'a) -> 'a t
val init : int -> (int -> 'a) -> 'a t
val get_strategy : 'a t -> strategy
val set_strategy : 'a t -> strategy -> unit
val put_strategy : 'a t -> strategy -> unit
val enforce_strategy : 'a t -> unit
val make_matrix : int -> int -> 'a -> 'a t t
val copy : 'a t -> 'a t
val sub : 'a t -> int -> int -> 'a t
val fill : 'a t -> int -> int -> 'a -> unit
val blit : 'a t -> int -> 'a t -> int -> int -> unit
val append : 'a t -> 'a t -> 'a t
val concat : 'a t list -> 'a t
val add_one : 'a t -> 'a -> unit
val remove_one : 'a t -> unit
val remove_n : 'a t -> int -> unit
val remove_range : 'a t -> int -> int -> unit
val clear : 'a t -> unit
val swap : 'a t -> int -> int -> unit
val swap_in_last : 'a t -> int -> unit
val to_array : 'a t -> 'a array
val sof_array : strategy -> 'a array -> 'a t
val of_array : 'a array -> 'a t
val to_list : 'a t -> 'a list
val sof_list : strategy -> 'a list -> 'a t
val of_list : 'a list -> 'a t
val iter : ('a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val iteri : (int -> 'a -> unit) -> 'a t -> unit
val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t
val fold_left : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b
val fold_right : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : ('a -> bool) -> 'a t -> bool
val exists : ('a -> bool) -> 'a t -> bool
val mem : 'a -> 'a t -> bool
val memq : 'a -> 'a t -> bool
val pos : 'a -> 'a t -> int option
val posq : 'a -> 'a t -> int option
val find : ('a -> bool) -> 'a t -> 'a
val find_index : ('a -> bool) -> 'a t -> int -> int
val filter : ('a -> bool) -> 'a t -> 'a t
val find_all : ('a -> bool) -> 'a t -> 'a t
val filter_in_place : ('a -> bool) -> 'a t -> unit
val partition : ('a -> bool) -> 'a t -> 'a t * 'a t
val unsafe_get : 'a t -> int -> 'a
val unsafe_set : 'a t -> int -> 'a -> unit
val unsafe_sub : 'a t -> int -> int -> 'a t
val unsafe_fill : 'a t -> int -> int -> 'a -> unit
val unsafe_blit : 'a t -> int -> 'a t -> int -> int -> unit
val unsafe_remove_one : 'a t -> unit
val unsafe_remove_n : 'a t -> int -> unit
val unsafe_swap : 'a t -> int -> int -> unit
val unsafe_swap_in_last : 'a t -> int -> unit
end
module Floats :
sig
module Strategy :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = float
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
end
module Bits :
sig
module Strategy :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = bool
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
end
module Weak :
sig
module Strategy :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type 'a t
val length : 'a t -> int
val lix : 'a t -> int
val real_length : 'a t -> int
val real_lix : 'a t -> int
val get : 'a t -> int -> 'a option
val get_copy : 'a t -> int -> 'a option
val check : 'a t -> int -> bool
val set : 'a t -> int -> 'a option -> unit
val sempty : strategy -> 'a t
val empty : unit -> 'a t
val screate : strategy -> int -> 'a t
val create : int -> 'a t
val sinit : strategy -> int -> (int -> 'a option) -> 'a t
val init : int -> (int -> 'a option) -> 'a t
val get_strategy : 'a t -> strategy
val set_strategy : 'a t -> strategy -> unit
val put_strategy : 'a t -> strategy -> unit
val enforce_strategy : 'a t -> unit
val copy : 'a t -> 'a t
val sub : 'a t -> int -> int -> 'a t
val fill : 'a t -> int -> int -> 'a option -> unit
val blit : 'a t -> int -> 'a t -> int -> int -> unit
val append : 'a t -> 'a t -> 'a t
val concat : 'a t list -> 'a t
val add_one : 'a t -> 'a option -> unit
val remove_one : 'a t -> unit
val remove_n : 'a t -> int -> unit
val remove_range : 'a t -> int -> int -> unit
val clear : 'a t -> unit
val swap : 'a t -> int -> int -> unit
val swap_in_last : 'a t -> int -> unit
val to_std : 'a t -> 'a Weak.t
val sof_std : strategy -> 'a Weak.t -> 'a t
val of_std : 'a Weak.t -> 'a t
val to_list : 'a t -> 'a option list
val of_list : 'a option list -> 'a t
val iter : ('a option -> unit) -> 'a t -> unit
val iteri : (int -> 'a option -> unit) -> 'a t -> unit
val fold_left : ('b -> 'a option -> 'b) -> 'b -> 'a t -> 'b
val fold_right : ('a option -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : ('a option -> bool) -> 'a t -> bool
val exists : ('a option -> bool) -> 'a t -> bool
val mem : 'a option -> 'a t -> bool
val memq : 'a option -> 'a t -> bool
val pos : 'a option -> 'a t -> int option
val posq : 'a option -> 'a t -> int option
val find : ('a option -> bool) -> 'a t -> 'a option
val find_index : ('a option -> bool) -> 'a t -> int -> int
val filter : ('a option -> bool) -> 'a t -> 'a t
val find_all : ('a option -> bool) -> 'a t -> 'a t
val filter_in_place : ('a option -> bool) -> 'a t -> unit
val partition : ('a option -> bool) -> 'a t -> 'a t * 'a t
val unsafe_get : 'a t -> int -> 'a option
val unsafe_set : 'a t -> int -> 'a option -> unit
val unsafe_sub : 'a t -> int -> int -> 'a t
val unsafe_fill : 'a t -> int -> int -> 'a option -> unit
val unsafe_blit : 'a t -> int -> 'a t -> int -> int -> unit
val unsafe_remove_one : 'a t -> unit
val unsafe_remove_n : 'a t -> int -> unit
val unsafe_swap : 'a t -> int -> int -> unit
val unsafe_swap_in_last : 'a t -> int -> unit
end
module Buffer :
sig
module Strategy :
sig
type t = float * float * int
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = char
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
val sof_string : strategy -> string -> t
val of_string : string -> t
val contents : t -> string
val reset : t -> unit
val add_char : t -> char -> unit
val add_string : t -> string -> unit
val add_substring : t -> string -> int -> int -> unit
val add_buffer : t -> t -> unit
val add_channel : t -> in_channel -> int -> unit
val output_buffer : out_channel -> t -> unit
val add_full_channel : t -> in_channel -> unit
val add_full_channel_f : t -> in_channel -> int -> (int -> int) -> unit
end
module MakeArray :
functor (S : Strat.T) ->
sig
module Strategy :
sig
type t = S.t
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type 'a t
val length : 'a t -> int
val lix : 'a t -> int
val real_length : 'a t -> int
val real_lix : 'a t -> int
val get : 'a t -> int -> 'a
val set : 'a t -> int -> 'a -> unit
val sempty : strategy -> 'a t
val empty : unit -> 'a t
val screate : strategy -> int -> 'a -> 'a t
val create : int -> 'a -> 'a t
val smake : strategy -> int -> 'a -> 'a t
val make : int -> 'a -> 'a t
val sinit : strategy -> int -> (int -> 'a) -> 'a t
val init : int -> (int -> 'a) -> 'a t
val get_strategy : 'a t -> strategy
val set_strategy : 'a t -> strategy -> unit
val put_strategy : 'a t -> strategy -> unit
val enforce_strategy : 'a t -> unit
val make_matrix : int -> int -> 'a -> 'a t t
val copy : 'a t -> 'a t
val sub : 'a t -> int -> int -> 'a t
val fill : 'a t -> int -> int -> 'a -> unit
val blit : 'a t -> int -> 'a t -> int -> int -> unit
val append : 'a t -> 'a t -> 'a t
val concat : 'a t list -> 'a t
val add_one : 'a t -> 'a -> unit
val remove_one : 'a t -> unit
val remove_n : 'a t -> int -> unit
val remove_range : 'a t -> int -> int -> unit
val clear : 'a t -> unit
val swap : 'a t -> int -> int -> unit
val swap_in_last : 'a t -> int -> unit
val to_array : 'a t -> 'a array
val sof_array : strategy -> 'a array -> 'a t
val of_array : 'a array -> 'a t
val to_list : 'a t -> 'a list
val sof_list : strategy -> 'a list -> 'a t
val of_list : 'a list -> 'a t
val iter : ('a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val iteri : (int -> 'a -> unit) -> 'a t -> unit
val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t
val fold_left : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b
val fold_right : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : ('a -> bool) -> 'a t -> bool
val exists : ('a -> bool) -> 'a t -> bool
val mem : 'a -> 'a t -> bool
val memq : 'a -> 'a t -> bool
val pos : 'a -> 'a t -> int option
val posq : 'a -> 'a t -> int option
val find : ('a -> bool) -> 'a t -> 'a
val find_index : ('a -> bool) -> 'a t -> int -> int
val filter : ('a -> bool) -> 'a t -> 'a t
val find_all : ('a -> bool) -> 'a t -> 'a t
val filter_in_place : ('a -> bool) -> 'a t -> unit
val partition : ('a -> bool) -> 'a t -> 'a t * 'a t
val unsafe_get : 'a t -> int -> 'a
val unsafe_set : 'a t -> int -> 'a -> unit
val unsafe_sub : 'a t -> int -> int -> 'a t
val unsafe_fill : 'a t -> int -> int -> 'a -> unit
val unsafe_blit : 'a t -> int -> 'a t -> int -> int -> unit
val unsafe_remove_one : 'a t -> unit
val unsafe_remove_n : 'a t -> int -> unit
val unsafe_swap : 'a t -> int -> int -> unit
val unsafe_swap_in_last : 'a t -> int -> unit
end
module MakeFloats :
functor (S : Strat.T) ->
sig
module Strategy :
sig
type t = S.t
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = float
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
end
module MakeBits :
functor (S : Strat.T) ->
sig
module Strategy :
sig
type t = S.t
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = bool
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
end
module MakeWeak :
functor (S : Strat.T) ->
sig
module Strategy :
sig
type t = S.t
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type 'a t
val length : 'a t -> int
val lix : 'a t -> int
val real_length : 'a t -> int
val real_lix : 'a t -> int
val get : 'a t -> int -> 'a option
val get_copy : 'a t -> int -> 'a option
val check : 'a t -> int -> bool
val set : 'a t -> int -> 'a option -> unit
val sempty : strategy -> 'a t
val empty : unit -> 'a t
val screate : strategy -> int -> 'a t
val create : int -> 'a t
val sinit : strategy -> int -> (int -> 'a option) -> 'a t
val init : int -> (int -> 'a option) -> 'a t
val get_strategy : 'a t -> strategy
val set_strategy : 'a t -> strategy -> unit
val put_strategy : 'a t -> strategy -> unit
val enforce_strategy : 'a t -> unit
val copy : 'a t -> 'a t
val sub : 'a t -> int -> int -> 'a t
val fill : 'a t -> int -> int -> 'a option -> unit
val blit : 'a t -> int -> 'a t -> int -> int -> unit
val append : 'a t -> 'a t -> 'a t
val concat : 'a t list -> 'a t
val add_one : 'a t -> 'a option -> unit
val remove_one : 'a t -> unit
val remove_n : 'a t -> int -> unit
val remove_range : 'a t -> int -> int -> unit
val clear : 'a t -> unit
val swap : 'a t -> int -> int -> unit
val swap_in_last : 'a t -> int -> unit
val to_std : 'a t -> 'a Weak.t
val sof_std : strategy -> 'a Weak.t -> 'a t
val of_std : 'a Weak.t -> 'a t
val to_list : 'a t -> 'a option list
val of_list : 'a option list -> 'a t
val iter : ('a option -> unit) -> 'a t -> unit
val iteri : (int -> 'a option -> unit) -> 'a t -> unit
val fold_left : ('b -> 'a option -> 'b) -> 'b -> 'a t -> 'b
val fold_right : ('a option -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : ('a option -> bool) -> 'a t -> bool
val exists : ('a option -> bool) -> 'a t -> bool
val mem : 'a option -> 'a t -> bool
val memq : 'a option -> 'a t -> bool
val pos : 'a option -> 'a t -> int option
val posq : 'a option -> 'a t -> int option
val find : ('a option -> bool) -> 'a t -> 'a option
val find_index : ('a option -> bool) -> 'a t -> int -> int
val filter : ('a option -> bool) -> 'a t -> 'a t
val find_all : ('a option -> bool) -> 'a t -> 'a t
val filter_in_place : ('a option -> bool) -> 'a t -> unit
val partition : ('a option -> bool) -> 'a t -> 'a t * 'a t
val unsafe_get : 'a t -> int -> 'a option
val unsafe_set : 'a t -> int -> 'a option -> unit
val unsafe_sub : 'a t -> int -> int -> 'a t
val unsafe_fill : 'a t -> int -> int -> 'a option -> unit
val unsafe_blit : 'a t -> int -> 'a t -> int -> int -> unit
val unsafe_remove_one : 'a t -> unit
val unsafe_remove_n : 'a t -> int -> unit
val unsafe_swap : 'a t -> int -> int -> unit
val unsafe_swap_in_last : 'a t -> int -> unit
end
module MakeBuffer :
functor (S : Strat.T) ->
sig
module Strategy :
sig
type t = S.t
val default : t
val grow : t -> int -> int
val shrink : t -> real_len:int -> new_len:int -> int
end
type strategy = Strategy.t
type t
type el = char
val length : t -> int
val lix : t -> int
val real_length : t -> int
val real_lix : t -> int
val get : t -> int -> el
val set : t -> int -> el -> unit
val sempty : strategy -> t
val empty : unit -> t
val screate : strategy -> int -> t
val create : int -> t
val smake : strategy -> int -> el -> t
val make : int -> el -> t
val sinit : strategy -> int -> (int -> el) -> t
val init : int -> (int -> el) -> t
val get_strategy : t -> strategy
val set_strategy : t -> strategy -> unit
val put_strategy : t -> strategy -> unit
val enforce_strategy : t -> unit
val copy : t -> t
val sub : t -> int -> int -> t
val fill : t -> int -> int -> el -> unit
val blit : t -> int -> t -> int -> int -> unit
val append : t -> t -> t
val concat : t list -> t
val add_one : t -> el -> unit
val remove_one : t -> unit
val remove_n : t -> int -> unit
val remove_range : t -> int -> int -> unit
val clear : t -> unit
val swap : t -> int -> int -> unit
val swap_in_last : t -> int -> unit
val to_array : t -> el array
val sof_array : strategy -> el array -> t
val of_array : el array -> t
val to_list : t -> el list
val sof_list : strategy -> el list -> t
val of_list : el list -> t
val iter : (el -> unit) -> t -> unit
val map : (el -> el) -> t -> t
val iteri : (int -> el -> unit) -> t -> unit
val mapi : (int -> el -> el) -> t -> t
val fold_left : ('a -> el -> 'a) -> 'a -> t -> 'a
val fold_right : (el -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (el -> bool) -> t -> bool
val exists : (el -> bool) -> t -> bool
val mem : el -> t -> bool
val memq : el -> t -> bool
val pos : el -> t -> int option
val posq : el -> t -> int option
val find : (el -> bool) -> t -> el
val find_index : (el -> bool) -> t -> int -> int
val filter : (el -> bool) -> t -> t
val find_all : (el -> bool) -> t -> t
val filter_in_place : (el -> bool) -> t -> unit
val partition : (el -> bool) -> t -> t * t
val unsafe_get : t -> int -> el
val unsafe_set : t -> int -> el -> unit
val unsafe_sub : t -> int -> int -> t
val unsafe_fill : t -> int -> int -> el -> unit
val unsafe_blit : t -> int -> t -> int -> int -> unit
val unsafe_remove_one : t -> unit
val unsafe_remove_n : t -> int -> unit
val unsafe_swap : t -> int -> int -> unit
val unsafe_swap_in_last : t -> int -> unit
val sof_string : strategy -> string -> t
val of_string : string -> t
val contents : t -> string
val reset : t -> unit
val add_char : t -> char -> unit
val add_string : t -> string -> unit
val add_substring : t -> string -> int -> int -> unit
val add_buffer : t -> t -> unit
val add_channel : t -> in_channel -> int -> unit
val output_buffer : out_channel -> t -> unit
val add_full_channel : t -> in_channel -> unit
val add_full_channel_f :
t -> in_channel -> int -> (int -> int) -> unit
end
end