MakeLattice.Offsinclude Offset_intf.Printableinclude Printable.S with type t = idx Offset_intf.offstype t = idx Offset_intf.offsval is_definite : t -> boolWhether offset has only definite integer indexing (and fields).
val contains_index : t -> boolWhether offset contains any indexing.
val to_cil : t -> GoblintCil.offsetConvert to CIL offset.
val to_exp : t -> GoblintCil.exp Offset_intf.offsConvert to Goblint offset with GoblintCil.exp indices.
val to_cil_offset : t -> GoblintCil.offsetVersion of to_cil which drops indices for ArrayDomain.
val cmp_zero_offset : t -> [ `MustZero | `MustNonzero | `MayZero ]Compare offset to zero offset.
Zero indices and first fields of a struct are in the same physical memory location as the outer object.
val type_of : base:GoblintCil.typ -> t -> GoblintCil.typType of the offset on the base type.
include Lattice.S with type t := tinclude Lattice.PO with type t := twiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
val of_exp : GoblintCil.exp Offset_intf.offs -> tConvert from Goblint offset with GoblintCil.exp indices.
Physical memory offset in bytes of the entire offset. Used for semantic_equal.