Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
OperatorFormula.h
Go to the documentation of this file.
1#ifndef STORM_LOGIC_OPERATORFORMULA_H_
2#define STORM_LOGIC_OPERATORFORMULA_H_
3
4#include <boost/optional.hpp>
5
6#include "storm/logic/Bound.h"
10
12
13namespace storm {
14namespace logic {
15
17 OperatorInformation(boost::optional<storm::solver::OptimizationDirection> const& optimizationDirection = boost::none,
18 boost::optional<Bound> const& bound = boost::none);
19
20 boost::optional<storm::solver::OptimizationDirection> optimalityType;
21 boost::optional<Bound> bound;
22};
23
25 public:
26 OperatorFormula(std::shared_ptr<Formula const> const& subformula, OperatorInformation const& operatorInformation = OperatorInformation());
27
28 virtual ~OperatorFormula() {
29 // Intentionally left empty.
30 }
31
32 // Bound-related accessors.
33 bool hasBound() const;
34 Bound const& getBound() const;
35 void setBound(Bound const& newBound);
36 void removeBound();
37
39 void setComparisonType(ComparisonType newComparisonType);
41 template<typename ValueType>
42 ValueType getThresholdAs() const;
43 void setThreshold(storm::expressions::Expression const& newThreshold);
44
45 // Optimality-type-related accessors.
46 bool hasOptimalityType() const;
50 virtual bool isOperatorFormula() const override;
51
53
54 virtual bool hasQualitativeResult() const override;
55 virtual bool hasQuantitativeResult() const override;
56
57 virtual void gatherUsedVariables(std::set<storm::expressions::Variable>& usedVariables) const override;
58
59 virtual std::ostream& writeToStream(std::ostream& out, bool allowParentheses = false) const override;
60
61 protected:
63};
64} // namespace logic
65} // namespace storm
66
67#endif /* STORM_LOGIC_OPERATORFORMULA_H_ */
void setComparisonType(ComparisonType newComparisonType)
Bound const & getBound() const
ComparisonType getComparisonType() const
OperatorInformation operatorInformation
virtual void gatherUsedVariables(std::set< storm::expressions::Variable > &usedVariables) const override
storm::expressions::Expression const & getThreshold() const
OperatorInformation const & getOperatorInformation() const
virtual bool hasQualitativeResult() const override
virtual bool isOperatorFormula() const override
void setOptimalityType(storm::solver::OptimizationDirection newOptimalityType)
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
void setBound(Bound const &newBound)
storm::solver::OptimizationDirection const & getOptimalityType() const
void setThreshold(storm::expressions::Expression const &newThreshold)
virtual bool hasQuantitativeResult() const override
ValueType getThresholdAs() const
LabParser.cpp.
Definition cli.cpp:18
boost::optional< Bound > bound
boost::optional< storm::solver::OptimizationDirection > optimalityType