Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::expressions::ArrayExpression Class Referenceabstract

The base class of all array expressions. More...

#include <ArrayExpression.h>

Inheritance diagram for storm::expressions::ArrayExpression:
Collaboration diagram for storm::expressions::ArrayExpression:

Public Member Functions

 ArrayExpression (ExpressionManager const &manager, Type const &type)
 ArrayExpression (ArrayExpression const &other)=default
ArrayExpressionoperator= (ArrayExpression const &other)=delete
 ArrayExpression (ArrayExpression &&)=default
ArrayExpressionoperator= (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
Public Member Functions inherited from storm::expressions::BaseExpression
 BaseExpression (ExpressionManager const &manager, Type const &type)
 Constructs a base expression with the given return type.
 BaseExpression (BaseExpression const &)=default
BaseExpressionoperator= (BaseExpression const &)=delete
 BaseExpression (BaseExpression &&)=default
BaseExpressionoperator= (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

Protected Member Functions inherited from storm::expressions::BaseExpression
virtual void printToStream (std::ostream &stream) const =0
 Prints the expression to the given stream.

Detailed Description

The base class of all array expressions.

Definition at line 10 of file ArrayExpression.h.

Constructor & Destructor Documentation

◆ ArrayExpression() [1/3]

storm::expressions::ArrayExpression::ArrayExpression ( ExpressionManager const & manager,
Type const & type )

Definition at line 6 of file ArrayExpression.cpp.

◆ ArrayExpression() [2/3]

storm::expressions::ArrayExpression::ArrayExpression ( ArrayExpression const & other)
default

◆ ArrayExpression() [3/3]

storm::expressions::ArrayExpression::ArrayExpression ( ArrayExpression && )
default

◆ ~ArrayExpression()

virtual storm::expressions::ArrayExpression::~ArrayExpression ( )
virtualdefault

Member Function Documentation

◆ at()

virtual std::shared_ptr< BaseExpression const > storm::expressions::ArrayExpression::at ( uint64_t i) const
pure virtual

◆ operator=() [1/2]

ArrayExpression & storm::expressions::ArrayExpression::operator= ( ArrayExpression && )
delete

◆ operator=() [2/2]

ArrayExpression & storm::expressions::ArrayExpression::operator= ( ArrayExpression const & other)
delete

◆ size()

virtual std::shared_ptr< BaseExpression const > storm::expressions::ArrayExpression::size ( ) const
pure virtual

The documentation for this class was generated from the following files: