Storm
A Modern Probabilistic Model Checker
|
The base class of all array expressions. More...
#include <ArrayExpression.h>
Public Member Functions | |
ArrayExpression (ExpressionManager const &manager, Type const &type) | |
ArrayExpression (ArrayExpression const &other)=default | |
ArrayExpression & | operator= (ArrayExpression const &other)=delete |
ArrayExpression (ArrayExpression &&)=default | |
ArrayExpression & | operator= (ArrayExpression &&)=delete |
virtual | ~ArrayExpression ()=default |
virtual std::shared_ptr< BaseExpression const > | size () const =0 |
virtual std::shared_ptr< BaseExpression const > | at (uint64_t i) const =0 |
![]() | |
BaseExpression (ExpressionManager const &manager, Type const &type) | |
Constructs a base expression with the given return type. | |
BaseExpression (BaseExpression const &)=default | |
BaseExpression & | operator= (BaseExpression const &)=delete |
BaseExpression (BaseExpression &&)=default | |
BaseExpression & | operator= (BaseExpression &&)=delete |
virtual | ~BaseExpression ()=default |
Expression | toExpression () const |
Converts the base expression to a proper expression. | |
virtual bool | evaluateAsBool (Valuation const *valuation=nullptr) const |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting boolean value. | |
virtual int_fast64_t | evaluateAsInt (Valuation const *valuation=nullptr) const |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting integer value. | |
virtual double | evaluateAsDouble (Valuation const *valuation=nullptr) const |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting double value. | |
virtual storm::RationalNumber | evaluateAsRational () const |
Evaluates the expression and returns the resulting rational number. | |
virtual uint_fast64_t | getArity () const |
Returns the arity of the expression. | |
virtual std::shared_ptr< BaseExpression const > | getOperand (uint_fast64_t operandIndex) const |
Retrieves the given operand from the expression. | |
virtual std::string const & | getIdentifier () const |
Retrieves the identifier associated with this expression. | |
virtual OperatorType | getOperator () const |
Retrieves the operator of a function application. | |
virtual bool | containsVariables () const |
Retrieves whether the expression contains a variable. | |
virtual bool | isLiteral () const |
Retrieves whether the expression is a literal. | |
virtual bool | isVariable () const |
Retrieves whether the expression is a variable. | |
virtual bool | isTrue () const |
Checks if the expression is equal to the boolean literal true. | |
virtual bool | isFalse () const |
Checks if the expression is equal to the boolean literal false. | |
virtual bool | isFunctionApplication () const |
Checks if the expression is a function application (of any sort). | |
virtual void | gatherVariables (std::set< storm::expressions::Variable > &variables) const =0 |
Retrieves the set of all variables that appear in the expression. | |
virtual std::shared_ptr< BaseExpression const > | simplify () const =0 |
Simplifies the expression according to some simple rules. | |
std::shared_ptr< BaseExpression const > | reduceNesting () const |
Tries to flatten the syntax tree of the expression, e.g., 1 + (2 + (3 + 4)) becomes (1 + 2) + (3 + 4) | |
virtual boost::any | accept (ExpressionVisitor &visitor, boost::any const &data) const =0 |
Accepts the given visitor by calling its visit method. | |
bool | hasNumericalType () const |
Retrieves whether the expression has a numerical type, i.e., integer or double. | |
bool | hasIntegerType () const |
Retrieves whether the expression has an integer type. | |
bool | hasBitVectorType () const |
Retrieves whether the expression has a bitvector type. | |
bool | hasBooleanType () const |
Retrieves whether the expression has a boolean type. | |
bool | hasRationalType () const |
Retrieves whether the expression has a rational return type. | |
std::shared_ptr< BaseExpression const > | getSharedPointer () const |
Retrieves a shared pointer to this expression. | |
ExpressionManager const & | getManager () const |
Retrieves the manager responsible for this expression. | |
Type const & | getType () const |
Retrieves the type of the expression. | |
virtual bool | isIfThenElseExpression () const |
IfThenElseExpression const & | asIfThenElseExpression () const |
virtual bool | isBinaryBooleanFunctionExpression () const |
BinaryBooleanFunctionExpression const & | asBinaryBooleanFunctionExpression () const |
virtual bool | isBinaryNumericalFunctionExpression () const |
BinaryNumericalFunctionExpression const & | asBinaryNumericalFunctionExpression () const |
virtual bool | isBinaryRelationExpression () const |
BinaryRelationExpression const & | asBinaryRelationExpression () const |
virtual bool | isBooleanLiteralExpression () const |
BooleanLiteralExpression const & | asBooleanLiteralExpression () const |
virtual bool | isIntegerLiteralExpression () const |
IntegerLiteralExpression const & | asIntegerLiteralExpression () const |
virtual bool | isRationalLiteralExpression () const |
RationalLiteralExpression const & | asRationalLiteralExpression () const |
virtual bool | isUnaryBooleanFunctionExpression () const |
UnaryBooleanFunctionExpression const & | asUnaryBooleanFunctionExpression () const |
virtual bool | isUnaryNumericalFunctionExpression () const |
UnaryNumericalFunctionExpression const & | asUnaryNumericalFunctionExpression () const |
virtual bool | isVariableExpression () const |
VariableExpression const & | asVariableExpression () const |
virtual bool | isPredicateExpression () const |
PredicateExpression const & | asPredicateExpression () const |
Additional Inherited Members | |
![]() | |
virtual void | printToStream (std::ostream &stream) const =0 |
Prints the expression to the given stream. | |
The base class of all array expressions.
Definition at line 10 of file ArrayExpression.h.
storm::expressions::ArrayExpression::ArrayExpression | ( | ExpressionManager const & | manager, |
Type const & | type | ||
) |
Definition at line 6 of file ArrayExpression.cpp.
|
default |
|
default |
|
virtualdefault |
|
pure virtual |
Implemented in storm::expressions::ConstructorArrayExpression, and storm::expressions::ValueArrayExpression.
|
delete |
|
delete |
|
pure virtual |
Implemented in storm::expressions::ConstructorArrayExpression, and storm::expressions::ValueArrayExpression.