Functor DHashhe.Make


module Make: 
functor (P : Param) -> S with module HashX = P.HashX and module HashY = P.HashY
Functor building an implementation of the DHashtbl structure given two hashtables
Parameters:
P : Param

module HashX: Hashhe.S 
module HashY: Hashhe.S 
type x = HashX.key 
type y = HashY.key 
type t 
val hashx : t -> y HashX.t
val hashy : t -> x HashY.t
val clear : t -> unit
val create : int -> t
val add : t -> x -> y -> unit
val y_of_x : t -> x -> y
val x_of_y : t -> y -> x
val removex : t -> x -> unit
val removey : t -> y -> unit
val memx : t -> x -> bool
val memy : t -> y -> bool
val iter : t -> (x -> y -> unit) -> unit
val fold : t -> 'a -> (x -> y -> 'a -> 'a) -> 'a
val cardinal : 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 -> x -> unit) ->
(Format.formatter -> y -> unit) ->
Format.formatter -> t -> unit