UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
NoRulePreparer.h
1 /***************************************************************************
2  * Copyright (C) 2014 by Jan Stückrath <jan.stueckrath@uni-due.de> *
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 2 of the License, or *
7  * (at your option) any later version. *
8  * *
9  * This program is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this program; if not, write to the *
16  * Free Software Foundation, Inc., *
17  * 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
18  ***************************************************************************/
19 
20 #ifndef NORULEPREPARER_H_
21 #define NORULEPREPARER_H_
22 
23 #include "RulePreparer.h"
24 
25 namespace uncover {
26  namespace analysis {
27 
32  class NoRulePreparer : public RulePreparer {
33 
34  public:
35 
40 
44  virtual ~NoRulePreparer();
45 
51  virtual void prepareRule(graphs::Rule const& rule,
52  basic_types::CollectionCallback<graphs::Rule_sp>& callback) const override;
53 
59  virtual void prepareRule(graphs::UQRuleInstance const& rule,
61 
67  virtual bool isNoOpRule(graphs::AnonRule const& rule) const override;
68 
69  };
70 
74  typedef shared_ptr<NoRulePreparer> NoRulePreparer_sp;
75 
79  typedef shared_ptr<NoRulePreparer const> NoRulePreparer_csp;
80 
81  } /* namespace analysis */
82 } /* namespace uncover */
83 
84 #endif /* NORULEPREPARER_H_ */
shared_ptr< NoRulePreparer > NoRulePreparer_sp
Alias for a shared pointer to a NoRulePreparer object.
Definition: NoRulePreparer.h:74
virtual ~NoRulePreparer()
Destroys this NoRulePreparer.
Definition: NoRulePreparer.cpp:30
shared_ptr< NoRulePreparer const > NoRulePreparer_csp
Alias for a shared pointer to a constant NoRulePreparer object.
Definition: NoRulePreparer.h:79
Represents the data structure for a rule including a unique identifier.
Definition: Rule.h:38
AnonRule serves as a data structure of a rule object.
Definition: AnonRule.h:39
This RulePreparer returns all rules unprepared.
Definition: NoRulePreparer.h:32
virtual void prepareRule(graphs::Rule const &rule, basic_types::CollectionCallback< graphs::Rule_sp > &callback) const override
Generates a copy of the given Rule and sends it to the callback object.
Definition: NoRulePreparer.cpp:32
This class takes a rule and prepares it such that no special case handling is necessary while perform...
Definition: RulePreparer.h:37
NoRulePreparer()
Generates a new NoRulePreparer.
Definition: NoRulePreparer.cpp:28
virtual bool isNoOpRule(graphs::AnonRule const &rule) const override
Always returns false.
Definition: NoRulePreparer.cpp:42
The UQRuleInstance is a rule which is generated when UQRules are instantiated.
Definition: UQRuleInstance.h:35