Ephemeron.K2(3) OCaml library Ephemeron.K2(3)

# [NAME](#NAME)

Ephemeron.K2 - Ephemerons with two keys.

# [Module](#Module)

Module Ephemeron.K2

# [Documentation](#Documentation)

Module **K2**  
: **sig end**

Ephemerons with two keys.

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

an ephemeron with two keys

*val create* : **unit -&gt; ('k1, 'k2, 'd) t**

Same as **Ephemeron.K1.create**

*val get\_key1* : **('k1, 'k2, 'd) t -&gt; 'k1 option**

Same as **Ephemeron.K1.get\_key**

*val get\_key1\_copy* : **('k1, 'k2, 'd) t -&gt; 'k1 option**

Same as **Ephemeron.K1.get\_key\_copy**

*val set\_key1* : **('k1, 'k2, 'd) t -&gt; 'k1 -&gt; unit**

Same as **Ephemeron.K1.set\_key**

*val unset\_key1* : **('k1, 'k2, 'd) t -&gt; unit**

Same as **Ephemeron.K1.unset\_key**

*val check\_key1* : **('k1, 'k2, 'd) t -&gt; bool**

Same as **Ephemeron.K1.check\_key**

*val get\_key2* : **('k1, 'k2, 'd) t -&gt; 'k2 option**

Same as **Ephemeron.K1.get\_key**

*val get\_key2\_copy* : **('k1, 'k2, 'd) t -&gt; 'k2 option**

Same as **Ephemeron.K1.get\_key\_copy**

*val set\_key2* : **('k1, 'k2, 'd) t -&gt; 'k2 -&gt; unit**

Same as **Ephemeron.K1.set\_key**

*val unset\_key2* : **('k1, 'k2, 'd) t -&gt; unit**

Same as **Ephemeron.K1.unset\_key**

*val check\_key2* : **('k1, 'k2, 'd) t -&gt; bool**

Same as **Ephemeron.K1.check\_key**

*val blit\_key1* : **('k1, 'a, 'b) t -&gt; ('k1, 'c, 'd) t -&gt; unit**

Same as **Ephemeron.K1.blit\_key**

*val blit\_key2* : **('a, 'k2, 'b) t -&gt; ('c, 'k2, 'd) t -&gt; unit**

Same as **Ephemeron.K1.blit\_key**

*val blit\_key12* : **('k1, 'k2, 'a) t -&gt; ('k1, 'k2, 'b) t -&gt; unit**

Same as **Ephemeron.K1.blit\_key**

*val get\_data* : **('k1, 'k2, 'd) t -&gt; 'd option**

Same as **Ephemeron.K1.get\_data**

*val get\_data\_copy* : **('k1, 'k2, 'd) t -&gt; 'd option**

Same as **Ephemeron.K1.get\_data\_copy**

*val set\_data* : **('k1, 'k2, 'd) t -&gt; 'd -&gt; unit**

Same as **Ephemeron.K1.set\_data**

*val unset\_data* : **('k1, 'k2, 'd) t -&gt; unit**

Same as **Ephemeron.K1.unset\_data**

*val check\_data* : **('k1, 'k2, 'd) t -&gt; bool**

Same as **Ephemeron.K1.check\_data**

*val blit\_data* : **('k1, 'k2, 'd) t -&gt; ('k1, 'k2, 'd) t -&gt; unit**

Same as **Ephemeron.K1.blit\_data**

*val make* : **'k1 -&gt; 'k2 -&gt; 'd -&gt; ('k1, 'k2, 'd) t**

Same as **Ephemeron.K1.make**

*val query* : **('k1, 'k2, 'd) t -&gt; 'k1 -&gt; 'k2 -&gt; 'd option**

Same as **Ephemeron.K1.query**

*module Make :* **functor (H1 : Hashtbl.HashedType) (H2 : Hashtbl.HashedType) -&gt; sig end**

Functor building an implementation of a weak hash table

*module MakeSeeded :* **functor (H1 : Hashtbl.SeededHashedType) (H2 : Hashtbl.SeededHashedType) -&gt;** **sig end**

Functor building an implementation of a weak hash table. The seed is similar to the one of **Hashtbl.MakeSeeded** .

*module Bucket :* **sig end**

2026-09-15 OCamldoc

---

Document: Ephemeron.K2(3o) from ocaml-4 4.14.4-r3 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
