Module Glue.InjectMinimalImperativeMaps

If there is an injection of t into u, then an implementation of minimal imperative maps for the type u can be transported to the type t.


module M : sig ... end
module I : sig ... end


type key = I.t

The type of keys.

type 'data t

The type of association maps.

val create : unit -> 'data t

create() creates a fresh empty map.

val add : key -> 'data -> 'data t -> unit

add inserts a new entry or replaces an existing entry. The map is updated in place.

val find : key -> 'data t -> 'data

find raises Not_found if the key is not in the domain of the map.