#ifndef STORM_LOGIC_EXPECTEDTIMEOPERATORFORMULA_H_ #define STORM_LOGIC_EXPECTEDTIMEOPERATORFORMULA_H_ #include "src/logic/OperatorFormula.h" namespace storm { namespace logic { class ExpectedTimeOperatorFormula : public OperatorFormula { public: ExpectedTimeOperatorFormula(std::shared_ptr const& subformula); ExpectedTimeOperatorFormula(ComparisonType comparisonType, double bound, std::shared_ptr const& subformula); ExpectedTimeOperatorFormula(OptimizationDirection optimalityType, ComparisonType comparisonType, double bound, std::shared_ptr const& subformula); ExpectedTimeOperatorFormula(OptimizationDirection optimalityType, std::shared_ptr const& subformula); ExpectedTimeOperatorFormula(boost::optional optimalityType, boost::optional comparisonType, boost::optional bound, std::shared_ptr const& subformula); virtual ~ExpectedTimeOperatorFormula() { // Intentionally left empty. } virtual bool isExpectedTimeOperatorFormula() const override; virtual bool isPctlStateFormula() const override; virtual bool containsProbabilityOperator() const override; virtual bool containsNestedProbabilityOperators() const override; virtual std::ostream& writeToStream(std::ostream& out) const override; }; } } #endif /* STORM_LOGIC_EXPECTEDTIMEOPERATORFORMULA_H_ */