12#ifndef CPROVER_CPP_CPP_DECLARATION_H
13#define CPROVER_CPP_CPP_DECLARATION_H
138 void output(std::ostream &out)
const;
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
const template_typet & template_type() const
const declaratorst & declarators() const
bool is_destructor() const
bool is_static_assert() const
void output(std::ostream &out) const
const cpp_member_spect & member_spec() const
const cpp_storage_spect & storage_spec() const
void set_specialization_of(const irep_idt &id)
irep_idt get_specialization_of() const
cpp_member_spect & member_spec()
bool is_constructor() const
bool is_class_template() const
std::vector< cpp_declaratort > declaratorst
const cpp_template_args_non_tct & partial_specialization_args() const
cpp_template_args_non_tct & partial_specialization_args()
declaratorst & declarators()
template_typet & template_type()
void name_anon_struct_union()
cpp_storage_spect & storage_spec()
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
bool has_operands() const
Return true if there is at least one operand.
typet & type()
Return the type of the expression.
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 irept & find(const irep_idt &name) const
const irep_idt & get(const irep_idt &name) const
void set(const irep_idt &name, const irep_idt &value)
const irep_idt & id() const
irept & add(const irep_idt &name)
The type of an expression, extends irept.
cpp_declarationt & to_cpp_declaration(irept &irep)
C++ Language Type Checking.
C++ Language Type Checking.
#define PRECONDITION(CONDITION)