sig
val ( $ ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
val swap : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c
val hash_copy_into : ('a, 'b) Hashtbl.t -> ('a, 'b) Hashtbl.t -> unit
val list_drop : int -> 'a list -> 'a list
val list_droptail : int -> 'a list -> 'a list
val list_span : ('a -> bool) -> 'a list -> 'a list * 'a list
val list_insert_by : ('a -> 'a -> int) -> 'a -> 'a list -> 'a list
val list_head_default : 'a -> 'a list -> 'a
val list_iter3 :
('a -> 'b -> 'c -> unit) -> 'a list -> 'b list -> 'c list -> unit
val get_some_option_list : 'a option list -> 'a list
val list_append : 'a list -> 'a list -> 'a list
val list_iteri : (int -> 'a -> unit) -> 'a list -> unit
val list_mapi : (int -> 'a -> 'b) -> 'a list -> 'b list
val list_fold_lefti : ('a -> int -> 'b -> 'a) -> 'a -> 'b list -> 'a
val int_range_list : int -> int -> int list
val list_init : int -> (int -> 'a) -> 'a list
val list_find_first : 'a list -> ('a -> 'b option) -> 'b option
val list_last : 'a list -> 'a
val mapNoCopy : ('a -> 'a) -> 'a list -> 'a list
val mapNoCopyList : ('a -> 'a list) -> 'a list -> 'a list
val filterNoCopy : ('a -> bool) -> 'a list -> 'a list
val joinStrings : string -> string list -> string
val hasPrefix : string -> string -> bool
val restoreRef : ?deepCopy:('a -> 'a) -> 'a Pervasives.ref -> unit -> unit
val restoreHash :
?deepCopy:('a -> 'a) -> ('b, 'a) Hashtbl.t -> unit -> unit
val restoreIntHash : ?deepCopy:('a -> 'a) -> 'a Inthash.t -> unit -> unit
val restoreArray : ?deepCopy:('a -> 'a) -> 'a array -> unit -> unit
val runThunks : (unit -> unit) list -> unit -> unit
val memoize : ('a, 'b) Hashtbl.t -> 'a -> ('a -> 'b) -> 'b
val findOrAdd : ('a, 'b) Hashtbl.t -> 'a -> ('a -> 'b) -> 'b
val tryFinally : ('a -> 'b) -> ('b option -> unit) -> 'a -> 'b
val valOf : 'a option -> 'a
val out_some : 'a option -> 'a
val opt_bind : ('a -> 'b option) -> 'a option -> 'b option
val opt_app : ('a -> 'b) -> 'b -> 'a option -> 'b
val opt_iter : ('a -> unit) -> 'a option -> unit
val fold_for : init:'a -> lo:int -> hi:int -> (int -> 'a -> 'a) -> 'a
type configData =
ConfInt of int
| ConfBool of bool
| ConfFloat of float
| ConfString of string
| ConfList of Cilutil.configData list
val loadConfiguration : string -> unit
val saveConfiguration : string -> unit
val clearConfiguration : unit -> unit
val setConfiguration : string -> Cilutil.configData -> unit
val findConfiguration : string -> Cilutil.configData
val findConfigurationInt : string -> int
val useConfigurationInt : string -> (int -> unit) -> unit
val findConfigurationFloat : string -> float
val useConfigurationFloat : string -> (float -> unit) -> unit
val findConfigurationBool : string -> bool
val useConfigurationBool : string -> (bool -> unit) -> unit
val findConfigurationString : string -> string
val useConfigurationString : string -> (string -> unit) -> unit
val findConfigurationList : string -> Cilutil.configData list
val useConfigurationList :
string -> (Cilutil.configData list -> unit) -> unit
type symbol = int
val symbolName : Cilutil.symbol -> string
val registerSymbolName : string -> Cilutil.symbol
val registerSymbolRange : int -> (int -> string) -> Cilutil.symbol
val newSymbol : string -> Cilutil.symbol
val resetSymbols : unit -> unit
val snapshotSymbols : unit -> unit -> unit
val dumpSymbols : unit -> unit
val equals : 'a -> 'a -> bool
module type Mapl =
sig
type key
type +'a t
type 'a map = 'a list Cilutil.Mapl.t
val empty : 'a Cilutil.Mapl.t
val is_empty : 'a Cilutil.Mapl.t -> bool
val add :
Cilutil.Mapl.key ->
'a -> 'a list Cilutil.Mapl.t -> 'a list Cilutil.Mapl.t
val find : Cilutil.Mapl.key -> 'a list Cilutil.Mapl.t -> 'a list
val remove : Cilutil.Mapl.key -> 'a Cilutil.Mapl.t -> 'a Cilutil.Mapl.t
val mem : Cilutil.Mapl.key -> 'a Cilutil.Mapl.t -> bool
val iter :
(Cilutil.Mapl.key -> 'a -> unit) -> 'a Cilutil.Mapl.t -> unit
val map : ('a -> 'b) -> 'a Cilutil.Mapl.t -> 'b Cilutil.Mapl.t
val mapi :
(Cilutil.Mapl.key -> 'a -> 'b) ->
'a Cilutil.Mapl.t -> 'b Cilutil.Mapl.t
val fold :
(Cilutil.Mapl.key -> 'a -> 'b -> 'b) -> 'a Cilutil.Mapl.t -> 'b -> 'b
val compare :
('a -> 'a -> int) -> 'a Cilutil.Mapl.t -> 'a Cilutil.Mapl.t -> int
val equal :
('a -> 'a -> bool) -> 'a Cilutil.Mapl.t -> 'a Cilutil.Mapl.t -> bool
end
module Mapl_Make :
functor (X : Map.OrderedType) ->
sig
type key = X.t
type +'a t
type 'a map = 'a list t
val empty : 'a t
val is_empty : 'a t -> bool
val add : key -> 'a -> 'a list t -> 'a list t
val find : key -> 'a list t -> 'a list
val remove : key -> 'a t -> 'a t
val mem : key -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
end
module IntMapl :
sig
type key = int
type 'a map
val empty : 'a Cilutil.IntMapl.map
val add :
Cilutil.IntMapl.key ->
'a -> 'a Cilutil.IntMapl.map -> 'a Cilutil.IntMapl.map
val find : Cilutil.IntMapl.key -> 'a Cilutil.IntMapl.map -> 'a list
end
val printStages : bool Pervasives.ref
val pretty_list :
(Format.formatter -> unit) ->
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
val pretty_list_del :
(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
val pretty_opt :
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val pretty_opt_nl :
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val space_sep : string -> Format.formatter -> unit
val nl_sep : Format.formatter -> unit
type opaque_term_env = {
term_lhosts : Cil_types.term_lhost Cil_datatype.Varinfo.Map.t;
terms : Cil_types.term Cil_datatype.Varinfo.Map.t;
vars : Cil_types.logic_var Cil_datatype.Varinfo.Map.t;
}
type opaque_exp_env = { exps : Cil_types.exp Cil_datatype.Varinfo.Map.t; }
end