Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExpressionEvaluatorBase.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_EXPRESSIONEVALUATORBASE_H_
2#define STORM_STORAGE_EXPRESSIONS_EXPRESSIONEVALUATORBASE_H_
3
5
6namespace storm {
7namespace expressions {
8template<typename RationalReturnType>
10 public:
12 virtual ~ExpressionEvaluatorBase() = default;
13
14 virtual bool asBool(Expression const& expression) const = 0;
15 virtual int_fast64_t asInt(Expression const& expression) const = 0;
16 virtual RationalReturnType asRational(Expression const& expression) const = 0;
17
18 virtual void setBooleanValue(storm::expressions::Variable const& variable, bool value) = 0;
19 virtual void setIntegerValue(storm::expressions::Variable const& variable, int_fast64_t value) = 0;
20 virtual void setRationalValue(storm::expressions::Variable const& variable, double value) = 0;
21
22 protected:
29
30 private:
31 // The expression manager that is used by this evaluator.
32 std::shared_ptr<storm::expressions::ExpressionManager const> manager;
33};
34} // namespace expressions
35} // namespace storm
36
37#endif /* STORM_STORAGE_EXPRESSIONS_EXPRESSIONEVALUATORBASE_H_ */
virtual bool asBool(Expression const &expression) const =0
virtual void setBooleanValue(storm::expressions::Variable const &variable, bool value)=0
virtual int_fast64_t asInt(Expression const &expression) const =0
virtual void setIntegerValue(storm::expressions::Variable const &variable, int_fast64_t value)=0
virtual void setRationalValue(storm::expressions::Variable const &variable, double value)=0
virtual RationalReturnType asRational(Expression const &expression) const =0
storm::expressions::ExpressionManager const & getManager() const
Retrieves the manager associated with this evaluator.
This class is responsible for managing a set of typed variables and all expressions using these varia...
LabParser.cpp.
Definition cli.cpp:18