module type S = sig
.. end
Signature for maps with keys of a totally ordered type.
Map
include Map.S
val find : key -> 'a t -> 'a option
find k m
is the binding of k
in m
(if any).
val get : key -> 'a t -> 'a
val min_binding : 'a t -> (key * 'a) option
min_binding m
is the smallest binding of m
(if any).
val get_min_binding : 'a t -> key * 'a
val max_binding : 'a t -> (key * 'a) option
max_binding m
is the greatest binding of m
(if any).
val get_max_binding : 'a t -> key * 'a
val choose : 'a t -> (key * 'a) option
choose m
is a binding of m
(if any). Equal bindings are chosen
for equal maps.
val get_any_binding : 'a t -> key * 'a
Conversions
val to_list : 'a t -> (key * 'a) list
to_list m
is the bindings of m
in increasing key order.
val of_list : (key * 'a) list -> 'a t
of_list l
is the map holding the bindings of l
. If a key
is bound more than once the last one takes over.
Pretty-printing
val pp : ?sep:(Format.formatter -> unit -> unit) ->
(Format.formatter -> key * 'a -> unit) -> Format.formatter -> 'a t -> unit
pp ~sep pp_binding ppf m
formats the bindings of m
on ppf
.
Each binding is formatted with pp_binding
and bindings are separated
by sep
(defaults to Format.pp_print_cut
). If the map is empty
leaves ppf
untouched.
val dump : (Format.formatter -> key * 'a -> unit) -> Format.formatter -> 'a t -> unit
dump pp_binding
prints an unspecified represention of m
on
ppf
using pp_binding
to print the bindings.