# Module Ephemeron.K2

    module K2: sig .. end

Ephemerons with two keys.

    type ('k1, 'k2, 'd) t

an ephemeron with two keys

    val create : unit -> ('k1, 'k2, 'd) t

Same as `Ephemeron.K1.create`

    val get_key1 : ('k1, 'k2, 'd) t -> 'k1 option

Same as `Ephemeron.K1.get_key`

    val get_key1_copy : ('k1, 'k2, 'd) t -> 'k1 option

Same as `Ephemeron.K1.get_key_copy`

    val set_key1 : ('k1, 'k2, 'd) t -> 'k1 -> unit

Same as `Ephemeron.K1.set_key`

    val unset_key1 : ('k1, 'k2, 'd) t -> unit

Same as `Ephemeron.K1.unset_key`

    val check_key1 : ('k1, 'k2, 'd) t -> bool

Same as `Ephemeron.K1.check_key`

    val get_key2 : ('k1, 'k2, 'd) t -> 'k2 option

Same as `Ephemeron.K1.get_key`

    val get_key2_copy : ('k1, 'k2, 'd) t -> 'k2 option

Same as `Ephemeron.K1.get_key_copy`

    val set_key2 : ('k1, 'k2, 'd) t -> 'k2 -> unit

Same as `Ephemeron.K1.set_key`

    val unset_key2 : ('k1, 'k2, 'd) t -> unit

Same as `Ephemeron.K1.unset_key`

    val check_key2 : ('k1, 'k2, 'd) t -> bool

Same as `Ephemeron.K1.check_key`

    val blit_key1 : ('k1, 'a, 'b) t -> ('k1, 'c, 'd) t -> unit

Same as `Ephemeron.K1.blit_key`

    val blit_key2 : ('a, 'k2, 'b) t -> ('c, 'k2, 'd) t -> unit

Same as `Ephemeron.K1.blit_key`

    val blit_key12 : ('k1, 'k2, 'a) t -> ('k1, 'k2, 'b) t -> unit

Same as `Ephemeron.K1.blit_key`

    val get_data : ('k1, 'k2, 'd) t -> 'd option

Same as `Ephemeron.K1.get_data`

    val get_data_copy : ('k1, 'k2, 'd) t -> 'd option

Same as `Ephemeron.K1.get_data_copy`

    val set_data : ('k1, 'k2, 'd) t -> 'd -> unit

Same as `Ephemeron.K1.set_data`

    val unset_data : ('k1, 'k2, 'd) t -> unit

Same as `Ephemeron.K1.unset_data`

    val check_data : ('k1, 'k2, 'd) t -> bool

Same as `Ephemeron.K1.check_data`

    val blit_data : ('k1, 'k2, 'd) t -> ('k1, 'k2, 'd) t -> unit

Same as `Ephemeron.K1.blit_data`

    val make : 'k1 -> 'k2 -> 'd -> ('k1, 'k2, 'd) t

Same as `Ephemeron.K1.make`

    val query : ('k1, 'k2, 'd) t -> 'k1 -> 'k2 -> 'd option

Same as `Ephemeron.K1.query`

    module Make: functor (H1 : Hashtbl.HashedType) -> functor (H2 : Hashtbl.HashedType) -> Ephemeron.S  with type key = H1.t * H2.t

Functor building an implementation of a weak hash table

    module MakeSeeded: functor (H1 : Hashtbl.SeededHashedType) -> functor (H2 : Hashtbl.SeededHashedType) -> Ephemeron.SeededS  with type key = H1.t * H2.t

Functor building an implementation of a weak hash table.

    module Bucket: sig .. end