Module Value.Map

module Key : sig ... end
include Ppx_compare_lib.Comparable.S1 with type +'a t := 'a t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
include Ppx_compare_lib.Comparable.S1__local with type +'a t := 'a t
include Ppx_compare_lib.Equal.S1 with type +'a t := 'a t
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
include Ppx_compare_lib.Equal.S1__local with type +'a t := 'a t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
include Core.Map_intf.Creators_generic with type ('a, 'b, 'c) t := 'b t with type ('a, 'b, 'c) map := ('a, 'b, 'c) Base.Map.t with type ('a, 'b, 'c) tree := (Key.t, 'b, Key.comparator_witness) Base.Map.Using_comparator.Tree.t with type 'k key := Key.t with type 'k map_key := 'k with type 'c cmp := Key.comparator_witness with type ('a, 'b, 'c) create_options := ('a, 'b, 'c) Base.Map.Without_comparator.t with type ('a, 'b, 'c) access_options := ('a, 'b, 'c) Base.Map.Without_comparator.t
include Base.Map.Creators_generic with type ('a, 'b, 'c) t := 'b t with type ('a, 'b, 'c) map := ('a, 'b, 'c) Base.Map.t with type ('a, 'b, 'c) tree := (Key.t, 'b, Key.comparator_witness) Base.Map.Using_comparator.Tree.t with type 'k key := Key.t with type 'k map_key := 'k with type 'c cmp := Key.comparator_witness with type ('a, 'b, 'c) create_options := ('a, 'b, 'c) Base.Map.Without_comparator.t with type ('a, 'b, 'c) access_options := ('a, 'b, 'c) Base.Map.Without_comparator.t
val empty : ('key, 'phantom, 'data t) Base.Map.Without_comparator.t

The empty dictionary.

val singleton : ('key, 'phantom, Key.t -> 'data -> 'data t) Base.Map.Without_comparator.t

Dictionary with a single key/value pair.

val of_alist : ('key, 'phantom, (Key.t * 'data) list -> [ `Ok of 'data t | `Duplicate_key of Key.t ]) Base.Map.Without_comparator.t

Dictionary containing the given key/value pairs. Fails if there are duplicate keys.

val of_alist_or_error : ('key, 'phantom, (Key.t * 'data) list -> 'data t Base.Or_error.t) Base.Map.Without_comparator.t

Like of_alist. Returns a Result.t.

val of_alist_exn : ('key, 'phantom, (Key.t * 'data) list -> 'data t) Base.Map.Without_comparator.t

Like of_alist. Raises on duplicates.

val of_alist_multi : ('key, 'phantom, (Key.t * 'data) list -> 'data list t) Base.Map.Without_comparator.t

Produces a dictionary mapping each key to a list of associated values.

val of_alist_fold : ('key, 'phantom, (Key.t * 'data) list -> init:'acc -> f:('acc -> ('data -> 'acc) @ local) @ local -> 'acc t) Base.Map.Without_comparator.t

Produces a dictionary using each key/value pair. Combines all values for a given key with init using f.

val of_alist_reduce : ('key, 'phantom, (Key.t * 'data) list -> f:('data -> ('data -> 'data) @ local) @ local -> 'data t) Base.Map.Without_comparator.t

Produces a dictionary using each key/value pair. Combines multiple values for a given key using f.

val of_sequence : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> [ `Ok of 'data t | `Duplicate_key of Key.t ]) Base.Map.Without_comparator.t

Like of_alist. Consumes a sequence.

val of_sequence_or_error : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> 'data t Base.Or_error.t) Base.Map.Without_comparator.t

Like of_alist_or_error. Consumes a sequence.

val of_sequence_exn : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> 'data t) Base.Map.Without_comparator.t

Like of_alist_exn. Consumes a sequence.

val of_sequence_multi : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> 'data list t) Base.Map.Without_comparator.t

Like of_alist_multi. Consumes a sequence.

val of_sequence_fold : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> init:'c -> f:('c -> ('data -> 'c) @ local) @ local -> 'c t) Base.Map.Without_comparator.t

Like of_alist_fold. Consumes a sequence.

val of_sequence_reduce : ('key, 'phantom, (Key.t * 'data) Base.Sequence.t -> f:('data -> ('data -> 'data) @ local) @ local -> 'data t) Base.Map.Without_comparator.t

Like of_alist_reduce. Consumes a sequence.

val of_list_with_key : ('key, 'phantom, 'data list -> get_key:('data -> Key.t) @ local -> [ `Ok of 'data t | `Duplicate_key of Key.t ]) Base.Map.Without_comparator.t

Like of_alist. Consume values for which keys can be computed.

val of_list_with_key_or_error : ('key, 'phantom, 'data list -> get_key:('data -> Key.t) @ local -> 'data t Base.Or_error.t) Base.Map.Without_comparator.t

Like of_alist_or_error. Consume values for which keys can be computed.

val of_list_with_key_exn : ('key, 'phantom, 'data list -> get_key:('data -> Key.t) @ local -> 'data t) Base.Map.Without_comparator.t

Like of_alist_exn. Consume values for which keys can be computed.

val of_list_with_key_multi : ('key, 'phantom, 'data list -> get_key:('data -> Key.t) @ local -> 'data list t) Base.Map.Without_comparator.t

Like of_alist_multi. Consume values for which keys can be computed.

val of_iteri : ('key, 'phantom, iteri: (f:(key:Key.t -> (data:'data -> unit) @ local) @ local -> unit) @ local -> [ `Ok of 'data t | `Duplicate_key of Key.t ]) Base.Map.Without_comparator.t

Produces a dictionary of all key/value pairs that iteri passes to ~f. Fails if a duplicate key is found.

val of_iteri_exn : ('key, 'phantom, iteri: (f:(key:Key.t -> (data:'data -> unit) @ local) @ local -> unit) @ local -> 'data t) Base.Map.Without_comparator.t

Like of_iteri. Raises on duplicate key.

val map_keys : ('k2, 'cmp2, ('k1, 'v, 'cmp1) Base.Map.t -> f:('k1 -> Key.t) @ local -> [ `Ok of 'v t | `Duplicate_key of Key.t ]) Base.Map.Without_comparator.t
val map_keys_exn : ('k2, 'cmp2, ('k1, 'v, 'cmp1) Base.Map.t -> f:('k1 -> Key.t) @ local -> 'v t) Base.Map.Without_comparator.t
val transpose_keys : ('k1, 'cmp1, ('k2, 'cmp2, ('k1, 'a t, 'cmp1) Base.Map.t -> ('k1, 'a, 'cmp1) Base.Map.t t) Base.Map.Without_comparator.t) Base.Map.Without_comparator.t
val of_sorted_array : ('k, 'cmp, (Key.t * 'v) array -> 'v t Base.Or_error.t) Base.Map.Without_comparator.t
val of_sorted_array_unchecked : ('k, 'cmp, (Key.t * 'v) array -> 'v t) Base.Map.Without_comparator.t
val of_increasing_iterator_unchecked : ('k, 'cmp, len:int -> f:(int -> Key.t * 'v) @ local -> 'v t) Base.Map.Without_comparator.t
val of_increasing_sequence : ('k, 'cmp, (Key.t * 'v) Base.Sequence.t -> 'v t Base.Or_error.t) Base.Map.Without_comparator.t
val of_list_with_key_fold : ('k, 'cmp, 'v list -> get_key:('v -> Key.t) @ local -> (init:'acc -> (f:('acc -> 'v -> 'acc) -> 'acc t) @ local) @ local) Base.Map.Without_comparator.t
val of_list_with_key_reduce : ('k, 'cmp, 'v list -> get_key:('v -> Key.t) @ local -> (f:('v -> 'v -> 'v) -> 'v t) @ local) Base.Map.Without_comparator.t
val of_hashtbl_exn : ('k, 'cmp, (Key.t, 'v) Base.Hashtbl.t -> 'v t) Base.Map.Without_comparator.t
val of_key_set : (Key.t, Key.comparator_witness) Base.Set.t -> f:(Key.t -> 'v) @ local -> 'v t

Never requires a comparator because it can get one from the input Set.t.

module Diff : sig ... end
include Diffable.S1_plain with type 'a t := 'a t and module Diff := Diff
val map : 'a t -> f:('a -> 'b) @ local -> 'b t