Go to the documentation of this file.
12 #ifndef CPROVER_UTIL_POINTER_OFFSET_SIZE_H
13 #define CPROVER_UTIL_POINTER_OFFSET_SIZE_H
57 const typet &target_type,
63 const typet &target_type,
66 #endif // CPROVER_UTIL_POINTER_OFFSET_SIZE_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
The type of an expression, extends irept.
optionalt< mp_integer > compute_pointer_offset(const exprt &expr, const namespacet &ns)
Base class for all expressions.
optionalt< mp_integer > member_offset_bits(const struct_typet &type, const irep_idt &member, const namespacet &ns)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
typet & type()
Return the type of the expression.
optionalt< exprt > get_subexpression_at_offset(const exprt &expr, const mp_integer &offset, const typet &target_type, const namespacet &ns)
nonstd::optional< T > optionalt
optionalt< mp_integer > pointer_offset_bits(const typet &type, const namespacet &ns)
optionalt< mp_integer > pointer_offset_size(const typet &type, const namespacet &ns)
Compute the size of a type in bytes, rounding up to full bytes.
Extract member of struct or union.
Structure type, corresponds to C style structs.
optionalt< mp_integer > member_offset(const struct_typet &type, const irep_idt &member, const namespacet &ns)
optionalt< exprt > member_offset_expr(const member_exprt &, const namespacet &ns)
A constant literal expression.
optionalt< exprt > size_of_expr(const typet &type, const namespacet &ns)