Module Ephemeron.K2

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);
let get_key1: t('k1, 'k2, 'd) => option('k1);
let get_key1_copy: t('k1, 'k2, 'd) => option('k1);
let set_key1: (t('k1, 'k2, 'd), 'k1) => unit;
let unset_key1: t('k1, 'k2, 'd) => unit;
let check_key1: t('k1, 'k2, 'd) => bool;
let get_key2: t('k1, 'k2, 'd) => option('k2);
let get_key2_copy: t('k1, 'k2, 'd) => option('k2);
let set_key2: (t('k1, 'k2, 'd), 'k2) => unit;
let unset_key2: t('k1, 'k2, 'd) => unit;
let check_key2: t('k1, 'k2, 'd) => bool;
let blit_key1: (t('k1, 'a, 'b), t('k1, 'c, 'd)) => unit;
let blit_key2: (t('a, 'k2, 'b), t('c, 'k2, 'd)) => unit;
let blit_key12: (t('k1, 'k2, 'a), t('k1, 'k2, 'b)) => unit;
let get_data: t('k1, 'k2, 'd) => option('d);
let get_data_copy: t('k1, 'k2, 'd) => option('d);
let set_data: (t('k1, 'k2, 'd), 'd) => unit;
let unset_data: t('k1, 'k2, 'd) => unit;
let check_data: t('k1, 'k2, 'd) => bool;
let blit_data: (t('k1, 'k2, 'd), t('k1, 'k2, 'd)) => unit;
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.