functor (S : Strat.T) ->
functor (Impl : Implementation) ->
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 = Nopres_impl.Make.Strategy.t
type el = Impl.el
type t = {
mutable ar : Impl.t;
mutable vlix : int;
mutable strategy : Nopres_impl.Make.strategy;
}
val name : string
val invalid_arg : string -> 'a
val failwith : string -> 'a
val length : Nopres_impl.Make.t -> int
val lix : Nopres_impl.Make.t -> int
val real_length : Nopres_impl.Make.t -> int
val real_lix : Nopres_impl.Make.t -> int
val unsafe_get : Nopres_impl.Make.t -> int -> Impl.el
val unsafe_set : Nopres_impl.Make.t -> int -> Impl.el -> unit
val get : Nopres_impl.Make.t -> int -> Impl.el
val set : Nopres_impl.Make.t -> int -> Impl.el -> unit
val creator : int -> Impl.t
val empty_ar : Impl.t
val screate : Nopres_impl.Make.strategy -> int -> Nopres_impl.Make.t
val smake :
Nopres_impl.Make.strategy -> int -> Impl.el -> Nopres_impl.Make.t
val create_fresh : int -> Nopres_impl.Make.t
val create_from : Nopres_impl.Make.t -> Nopres_impl.Make.t
val sempty : Nopres_impl.Make.strategy -> Nopres_impl.Make.t
val empty : unit -> Nopres_impl.Make.t
val create : int -> Nopres_impl.Make.t
val make : int -> Impl.el -> Nopres_impl.Make.t
val sinit :
Nopres_impl.Make.strategy ->
int -> (int -> Impl.el) -> Nopres_impl.Make.t
val init : int -> (int -> Impl.el) -> Nopres_impl.Make.t
val get_strategy : Nopres_impl.Make.t -> Nopres_impl.Make.strategy
val resizer : int -> Nopres_impl.Make.t -> int -> unit
val enforce_strategy : Nopres_impl.Make.t -> unit
val set_strategy :
Nopres_impl.Make.t -> Nopres_impl.Make.strategy -> unit
val put_strategy :
Nopres_impl.Make.t -> Nopres_impl.Make.strategy -> unit
val unsafe_blit_on_other :
Nopres_impl.Make.t -> int -> Nopres_impl.Make.t -> int -> int -> unit
val copy : Nopres_impl.Make.t -> Nopres_impl.Make.t
val append :
Nopres_impl.Make.t -> Nopres_impl.Make.t -> Nopres_impl.Make.t
val concat_aux :
Nopres_impl.Make.t ->
int -> Nopres_impl.Make.t list -> Nopres_impl.Make.t
val concat : Nopres_impl.Make.t list -> Nopres_impl.Make.t
val unsafe_sub : Nopres_impl.Make.t -> int -> int -> Nopres_impl.Make.t
val sub : Nopres_impl.Make.t -> int -> int -> Nopres_impl.Make.t
val guarantee_ix : Nopres_impl.Make.t -> int -> unit
val maybe_grow_ix : Nopres_impl.Make.t -> int -> unit
val add_one : Nopres_impl.Make.t -> Impl.el -> unit
val unsafe_remove_one : Nopres_impl.Make.t -> unit
val remove_one : Nopres_impl.Make.t -> unit
val unsafe_remove_n : Nopres_impl.Make.t -> int -> unit
val remove_n : Nopres_impl.Make.t -> int -> unit
val unsafe_remove_range : Nopres_impl.Make.t -> int -> int -> unit
val remove_range : Nopres_impl.Make.t -> int -> int -> unit
val clear : Nopres_impl.Make.t -> unit
val unsafe_swap : Nopres_impl.Make.t -> int -> int -> unit
val swap : Nopres_impl.Make.t -> int -> int -> unit
val unsafe_swap_in_last : Nopres_impl.Make.t -> int -> unit
val swap_in_last : Nopres_impl.Make.t -> int -> unit
val unsafe_fill : Nopres_impl.Make.t -> int -> int -> Impl.el -> unit
val fill : Nopres_impl.Make.t -> int -> int -> Impl.el -> unit
val unsafe_blit :
Nopres_impl.Make.t -> int -> Nopres_impl.Make.t -> int -> int -> unit
val blit :
Nopres_impl.Make.t -> int -> Nopres_impl.Make.t -> int -> int -> unit
val to_list_aux : Impl.t -> int -> Impl.el list -> Impl.el list
val to_list : Nopres_impl.Make.t -> Impl.el list
val of_list_aux : Impl.t -> int -> Impl.el list -> unit
val of_list : Impl.el list -> Nopres_impl.Make.t
val sof_list :
Nopres_impl.Make.strategy -> Impl.el list -> Nopres_impl.Make.t
val to_array : Nopres_impl.Make.t -> Impl.el array
val sof_array :
Nopres_impl.Make.strategy -> Impl.el array -> Nopres_impl.Make.t
val of_array : Impl.el array -> Nopres_impl.Make.t
val iter : (Impl.el -> 'a) -> Nopres_impl.Make.t -> unit
val map :
(Impl.el -> Impl.el) -> Nopres_impl.Make.t -> Nopres_impl.Make.t
val iteri : (int -> Impl.el -> 'a) -> Nopres_impl.Make.t -> unit
val mapi :
(int -> Impl.el -> Impl.el) ->
Nopres_impl.Make.t -> Nopres_impl.Make.t
val fold_left : ('a -> Impl.el -> 'a) -> 'a -> Nopres_impl.Make.t -> 'a
val fold_right :
(Impl.el -> 'a -> 'a) -> Nopres_impl.Make.t -> 'a -> 'a
val for_all_aux :
int -> (Impl.el -> bool) -> Nopres_impl.Make.t -> bool
val for_all : (Impl.el -> bool) -> Nopres_impl.Make.t -> bool
val exists_aux : int -> (Impl.el -> bool) -> Nopres_impl.Make.t -> bool
val exists : (Impl.el -> bool) -> Nopres_impl.Make.t -> bool
val mem_aux : int -> Impl.el -> Nopres_impl.Make.t -> bool
val mem : Impl.el -> Nopres_impl.Make.t -> bool
val memq_aux : int -> Impl.el -> Nopres_impl.Make.t -> bool
val memq : Impl.el -> Nopres_impl.Make.t -> bool
val pos_aux : int -> Impl.el -> Nopres_impl.Make.t -> int option
val pos : Impl.el -> Nopres_impl.Make.t -> int option
val posq_aux : int -> Impl.el -> Nopres_impl.Make.t -> int option
val posq : Impl.el -> Nopres_impl.Make.t -> int option
val find_aux :
int -> (Impl.el -> bool) -> Nopres_impl.Make.t -> Impl.el
val find : (Impl.el -> bool) -> Nopres_impl.Make.t -> Impl.el
val find_index_aux :
(Impl.el -> bool) -> Nopres_impl.Make.t -> int -> int
val find_index : (Impl.el -> bool) -> Nopres_impl.Make.t -> int -> int
val filter :
(Impl.el -> bool) -> Nopres_impl.Make.t -> Nopres_impl.Make.t
val find_all :
(Impl.el -> bool) -> Nopres_impl.Make.t -> Nopres_impl.Make.t
val filter_in_place : (Impl.el -> bool) -> Nopres_impl.Make.t -> unit
val partition :
(Impl.el -> bool) ->
Nopres_impl.Make.t -> Nopres_impl.Make.t * Nopres_impl.Make.t
end