module Make: (H: HashedType) => S with type key = H.t;
Functor building an implementation of the hashtable structure.
The functor Hashtbl.Make returns a structure containing
a type key of keys and a type 'a t of hash tables
associating data of type 'a to keys of type key.
The operations perform similarly to those of the generic
interface, but use the hashing and equality functions
specified in the functor argument H instead of generic
equality and hashing. Since the hash function is not seeded,
the create operation of the result structure always returns
non-randomized hash tables.
type key;
type t('a);
let create: int => t('a);
let clear: t('a) => unit;
let reset: t('a) => unit;
let copy: t('a) => t('a);
let add: (t('a), key, 'a) => unit;
let remove: (t('a), key) => unit;
let find: (t('a), key) => 'a;
let find_all: (t('a), key) => list('a);
let replace: (t('a), key, 'a) => unit;
let mem: (t('a), key) => bool;
let iter: ((key, 'a) => unit, t('a)) => unit;
let fold: ((key, 'a, 'b) => 'b, t('a), 'b) => 'b;
let length: t('a) => int;
let stats: t('a) => Hashtbl.statistics;