package ocaml-base-compiler
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=3e3146e0c876d14bdd574cb543e782feb2b07a7cabd054a8f322ef40de61943a
doc/stdlib/Stdlib/Weak/module-type-S/index.html
Module type Weak.S
The output signature of the functor Weak.Make.
The type of tables that contain elements of type data. Note that weak hash sets cannot be marshaled using Stdlib.output_value or the functions of the Marshal module.
val create : int -> tcreate n creates a new empty weak hash set, of initial size n. The table will grow as needed.
val clear : t -> unitRemove all elements from the table.
merge t x returns an instance of x found in t if any, or else adds x to t and return x.
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.
remove t x removes from t one instance of x. Does nothing if there is no instance of x in t.
find t x returns an instance of x found in t. Raise Not_found if there is no such element.
find_opt t x returns an instance of x found in t or None if there is no such element.
find_all t x returns a list of all the instances of x found in t.
mem t x returns true if there is at least one instance of x in t, false otherwise.
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.
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 : t -> intCount 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 : t -> int * int * int * int * int * intReturn 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.