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
type fuzzy_order =
  1. | Above
  2. | Below
  3. | Match
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