module type Map =sig
..end
module T:Map.OrderedType
include Map.S
val filter_map : 'a t -> f:(key -> 'a -> 'b option) -> 'b t
val of_list : (key * 'a) list -> 'a t
val disjoint_union : ?eq:('a -> 'a -> bool) ->
?print:(Format.formatter -> 'a -> unit) -> 'a t -> 'a t -> 'a t
disjoint_union m1 m2
contains all bindings from m1
and
m2
. If some binding is present in both and the associated
value is not equal, a Fatal_error is raised
val union_right : 'a t -> 'a t -> 'a t
union_right m1 m2
contains all bindings from m1
and m2
. If
some binding is present in both, the one from m2
is taken
val union_left : 'a t -> 'a t -> 'a t
union_left m1 m2 = union_right m2 m1
val union_merge : ('a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t
val rename : key t -> key -> key
val map_keys : (key -> key) -> 'a t -> 'a t
val keys : 'a t -> Set.Make(T).t
val data : 'a t -> 'a list
val of_set : (key -> 'a) -> Set.Make(T).t -> 'a t
val transpose_keys_and_data : key t -> key t
val transpose_keys_and_data_set : key t -> Set.Make(T).t t
val print : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit