Module Frama_c_kernel.Hptmap_sig

Signature for the Hptmap module

Functions on hptmaps are divided into two module types:

type cache_type =
| NoCache(*

The results of the function will not be cached.

*)
| PersistentCache of string(*

The results of the function will be cached, and the function that uses the cache is a permanent closure (at the toplevel of an OCaml module).

*)
| TemporaryCache of string(*

The results of the function will be cached, but the function itself is a local function which is garbage-collectable.

*)

Some functions of this module may optionally use internal caches. It is the responsibility of the use to choose whether or not to use a cache, and whether this cache will be garbage-collectable by OCaml.

module type Shape = sig ... end

This module type contains only functions that do not create or modify maps. These functions can be applied to any maps from a given type key, regardless of the type of values bound.

module type S = sig ... end

Signature for hptmaps from hash-consed trees to values.