18 op_bv.size() <= width,
19 "operand bitvector width shall not be larger than the width indicated by "
28 for(std::size_t i = 0; i < op_bv.size(); i++)
32 for(std::size_t i = op_bv.size(); i < bv.size(); i++)
virtual const bvt & convert_bv(const exprt &expr, const std::optional< std::size_t > expected_width={})
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
virtual bvt convert_empty_union(const empty_union_exprt &expr)
virtual bvt convert_union(const union_exprt &expr)
virtual endianness_mapt endianness_map(const typet &type, bool little_endian) const
virtual std::size_t boolbv_width(const typet &type) const
Union constructor to support unions without any member (a GCC/Clang feature).
Maps a big-endian offset to a little-endian offset.
size_t map_bit(size_t bit) const
typet & type()
Return the type of the expression.
virtual literalt new_variable()=0
Union constructor from single element.
std::vector< literalt > bvt