Module Tools.OrdArray

module OrdArray: sig .. end
An OrdArray is a container for an ordered set of bounded size.

type entry = {
   mutable prev : int;
   mutable next : int;
}
type 'a t = {
   last_used : entry array; (*
The ordered list of indices.
*)
   mutable first : int; (*
The indice of the first element.
*)
   mutable last : int; (*
and the last one.
*)
   data : 'a array;
}
User data
val make_from_data : 'a array -> 'a t
val make : int -> 'a -> 'a t
val init : int -> (int -> 'a) -> 'a t
val get : 'a t -> int -> 'a
val set : 'a t -> int -> 'a -> unit
val first : 'a t -> int
val last : 'a t -> int
val remove : 'a t -> int -> unit
val add_head : 'a t -> int -> unit
val promote : 'a t -> int -> unit