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.