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