#ifndef STORM_LOGIC_LONGRUNAVERAGEOPERATORFORMULA_H_ #define STORM_LOGIC_LONGRUNAVERAGEOPERATORFORMULA_H_ #include "src/logic/OperatorFormula.h" namespace storm { namespace logic { class LongRunAverageOperatorFormula : public OperatorFormula { public: LongRunAverageOperatorFormula(std::shared_ptr const& subformula); LongRunAverageOperatorFormula(Bound const& bound, std::shared_ptr const& subformula); LongRunAverageOperatorFormula(OptimizationDirection optimalityType, Bound const& bound, std::shared_ptr const& subformula); LongRunAverageOperatorFormula(OptimizationDirection optimalityType, std::shared_ptr const& subformula); LongRunAverageOperatorFormula(boost::optional optimalityType, boost::optional> bound, std::shared_ptr const& subformula); virtual ~LongRunAverageOperatorFormula() { // Intentionally left empty. } virtual bool isLongRunAverageOperatorFormula() const override; virtual bool isPctlStateFormula() const override; virtual bool containsProbabilityOperator() const override; virtual bool containsNestedProbabilityOperators() const override; virtual std::shared_ptr substitute(std::map const& substitution) const override; virtual std::ostream& writeToStream(std::ostream& out) const override; }; } } #endif /* STORM_LOGIC_LONGRUNAVERAGEOPERATORFORMULA_H_ */