Module LogicCompiler.Make.Signature

module Signature: Model.Index(sig
type key = Cil_types.logic_info 
type data = LogicCompiler.Make.signature 
val name : string
val compare : Cil_datatype.Logic_info.t -> Cil_datatype.Logic_info.t -> int
val pretty : Format.formatter -> Cil_types.logic_info -> unit
end)

module E: E
type key = E.key 
type data = E.data 
module KEY: sig .. end
module MAP: FCMap.Make(KEY)
module SET: FCSet.Make(KEY)
val demon : (MAP.key -> E.data -> unit) list Pervasives.ref
type entries = {
   mutable ident : int;
   mutable index : E.data MAP.t;
   mutable lock : SET.t;
}
module ENTRIES: Datatype.Make(sig
type t = Model.Index.entries 
include Datatype.Serializable_undefined
val reprs : Model.Index.entries list
val name : string
end)
module REGISTRY: State_builder.Hashtbl(Datatype.String.Hashtbl)(ENTRIES)(sig
val name : string
val dependencies : State.t list
val size : int
end)
val entries : unit -> entries
val mem : MAP.key -> bool
val find : MAP.key -> E.data
val get : MAP.key -> E.data option
val fire : MAP.key -> E.data -> unit
val callback : (MAP.key -> E.data -> unit) -> unit
val define : MAP.key -> E.data -> unit
val update : MAP.key -> E.data -> unit
val memoize : (MAP.key -> E.data) ->
MAP.key -> E.data
val compile : (MAP.key -> E.data) -> MAP.key -> unit
val iter : (MAP.key -> E.data -> unit) -> unit
val iter_sorted : (SET.elt -> E.data -> unit) -> unit