module K2: sig .. end
Emphemerons with two keys.
type t('k1, 'k2, 'd);
an ephemeron with two keys
let create: unit => t('k1, 'k2, 'd);
Same as Ephemeron.K1.create
let get_key1: t('k1, 'k2, 'd) => option('k1);
Same as Ephemeron.K1.get_key
let get_key1_copy: t('k1, 'k2, 'd) => option('k1);
Same as Ephemeron.K1.get_key_copy
let set_key1: (t('k1, 'k2, 'd), 'k1) => unit;
Same as Ephemeron.K1.set_key
let unset_key1: t('k1, 'k2, 'd) => unit;
Same as Ephemeron.K1.unset_key
let check_key1: t('k1, 'k2, 'd) => bool;
Same as Ephemeron.K1.check_key
let get_key2: t('k1, 'k2, 'd) => option('k2);
Same as Ephemeron.K1.get_key
let get_key2_copy: t('k1, 'k2, 'd) => option('k2);
Same as Ephemeron.K1.get_key_copy
let set_key2: (t('k1, 'k2, 'd), 'k2) => unit;
Same as Ephemeron.K1.set_key
let unset_key2: t('k1, 'k2, 'd) => unit;
Same as Ephemeron.K1.unset_key
let check_key2: t('k1, 'k2, 'd) => bool;
Same as Ephemeron.K1.check_key
let blit_key1: (t('k1, 'a, 'b), t('k1, 'c, 'd)) => unit;
Same as Ephemeron.K1.blit_key
let blit_key2: (t('a, 'k2, 'b), t('c, 'k2, 'd)) => unit;
Same as Ephemeron.K1.blit_key
let blit_key12: (t('k1, 'k2, 'a), t('k1, 'k2, 'b)) => unit;
Same as Ephemeron.K1.blit_key
let get_data: t('k1, 'k2, 'd) => option('d);
Same as Ephemeron.K1.get_data
let get_data_copy: t('k1, 'k2, 'd) => option('d);
Same as Ephemeron.K1.get_data_copy
let set_data: (t('k1, 'k2, 'd), 'd) => unit;
Same as Ephemeron.K1.set_data
let unset_data: t('k1, 'k2, 'd) => unit;
Same as Ephemeron.K1.unset_data
let check_data: t('k1, 'k2, 'd) => bool;
Same as Ephemeron.K1.check_data
let blit_data: (t('k1, 'k2, 'd), t('k1, 'k2, 'd)) => unit;
Same as Ephemeron.K1.blit_data
module Make:
(H1: Hashtbl.HashedType, H2: Hashtbl.HashedType) =>
Ephemeron.S with type key = (H1.t, H2.t);
Functor building an implementation of a weak hash table
module MakeSeeded:
(H1: Hashtbl.SeededHashedType, H2: Hashtbl.SeededHashedType) =>
Ephemeron.SeededS with type key = (H1.t, H2.t);
Functor building an implementation of a weak hash table.