module Index:
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(sigend)
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