#ifndef STORM_LOGIC_OPERATORFORMULA_H_ #define STORM_LOGIC_OPERATORFORMULA_H_ #include #include "src/logic/UnaryStateFormula.h" #include "src/logic/OptimalityType.h" #include "src/logic/ComparisonType.h" namespace storm { namespace logic { class OperatorFormula : public UnaryStateFormula { public: OperatorFormula(boost::optional optimalityType, boost::optional comparisonType, boost::optional bound, std::shared_ptr const& subformula); virtual ~OperatorFormula() { // Intentionally left empty. } bool hasBound() const; ComparisonType const& getComparisonType() const; double getBound() const; bool hasOptimalityType() const; OptimalityType const& getOptimalityType() const; virtual std::ostream& writeToStream(std::ostream& out) const override; private: std::string operatorSymbol; boost::optional comparisonType; boost::optional bound; boost::optional optimalityType; }; } } #endif /* STORM_LOGIC_OPERATORFORMULA_H_ */