Map.PolyA polymorphic Map.
type ('key, +'value) t = ( 'key, 'value, Comparator.Poly.comparator_witness ) tval empty : ( _, _ ) tval singleton : 'a -> 'b -> ( 'a, 'b ) tval of_alist : ('a * 'b) list -> [ `Ok of ( 'a, 'b ) t | `Duplicate_key of 'a ]val of_alist_or_error : ('a * 'b) list -> ( 'a, 'b ) t Or_error.tval 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 : ('a * 'b) array -> ( 'a, 'b ) t Or_error.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_increasing_sequence : ('a * 'b) Sequence.t -> ( 'a, 'b ) t Or_error.tval of_sequence :
('a * 'b) Sequence.t ->
[ `Ok of ( 'a, 'b ) t | `Duplicate_key of 'a ]val of_sequence_or_error : ('a * 'b) Sequence.t -> ( 'a, 'b ) t Or_error.tval of_sequence_exn : ('a * 'b) Sequence.t -> ( 'a, 'b ) tval of_sequence_multi : ('a * 'b) Sequence.t -> ( 'a, 'b list ) tval of_sequence_fold :
('a * 'b) Sequence.t ->
init:'c ->
f:( 'c -> 'b -> 'c ) ->
( 'a, 'c ) tval of_sequence_reduce :
('a * 'b) Sequence.t ->
f:( 'b -> 'b -> 'b ) ->
( 'a, 'b ) tval of_iteri :
iteri:( f:( key:'a -> data:'b -> unit ) -> unit ) ->
[ `Ok of ( 'a, 'b ) t | `Duplicate_key of 'a ]val invariants : ( _, _ ) t -> boolval is_empty : ( _, _ ) t -> boolval length : ( _, _ ) t -> intval find_multi : ( 'a, 'b list ) t -> 'a -> 'b listval find : ( 'a, 'b ) t -> 'a -> 'b optionval find_exn : ( 'a, 'b ) t -> 'a -> 'bval mem : ( 'a, 'b ) t -> 'a -> boolval iter_keys : ( 'a, _ ) t -> f:( 'a -> unit ) -> unitval iter : ( _, 'b ) t -> f:( 'b -> unit ) -> unitval iteri : ( 'a, 'b ) t -> f:( key:'a -> data:'b -> unit ) -> unitval iteri_until :
( 'a, 'b ) t ->
f:( key:'a -> data:'b -> Base__Map_intf.Continue_or_stop.t ) ->
Base__Map_intf.Finished_or_unfinished.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 combine_errors : ( 'a, 'b Or_error.t ) t -> ( 'a, 'b ) t Or_error.tval keys : ( 'a, _ ) t -> 'a listval data : ( _, 'b ) t -> 'b listval to_alist :
?key_order:[ `Increasing | `Decreasing ] ->
( 'a, 'b ) t ->
('a * 'b) listval validate :
name:( 'a -> string ) ->
'b Validate.check ->
( 'a, 'b ) t Validate.checkval validatei :
name:( 'a -> string ) ->
('a * 'b) Validate.check ->
( 'a, 'b ) t Validate.checkval symmetric_diff :
( 'a, 'b ) t ->
( 'a, 'b ) t ->
data_equal:( 'b -> 'b -> bool ) ->
('a * [ `Left of 'b | `Right of 'b | `Unequal of 'b * 'b ]) Sequence.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 : ( _, 'b ) t -> f:( 'b -> bool ) -> boolval for_alli : ( 'a, 'b ) t -> f:( key:'a -> data:'b -> bool ) -> boolval exists : ( _, 'b ) t -> f:( 'b -> bool ) -> boolval existsi : ( 'a, 'b ) t -> f:( key:'a -> data:'b -> bool ) -> boolval count : ( _, 'b ) t -> f:( 'b -> bool ) -> intval counti : ( 'a, 'b ) t -> f:( key:'a -> data:'b -> bool ) -> intval subrange :
( 'a, 'b ) t ->
lower_bound:'a Maybe_bound.t ->
upper_bound:'a Maybe_bound.t ->
( 'a, 'b ) tval 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, _ ) t -> 'a -> int optionval to_sequence :
?order:[ `Increasing_key | `Decreasing_key ] ->
?keys_greater_or_equal_to:'a ->
?keys_less_or_equal_to:'a ->
( 'a, 'b ) t ->
('a * 'b) Sequence.tval binary_search :
( 'k, 'v ) t ->
compare:( key:'k -> data:'v -> 'key -> int ) ->
[ `Last_strictly_less_than
| `Last_less_than_or_equal_to
| `Last_equal_to
| `First_equal_to
| `First_greater_than_or_equal_to
| `First_strictly_greater_than ] ->
'key ->
('k * 'v) optionval binary_search_segmented :
( 'k, 'v ) t ->
segment_of:( key:'k -> data:'v -> [ `Left | `Right ] ) ->
[ `Last_on_left | `First_on_right ] ->
('k * 'v) option