Module type Abstract_memory.ProtoMemory

module type ProtoMemory = sig .. end

type t 
type value 
val pretty : Stdlib.Format.formatter -> t -> unit
val pretty_root : Stdlib.Format.formatter -> t -> unit
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val of_raw : Abstract_memory.bit -> t
val raw : t -> Abstract_memory.bit
val of_value : Cil_types.typ ->
value -> t
val to_value : Cil_types.typ ->
t -> value
val to_singleton_int : t -> Integer.t option
val weak_erase : Abstract_memory.bit ->
t -> t
val is_included : t -> t -> bool
val unify : oracle:Abstract_memory.bioracle ->
(size:Abstract_memory.size ->
value ->
value -> value) ->
t ->
t -> t
val join : oracle:Abstract_memory.bioracle ->
t ->
t -> t
val smash : oracle:Abstract_memory.oracle ->
t ->
t -> t
val read : oracle:Abstract_memory.oracle ->
(Cil_types.typ -> t -> 'a) ->
('a -> 'a -> 'a) -> Abstract_offset.t -> t -> 'a
val update : oracle:Abstract_memory.oracle ->
(weak:bool ->
Cil_types.typ ->
t ->
t Lattice_bounds.or_bottom) ->
weak:bool ->
Abstract_offset.t ->
t ->
t Lattice_bounds.or_bottom
val incr_bound : oracle:Abstract_memory.oracle ->
Cil_types.varinfo ->
Integer.t option ->
t -> t
val add_segmentation_bounds : oracle:Abstract_memory.oracle ->
typ:Cil_types.typ ->
Cil_types.exp list ->
t -> t