Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
CheckIfThenElseGuardVisitor.h
Go to the documentation of this file.
1#pragma once
2
3#include <set>
5
6namespace storm {
7namespace expressions {
8
9class Expression;
10class Variable;
11
12// Visits all sub-expressions and returns true if any of them is an IfThenElseExpression
13// where the 'if' part depends on one of the variables in the set passed in the constructor.
15 public:
16 CheckIfThenElseGuardVisitor(std::set<storm::expressions::Variable> const& variables);
17
18 bool check(storm::expressions::Expression const& expression);
19
20 virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override;
21 virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override;
22 virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override;
23 virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override;
24 virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override;
25 virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override;
26 virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override;
27 virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override;
28 virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override;
29 virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override;
30
31 private:
32 std::set<storm::expressions::Variable> const& variables;
33};
34
35} // namespace expressions
36} // namespace storm
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
bool check(storm::expressions::Expression const &expression)
LabParser.cpp.
Definition cli.cpp:18