module Make: functor (
P
:
Param
) ->
S
with module MappeX = P.MappeX
and module MappeY = P.MappeY
Functor building an implementation of the DMappe structure
given two map structures.
module MappeX: Mappe.S
module MappeY: Mappe.S
type
x = MappeX.key
type
y = MappeY.key
type
t
val mapx : t -> y MappeX.t
val mapy : t -> x MappeY.t
val is_empty : t -> bool
val empty : t
val add : x -> y -> t -> t
val y_of_x : x -> t -> y
val x_of_y : y -> t -> x
val remove : x -> t -> t
val memx : x -> t -> bool
val memy : y -> t -> bool
val merge : t -> t -> t
val common : t -> t -> t
val intersetx : t -> MappeX.Setkey.t -> t
val intersety : t -> MappeY.Setkey.t -> t
val diffsetx : t -> MappeX.Setkey.t -> t
val diffsety : t -> MappeY.Setkey.t -> t
val iter : (x -> y -> unit) -> t -> unit
val fold : (x -> y -> 'c -> 'c) -> t -> 'c -> 'c
val setx : t -> MappeX.Setkey.t
val sety : t -> MappeY.Setkey.t
val equalx : t -> t -> bool
val equaly : t -> t -> bool
val subsetx : t -> t -> bool
val subsety : t -> t -> bool
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