20 #ifndef RULEPREPARATION_H_
21 #define RULEPREPARATION_H_
23 #include "../graphs/UQRuleInstance.h"
24 #include "../graphs/Rule.h"
25 #include "../basic_types/CollectionCallback.h"
virtual bool isNoOpRule(graphs::AnonRule const &rule) const =0
Checks if the given rule will only produce graphs already represented when the backward analysis is a...
shared_ptr< RulePreparer const > RulePreparer_csp
Alias for a shared pointer of a constant RulePreparer.
Definition: RulePreparer.h:110
bool optimize
Stores whether the rule preparation will be optimized.
Definition: RulePreparer.h:98
Represents the data structure for a rule including a unique identifier.
Definition: Rule.h:38
RulePreparer()
A RulePreparer can only be instantiated by a derived class.
Definition: RulePreparer.h:93
shared_ptr< RulePreparer > RulePreparer_sp
Alias for a shared pointer of a RulePreparer.
Definition: RulePreparer.h:105
AnonRule serves as a data structure of a rule object.
Definition: AnonRule.h:39
bool willOptimize() const
Returns whether the rule preparation will be optimized, i.e.
Definition: RulePreparer.h:86
virtual void prepareRule(graphs::Rule const &rule, basic_types::CollectionCallback< graphs::Rule_sp > &callback) const =0
Takes a single rule and creates the prepared set of rules for this rule.
This class takes a rule and prepares it such that no special case handling is necessary while perform...
Definition: RulePreparer.h:37
void setOptimization(bool opt)
Sets whether the rule preparation will be optimized, i.e.
Definition: RulePreparer.h:79
The UQRuleInstance is a rule which is generated when UQRules are instantiated.
Definition: UQRuleInstance.h:35
virtual ~RulePreparer()
Destroys the current RulePreparer instance.
Definition: RulePreparer.h:44