Module Ordered_hash_map_gen

Hash based datastrucure which does not support remove, so that the adding order is strict and continous

module type S = sig ... end
type ('a, 'b) bucket =
  1. | Empty
  2. | Cons of {
    1. key : 'a;
    2. ord : int;
    3. data : 'b;
    4. next : ('a, 'b) bucket;
    }
type ('a, 'b) t = {
  1. mutable size : int;
  2. mutable data : ('a, 'b) bucket array;
  3. initial_size : int;
}
val create : int -> ('a, 'b) t
val clear : ('a, 'b) t -> unit
val reset : ('a, 'b) t -> unit
val length : ('a, 'b) t -> int
val resize : (('a, 'b) t -> 'c -> int) -> ('a, 'b) t -> unit
val iter : ('a, 'b) t -> ('c -> 'd -> int -> 'e) -> unit
val choose : ('a, 'b) t -> 'c
val to_sorted_array : ('a, 'b) t -> 'c array
val fold : ('a, 'b) t -> 'c -> ('d -> 'e -> int -> 'f -> 'g) -> 'h
val elements : ('a, 'b) t -> 'c list
val bucket_length : int -> ('a, 'b) bucket -> int