Module Hashtbl


module Hashtbl: sig .. end

val hash_param : int -> int -> 'a -> int
val hash : 'a -> int

type ('a, 'b) t = {
   mutable size : int;
   mutable data : ('a, 'b) bucketlist array;
}
type ('a, 'b) bucketlist =
| Empty
| Cons of 'a * 'b * ('a, 'b) bucketlist
val create : int -> ('a, 'b) t
val clear : ('a, 'b) t -> unit
val copy : ('a, 'b) t -> ('a, 'b) t
val length : ('a, 'b) t -> int
val resize : ('a -> int) -> ('a, 'b) t -> unit
val add : ('a, 'b) t -> 'a -> 'b -> unit
val remove : ('a, 'b) t -> 'a -> unit
val find_rec : 'a -> ('a, 'b) bucketlist -> 'b
val find : ('a, 'b) t -> 'a -> 'b
val find_all : ('a, 'b) t -> 'a -> 'b list
val replace : ('a, 'b) t -> 'a -> 'b -> unit
val mem : ('a, 'b) t -> 'a -> bool
val iter : ('a -> 'b -> 'c) -> ('a, 'b) t -> unit
val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
module type HashedType = sig .. end
module type S = sig .. end
module Make: 
functor (H : HashedType) -> sig .. end