Module Core_kernel.Map.Poly
type ('a, 'b, 'c) map
= ('a, 'b, 'c) t
module Tree : sig ... end
include 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) t
val of_alist : ('a * 'b) list ‑> [ `Duplicate_key of 'a | `Ok of ('a, 'b) t ]
val of_alist_exn : ('a * 'b) list ‑> ('a, 'b) t
val of_alist_multi : ('a * 'b) list ‑> ('a, 'b list) t
val of_alist_fold : ('a * 'b) list ‑> init:'c ‑> f:('c ‑> 'b ‑> 'c) ‑> ('a, 'c) t
val of_alist_reduce : ('a * 'b) list ‑> f:('b ‑> 'b ‑> 'b) ‑> ('a, 'b) t
val of_sorted_array_unchecked : ('a * 'b) array ‑> ('a, 'b) t
val of_increasing_iterator_unchecked : len:int ‑> f:(int ‑> 'a * 'b) ‑> ('a, 'b) t
val 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) t
val of_hashtbl_exn : ('a, 'b) Hashtbl.t ‑> ('a, 'b) t
include 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 ‑> bool
val is_empty : ('a, 'b) t ‑> bool
val length : ('a, 'b) t ‑> int
val add_exn : ('a, 'b) t ‑> key:'a ‑> data:'b ‑> ('a, 'b) t
val set : ('a, 'b) t ‑> key:'a ‑> data:'b ‑> ('a, 'b) t
val add_multi : ('a, 'b list) t ‑> key:'a ‑> data:'b ‑> ('a, 'b list) t
val remove_multi : ('a, 'b list) t ‑> 'a ‑> ('a, 'b list) t
val find_multi : ('a, 'b list) t ‑> 'a ‑> 'b list
val change : ('a, 'b) t ‑> 'a ‑> f:('b option ‑> 'b option) ‑> ('a, 'b) t
val update : ('a, 'b) t ‑> 'a ‑> f:('b option ‑> 'b) ‑> ('a, 'b) t
val find : ('a, 'b) t ‑> 'a ‑> 'b option
val find_exn : ('a, 'b) t ‑> 'a ‑> 'b
val remove : ('a, 'b) t ‑> 'a ‑> ('a, 'b) t
val mem : ('a, 'b) t ‑> 'a ‑> bool
val iter_keys : ('a, 'b) t ‑> f:('a ‑> unit) ‑> unit
val iter : ('a, 'b) t ‑> f:('b ‑> unit) ‑> unit
val iteri : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> unit) ‑> unit
val iter2 : ('a, 'b) t ‑> ('a, 'c) t ‑> f:(key:'a ‑> data:[ `Both of 'b * 'c | `Left of 'b | `Right of 'c ] ‑> unit) ‑> unit
val map : ('a, 'b) t ‑> f:('b ‑> 'c) ‑> ('a, 'c) t
val mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> 'c) ‑> ('a, 'c) t
val fold : ('a, 'b) t ‑> init:'c ‑> f:(key:'a ‑> data:'b ‑> 'c ‑> 'c) ‑> 'c
val fold_right : ('a, 'b) t ‑> init:'c ‑> f:(key:'a ‑> data:'b ‑> 'c ‑> 'c) ‑> 'c
val 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) ‑> 'd
val filter_keys : ('a, 'b) t ‑> f:('a ‑> bool) ‑> ('a, 'b) t
val filter : ('a, 'b) t ‑> f:('b ‑> bool) ‑> ('a, 'b) t
val filteri : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> ('a, 'b) t
val filter_map : ('a, 'b) t ‑> f:('b ‑> 'c option) ‑> ('a, 'c) t
val filter_mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> 'c option) ‑> ('a, 'c) t
val partition_mapi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a, 'c) t * ('a, 'd) t
val partition_map : ('a, 'b) t ‑> f:('b ‑> [ `Fst of 'c | `Snd of 'd ]) ‑> ('a, 'c) t * ('a, 'd) t
val partitioni_tf : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> ('a, 'b) t * ('a, 'b) t
val partition_tf : ('a, 'b) t ‑> f:('b ‑> bool) ‑> ('a, 'b) t * ('a, 'b) t
val compare_direct : ('b ‑> 'b ‑> int) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> int
val equal : ('b ‑> 'b ‑> bool) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> bool
val keys : ('a, 'b) t ‑> 'a list
val data : ('a, 'b) t ‑> 'b list
val to_alist : ?key_order:[ `Decreasing | `Increasing ] ‑> ('a, 'b) t ‑> ('a * 'b) list
val merge : ('a, 'b) t ‑> ('a, 'c) t ‑> f:(key:'a ‑> [ `Both of 'b * 'c | `Left of 'b | `Right of 'c ] ‑> 'd option) ‑> ('a, 'd) t
val min_elt : ('a, 'b) t ‑> ('a * 'b) option
val min_elt_exn : ('a, 'b) t ‑> 'a * 'b
val max_elt : ('a, 'b) t ‑> ('a * 'b) option
val max_elt_exn : ('a, 'b) t ‑> 'a * 'b
val for_all : ('a, 'b) t ‑> f:('b ‑> bool) ‑> bool
val for_alli : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> bool
val exists : ('a, 'b) t ‑> f:('b ‑> bool) ‑> bool
val existsi : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> bool
val count : ('a, 'b) t ‑> f:('b ‑> bool) ‑> int
val counti : ('a, 'b) t ‑> f:(key:'a ‑> data:'b ‑> bool) ‑> int
val split : ('a, 'b) t ‑> 'a ‑> ('a, 'b) t * ('a * 'b) option * ('a, 'b) t
val 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) ‑> 'c
val range_to_alist : ('a, 'b) t ‑> min:'a ‑> max:'a ‑> ('a * 'b) list
val closest_key : ('a, 'b) t ‑> [ `Greater_or_equal_to | `Greater_than | `Less_or_equal_to | `Less_than ] ‑> 'a ‑> ('a * 'b) option
val nth : ('a, 'b) t ‑> int ‑> ('a * 'b) option
val nth_exn : ('a, 'b) t ‑> int ‑> 'a * 'b
val rank : ('a, 'b) t ‑> 'a ‑> int option
val to_tree : ('a, 'b) t ‑> ('a, 'b) tree
val 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