A  
add [Mapext.S]  add x y m returns a map containing the same bindings as
m , plus a binding of x to y .

B  
bindings [Mapext.S] 
Return the list of all bindings of the given map.

C  
cardinal [Mapext.S] 
Return the number of bindings of a map.

choose [Mapext.S] 
Return one binding of the given map, or raise
Not_found if
the map is empty.

compare [Mapext.OrderedType] 
A total ordering function over the keys.

compare [Mapext.S] 
Total ordering between maps.

E  
empty [Mapext.S] 
The empty map.

equal [Mapext.S]  equal cmp m1 m2 tests whether the maps m1 and m2 are
equal, that is, contain equal keys and associate them with
equal data.

exists [Mapext.S]  
exists2 [Mapext.S]  exists2 f m1 m2 is similar to exists but applies f to pairs
of bindings a1 from m1 and a2 from m2 corresponding to
the same key.

exists2o [Mapext.S]  fexists2o f1 f2 f m1 m2 is similar to fexists2 f m1 m2 , but
accepts maps defined over different sets of keys.

exists2z [Mapext.S]  exists2z f m1 m2 is similar to exists2 f m1 m2 , but returns
false for physically equal subtrees without traversing them.

exists2zo [Mapext.S]  exists2zo f1 f2 f m1 m2 is similar to exists2o f1 f2 f m1 m2 but,
similary to exists2z , f is not called on physically equal
subtrees.

exists_slice [Mapext.S]  exists_slice f m k1 k2 a is similar to exists f m , but only calls
f on bindings with key greater or equal to k1 and smaller
or equal to k2 .

F  
filter [Mapext.S]  
find [Mapext.S]  find x m returns the current binding of x in m ,
or raises Not_found if no such binding exists.

find_greater [Mapext.S]  find_greater k m returns the binding (key and value) in m
with key strictly greater than k and as small as possible.

find_greater_equal [Mapext.S]  find_greater_euql k m returns the binding (key and value) in m
with key greater or equal to k and as small as possible.

find_less [Mapext.S]  find_less k m returns the binding (key and value) in m
with key strictly less than k and as large as possible.

find_less_equal [Mapext.S]  find_less_equal k m returns the binding (key and value) in m
with key less or equal to k and as large as possible.

fold [Mapext.S]  fold f m a computes (f kN dN ... (f k1 d1 a)...) ,
where k1 ... kN are the keys of all bindings in m
(in increasing order), and d1 ... dN are the associated data.

fold2 [Mapext.S]  fold2 f m1 m2 x is similar to fold but applies f to pairs
of bindings a1 from m1 and a2 from m2 corresponding to
the same key.

fold2o [Mapext.S]  fold2o f1 f2 f m1 m2 a is similar to fold2 f m1 m2 a , but
accepts maps defined over different sets of keys.

fold2z [Mapext.S]  fold2z f m1 m2 a is similar to fold2 f m1 m2 a , but physically
equal subtrees are ignored.

fold2zo [Mapext.S]  fold2zo f1 f2 f m1 m2 a is similar to fold2o f1 f2 f m1 m2 a but,
similary to fold2z , f is not called on physically equal
subtrees.

fold_slice [Mapext.S]  fold_slice f m k1 k2 a is similar to fold f m , but only calls
f on bindings with key greater or equal to k1 and smaller
or equal to k2 .

for_all [Mapext.S]  
for_all2 [Mapext.S]  for_all2 f m1 m2 is similar to for_all but applies f to pairs
of bindings a1 from m1 and a2 from m2 corresponding to
the same key.

for_all2o [Mapext.S]  for_all2o f1 f2 f m1 m2 is similar to for_all2 f m1 m2 , but
accepts maps defined over different sets of keys.

for_all2z [Mapext.S]  for_all2z f m1 m2 is similar to for_all2 f m1 m2 , but returns
true for physically equal subtrees without traversing them.

