sig
module type OrderedType =
sig
type t
val compare
MoreLabels.Map.OrderedType.t -> MoreLabels.Map.OrderedType.t -> int
end
module type S =
sig
type key
type +!'a t
val empty : 'a MoreLabels.Map.S.t
val add
key:MoreLabels.Map.S.key ->
data:'a -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val add_to_list
key:MoreLabels.Map.S.key ->
data:'a -> 'a list MoreLabels.Map.S.t -> 'a list MoreLabels.Map.S.t
val update
key:MoreLabels.Map.S.key ->
f:('a option -> 'a option) ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val singleton : MoreLabels.Map.S.key -> 'a -> 'a MoreLabels.Map.S.t
val remove
MoreLabels.Map.S.key ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val merge
f:(MoreLabels.Map.S.key -> 'a option -> 'b option -> 'c option) ->
'a MoreLabels.Map.S.t ->
'b MoreLabels.Map.S.t -> 'c MoreLabels.Map.S.t
val union
f:(MoreLabels.Map.S.key -> 'a -> 'a -> 'a option) ->
'a MoreLabels.Map.S.t ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val cardinal : 'a MoreLabels.Map.S.t -> int
val bindings
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) list
val min_binding : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a
val min_binding_opt
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) option
val max_binding : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a
val max_binding_opt
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) option
val choose : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a
val choose_opt
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) option
val find : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a
val find_opt
MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a option
val find_first
f:(MoreLabels.Map.S.key -> bool) ->
'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a
val find_first_opt
f:(MoreLabels.Map.S.key -> bool) ->
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) option
val find_last
f:(MoreLabels.Map.S.key -> bool) ->
'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a
val find_last_opt
f:(MoreLabels.Map.S.key -> bool) ->
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) option
val iter
f:(key:MoreLabels.Map.S.key -> data:'a -> unit) ->
'a MoreLabels.Map.S.t -> unit
val fold
f:(key:MoreLabels.Map.S.key -> data:'a -> 'acc -> 'acc) ->
'a MoreLabels.Map.S.t -> init:'acc -> 'acc
val map
f:('a -> 'b) -> 'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t
val mapi
f:(MoreLabels.Map.S.key -> 'a -> 'b) ->
'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t
val filter
f:(MoreLabels.Map.S.key -> 'a -> bool) ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val filter_map
f:(MoreLabels.Map.S.key -> 'a -> 'b option) ->
'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t
val partition
f:(MoreLabels.Map.S.key -> 'a -> bool) ->
'a MoreLabels.Map.S.t ->
'a MoreLabels.Map.S.t * 'a MoreLabels.Map.S.t
val split
MoreLabels.Map.S.key ->
'a MoreLabels.Map.S.t ->
'a MoreLabels.Map.S.t * 'a option * 'a MoreLabels.Map.S.t
val is_empty : 'a MoreLabels.Map.S.t -> bool
val mem : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> bool
val equal
cmp:('a -> 'a -> bool) ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t -> bool
val compare
cmp:('a -> 'a -> int) ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t -> int
val for_all
f:(MoreLabels.Map.S.key -> 'a -> bool) ->
'a MoreLabels.Map.S.t -> bool
val exists
f:(MoreLabels.Map.S.key -> 'a -> bool) ->
'a MoreLabels.Map.S.t -> bool
val to_list : 'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) list
val of_list : (MoreLabels.Map.S.key * 'a) list -> 'a MoreLabels.Map.S.t
val to_seq
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) Stdlib.Seq.t
val to_rev_seq
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) Stdlib.Seq.t
val to_seq_from
MoreLabels.Map.S.key ->
'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) Stdlib.Seq.t
val add_seq
(MoreLabels.Map.S.key * 'a) Stdlib.Seq.t ->
'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
val of_seq
(MoreLabels.Map.S.key * 'a) Stdlib.Seq.t -> 'a MoreLabels.Map.S.t
end
模块 Make
函子 (Ord : OrderedType) ->
sig
类型 key = Ord.t
类型 'a t = 'a Map.Make(Ord).t
值 empty : 'a t
值 add : key:key -> data:'a -> 'a t -> 'a t
值 add_to_list : key:key -> data:'a -> 'a list t -> 'a list t
值 update : key:key -> f:('a option -> 'a option) -> 'a t -> 'a t
值 singleton : key -> 'a -> 'a t
值 remove : key -> 'a t -> 'a t
val merge
f:(key -> 'a option -> 'b option -> 'c option) ->
'a t -> 'b t -> 'c t
值 union : f:(key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
值 cardinal : 'a t -> int
值 bindings : 'a t -> (key * 'a) list
值 min_binding : 'a t -> key * 'a
值 min_binding_opt : 'a t -> (key * 'a) option
值 max_binding : 'a t -> key * 'a
值 max_binding_opt : 'a t -> (key * 'a) option
值 choose : 'a t -> key * 'a
值 choose_opt : 'a t -> (key * 'a) option
值 find : key -> 'a t -> 'a
值 find_opt : key -> 'a t -> 'a option
值 find_first : f:(key -> bool) -> 'a t -> key * 'a
值 find_first_opt : f:(key -> bool) -> 'a t -> (key * 'a) option
值 find_last : f:(key -> bool) -> 'a t -> key * 'a
值 find_last_opt : f:(key -> bool) -> 'a t -> (key * 'a) option
值 iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit
val fold
f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc
值 map : f:('a -> 'b) -> 'a t -> 'b t
值 mapi : f:(key -> 'a -> 'b) -> 'a t -> 'b t
值 filter : f:(key -> 'a -> bool) -> 'a t -> 'a t
值 filter_map : f:(key -> 'a -> 'b option) -> 'a t -> 'b t
值 partition : f:(key -> 'a -> bool) -> 'a t -> 'a t * 'a t
值 split : key -> 'a t -> 'a t * 'a option * 'a t
值 is_empty : 'a t -> bool
值 mem : key -> 'a t -> bool
值 equal : cmp:('a -> 'a -> bool) -> 'a t -> 'a t -> bool
值 compare : cmp:('a -> 'a -> int) -> 'a t -> 'a t -> int
值 for_all : f:(key -> 'a -> bool) -> 'a t -> bool
值 exists : f:(key -> 'a -> bool) -> 'a t -> bool
值 to_list : 'a t -> (key * 'a) list
值 of_list : (key * 'a) list -> 'a t
值 to_seq : 'a t -> (key * 'a) Seq.t
值 to_rev_seq : 'a t -> (key * 'a) Seq.t
值 to_seq_from : key -> 'a t -> (key * 'a) Seq.t
值 add_seq : (key * 'a) Seq.t -> 'a t -> 'a t
值 of_seq : (key * 'a) Seq.t -> 'a t
end
end