BatHashcons.Table
Hashcons tables
val create : int -> t
create n
creates a table with at least n
cells.
val clear : t -> unit
clear tab
removes all entries from the table tab
.
hashcons tab k
returns either k
, adding it to the table tab
as a side effect, or if k
is already in the table then it returns the hashed object corresponding to that entry.
iter f tab
applies f
to every live hashed object in the table tab
.
fold f tab x0
folds f
across every live hashed object in the table tab
, starting with value x0
val count : t -> int
count tab
returns a count of how many live objects are in tab
. This can decrease whenever the GC runs, even during execution, so consider the returned value as an upper-bound.