Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
VariableExpression.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_VARIABLEEXPRESSION_H_
2#define STORM_STORAGE_EXPRESSIONS_VARIABLEEXPRESSION_H_
3
7
8namespace storm {
9namespace expressions {
11 public:
18 VariableExpression(Variable const& variable);
19
20 // Instantiate constructors and assignments with their default implementations.
25
26 virtual ~VariableExpression() = default;
27
28 // Override base class methods.
29 virtual bool evaluateAsBool(Valuation const* valuation = nullptr) const override;
30 virtual int_fast64_t evaluateAsInt(Valuation const* valuation = nullptr) const override;
31 virtual double evaluateAsDouble(Valuation const* valuation = nullptr) const override;
32 virtual std::string const& getIdentifier() const override;
33 virtual bool containsVariables() const override;
34 virtual bool isVariable() const override;
35 virtual void gatherVariables(std::set<storm::expressions::Variable>& variables) const override;
36 virtual std::shared_ptr<BaseExpression const> simplify() const override;
37 virtual boost::any accept(ExpressionVisitor& visitor, boost::any const& data) const override;
38 virtual bool isVariableExpression() const override;
39
45 std::string const& getVariableName() const;
46
52 Variable const& getVariable() const;
53
54 protected:
55 // Override base class method.
56 virtual void printToStream(std::ostream& stream) const override;
57
58 private:
59 // The variable that is represented by this expression.
60 Variable variable;
61};
62} // namespace expressions
63} // namespace storm
64
65#endif /* STORM_STORAGE_EXPRESSIONS_VARIABLEEXPRESSION_H_ */
The base class of all expression classes.
The base class of all valuations of variables.
Definition Valuation.h:16
virtual void printToStream(std::ostream &stream) const override
Prints the expression to the given stream.
VariableExpression & operator=(VariableExpression const &)=delete
virtual int_fast64_t evaluateAsInt(Valuation const *valuation=nullptr) const override
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valua...
VariableExpression(VariableExpression &&)=default
virtual std::string const & getIdentifier() const override
Retrieves the identifier associated with this expression.
virtual boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const override
Accepts the given visitor by calling its visit method.
virtual std::shared_ptr< BaseExpression const > simplify() const override
Simplifies the expression according to some simple rules.
virtual bool containsVariables() const override
Retrieves whether the expression contains a variable.
VariableExpression & operator=(VariableExpression &&)=delete
virtual bool isVariableExpression() const override
virtual bool isVariable() const override
Retrieves whether the expression is a variable.
VariableExpression(VariableExpression const &)=default
virtual bool evaluateAsBool(Valuation const *valuation=nullptr) const override
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valua...
Variable const & getVariable() const
Retrieves the variable associated with this expression.
virtual double evaluateAsDouble(Valuation const *valuation=nullptr) const override
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valua...
std::string const & getVariableName() const
Retrieves the name of the variable associated with this expression.
virtual void gatherVariables(std::set< storm::expressions::Variable > &variables) const override
Retrieves the set of all variables that appear in the expression.
LabParser.cpp.
Definition cli.cpp:18