Module BatHashcons.MakeTable

Parameters

Signature

type key = HT.t

type of objects in the table

type t

type of the table

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.

val hashcons : t -> key -> key hobj

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.

  • raises Failure

    if number of objects with the same hash reaches system limit of array size

val iter : (key hobj -> unit) -> t -> unit

iter f tab applies f to every live hashed object in the table tab.

val fold : (key hobj -> 'a -> 'a) -> t -> 'a -> 'a

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.