sig
module MemoryFootprint :
sig
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = int
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module type WeakHashable =
sig
type t
val equal : Buckx.WeakHashable.t -> Buckx.WeakHashable.t -> bool
val hash : Buckx.WeakHashable.t -> int
val pretty : Format.formatter -> Buckx.WeakHashable.t -> unit
val id : string
end
module type S =
sig
type data
type t
val create : int -> Buckx.S.t
val merge : Buckx.S.t -> Buckx.S.data -> Buckx.S.data
val iter : Buckx.S.t -> (Buckx.S.data -> unit) -> unit
val clear : Buckx.S.t -> unit
val release : Buckx.S.t -> unit
val shallow_copy : Buckx.S.t -> Buckx.S.t
val addr : Buckx.S.t -> int
val overwrite : old:Buckx.S.t -> fresh:Buckx.S.t -> unit
val pretty_debug : Format.formatter -> Buckx.S.t -> int -> unit
end
module MakeBig :
functor (H : WeakHashable) ->
sig
type data = H.t
type t
val create : int -> t
val merge : t -> data -> data
val iter : t -> (data -> unit) -> unit
val clear : t -> unit
val release : t -> unit
val shallow_copy : t -> t
val addr : t -> int
val overwrite : old:t -> fresh:t -> unit
val pretty_debug : Format.formatter -> t -> int -> unit
end
end