HMap.Make
Hash maps are maps that take advantage of having a hash on keys. This is essentially a hash table, except that it uses purely functional maps instead of arrays.
CAVEAT: order-related functions like fold
or iter
do not respect the provided order anymore! It's your duty to do something sensible to prevent this if you need it. In particular, min_binding
and max_binding
are now made meaningless.
module M : HashedType
The underlying Map library
Apply the given function to the binding of the given key.
bind f s
transform the set x1; ...; xn
into x1 := f x1; ...;
xn := f xn
.
Alias for fold
, to easily track where we depend on fold order.
val height : 'a t -> int
An indication of the logarithmic size of a map
find_range in_range m
Given a comparison function in_range x
, that tests if x
is below, above, or inside a given range filter_range
returns the submap of m
whose keys are in range. Note that in_range
has to define a continouous range.
module Smart : sig ... end
module Monad (M : CMap.MonadS) : sig ... end
Fold operators parameterized by any monad.