Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AtomicExpressionFormula.cpp
Go to the documentation of this file.
2#include <boost/any.hpp>
3#include <ostream>
4
6
7namespace storm {
8namespace logic {
10 // Intentionally left empty.
11}
12
14 return true;
15}
16
17boost::any AtomicExpressionFormula::accept(FormulaVisitor const& visitor, boost::any const& data) const {
18 return visitor.visit(*this, data);
19}
20
24
25void AtomicExpressionFormula::gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const {
26 atomicExpressionFormulas.push_back(std::dynamic_pointer_cast<AtomicExpressionFormula const>(this->shared_from_this()));
27}
28
29void AtomicExpressionFormula::gatherUsedVariables(std::set<storm::expressions::Variable>& usedVariables) const {
30 expression.gatherVariables(usedVariables);
31}
32
33std::ostream& AtomicExpressionFormula::writeToStream(std::ostream& out, bool allowParentheses) const {
34 bool parentheses = allowParentheses & (this->expression.isLiteral() || this->expression.isVariable());
35 if (parentheses) {
36 out << "(";
37 }
38 out << expression;
39 if (parentheses) {
40 out << ")";
41 }
42 return out;
43}
44} // namespace logic
45} // namespace storm
bool isVariable() const
Retrieves whether the expression is a variable.
bool isLiteral() const
Retrieves whether the expression is a literal.
void gatherVariables(std::set< storm::expressions::Variable > &variables) const
Retrieves the set of all variables that appear in the expression.
virtual void gatherAtomicExpressionFormulas(std::vector< std::shared_ptr< AtomicExpressionFormula const > > &atomicExpressionFormulas) const override
virtual bool isAtomicExpressionFormula() const override
AtomicExpressionFormula(storm::expressions::Expression const &expression)
virtual void gatherUsedVariables(std::set< storm::expressions::Variable > &usedVariables) const override
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
storm::expressions::Expression const & getExpression() const
virtual boost::any visit(AtomicExpressionFormula const &f, boost::any const &data) const =0
LabParser.cpp.
Definition cli.cpp:18