sig
type 'a t
exception Out_of_bounds
val max_length : int
val empty : 'a Vect.t
val singleton : 'a -> 'a Vect.t
val of_array : 'a array -> 'a Vect.t
val to_array : 'a Vect.t -> 'a array
val to_list : 'a Vect.t -> 'a list
val make : int -> 'a -> 'a Vect.t
val is_empty : 'a Vect.t -> bool
val height : 'a Vect.t -> int
val length : 'a Vect.t -> int
val balance : 'a Vect.t -> 'a Vect.t
val concat : 'a Vect.t -> 'a Vect.t -> 'a Vect.t
val append : 'a -> 'a Vect.t -> 'a Vect.t
val prepend : 'a -> 'a Vect.t -> 'a Vect.t
val get : int -> 'a Vect.t -> 'a
val set : int -> 'a -> 'a Vect.t -> 'a Vect.t
val destructive_set : int -> 'a -> 'a Vect.t -> unit
val sub : int -> int -> 'a Vect.t -> 'a Vect.t
val insert : int -> 'a Vect.t -> 'a Vect.t -> 'a Vect.t
val remove : int -> int -> 'a Vect.t -> 'a Vect.t
val iter : ('a -> unit) -> 'a Vect.t -> unit
val iteri : (int -> 'a -> unit) -> 'a Vect.t -> unit
val rangeiter : ('a -> unit) -> int -> int -> 'a Vect.t -> unit
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b Vect.t -> 'a
val fold_right : ('a -> 'b -> 'b) -> 'a Vect.t -> 'b -> 'b
val map : ('a -> 'b) -> 'a Vect.t -> 'b Vect.t
val id_map : ('a -> 'a) -> 'a Vect.t -> 'a Vect.t
val filter : ('a -> bool) -> 'a Vect.t -> 'a Vect.t
module type RANDOMACCESS =
sig
type 'a t
val empty : 'a Vect.RANDOMACCESS.t
val get : 'a Vect.RANDOMACCESS.t -> int -> 'a
val unsafe_get : 'a Vect.RANDOMACCESS.t -> int -> 'a
val set : 'a Vect.RANDOMACCESS.t -> int -> 'a -> unit
val unsafe_set : 'a Vect.RANDOMACCESS.t -> int -> 'a -> unit
val append :
'a Vect.RANDOMACCESS.t ->
'a Vect.RANDOMACCESS.t -> 'a Vect.RANDOMACCESS.t
val concat : 'a Vect.RANDOMACCESS.t list -> 'a Vect.RANDOMACCESS.t
val length : 'a Vect.RANDOMACCESS.t -> int
val copy : 'a Vect.RANDOMACCESS.t -> 'a Vect.RANDOMACCESS.t
val sub :
'a Vect.RANDOMACCESS.t -> int -> int -> 'a Vect.RANDOMACCESS.t
val make : int -> 'a -> 'a Vect.RANDOMACCESS.t
val iter : ('a -> unit) -> 'a Vect.RANDOMACCESS.t -> unit
val map :
('a -> 'b) -> 'a Vect.RANDOMACCESS.t -> 'b Vect.RANDOMACCESS.t
val fold_right : ('a -> 'b -> 'b) -> 'a Vect.RANDOMACCESS.t -> 'b -> 'b
end
module Make :
functor (R : RANDOMACCESS) ->
functor (PARAM : sig val max_height : int val leaf_size : int end) ->
sig
type 'a t
exception Out_of_bounds
val max_length : int
val empty : 'a Vect.Make.t
val singleton : 'a -> 'a Vect.Make.t
val of_container : 'a R.t -> 'a Vect.Make.t
val to_container : 'a Vect.Make.t -> 'a R.t
val to_list : 'a Vect.Make.t -> 'a list
val make : int -> 'a -> 'a Vect.Make.t
val is_empty : 'a Vect.Make.t -> bool
val height : 'a Vect.Make.t -> int
val length : 'a Vect.Make.t -> int
val balance : 'a Vect.Make.t -> 'a Vect.Make.t
val concat : 'a Vect.Make.t -> 'a Vect.Make.t -> 'a Vect.Make.t
val append : 'a -> 'a Vect.Make.t -> 'a Vect.Make.t
val prepend : 'a -> 'a Vect.Make.t -> 'a Vect.Make.t
val get : int -> 'a Vect.Make.t -> 'a
val set : int -> 'a -> 'a Vect.Make.t -> 'a Vect.Make.t
val sub : int -> int -> 'a Vect.Make.t -> 'a Vect.Make.t
val insert :
int -> 'a Vect.Make.t -> 'a Vect.Make.t -> 'a Vect.Make.t
val remove : int -> int -> 'a Vect.Make.t -> 'a Vect.Make.t
val iter : ('a -> unit) -> 'a Vect.Make.t -> unit
val iteri : (int -> 'a -> unit) -> 'a Vect.Make.t -> unit
val rangeiter :
('a -> unit) -> int -> int -> 'a Vect.Make.t -> unit
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b Vect.Make.t -> 'a
val fold_right : ('a -> 'b -> 'b) -> 'a Vect.Make.t -> 'b -> 'b
val map : ('a -> 'b) -> 'a Vect.Make.t -> 'b Vect.Make.t
val id_map : ('a -> 'a) -> 'a Vect.Make.t -> 'a Vect.Make.t
val filter : ('a -> bool) -> 'a Vect.Make.t -> 'a Vect.Make.t
end
end