Frama-C API - Rangemap
Association tables over ordered types.
This module implements applicative association tables, also known as finite maps or dictionaries, given a total ordering function over the keys.
All operations over maps are purely applicative (no side-effects). The implementation uses balanced binary trees, and therefore searching and insertion take time logarithmic in the size of the map.
Compared to Ocaml's standard library, this implementation caches at each node the hash of the tree (which is computed in an associative manner), and contains some functions not yet present in the caml implementation.
module type S = sig ... end
module type Value = sig ... end
Datatype with a function that approximately equality in a constant-time way.
module Make (Ord : Datatype.S) (Value : Value) : sig ... end
Extension of the above signature, with specific functions acting on range of values