|
Functor Weak.Makemodule Make:
Functor building an implementation of the weak hash table structure.
type data
The type of the elements stored in the table.
type t
The type of tables that contain elements of type
data .val create : create n creates a new empty weak hash table, of initial
size n . The table will grow as needed.val clear :
Remove all elements from the table.
val merge : merge t x returns an instance of x found in t if any,
or else adds x to t and return x .val add : add t x adds x to t . If there is already an instance
of x in t , it is unspecified which one will be
returned by subsequent calls to find and merge .val remove : remove t x removes from t one instance of x . Does
nothing if there is no instance of x in t .val find : find t x returns an instance of x found in t .
Raise Not_found if there is no such element.val find_all : find_all t x returns a list of all the instances of x
found in t .val mem : mem t x returns true if there is at least one instance
of x in t , false otherwise.val iter : iter f t calls f on each element of t , in some unspecified
order. It is not specified what happens if f tries to change
t itself.val fold : fold f t init computes (f d1 (... (f dN init))) where
d1 ... dN are the elements of t in some unspecified order.
It is not specified what happens if f tries to change t
itself.val count :
Count the number of elements in the table.
count t gives the
same result as fold (fun _ n -> n+1) t 0 but does not delay the
deallocation of the dead elements.val stats :
Return statistics on the table. The numbers are, in order:
table length, number of entries, sum of bucket lengths,
smallest bucket length, median bucket length, biggest bucket length.
|