35 lines
1.2 KiB

#ifndef STORM_LOGIC_UNARYBOOLEANSTATEFORMULA_H_
#define STORM_LOGIC_UNARYBOOLEANSTATEFORMULA_H_
#include "storm/logic/UnaryStateFormula.h"
#include "storm/logic/UnaryBooleanOperatorType.h"
namespace storm {
namespace logic {
class UnaryBooleanStateFormula : public UnaryStateFormula {
public:
typedef storm::logic::UnaryBooleanOperatorType OperatorType;
UnaryBooleanStateFormula(OperatorType operatorType, std::shared_ptr<Formula const> const& subformula);
virtual ~UnaryBooleanStateFormula() {
// Intentionally left empty.
};
virtual bool isUnaryBooleanStateFormula() const override;
virtual boost::any accept(FormulaVisitor const& visitor, boost::any const& data) const override;
OperatorType getOperator() const;
virtual bool isNot() const;
virtual std::ostream& writeToStream(std::ostream& out, bool allowParentheses = false) const override;
private:
OperatorType operatorType;
};
}
}
#endif /* STORM_LOGIC_UNARYBOOLEANSTATEFORMULA_H_ */