Go to the documentation of this file.
10 #ifndef CPROVER_CPP_CPP_TEMPLATE_PARAMETER_H
11 #define CPROVER_CPP_CPP_TEMPLATE_PARAMETER_H
27 bool get_is_type()
const
32 void set_is_type(
bool value)
34 set(ID_is_type, value);
39 return get(ID_identifier);
42 void set_identifier(
const irep_idt &identifier)
44 return set(ID_identifier, identifier);
50 return static_cast<exprt &
>(
add(ID_C_default_value));
55 return static_cast<const exprt &
>(
find(ID_C_default_value));
69 :
typet(ID_template_parameter_symbol_type)
76 set(ID_identifier, identifier);
81 return get(ID_identifier);
108 #endif // CPROVER_CPP_CPP_TEMPLATE_PARAMETER_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
The type of an expression, extends irept.
const irept & find(const irep_idt &name) const
a template parameter symbol that is a type
Base class for all expressions.
const exprt & default_argument() const
const irep_idt & get(const irep_idt &name) const
static optionalt< smt_termt > get_identifier(const exprt &expr, const std::unordered_map< exprt, smt_identifier_termt, irep_hash > &expression_handle_identifiers, const std::unordered_map< exprt, smt_identifier_termt, irep_hash > &expression_identifiers)
void set(const irep_idt &name, const irep_idt &value)
#define PRECONDITION(CONDITION)
const template_parameter_symbol_typet & to_template_parameter_symbol_type(const typet &type)
Cast a typet to a template_parameter_symbol_typet.
const irep_idt & id() const
bool has_default_argument() const
irept & add(const irep_idt &name)
exprt & default_argument()
const irep_idt & get_identifier() const
template_parameter_symbol_typet(const irep_idt &identifier)
bool get_bool(const irep_idt &name) const
void set_identifier(const irep_idt &identifier)