sig
module MemoryFootprint :
sig
val self : Project.Computation.t
val select :
Kind.how ->
Project.Computation.selection -> Project.Computation.selection
val depend : Project.Computation.t -> unit
val mark_as_computed : ?project:Project.project -> unit -> unit
val is_computed : ?project:Project.project -> unit -> bool
val do_not_save : unit -> unit
module Datatype : Project.Datatype.S
val name : string
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 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 overwrite : old:t -> fresh:t -> unit
val pretty_debug : Format.formatter -> t -> int -> unit
end
end