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