module Bucket: sig .. end
type ('k1, 'k2, 'd) t
A bucket is a mutable "list" of ephemerons.
val make : unit -> ('k1, 'k2, 'd) t
Create a new bucket.
val add : ('k1, 'k2, 'd) t -> 'k1 -> 'k2 -> 'd -> unit
Add an ephemeron to the bucket.
val remove : ('k1, 'k2, 'd) t -> 'k1 -> 'k2 -> unit
remove b k1 k2
removes from b
the most-recently added
ephemeron with keys k1
and k2
, or does nothing if there
is no such ephemeron.
val find : ('k1, 'k2, 'd) t -> 'k1 -> 'k2 -> 'd option
Returns the data of the most-recently added ephemeron with the
given keys, or None
if there is no such ephemeron.
val length : ('k1, 'k2, 'd) t -> int
Returns an upper bound on the length of the bucket.
val clear : ('k1, 'k2, 'd) t -> unit
Remove all ephemerons from the bucket.