BatHashcons.Table

# Module type BatHashcons.Table

    module type Table = sig .. end

Hashcons tables

    type key

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 BatHashcons.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.

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

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