Go to the documentation of this file.
22 const std::string &suffix,
23 std::vector<irep_idt> &dest)
25 if(src.
id() == ID_pointer)
38 else if(src.
id() == ID_union_tag)
42 else if(src.
id()==ID_union)
45 dest.push_back(
"union_"+src.
get_string(ID_tag));
47 else if(src.
id() == ID_struct_tag)
51 else if(src.
id()==ID_struct)
54 dest.push_back(
"struct_"+src.
get_string(ID_tag));
78 std::vector<irep_idt> ids;
79 irept result(ID_exception_list);
82 result.
get_sub().resize(ids.size());
84 for(std::size_t i=0; i<ids.size(); i++)
95 std::vector<irep_idt> ids;
const union_tag_typet & to_union_tag_type(const typet &type)
Cast a typet to a union_tag_typet.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
const typet & subtype() const
const struct_typet & to_struct_type(const typet &type)
Cast a typet to a struct_typet.
irep_idt cpp_exception_id(const typet &src, const namespacet &ns)
turns a type into an exception ID
#define CHECK_RETURN(CONDITION)
The type of an expression, extends irept.
const union_typet & follow_tag(const union_tag_typet &) const
Follow type tag of union type.
C++ Language Type Checking.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
bool get_bool(const irep_namet &name) const
irept cpp_exception_list(const typet &src, const namespacet &ns)
turns a type into a list of relevant exception IDs
const std::string & id2string(const irep_idt &d)
const irep_idt & id() const
const struct_tag_typet & to_struct_tag_type(const typet &type)
Cast a typet to a struct_tag_typet.
void cpp_exception_list_rec(const typet &src, const namespacet &ns, const std::string &suffix, std::vector< irep_idt > &dest)
turns a type into a list of relevant exception IDs
const std::string & get_string(const irep_namet &name) const
const irep_idt & get(const irep_namet &name) const
There are a large number of kinds of tree structured or tree-like data in CPROVER.