Storm
A Modern Probabilistic Model Checker
|
Represents an array with a given list of elements. More...
#include <FunctionCallExpression.h>
Public Member Functions | |
FunctionCallExpression (ExpressionManager const &manager, Type const &type, std::string const &functionIdentifier, std::vector< std::shared_ptr< BaseExpression const > > const &arguments) | |
FunctionCallExpression (FunctionCallExpression const &other)=default | |
FunctionCallExpression & | operator= (FunctionCallExpression const &other)=delete |
FunctionCallExpression (FunctionCallExpression &&)=default | |
FunctionCallExpression & | operator= (FunctionCallExpression &&)=delete |
virtual | ~FunctionCallExpression ()=default |
virtual void | gatherVariables (std::set< storm::expressions::Variable > &variables) const override |
Retrieves the set of all variables that appear in the expression. | |
virtual bool | containsVariables () const override |
Retrieves whether the expression contains a variable. | |
virtual std::shared_ptr< BaseExpression const > | simplify () const override |
Simplifies the expression according to some simple rules. | |
virtual boost::any | accept (ExpressionVisitor &visitor, boost::any const &data) const override |
Accepts the given visitor by calling its visit method. | |
std::string const & | getFunctionIdentifier () const |
uint64_t | getNumberOfArguments () const |
std::shared_ptr< BaseExpression const > | getArgument (uint64_t i) const |
std::vector< std::shared_ptr< BaseExpression const > > const & | getArguments () const |
![]() | |
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 | 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). | |
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) | |
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 |
Protected Member Functions | |
virtual void | printToStream (std::ostream &stream) const override |
Prints the expression to the given stream. | |
Represents an array with a given list of elements.
Definition at line 13 of file FunctionCallExpression.h.
storm::expressions::FunctionCallExpression::FunctionCallExpression | ( | ExpressionManager const & | manager, |
Type const & | type, | ||
std::string const & | functionIdentifier, | ||
std::vector< std::shared_ptr< BaseExpression const > > const & | arguments | ||
) |
Definition at line 12 of file FunctionCallExpression.cpp.
|
default |
|
default |
|
virtualdefault |
|
overridevirtual |
Accepts the given visitor by calling its visit method.
visitor | The visitor that is to be accepted. |
Implements storm::expressions::BaseExpression.
Definition at line 42 of file FunctionCallExpression.cpp.
|
overridevirtual |
Retrieves whether the expression contains a variable.
Reimplemented from storm::expressions::BaseExpression.
Definition at line 24 of file FunctionCallExpression.cpp.
|
overridevirtual |
Retrieves the set of all variables that appear in the expression.
The | set into which all variables in this expresson are inserted. |
Implements storm::expressions::BaseExpression.
Definition at line 18 of file FunctionCallExpression.cpp.
std::shared_ptr< BaseExpression const > storm::expressions::FunctionCallExpression::getArgument | ( | uint64_t | i | ) | const |
Definition at line 72 of file FunctionCallExpression.cpp.
std::vector< std::shared_ptr< BaseExpression const > > const & storm::expressions::FunctionCallExpression::getArguments | ( | ) | const |
Definition at line 78 of file FunctionCallExpression.cpp.
std::string const & storm::expressions::FunctionCallExpression::getFunctionIdentifier | ( | ) | const |
Definition at line 64 of file FunctionCallExpression.cpp.
uint64_t storm::expressions::FunctionCallExpression::getNumberOfArguments | ( | ) | const |
Definition at line 68 of file FunctionCallExpression.cpp.
|
delete |
|
delete |
|
overrideprotectedvirtual |
Prints the expression to the given stream.
stream | The stream to which to write the expression. |
Implements storm::expressions::BaseExpression.
Definition at line 48 of file FunctionCallExpression.cpp.
|
overridevirtual |
Simplifies the expression according to some simple rules.
Implements storm::expressions::BaseExpression.
Definition at line 33 of file FunctionCallExpression.cpp.