1#ifndef CPROVER_STD_TYPES_H
2#define CPROVER_STD_TYPES_H
62 assert(type.id() ==
"symbol");
71 assert(type.id() ==
"symbol");
123 return get(
"base_name");
133 return get(
"access");
143 return get(
"pretty_name");
148 return set(
"pretty_name",
name);
158 return set(
"anonymous", anonymous);
168 return set(
"is_padding", is_padding);
173 return get_bool(
"is_unnamed_bitfield");
178 return set(
"is_unnamed_bitfield", is_unnamed_bitfield);
462 assert(type.id() ==
"pointer");
469 assert(type.id() ==
"pointer");
541 assert(type.id() ==
"unsignedbv");
550 assert(type.id() ==
"unsignedbv");
587 assert(type.id() ==
"signedbv");
596 assert(type.id() ==
"signedbv");
641 unsigned get_f()
const;
static const twodig_t base
Definition bigint.cpp:28
Definition std_types.h:397
array_typet(const typet &_subtype)
Definition std_types.h:403
array_typet()
Definition std_types.h:399
exprt & size()
Definition std_types.h:419
const exprt & size() const
Definition std_types.h:414
array_typet(const typet &_subtype, const exprt &_size)
Definition std_types.h:408
bool_typet()
Definition std_types.h:12
bv_typet(unsigned width)
Definition std_types.h:494
void set_width(unsigned width)
Definition std_types.h:502
unsigned get_width() const
Definition std_types.cpp:6
bv_typet()
Definition std_types.h:489
Definition std_types.h:297
argumentt()
Definition std_types.h:299
bool has_default_value() const
Definition std_types.h:312
argumentt(const typet &type)
Definition std_types.h:303
exprt & default_value()
Definition std_types.h:317
const exprt & default_value() const
Definition std_types.h:307
void set_identifier(const irep_idt &identifier)
Definition std_types.h:322
const irep_idt & get_base_name() const
Definition std_types.h:337
void set_base_name(const irep_idt &name)
Definition std_types.h:327
const irep_idt & get_identifier() const
Definition std_types.h:332
Definition std_types.h:280
typet & return_type()
Definition std_types.h:358
std::vector< argumentt > argumentst
Definition std_types.h:283
argumentst & arguments()
Definition std_types.h:368
code_typet(argumentst _parameters, typet _return_type)
Definition std_types.h:290
void set_inlined(bool value)
Definition std_types.h:378
bool get_inlined() const
Definition std_types.h:373
const typet & return_type() const
Definition std_types.h:353
code_typet()
Definition std_types.h:285
const argumentst & arguments() const
Definition std_types.h:363
bool has_ellipsis() const
Definition std_types.h:343
void make_ellipsis()
Definition std_types.h:348
Definition std_types.h:658
const typet & base_type() const
Definition std_types.h:664
void set_base_type(const typet &base)
Definition std_types.h:669
friend const complex_typet & to_complex_type(const typet &type)
Definition std_types.h:677
complex_typet()
Definition std_types.h:660
Definition std_expr.h:1082
empty_typet()
Definition std_types.h:21
const exprt & find_expr(const std::string &name) const
Definition expr.h:211
static irep_idt argument
Definition expr.h:262
exprt & add_expr(const std::string &name)
Definition expr.h:206
Definition std_types.h:600
void set_integer_bits(unsigned b)
Definition std_types.h:614
friend const fixedbv_typet & to_fixedbv_type(const typet &type)
Definition std_types.h:619
unsigned get_integer_bits() const
Definition std_types.cpp:11
fixedbv_typet()
Definition std_types.h:602
unsigned get_fraction_bits() const
Definition std_types.h:607
Definition std_types.h:629
floatbv_typet()
Definition std_types.h:631
unsigned get_e() const
Definition std_types.h:636
void set_f(unsigned b)
Definition std_types.h:643
friend const floatbv_typet & to_floatbv_type(const typet &type)
Definition std_types.h:648
unsigned get_f() const
Definition std_types.cpp:18
intcap_typet()
Definition std_types.h:732
bool get_bool(const irep_idt &name) const
Definition irep.cpp:142
const irep_idt & cmt_base_name() const
Definition irep.h:463
const irept & find(const irep_idt &name) const
Definition irep.cpp:167
static const irep_idt a_name
Definition irep.h:1287
const irep_idt & identifier() const
Definition irep.h:167
const irep_idt & get(const irep_idt &name) const
Definition irep.cpp:127
bool ellipsis() const
Definition irep.h:533
const irep_idt & base_name() const
Definition irep.h:237
void set(const irep_idt &name, const irep_idt &value)
Definition irep.h:141
static const irep_idt a_component
Definition irep.h:1306
const irep_idt & width() const
Definition irep.h:172
bool is_not_nil() const
Definition irep.h:50
const irep_idt & access() const
Definition irep.h:232
const irep_idt & cmt_identifier() const
Definition irep.h:473
subt & get_sub()
Definition irep.h:1242
typet & type()
Definition irep.h:153
const irep_idt & component_name() const
Definition irep.h:187
void swap(irept &irep)
Definition irep.h:1224
const irep_idt & id() const
Definition irep.h:109
irept & add(const irep_idt &name)
Definition irep.cpp:179
const irep_idt & name() const
Definition irep.h:182
Definition std_types.h:438
pointer_typet()
Definition std_types.h:440
pointer_typet(const typet &_subtype)
Definition std_types.h:445
ptrmem_typet()
Definition std_types.h:748
reference_typet()
Definition std_types.h:476
Definition std_types.h:555
signedbv_typet(unsigned width)
Definition std_types.h:562
BigInt largest() const
Definition std_types.cpp:111
signedbv_typet()
Definition std_types.h:557
constant_exprt zero_expr() const
Definition std_types.cpp:116
BigInt smallest() const
Definition std_types.cpp:106
constant_exprt largest_expr() const
Definition std_types.cpp:126
constant_exprt smallest_expr() const
Definition std_types.cpp:121
Definition std_types.h:232
bool is_prefix_of(const struct_typet &other) const
Definition std_types.cpp:65
struct_typet()
Definition std_types.h:234
const irep_idt & get_pretty_name() const
Definition std_types.h:141
componentt()
Definition std_types.h:89
bool get_anonymous() const
Definition std_types.h:151
void set_is_unnamed_bitfield(bool is_unnamed_bitfield)
Definition std_types.h:176
void set_pretty_name(const irep_idt &name)
Definition std_types.h:146
void set_anonymous(bool anonymous)
Definition std_types.h:156
void set_base_name(const irep_idt &base_name)
Definition std_types.h:126
bool get_is_unnamed_bitfield() const
Definition std_types.h:171
componentt(const irep_idt &_name, const typet &_type)
Definition std_types.h:93
const irep_idt & get_access() const
Definition std_types.h:131
componentt(const irep_idt &_name, const irep_idt &_pretty_name, const typet &_type)
Definition std_types.h:100
void set_is_padding(bool is_padding)
Definition std_types.h:166
const irep_idt & get_base_name() const
Definition std_types.h:121
bool get_is_padding() const
Definition std_types.h:161
void set_access(const irep_idt &access)
Definition std_types.h:136
const irep_idt & get_name() const
Definition std_types.h:111
void set_name(const irep_idt &name)
Definition std_types.h:116
Definition std_types.h:78
unsigned component_number(const irep_idt &component_name) const
Definition std_types.cpp:26
componentst & methods()
Definition std_types.h:209
const componentst & components() const
Definition std_types.h:184
struct_union_typet()=default
const componentst & methods() const
Definition std_types.h:204
struct_union_typet(const irep_idt &_id)
Definition std_types.h:82
const componentt & get_component(const irep_idt &component_name) const
Definition std_types.cpp:45
bool has_component(const irep_idt &component_name) const
Definition std_types.h:194
componentst & components()
Definition std_types.h:189
typet component_type(const irep_idt &component_name) const
Definition std_types.cpp:58
std::vector< componentt > componentst
Definition std_types.h:182
Definition std_types.h:28
symbol_typet()
Definition std_types.h:30
symbol_typet(const irep_idt &identifier)
Definition std_types.h:34
void set_identifier(const irep_idt &identifier)
Definition std_types.h:39
const irep_idt & get_identifier() const
Definition std_types.h:44
const typet & find_type(const std::string &name) const
Definition type.h:66
static irep_idt t_bool
Definition type.h:90
static irep_idt a_integer_bits
Definition type.h:116
static irep_idt t_ptrmem
Definition type.h:106
static irep_idt t_intcap
Definition type.h:104
static irep_idt a_identifier
Definition type.h:108
static irep_idt t_struct
Definition type.h:94
static irep_idt t_reference
Definition type.h:100
static irep_idt t_vector
Definition type.h:102
static irep_idt t_union
Definition type.h:95
static irep_idt t_array
Definition type.h:98
const typet & subtype() const
Definition type.h:17
static irep_idt t_unsignedbv
Definition type.h:83
static irep_idt t_symbol
Definition type.h:92
static irep_idt t_fixedbv
Definition type.h:89
static irep_idt t_uintcap
Definition type.h:105
static irep_idt t_class
Definition type.h:96
static irep_idt a_arguments
Definition type.h:112
static irep_idt a_methods
Definition type.h:111
static irep_idt a_size
Definition type.h:114
static irep_idt t_complex
Definition type.h:87
static irep_idt a_width
Definition type.h:115
static irep_idt t_floatbv
Definition type.h:88
static irep_idt t_signedbv
Definition type.h:82
typet & add_type(const std::string &name)
Definition type.h:61
static irep_idt t_empty
Definition type.h:91
static irep_idt t_bv
Definition type.h:101
static irep_idt a_components
Definition type.h:110
static irep_idt t_code
Definition type.h:97
static irep_idt a_f
Definition type.h:117
static irep_idt t_pointer
Definition type.h:99
uintcap_typet()
Definition std_types.h:740
Definition std_types.h:258
union_typet()
Definition std_types.h:260
Definition std_types.h:509
BigInt largest() const
Definition std_types.cpp:136
unsignedbv_typet()
Definition std_types.h:511
unsignedbv_typet(unsigned width)
Definition std_types.h:516
constant_exprt largest_expr() const
Definition std_types.cpp:151
BigInt smallest() const
Definition std_types.cpp:131
constant_exprt zero_expr() const
Definition std_types.cpp:141
constant_exprt smallest_expr() const
Definition std_types.cpp:146
This type maps the vectors.
Definition std_types.h:695
vector_typet()
Definition std_types.h:697
const exprt & size() const
Definition std_types.h:712
vector_typet(const typet &_subtype, const exprt &_size)
Definition std_types.h:706
vector_typet(const typet &_subtype)
Definition std_types.h:701
exprt & size()
Definition std_types.h:717
@ other
Definition converter_compare.cpp:887
const vector_typet & to_vector_type(const typet &type)
Definition std_types.h:723
const code_typet & to_code_type(const typet &type)
Definition std_types.h:384
bool is_lvalue_or_rvalue_reference(const typet &type)
Definition std_types.cpp:100
const union_typet & to_union_type(const typet &type)
Definition std_types.h:265
bool is_reference(const typet &type)
Definition std_types.cpp:90
const fixedbv_typet & to_fixedbv_type(const typet &type)
Definition std_types.h:619
const struct_typet & to_struct_type(const typet &type)
Definition std_types.h:241
bool is_rvalue_reference(const typet &type)
Definition std_types.cpp:95
const complex_typet & to_complex_type(const typet &type)
Definition std_types.h:677
const symbol_typet & to_symbol_type(const typet &type)
Cast a generic typet to a symbol_typet.
Definition std_types.h:60
const array_typet & to_array_type(const typet &type)
Definition std_types.h:425
const pointer_typet & to_pointer_type(const typet &type)
Cast a typet to a pointer_typet.
Definition std_types.h:460
const struct_union_typet & to_struct_union_type(const typet &type)
Definition std_types.h:215
const floatbv_typet & to_floatbv_type(const typet &type)
Definition std_types.h:648
const unsignedbv_typet & to_unsignedbv_type(const typet &type)
Cast a generic typet to an unsignedbv_typet.
Definition std_types.h:539
const signedbv_typet & to_signedbv_type(const typet &type)
Cast a generic typet to a signedbv_typet.
Definition std_types.h:585