#include <IbexExpr.h>

Public Member Functions | |
| Expr (Env &env, int depth, int size, const Dim &dim) | |
| virtual void | acceptVisitor (Visitor &v) const =0 |
| virtual | ~Expr () |
| virtual bool | is_zero () const |
| bool | scalar () const |
| const Equality & | operator= (const Expr &right) const |
| const Equality & | operator= (const INTERVAL &value) const |
| const Inequality & | operator<= (const Expr &right) const |
| const Inequality & | operator<= (const INTERVAL &value) const |
| const Inequality & | operator>= (const Expr &right) const |
| const Inequality & | operator>= (const INTERVAL &value) const |
| const Inequality & | operator< (const Expr &right) const |
| const Inequality & | operator< (const INTERVAL &value) const |
| const Inequality & | operator> (const Expr &right) const |
| const Inequality & | operator> (const INTERVAL &value) const |
Public Attributes | |
| const int | id |
| const int | depth |
| const int | size |
| const Dim | dim |
| Env & | env |
Friends | |
| std::ostream & | operator<< (std::ostream &, const Expr &) |
Representation of the abstract syntax tree of any arithmetical expression.
| virtual ibex::Expr::~Expr | ( | ) | [inline, virtual] |
Deletes this instance.
| virtual void ibex::Expr::acceptVisitor | ( | Visitor & | v | ) | const [pure virtual] |
Accept an ibex::Expr visitor.
Implemented in ibex::ExtendedSymbol, ibex::SymbolWithIndex, ibex::Symbol, ibex::Constant, ibex::UnaOpExpr, ibex::BinOpExpr, ibex::PowerExpr, ibex::Apply, and ibex::DomainOpExpr.
| virtual bool ibex::Expr::is_zero | ( | ) | const [inline, virtual] |
Return true if this expression is the constant 0.
Reimplemented in ibex::Constant.
| bool ibex::Expr::scalar | ( | ) | const [inline] |
Return true if this is a scalar expression.
Create an equality constraint expr=expr.
Reimplemented in ibex::ExtendedSymbol, ibex::SymbolWithIndex, ibex::Symbol, ibex::UnaOpExpr, ibex::BinOpExpr, ibex::PowerExpr, and ibex::Apply.
Create an equality constraint expr=value.
Reimplemented in ibex::ExtendedSymbol, ibex::SymbolWithIndex, ibex::Symbol, ibex::UnaOpExpr, ibex::BinOpExpr, ibex::PowerExpr, and ibex::Apply.
| const Inequality & ibex::Expr::operator<= | ( | const Expr & | right | ) | const |
Create an inequality constraint expr<=expr.
| const Inequality & ibex::Expr::operator<= | ( | const INTERVAL & | value | ) | const |
Create an inequality constraint expr<=value.
| const Inequality & ibex::Expr::operator>= | ( | const Expr & | right | ) | const |
Create an inequality constraint expr>=expr.
| const Inequality & ibex::Expr::operator>= | ( | const INTERVAL & | value | ) | const |
Create an inequality constraint expr>=value.
| const Inequality & ibex::Expr::operator< | ( | const Expr & | right | ) | const |
Create an inequality constraint expr<value.
| const Inequality & ibex::Expr::operator< | ( | const INTERVAL & | value | ) | const |
Create an inequality constraint expr<value.
| const Inequality & ibex::Expr::operator> | ( | const Expr & | right | ) | const |
Create an inequality constraint expr>expr.
| const Inequality & ibex::Expr::operator> | ( | const INTERVAL & | value | ) | const |
Create an inequality constraint expr>value.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Expr & | expr | |||
| ) | [friend] |
Streams out this expression.
| const int ibex::Expr::id |
Unique number identifying this node.
| const int ibex::Expr::depth |
Depth (following topological order) of this node in the DAG.
| const int ibex::Expr::size |
Number of subnodes (including itself) in the DAG (not in the TREE: two subnodes referencing the same object count for 1).
| const Dim ibex::Expr::dim |
Dimensions
The environment where this expresion is defined
1.5.5