package batteries
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=e4b70d1a716f0aaba36f419f618d0a2e
sha512=a31f1f8cf2c7c3c6c757f3bfae98ff61bb32bab6a1f1e215937df42bcfa447aad41a37edb28d7bcecb88b3838ed8bd57142bcf8e2d28e09bb538055fd8a3b72d
doc/batteries.unthreaded/BatMultiMap/index.html
Module BatMultiMap
Polymorphic Multi-Map.
This is a polymorphic multi-map, i.e. an association from 1 to many.
This implementation uses Pervasives.compare to compare both keys and values.
val empty : ('a, 'b) tThe empty map, using compare as key comparison function.
val is_empty : ('a, 'b) t -> boolreturns true if the map is empty.
add x y m returns a map containing the same bindings as m, plus a binding of x to y.
remove_all x m returns a map containing the same bindings as m, except for x which is unbound in the returned map.
remove k d m returns a map containing the same bindings as m, except for k which is not bound to d anymore in the returned map. If k was not bound to d, nothing is changed. If the operation removes the last binding of k, then k is also removed from the set of keys.
val mem : 'a -> ('a, 'b) t -> boolmem x m returns true if m contains at least a binding for x, and false otherwise.
iter f m applies f to all bindings in map m. f receives the key as first argument, and the associated value as second argument. The order in which the bindings are passed to f is unspecified. Only current bindings are presented to f: bindings hidden by more recent bindings are not passed to f.
map f m returns a map with same domain as m, where the associated value a of all bindings of m has been replaced by the result of the application of f to a. The order in which the associated values are passed to f is unspecified.
Same as map, but the function receives as arguments both the key and the associated value for each binding of the map.
fold f m a computes (f kN dN ... (f k1 d1 (f k0 d0 a))...), where k0,k1..kN are the keys of all bindings in m, and d0,d1..dN are the associated data. The order in which the bindings are presented to f is unspecified.
Same as fold, but the function receives as arguments both the key and the associated value for each binding of the map.
modify x f m replaces the binding for x with f applied to these values.
modify_def dfl x f m performs as modify x f m but it adds f dfl in m instead of raising Not_found if x was unbound.
modify_opt x f m allows to modify the bindings for k in m or absence thereof.
creates a map from an enumeration, using the specified function for key comparison or compare by default.
module Infix : sig ... endInfix operators over a BatMultiPMap
Boilerplate code
Printing
val print :
?first:string ->
?last:string ->
?sep:string ->
?kvsep:string ->
('a BatInnerIO.output -> 'b -> unit) ->
('a BatInnerIO.output -> 'c -> unit) ->
'a BatInnerIO.output ->
('b, 'c) t ->
unit