Frama-C API - Make
Builds a Map over M.key list from a map M. Note that the key lists are stored in reverse order and not reversed back each time a key list is given back to the caller, for optimization reasons. This applies to the parameter of merge, union, iter, mapi, fold, exists and to the sequences produced by to_seq.
Parameters
Signature
include S with type key = M.key list
val is_empty : 'a t -> boolval add : key -> 'a -> 'a t -> 'a tval find : key -> 'a t -> 'aval find_opt : key -> 'a t -> 'a optionval remove : key -> 'a t -> 'a tval merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c tval union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a tval mem : key -> 'a t -> boolval iter : (key -> 'a -> unit) -> 'a t -> unitval map : ('a -> 'b) -> 'a t -> 'b tval mapi : (key -> 'a -> 'b) -> 'a t -> 'b tval fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'bval compare : ('a -> 'a -> int) -> 'a t -> 'a t -> intval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> boolval exists : (key -> 'a -> bool) -> 'a t -> boolval to_seq : 'a t -> (key * 'a) Stdlib.Seq.tval add_prefix : M.key -> 'a t -> 'a tAdd a common prefix to all keys in the map
val select_prefix : M.key -> 'a t -> 'a tSelect the keys starting with the given prefix, removes this prefix and filters out keys without this prefix.
val prefixes_seq : 'a t -> (M.key * 'a t) Stdlib.Seq.tBuilds a sequence of prefixes with the map that results from each prefix selection.