CBMC: code_blockt Class Reference
Public Member Functions
code_blockt () code_operandst & statements () const code_operandst & statements () const code_blockt (const std::vector< codet > &_statements) code_blockt (std::vector< codet > &&_statements) void add (const codet &code) void add (codet &&code) void add (codet code, source_locationt loc) void append (const code_blockt &extra_block) Add all the codets from extra_block to the current code_blockt.source_locationt end_location () const codet & find_last_statement ()
Public Member Functions inherited from codet
codet (const irep_idt &statement)
codet (const irep_idt &statement, source_locationt loc)
codet (const irep_idt &statement, operandst _op)
codet (const irep_idt &statement, operandst op, source_locationt loc)
void set_statement (const irep_idt &statement)
const irep_idt & get_statement () const
codet & first_statement ()
In the case of a codet type that represents multiple statements, return the first of them. const codet & first_statement () const In the case of a
codet type that represents multiple statements, return the first of them. codet & last_statement () In the case of a
codet type that represents multiple statements, return the last of them. const codet & last_statement () const In the case of a
codet type that represents multiple statements, return the last of them. exprt & op0 () const exprt & op0 () const exprt & op1 () const exprt & op1 () const exprt & op2 () const exprt & op2 () const exprt & op3 () const exprt & op3 () const
Public Member Functions inherited from exprt
exprt ()
exprt (const irep_idt &_id)
exprt (irep_idt _id, typet _type)
exprt (irep_idt _id, typet _type, operandst &&_operands)
exprt (const irep_idt &id, typet type, source_locationt loc)
typet & type ()
Return the type of the expression. const typet & type () const bool has_operands () const Return true if there is at least one operand.
operandst & operands () const operandst & operands () const exprt & with_source_location (source_locationt location) & Add the source location from
location, if it is non-nil. exprt && with_source_location (source_locationt location) && Add the source location from
location, if it is non-nil. exprt & with_source_location (const exprt &other) & Add the source location from
other, if it has any. exprt && with_source_location (const exprt &other) && Add the source location from
other, if it has any. void reserve_operands (operandst::size_type n) void copy_to_operands (const exprt &expr) Copy the given argument to the end of
exprt's operands. void add_to_operands (const exprt &expr) Add the given argument to the end of
exprt's operands. void add_to_operands (exprt &&expr) Add the given argument to the end of
exprt's operands. void add_to_operands (exprt &&e1, exprt &&e2) Add the given arguments to the end of
exprt's operands. void add_to_operands (exprt &&e1, exprt &&e2, exprt &&e3) Add the given arguments to the end of
exprt's operands. bool is_constant () const Return whether the expression is a constant.
bool is_true () const Return whether the expression is a constant representing
true. bool is_false () const Return whether the expression is a constant representing
false. bool is_zero () const Return whether the expression is a constant representing 0.
bool is_one () const Return whether the expression is a constant representing 1.
bool is_boolean () const Return whether the expression represents a Boolean.
const source_locationt & find_source_location () const Get a source_locationt from the expression or from its operands (non-recursively).
const source_locationt & source_location () const source_locationt & add_source_location () void drop_source_location () void visit (class expr_visitort &visitor) These are pre-order traversal visitors, i.e., the visitor is executed on a node before its children have been visited.
void visit (class const_expr_visitort &visitor) const void visit_pre (std::function< void(exprt &)>) void visit_pre (std::function< void(const exprt &)>) const void visit_post (std::function< void(exprt &)>) These are post-order traversal visitors, i.e., the visitor is executed on a node after its children have been visited.
void visit_post (std::function< void(const exprt &)>) const depth_iteratort depth_begin () depth_iteratort depth_end () const_depth_iteratort depth_begin () const const_depth_iteratort depth_end () const const_depth_iteratort depth_cbegin () const const_depth_iteratort depth_cend () const depth_iteratort depth_begin (std::function< exprt &()> mutate_root) const const_unique_depth_iteratort unique_depth_begin () const const_unique_depth_iteratort unique_depth_end () const const_unique_depth_iteratort unique_depth_cbegin () const const_unique_depth_iteratort unique_depth_cend () const
Public Member Functions inherited from irept
bool is_nil () const
bool is_not_nil () const
irept (const irep_idt &_id)
irept (const irep_idt &_id, const named_subt &_named_sub, const subt &_sub)
irept ()=default
const irep_idt & id () const
const std::string & id_string () const
void id (const irep_idt &_data)
const irept & find (const irep_idt &name) const
irept & add (const irep_idt &name)
irept & add (const irep_idt &name, irept irep)
const std::string & get_string (const irep_idt &name) const
const irep_idt & get (const irep_idt &name) const
bool get_bool (const irep_idt &name) const
signed int get_int (const irep_idt &name) const
std::size_t get_size_t (const irep_idt &name) const
long long get_long_long (const irep_idt &name) const
void set (const irep_idt &name, const irep_idt &value)
void set (const irep_idt &name, irept irep)
void set (const irep_idt &name, const long long value)
void set_size_t (const irep_idt &name, const std::size_t value)
void remove (const irep_idt &name)
void move_to_sub (irept &irep)
void move_to_named_sub (const irep_idt &name, irept &irep)
bool operator== (const irept &other) const
bool operator!= (const irept &other) const
void swap (irept &irep)
bool operator< (const irept &other) const
defines ordering on the internal representation bool ordering (const irept &other) const defines ordering on the internal representation
int compare (const irept &i) const defines ordering on the internal representation comments are ignored
void clear () void make_nil () subt & get_sub () const subt & get_sub () const named_subt & get_named_sub () const named_subt & get_named_sub () const std::size_t hash () const std::size_t full_hash () const bool full_eq (const irept &other) const std::string pretty (unsigned indent=0, unsigned max_indent=0) const
Public Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
sharing_treet (irep_idt _id)
sharing_treet (irep_idt _id, named_subt _named_sub, subt _sub)
sharing_treet ()
sharing_treet (const sharing_treet &irep)
sharing_treet (sharing_treet &&irep)
sharing_treet & operator= (const sharing_treet &irep)
sharing_treet & operator= (sharing_treet &&irep)
~sharing_treet ()
const dt & read () const
dt & write ()
A codet representing sequential composition of program statements.
Each operand represents a statement in the block.
Definition at line 129 of file std_code.h.