Module Hashtbl.Make

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

module H: HashedType

Signature

type key = H.t;
type t('a) = Hashtbl.Make(H).t('a);
let create: int => t('a);
let clear: t('a) => unit;
let reset: t('a) => unit;
  • since 4.00.0
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);
  • since 4.05.0
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;
  • since 4.03.0
let fold: f:(key:key => data:'a => 'b => 'b) => t('a) => init:'b => 'b;
let length: t('a) => int;
let stats: t('a) => statistics;
  • since 4.00.0
let to_seq: t('a) => Seq.t((key, 'a));
  • since 4.07
let to_seq_keys: t(_) => Seq.t(key);
  • since 4.07
let to_seq_values: t('a) => Seq.t('a);
  • since 4.07
let add_seq: t('a) => Seq.t((key, 'a)) => unit;
  • since 4.07
let replace_seq: t('a) => Seq.t((key, 'a)) => unit;
  • since 4.07
let of_seq: Seq.t((key, 'a)) => t('a);
  • since 4.07