# Module Ephemeron.K1.Bucket

    module Bucket: sig .. end

    type ('k, 'd) t

A bucket is a mutable "list" of ephemerons.

    val make : unit -> ('k, 'd) t

Create a new bucket.

    val add : ('k, 'd) t -> 'k -> 'd -> unit

Add an ephemeron to the bucket.

    val remove : ('k, 'd) t -> 'k -> unit

`remove b k` removes from `b` the most-recently added ephemeron with key `k`, or does nothing if there is no such ephemeron.

    val find : ('k, 'd) t -> 'k -> 'd option

Returns the data of the most-recently added ephemeron with the given key, or `None` if there is no such ephemeron.

    val length : ('k, 'd) t -> int

Returns an upper bound on the length of the bucket.

    val clear : ('k, 'd) t -> unit

Remove all ephemerons from the bucket.