Module Hashtbl.MakeSeeded

Functor building an implementation of the hashtable structure. The functor Hashtbl.MakeSeeded 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 seeded hashing and equality functions specified in the functor argument H instead of generic equality and hashing. The create operation of the result structure supports the ~random optional parameter and returns randomized hash tables if ~random:true is passed or if randomization is globally on (see Hashtbl.randomize).

Parameters

Signature

type key = H.t;
type t('a) = Hashtbl.MakeSeeded(H).t('a);
let create: ?random:bool => 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);
  • 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;
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