for_all2zo [Mapext.S]  for_all2zo f1 f2 f m1 m2 is similar to for_all2o f1 f2 f m1 m2 but,
similary to for_all2z , f is not called on physically equal
subtrees.

for_all_slice [Mapext.S]  for_all_slice f m k1 k2 a is similar to for_all f m , but only calls
f on bindings with key greater or equal to k1 and smaller
or equal to k2 .

I  
is_empty [Mapext.S] 
Test whether a map is empty or not.

iter [Mapext.S]  iter f m applies f to all bindings in map m .

iter2 [Mapext.S]  iter2 f m1 m2 is similar to map but applies f to pairs
of bindings a1 from m1 and a2 from m2 corresponding to
the same key.

iter2o [Mapext.S]  iter2o f1 f2 f m1 m2 is similar to iter2 f m1 m2 , but
accepts maps defined over different sets of keys.

iter2z [Mapext.S]  iter2z f m1 m2 is similar to iter2 f m1 m2 , but physically
equal subtrees are ignored.

iter2zo [Mapext.S]  iter2zo f1 f2 f m1 m2 is similar to iter2o f1 f2 f m1 m2 but,
similary to iter2z , f is not called on physically equal
subtrees.

iter_slice [Mapext.S]  iter_slice f m k1 k2 is similar to iter f m , but only calls
f on bindings with key greater or equal to k1 and smaller
or equal to k2 .

K  
key_equal [Mapext.S]  key_equal m1 m2 returns true if m1 and m2 are defined
over exactly the same set of keys (but with possibly different
values).

key_subset [Mapext.S]  key_equal m1 m2 returns true if m1 is defined on a subset of
the keys of m2 (but with possibly different values).

M  
map [Mapext.S]  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 .

map2 [Mapext.S]  map2 f m1 m2 is similar to map but applies f to pairs
of bindings a1 from m1 and a2 from m2 corresponding to
the same key to construct a new map with the same key set.

map2o [Mapext.S]  map2o f1 f2 f m1 m2 is similar to map2 f m1 m2 , but
accepts maps defined over different sets of keys.

map2z [Mapext.S]  map2z f m1 m2 is similar to map2 f m1 m2 , but physically
equal subtrees are put unchanged into the result instead of
being traversed.

map2zo [Mapext.S]  map2zo f1 f2 f m1 m2 is similar to map2o f1 f2 f m1 m2 but,
similary to map2z , f is not called on physically equal
subtrees.

map_slice [Mapext.S]  map_slice f m k1 k2 is similar to map f m , but only applies
f to bindings with key greater or equal to k1 and smaller
or equal to k2 to construct the returned map.

mapi [Mapext.S] 
Same as
Map.S.map , but the function receives as arguments both the
key and the associated value for each binding of the map.

max_binding [Mapext.S] 
Same as
Map.S.min_binding , but returns the largest binding
of the given map.

mem [Mapext.S]  mem x m returns true if m contains a binding for x ,
and false otherwise.

merge [Mapext.S]  merge f m1 m2 computes a map whose keys is a subset of keys of m1
and of m2 .

min_binding [Mapext.S] 
Return the smallest binding of the given map
(with respect to the
Ord.compare ordering), or raise
Not_found if the map is empty.

O  
of_list [Mapext.S]  of_list l converts an association list to a map.

P  
partition [Mapext.S]  partition p m returns a pair of maps (m1, m2) , where
m1 contains all the bindings of s that satisfy the
predicate p , and m2 is the map with all the bindings of
s that do not satisfy p .

R  
remove [Mapext.S]  remove x m returns a map containing the same bindings as
m , except for x which is unbound in the returned map.

S  
singleton [Mapext.S]  singleton x y returns the oneelement map that contains a binding y
for x .

split [Mapext.S]  split x m returns a triple (l, data, r) , where
l is the map with all the bindings of m whose key
is strictly less than x ;
r is the map with all the bindings of m whose key
is strictly greater than x ;
data is None if m contains no binding for x ,
or Some v if m binds v to x .
