package coq-core
Install
Dune Dependency
Authors
Maintainers
Sources
md5=13d2793fc6413aac5168822313e4864e
sha512=ec8379df34ba6e72bcf0218c66fef248b0e4c5c436fb3f2d7dd83a2c5f349dd0874a67484fcf9c0df3e5d5937d7ae2b2a79274725595b4b0065a381f70769b42
doc/coq-core.lib/Util/Map/Make/index.html
Module Map.Make
Source
Parameters
module M : Map.OrderedType
Signature
The underlying Map library
include CSig.MapS with type key = M.t with type 'a t = 'a Map.Make(M).t
Same as add
, but expects the key to be present, and thus faster.
Apply the given function to the binding of the given key.
Recover the set of keys defined in the map.
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.
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.
Like map
but keeping only bindings mapped to Some
val symmetric_diff_fold :
(key -> 'a option -> 'a option -> 'b -> 'b) ->
'a t ->
'a t ->
'b ->
'b
symmetric_diff f ml mr acc
will efficiently fold over the difference between ml
and mr
, assumed that they share most of their internal structure. A call to f k vl vr
means that if vl
is Some
, then k
exists in ml
. Similarly, if vr
is Some
, then k
exists in mr
. If both vl
and vr
are Some
, then vl != vr
.