CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
type.cpp
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Implementations of some functions of typet
4
5Author: Daniel Kroening, kroening@kroening.com
6 Maria Svorenova, maria.svorenova@diffblue.com
7
8\*******************************************************************/
9
12
13#include "type.h"
14
18{
19 subtypes().push_back(type);
20}
21
26{
27 subtypest &sub=subtypes();
28 sub.push_back(static_cast<const typet &>(get_nil_irep()));
29 sub.back().swap(type);
30}
31
33{
35 return type;
36}
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
void remove(const irep_idt &name)
Definition irep.cpp:87
void move_to_subtypes(typet &type)
Move the provided type to the subtypes of this type.
Definition type.cpp:25
std::vector< typet > subtypest
Definition type.h:224
subtypest & subtypes()
Definition type.h:237
void copy_to_subtypes(const typet &type)
Copy the provided type to the subtypes of this type.
Definition type.cpp:17
The type of an expression, extends irept.
Definition type.h:29
const irept & get_nil_irep()
Definition irep.cpp:19
typet remove_const(typet type)
Remove const qualifier from type (if any).
Definition type.cpp:32
Defines typet, type_with_subtypet and type_with_subtypest.