Module type Asetmap.Map.S

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
get k m is like Asetmap.Map.S.find but raises Invalid_argument if k is not bound in m.
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
get_min_binding is like Asetmap.Map.S.min_binding but
Raises Invalid_argument on the empty map.
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
get_min_binding is like Asetmap.Map.S.max_binding but
Raises Invalid_argument on the empty map.
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
get_any_binding is like Asetmap.Map.S.choose but
Raises Invalid_argument on the empty map.

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.