Module Core_kernel.Map.Poly
type ('a, 'b, 'c) map = ('a, 'b, 'c) tmodule Tree : sig ... endinclude Map_intf.Creators_and_accessors2 with type (a, b) t := (a, b) t with type (a, b) tree := (a, b) Tree.t
include Map_intf.Creators2
include Map_intf.Map.Creators2
val singleton : 'a ‑> 'b ‑> ('a, 'b) tval of_alist : ('a * 'b) list ‑> [ `Duplicate_key of 'a | `Ok of ('a, 'b) t ]val of_alist_exn : ('a * 'b) list ‑> ('a, 'b) tval of_alist_multi : ('a * 'b) list ‑> ('a, 'b list) tval of_alist_fold : ('a * 'b) list ‑> init:'c ‑> f:('c ‑> 'b ‑> 'c) ‑> ('a, 'c) tval of_alist_reduce : ('a * 'b) list ‑> f:('b ‑> 'b ‑> 'b) ‑> ('a, 'b) tval of_sorted_array_unchecked : ('a * 'b) array ‑> ('a, 'b) tval of_increasing_iterator_unchecked : len:int ‑> f:(int ‑> 'a * 'b) ‑> ('a, 'b) tval of_iteri : iteri:(f:(key:'a ‑> data:'b ‑> unit) ‑> unit) ‑> [ `Duplicate_key of 'a | `Ok of ('a, 'b) t ]val of_tree : ('a, 'b) tree ‑> ('a, 'b) tval of_hashtbl_exn : ('a, 'b) Hashtbl.t ‑> ('a, 'b) tinclude Map_intf.Accessors2 with type (a, b) t := (a, b) t with type (a, b) tree := (a, b) tree
include Map_intf.Map.Accessors2
val invariants : ('a, 'b) t ‑> boolval is_empty : ('a, 'b) t ‑> boolval length : ('a, 'b) t ‑> intval add_exn : ('a, 'b) t ‑> key:'a ‑> data:'b ‑> ('a, 'b) tval set : ('a, 'b) t ‑> key:'a ‑> data:'b ‑> ('a, 'b) tval add_multi : ('a, 'b list) t ‑> key:'a ‑> data:'b ‑> ('a, 'b list) tval remove_multi : ('a, 'b list) t ‑> 'a ‑> ('a, 'b list) tval find_multi : ('a, 'b list) t ‑> 'a ‑> 'b listval change : ('a, 'b) t ‑> 'a ‑> f:('b option ‑> 'b option) ‑> ('a, 'b) tval update : ('a, 'b) t ‑> 'a ‑> f:('b option ‑> 'b) ‑> ('a, 'b) tval find : ('a, 'b) t ‑> 'a ‑> 'b optionval find_exn : ('a, 'b) t ‑> 'a ‑> 'bval remove : ('a, 'b) t ‑> 'a ‑> ('a, 'b) tval mem : ('a, 'b) t ‑> 'a ‑> boolval iter_keys : ('a, 'b) t ‑> f:('a ‑> unit) ‑> unitval iter : ('a, 'b) t ‑> f:('b ‑> unit) ‑> unitval iteri : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> unit) ‑> unitval iter2 : ('a, 'b) t ‑> ('a, 'c) t ‑> f:(key:'a ‑> data:[ `Both of 'b * 'c | `Left of 'b | `Right of 'c ] ‑> unit) ‑> unitval map : ('a, 'b) t ‑> f:('b ‑> 'c) ‑> ('a, 'c) tval mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> 'c) ‑> ('a, 'c) tval fold : ('a, 'b) t ‑> init:'c ‑> f:(key:'a ‑> data:'b ‑> 'c ‑> 'c) ‑> 'cval fold_right : ('a, 'b) t ‑> init:'c ‑> f:(key:'a ‑> data:'b ‑> 'c ‑> 'c) ‑> 'cval fold2 : ('a, 'b) t ‑> ('a, 'c) t ‑> init:'d ‑> f:(key:'a ‑> data:[ `Both of 'b * 'c | `Left of 'b | `Right of 'c ] ‑> 'd ‑> 'd) ‑> 'dval filter_keys : ('a, 'b) t ‑> f:('a ‑> bool) ‑> ('a, 'b) tval filter : ('a, 'b) t ‑> f:('b ‑> bool) ‑> ('a, 'b) tval filteri : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> ('a, 'b) tval filter_map : ('a, 'b) t ‑> f:('b ‑> 'c option) ‑> ('a, 'c) tval filter_mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> 'c option) ‑> ('a, 'c) tval partition_mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a, 'c) t * ('a, 'd) tval partition_map : ('a, 'b) t ‑> f:('b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a, 'c) t * ('a, 'd) tval partitioni_tf : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> ('a, 'b) t * ('a, 'b) tval partition_tf : ('a, 'b) t ‑> f:('b ‑> bool) ‑> ('a, 'b) t * ('a, 'b) tval compare_direct : ('b ‑> 'b ‑> int) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> intval equal : ('b ‑> 'b ‑> bool) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> boolval keys : ('a, 'b) t ‑> 'a listval data : ('a, 'b) t ‑> 'b listval to_alist : ?key_order:[ `Decreasing | `Increasing ] ‑> ('a, 'b) t ‑> ('a * 'b) listval merge : ('a, 'b) t ‑> ('a, 'c) t ‑> f:(key:'a ‑> [ `Both of 'b * 'c | `Left of 'b | `Right of 'c ] ‑> 'd option) ‑> ('a, 'd) tval min_elt : ('a, 'b) t ‑> ('a * 'b) optionval min_elt_exn : ('a, 'b) t ‑> 'a * 'bval max_elt : ('a, 'b) t ‑> ('a * 'b) optionval max_elt_exn : ('a, 'b) t ‑> 'a * 'bval for_all : ('a, 'b) t ‑> f:('b ‑> bool) ‑> boolval for_alli : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> boolval exists : ('a, 'b) t ‑> f:('b ‑> bool) ‑> boolval existsi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> boolval count : ('a, 'b) t ‑> f:('b ‑> bool) ‑> intval counti : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> intval split : ('a, 'b) t ‑> 'a ‑> ('a, 'b) t * ('a * 'b) option * ('a, 'b) tval append : lower_part:('a, 'b) t ‑> upper_part:('a, 'b) t ‑> [ `Ok of ('a, 'b) t | `Overlapping_key_ranges ]val fold_range_inclusive : ('a, 'b) t ‑> min:'a ‑> max:'a ‑> init:'c ‑> f:(key:'a ‑> data:'b ‑> 'c ‑> 'c) ‑> 'cval range_to_alist : ('a, 'b) t ‑> min:'a ‑> max:'a ‑> ('a * 'b) listval closest_key : ('a, 'b) t ‑> [ `Greater_or_equal_to | `Greater_than | `Less_or_equal_to | `Less_than ] ‑> 'a ‑> ('a * 'b) optionval nth : ('a, 'b) t ‑> int ‑> ('a * 'b) optionval nth_exn : ('a, 'b) t ‑> int ‑> 'a * 'bval rank : ('a, 'b) t ‑> 'a ‑> int optionval to_tree : ('a, 'b) t ‑> ('a, 'b) treeval to_sequence : ?order:[ `Decreasing_key | `Increasing_key ] ‑> ?keys_greater_or_equal_to:'a ‑> ?keys_less_or_equal_to:'a ‑> ('a, 'b) t ‑> ('a * 'b) Base.Sequence.t