type 'a t = {
mutable dummy : 'a; |
mutable data : 'a array; |
mutable sz : int; |
}
val make : int -> 'a -> 'a t
val init : int -> ( int -> 'a ) -> 'a -> 'a t
val from_array : 'a array -> int -> 'a -> 'a t
val from_list : 'a list -> int -> 'a -> 'a t
val shrink : 'a t -> int -> bool -> unit
val is_empty : 'a t -> bool
val grow_to : 'a t -> int -> unit
val grow_to_double_size : 'a t -> unit
val grow_to_by_double : 'a t -> int -> unit
val is_full : 'a t -> bool
val push : 'a t -> 'a -> unit
val push_none : 'a t -> unit
val get : 'a t -> int -> 'a
val set : 'a t -> int -> 'a -> unit
val set_size : 'a t -> int -> unit
val move_to : 'a t -> 'a t -> unit
val remove : 'a t -> 'a -> unit
val fast_remove : 'a t -> 'a -> unit
val sort : 'a t -> ( 'a -> 'a -> int ) -> unit
val iter : 'a t -> ( 'a -> unit ) -> unit