Module Ephemeron.K2

module K2: sig .. end

Emphemerons with two keys.


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

an ephemeron with two keys

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