module Make:
Functor building an implementation of the hashtable structure.
The functor Hashtbl.Make returns a structure containing
a type key of keys and a type 'a t of hash tables
associating data of type 'a to keys of type key.
The operations perform similarly to those of the generic
interface, but use the hashing and equality functions
specified in the functor argument H instead of generic
equality and hashing.
type key
type 'a t
val create : int -> 'a t
val clear : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t -> key -> 'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key -> 'a -> unit
val mem : 'a t -> key -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val map : (key -> 'a -> 'b) -> 'a t -> 'b t
val length : 'a t -> int
val print : ?first:(unit, Format.formatter, unit) Pervasives.format ->
?sep:(unit, Format.formatter, unit) Pervasives.format ->
?last:(unit, Format.formatter, unit) Pervasives.format ->
?firstbind:(unit, Format.formatter, unit) Pervasives.format ->
?sepbind:(unit, Format.formatter, unit) Pervasives.format ->
?lastbind:(unit, Format.formatter, unit) Pervasives.format ->
(Format.formatter -> key -> unit) ->
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit