
Module type Map.Smodule type S =
Output signature of the functor
Map.Make .type key
The type of the map keys.
type
The type of maps from type
key to type 'a .val empty :
The empty map.
val add : add x y m returns a map containing the same bindings as
m , plus a binding of x to y . If x was already bound
in m , its previous binding disappears.val find : find x m returns the current binding of x in m ,
or raises Not_found if no such binding exists.val remove : remove x m returns a map containing the same bindings as
m , except for x which is unbound in the returned map.val mem : mem x m returns true if m contains a binding for x ,
and false otherwise.val iter : 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 .val map : 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.val mapi :
Same as
Map.S.map , but the function receives as arguments both the
key and the associated value for each binding of the map.val fold : fold f m a computes (f kN dN ... (f k1 d1 a)...) ,
where k1 ... kN are the keys of all bindings in m ,
and d1 ... dN are the associated data.
The order in which the bindings are presented to f is
unspecified. 