22 underlying_type.
id() == ID_unsignedbv ||
23 underlying_type.
id() == ID_signedbv || underlying_type.
id() == ID_c_bool)
27 return std::move(result);
33 const typet &sub_subtype =
37 sub_subtype.
id() == ID_signedbv || sub_subtype.
id() == ID_unsignedbv);
41 return std::move(result);
const bitvector_typet & to_bitvector_type(const typet &type)
Cast a typet to a bitvector_typet.
typet c_bit_field_replacement_type(const c_bit_field_typet &src, const namespacet &ns)
const c_enum_tag_typet & to_c_enum_tag_type(const typet &type)
Cast a typet to a c_enum_tag_typet.
Base class of fixed-width bit-vector types.
void set_width(std::size_t width)
std::size_t get_width() const
Type for C bit fields These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (...
const typet & underlying_type() const
const irep_idt & id() const
const union_typet & follow_tag(const union_tag_typet &) const
Follow type tag of union type.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
The type of an expression, extends irept.
#define PRECONDITION(CONDITION)