模块 Identifiable.S.Map

module Map: Identifiable.Map  with module T := T

module T: Map.OrderedType 
include Map.S
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 包含来自 m1m2 的所有绑定。如果某个绑定在两个映射中都存在,并且关联的值不相同,则会引发 Fatal_error 错误。

val union_right : 'a t -> 'a t -> 'a t

union_right m1 m2 包含来自 m1m2 的所有绑定。如果某个绑定在两个映射中都存在,则使用来自 m2 的绑定。

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 -> Stdlib.Set.Make(T).t
val data : 'a t -> 'a list
val of_set : (key -> 'a) -> Stdlib.Set.Make(T).t -> 'a t
val transpose_keys_and_data : key t -> key t
val transpose_keys_and_data_set : key t -> Stdlib.Set.Make(T).t t
val print : (Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a t -> unit