Functor MoreLabels.Hashtbl.Make

module Make:
  (H: HashedType) =>
   S with type key = H.t and type t('a) = Hashtbl.Make(H).t('a);

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.

Parameters:
H : HashedType

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: key, ~data: 'a) => unit;
let remove: (t('a), key) => unit;
let find: (t('a), key) => 'a;
let find_opt: (t('a), key) => option('a);
let find_all: (t('a), key) => list('a);
let replace: (t('a), ~key: key, ~data: 'a) => unit;
let mem: (t('a), key) => bool;
let iter: (~f: (~key: key, ~data: 'a) => unit, t('a)) => unit;
let filter_map_inplace:
  (~f: (~key: key, ~data: 'a) => option('a), t('a)) => unit;
let fold: (~f: (~key: key, ~data: 'a, 'b) => 'b, t('a), ~init: 'b) => 'b;
let length: t('a) => int;
let stats: t('a) => MoreLabels.Hashtbl.statistics;
let to_seq: t('a) => Seq.t((key, 'a));
let to_seq_keys: t('a) => Seq.t(key);
let to_seq_values: t('a) => Seq.t('a);
let add_seq: (t('a), Seq.t((key, 'a))) => unit;
let replace_seq: (t('a), Seq.t((key, 'a))) => unit;
let of_seq: Seq.t((key, 'a)) => t('a);