13 return Expression(boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
accept(*
this, boost::none)));
17 auto newCondition = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getCondition()->accept(*
this, data));
18 auto newThen = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getThenExpression()->accept(*
this, data));
19 auto newElse = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getElseExpression()->accept(*
this, data));
20 return std::shared_ptr<BaseExpression const>(
new IfThenElseExpression(manager, expression.
getType(), newCondition, newThen, newElse));
24 auto newFirstOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getFirstOperand()->accept(*
this, data));
25 auto newSecondOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getSecondOperand()->accept(*
this, data));
26 return std::shared_ptr<BaseExpression const>(
31 auto newFirstOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getFirstOperand()->accept(*
this, data));
32 auto newSecondOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getSecondOperand()->accept(*
this, data));
33 return std::shared_ptr<BaseExpression const>(
38 auto newFirstOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getFirstOperand()->accept(*
this, data));
39 auto newSecondOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getSecondOperand()->accept(*
this, data));
40 return std::shared_ptr<BaseExpression const>(
49 auto newOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getOperand()->accept(*
this, data));
54 auto newOperand = boost::any_cast<std::shared_ptr<BaseExpression const>>(expression.
getOperand()->accept(*
this, data));
Type const & getType() const
Retrieves the type of the expression.
OperatorType getOperatorType() const
Retrieves the operator associated with the expression.
std::shared_ptr< BaseExpression const > const & getSecondOperand() const
Retrieves the second operand of the expression.
std::shared_ptr< BaseExpression const > const & getFirstOperand() const
Retrieves the first operand of the expression.
OperatorType getOperatorType() const
Retrieves the operator associated with the expression.
RelationType getRelationType() const
Retrieves the relation associated with the expression.
bool getValue() const
Retrieves the value of the boolean literal.
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
ChangeManagerVisitor(ExpressionManager const &manager)
Expression changeManager(storm::expressions::Expression const &expression)
boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const
Accepts the given visitor.
This class is responsible for managing a set of typed variables and all expressions using these varia...
Variable getVariable(std::string const &name) const
Retrieves the expression that represents the variable with the given name.
std::shared_ptr< BaseExpression const > getElseExpression() const
Retrieves the else expression of the if-then-else expression.
std::shared_ptr< BaseExpression const > getCondition() const
Retrieves the condition expression of the if-then-else expression.
std::shared_ptr< BaseExpression const > getThenExpression() const
Retrieves the then expression of the if-then-else expression.
int_fast64_t getValue() const
Retrieves the value of the integer literal.
storm::RationalNumber getValue() const
Retrieves the value of the double literal.
OperatorType getOperatorType() const
Retrieves the operator associated with this expression.
virtual std::shared_ptr< BaseExpression const > getOperand(uint_fast64_t operandIndex) const override
Retrieves the given operand from the expression.
OperatorType getOperatorType() const
Retrieves the operator associated with this expression.
std::string const & getVariableName() const
Retrieves the name of the variable associated with this expression.