22 if(s.find(
',') != std::string::npos || (!s.empty() &&
isdigit(s[0])))
23 return std::to_string(s.size())+
"_"+s;
36 result +=
"rvalue_reference";
41 result +=
"reference";
44 result +=
"rvalue_reference";
46 else if(!irep.
id().empty())
87 for(
const auto &sub : irep.
get_sub())
109 result+=
"restricted_";
137 result+=
"unsigned_int";
139 result+=
"signed_int";
159 for(code_typet::parameterst::const_iterator
160 arg_it=parameters.begin();
164 if(
arg_it!=parameters.begin())
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
std::vector< parametert > parameterst
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
bool get_bool(const irep_idt &name) const
const irep_idt & get(const irep_idt &name) const
const std::string & id_string() const
static bool is_comment(const irep_idt &name)
const irep_idt & id() const
named_subt & get_named_sub()
The type of an expression, extends irept.
std::string cpp_type2name(const typet &type)
std::string cpp_expr2name(const exprt &expr)
static std::string do_prefix(const std::string &s)
static std::string irep2name(const irept &irep)
const std::string & id2string(const irep_idt &d)
API to expression classes for Pointers.
bool is_reference(const typet &type)
Returns true if the type is a reference.
bool is_rvalue_reference(const typet &type)
Returns if the type is an R value reference.
const reference_typet & to_reference_type(const typet &type)
Cast a typet to a reference_typet.
const pointer_typet & to_pointer_type(const typet &type)
Cast a typet to a pointer_typet.
const code_typet & to_code_type(const typet &type)
Cast a typet to a code_typet.
Defines typet, type_with_subtypet and type_with_subtypest.