module MakeSeeded: (H: SeededHashedType) => SeededS with type key = H.t;
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
).
type key;
type 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, '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, 'a) => unit;
let mem: (t('a), key) => bool;
let iter: ((key, 'a) => unit, t('a)) => unit;
let filter_map_inplace: ((key, 'a) => option('a), t('a)) => unit;
let fold: ((key, 'a, 'b) => 'b, t('a), 'b) => 'b;
let length: t('a) => int;
let stats: t('a) => 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);