Functor Computation.Make_WeakHashtbl


module Make_WeakHashtbl: 
functor (W : Weak.S) ->
functor (Data : Project.Datatype.S with type t = W.data) ->
functor (Info : Signature.NAME_SIZE_DPDS) -> WEAK_HASHTBL_OUTPUT with type data = W.data
Build a weak hashtbl over a datatype Data from a reference implementation W.
Since Boron-20100401
Parameters:
W : Weak.S
Data : Project.Datatype.S with type t = W.data
Info : Signature.NAME_SIZE_DPDS

include Project.Computation.OUTPUT

Hashtbl are a standard computation. BUT it is INCORRECT to use projectified hashtables if keys have a custom rehash function (see Project.DATATYPE_OUTPUT.rehash)
type data 
Since Boron-20100401
val merge : data -> data
merge x returns an instance of x found in the table if any, or else adds x and return x.
Since Boron-20100401
val add : data -> unit
add x adds x to the table. If there is already an instance of x, it is unspecified which one will be returned by subsequent calls to find and merge.
Since Boron-20100401
val clear : unit -> unit
Clear the table.
Since Boron-20100401
val count : unit -> int
Length of the table.
Since Boron-20100401
val iter : (data -> unit) -> unit
Since Boron-20100401
val fold : (data -> 'a -> 'a) -> 'a -> 'a
Since Boron-20100401
val find : data -> data
find x returns an instance of x found in table. @Raise Not_found if there is no such element.
Since Boron-20100401
val find_all : data ->
data list
find_all x returns a list of all the instances of x found in t.
Since Boron-20100401
val mem : data -> bool
mem x returns true if there is at least one instance of x in the table, false otherwise.
Since Boron-20100401
val remove : data -> unit
remove x removes from the table one instance of x. Does nothing if there is no instance of x.
Since Boron-20100401