|
| byte_extract_exprt (irep_idt _id, const exprt &_op, const exprt &_offset, const typet &_type) |
|
exprt & | op () |
|
exprt & | offset () |
|
const exprt & | op () const |
|
const exprt & | offset () const |
|
| binary_exprt (const exprt &_lhs, const irep_idt &_id, exprt _rhs) |
|
| binary_exprt (exprt _lhs, const irep_idt &_id, exprt _rhs, typet _type) |
|
exprt & | lhs () |
|
const exprt & | lhs () const |
|
exprt & | rhs () |
|
const exprt & | rhs () const |
|
const exprt & | op2 () const =delete |
|
exprt & | op2 ()=delete |
|
const exprt & | op3 () const =delete |
|
exprt & | op3 ()=delete |
|
exprt & | op0 () |
|
const exprt & | op0 () const |
|
exprt & | op1 () |
|
const exprt & | op1 () const |
|
| 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. More...
|
|
const typet & | type () const |
|
std::size_t | size () const |
| Amount of nodes this expression tree contains. More...
|
|
bool | has_operands () const |
| Return true if there is at least one operand. More...
|
|
operandst & | operands () |
|
const operandst & | operands () const |
|
void | reserve_operands (operandst::size_type n) |
|
void | move_to_operands (exprt &expr) |
| Move the given argument to the end of exprt 's operands. More...
|
|
void | move_to_operands (exprt &e1, exprt &e2) |
| Move the given arguments to the end of exprt 's operands. More...
|
|
void | move_to_operands (exprt &e1, exprt &e2, exprt &e3) |
| Move the given arguments to the end of exprt 's operands. More...
|
|
void | copy_to_operands (const exprt &expr) |
| Copy the given argument to the end of exprt 's operands. More...
|
|
void | add_to_operands (const exprt &expr) |
| Add the given argument to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&expr) |
| Add the given argument to the end of exprt 's operands. More...
|
|
void | copy_to_operands (const exprt &e1, const exprt &e2) |
| Copy the given arguments to the end of exprt 's operands. More...
|
|
void | add_to_operands (const exprt &e1, const exprt &e2) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&e1, exprt &&e2) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
void | add_to_operands (const exprt &e1, const exprt &e2, const exprt &e3) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
void | copy_to_operands (const exprt &e1, const exprt &e2, const exprt &e3) |
| Copy the given arguments to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&e1, exprt &&e2, exprt &&e3) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
void | make_bool (bool value) |
| Replace the expression by a Boolean expression representing value . More...
|
|
bool | is_constant () const |
| Return whether the expression is a constant. More...
|
|
bool | is_true () const |
| Return whether the expression is a constant representing true . More...
|
|
bool | is_false () const |
| Return whether the expression is a constant representing false . More...
|
|
bool | is_zero () const |
| Return whether the expression is a constant representing 0. More...
|
|
bool | is_one () const |
| Return whether the expression is a constant representing 1. More...
|
|
bool | is_boolean () const |
| Return whether the expression represents a Boolean. More...
|
|
const source_locationt & | find_source_location () const |
| Get a source_locationt from the expression or from its operands (non-recursively). More...
|
|
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. More...
|
|
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. More...
|
|
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 |
|
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_namet &name) const |
|
irept & | add (const irep_namet &name) |
|
irept & | add (const irep_namet &name, irept irep) |
|
const std::string & | get_string (const irep_namet &name) const |
|
const irep_idt & | get (const irep_namet &name) const |
|
bool | get_bool (const irep_namet &name) const |
|
signed int | get_int (const irep_namet &name) const |
|
std::size_t | get_size_t (const irep_namet &name) const |
|
long long | get_long_long (const irep_namet &name) const |
|
void | set (const irep_namet &name, const irep_idt &value) |
|
void | set (const irep_namet &name, irept irep) |
|
void | set (const irep_namet &name, const long long value) |
|
void | remove (const irep_namet &name) |
|
void | move_to_sub (irept &irep) |
|
void | move_to_named_sub (const irep_namet &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 More...
|
|
bool | ordering (const irept &other) const |
| defines ordering on the internal representation More...
|
|
int | compare (const irept &i) const |
| defines ordering on the internal representation comments are ignored More...
|
|
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 |
|
| 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 () |
|
|
typedef std::vector< exprt > | operandst |
|
using | baset = tree_implementationt |
|
using | dt = tree_nodet< irept, std::map< irep_namet, irept >, true > |
|
using | subt = typename dt::subt |
|
using | named_subt = typename dt::named_subt |
|
using | tree_implementationt = sharing_treet |
| Used to refer to this class from derived classes. More...
|
|
static void | check (const exprt &expr, const validation_modet vm=validation_modet::INVARIANT) |
|
static void | validate (const exprt &expr, const namespacet &, const validation_modet vm=validation_modet::INVARIANT) |
|
static void | check (const exprt &, const validation_modet) |
| Check that the expression is well-formed (shallow checks only, i.e., subexpressions and its type are not checked). More...
|
|
static void | validate (const exprt &expr, const namespacet &, const validation_modet vm=validation_modet::INVARIANT) |
| Check that the expression is well-formed, assuming that its subexpressions and type have all ready been checked for well-formedness. More...
|
|
static void | validate_full (const exprt &expr, const namespacet &ns, const validation_modet vm=validation_modet::INVARIANT) |
| Check that the expression is well-formed (full check, including checks of all subexpressions and the type) More...
|
|
static bool | is_comment (const irep_namet &name) |
|
static std::size_t | number_of_non_comments (const named_subt &) |
| count the number of named_sub elements that are not comments More...
|
|
| expr_protectedt (irep_idt _id, typet _type) |
|
| expr_protectedt (irep_idt _id, typet _type, operandst _operands) |
|
void | make_bool (bool value) |
| Replace the expression by a Boolean expression representing value . More...
|
|
exprt & | op0 () |
|
const exprt & | op0 () const |
|
exprt & | op1 () |
|
const exprt & | op1 () const |
|
exprt & | op2 () |
|
const exprt & | op2 () const |
|
exprt & | op3 () |
|
const exprt & | op3 () const |
|
exprt & | op0 () |
|
exprt & | op1 () |
|
exprt & | op2 () |
|
exprt & | op3 () |
|
const exprt & | op0 () const |
|
const exprt & | op1 () const |
|
const exprt & | op2 () const |
|
const exprt & | op3 () const |
|
exprt & | add_expr (const irep_idt &name) |
|
const exprt & | find_expr (const irep_idt &name) const |
|
void | detach () |
|
static void | remove_ref (dt *old_data) |
|
static void | nonrecursive_destructor (dt *old_data) |
| Does the same as remove_ref, but using an explicit stack instead of recursion. More...
|
|
dt * | data |
|
static dt | empty_d |
|
Expression of type type
extracted from some object op
starting at position offset
(given in number of bytes).
The object can either be interpreted in big endian or little endian, which is reflected by the id
of the expression which is either ID_byte_extract_big_endian
or ID_byte_extract_little_endian
Definition at line 28 of file byte_operators.h.