Offset.MakeLatticeMake offset Lattice from lattice indices.
module Idx : Index.Latticeinclude Printable with type idx = Idx.ttype idx = Idx.tType of indices in offset.
val 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_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).
Physical memory offset in bytes of the entire offset. Used for semantic_equal.