#ifndef STORM_LOGIC_REWARDOPERATORFORMULA_H_ #define STORM_LOGIC_REWARDOPERATORFORMULA_H_ #include "src/properties/logic/OperatorFormula.h" namespace storm { namespace logic { class RewardOperatorFormula : public OperatorFormula { public: RewardOperatorFormula(std::shared_ptr const& subformula); RewardOperatorFormula(ComparisonType comparisonType, double bound, std::shared_ptr const& subformula); RewardOperatorFormula(ComparisonType comparisonType, double bound, OptimalityType optimalityType, std::shared_ptr const& subformula); RewardOperatorFormula(OptimalityType optimalityType, std::shared_ptr const& subformula); virtual ~RewardOperatorFormula() { // Intentionally left empty. } virtual bool isRewardOperator() const override; virtual std::ostream& writeToStream(std::ostream& out) const override; private: RewardOperatorFormula(boost::optional comparisonType, boost::optional bound, boost::optional optimalityType, std::shared_ptr const& subformula); }; } } #endif /* STORM_LOGIC_REWARDOPERATORFORMULA_H_ */