sig
module MappeX : Mappe.S
module MappeY : Mappe.S
type x = MappeX.key
type y = MappeY.key
type t
val mapx : DMappe.S.t -> DMappe.S.y MappeX.t
val mapy : DMappe.S.t -> DMappe.S.x MappeY.t
val is_empty : DMappe.S.t -> bool
val empty : DMappe.S.t
val add : DMappe.S.x -> DMappe.S.y -> DMappe.S.t -> DMappe.S.t
val y_of_x : DMappe.S.x -> DMappe.S.t -> DMappe.S.y
val x_of_y : DMappe.S.y -> DMappe.S.t -> DMappe.S.x
val remove : DMappe.S.x -> DMappe.S.t -> DMappe.S.t
val memx : DMappe.S.x -> DMappe.S.t -> bool
val memy : DMappe.S.y -> DMappe.S.t -> bool
val merge : DMappe.S.t -> DMappe.S.t -> DMappe.S.t
val common : DMappe.S.t -> DMappe.S.t -> DMappe.S.t
val intersetx : DMappe.S.t -> MappeX.Setkey.t -> DMappe.S.t
val intersety : DMappe.S.t -> MappeY.Setkey.t -> DMappe.S.t
val diffsetx : DMappe.S.t -> MappeX.Setkey.t -> DMappe.S.t
val diffsety : DMappe.S.t -> MappeY.Setkey.t -> DMappe.S.t
val iter : (DMappe.S.x -> DMappe.S.y -> unit) -> DMappe.S.t -> unit
val fold : (DMappe.S.x -> DMappe.S.y -> 'c -> 'c) -> DMappe.S.t -> 'c -> 'c
val setx : DMappe.S.t -> MappeX.Setkey.t
val sety : DMappe.S.t -> MappeY.Setkey.t
val equalx : DMappe.S.t -> DMappe.S.t -> bool
val equaly : DMappe.S.t -> DMappe.S.t -> bool
val subsetx : DMappe.S.t -> DMappe.S.t -> bool
val subsety : DMappe.S.t -> DMappe.S.t -> bool
val cardinal : DMappe.S.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 -> DMappe.S.x -> unit) ->
(Format.formatter -> DMappe.S.y -> unit) ->
Format.formatter -> DMappe.S.t -> unit
end