Module type Table.Table


module type Table = sig  end

module I: ItemEq
type item 
type 'a table 
val create : ('a -> 'a -> bool) * ('a -> string) -> 'a table
val mem : 'a table -> 'a -> bool
val add : 'a table -> 'a -> item -> unit
val rm : 'a table -> 'a -> unit
val lookup : 'a table -> 'a -> item
val rev_lookup : 'a table -> item -> 'a list
val lookup_all : 'a table -> 'a -> item list
val iter : ('a -> item -> unit) -> 'a table -> unit
val eq : 'a table -> 'a -> 'a -> bool
val to_string : 'a table -> 'a -> string