37 std::size_t string_size=str.size()+1;
39 bool char_is_unsigned=
char_type.
id()==ID_unsignedbv;
48 exprt::operandst::iterator it=dest.
operands().begin();
49 for(std::size_t i=0; i<string_size; i++, it++)
52 int ch=i==string_size-1?0:str[i];
55 ch = (
unsigned char)ch;
The type of an expression, extends irept.
An expression without operands.
void set_value(const irep_idt &value)
typet & type()
Return the type of the expression.
const irep_idt & id() const
API to expression classes.
array_exprt to_array_expr() const
convert string into array constant
bitvector_typet index_type()
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
const array_typet & to_array_type(const typet &type)
Cast a typet to an array_typet.
Base class for all expressions.
const std::string & get_string(const irep_namet &name) const
const typet & subtype() const
bitvector_typet char_type()
Array constructor from list of elements.