UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
BackwardResultHandler.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 BACKWARDRESULTHANDLER_H_
21 #define BACKWARDRESULTHANDLER_H_
22 
23 #include "PreparedGTS.h"
24 
25 namespace uncover {
26  namespace analysis {
27 
34 
35  public:
36 
41 
46  virtual void setOldGTS(graphs::GTS_csp gts) = 0;
47 
52  virtual void setPreparedGTS(PreparedGTS_csp gts) = 0;
53 
58  virtual void setFirstGraphs(shared_ptr<const vector<graphs::Hypergraph_sp>> graphs) = 0;
59 
66  virtual void wasDeletedBecauseOf(IDType deletedGraph, IDType reasonGraph) = 0;
67 
73  virtual void wasNoValidGraph(IDType deletedGraph) = 0;
74 
81  virtual void wasGeneratedByFrom(graphs::Hypergraph_sp genGraph, IDType rule, IDType srcGraph) = 0;
82 
86  virtual void startingNewBackwardStep() = 0;
87 
91  virtual void finishedBackwardStep() = 0;
92 
93  protected:
94 
99 
100  };
101 
105  typedef shared_ptr<BackwardResultHandler> BackwardResultHandler_sp;
106 
107  }
108 }
109 
110 
111 
112 #endif /* BACKWARDRESULTHANDLER_H_ */
virtual void setOldGTS(graphs::GTS_csp gts)=0
Sets the old unprepared GTS.
shared_ptr< const GTS > GTS_csp
Alias for a shared pointer to a constant GTS object.
Definition: GTS.h:169
virtual void setPreparedGTS(PreparedGTS_csp gts)=0
Sets the new prepared GTS.
virtual ~BackwardResultHandler()
Destroys the current BackwardResultHandler.
Definition: BackwardResultHandler.h:40
The BackwardResultHandler is an interface to handle intermediate results produced by the backward sea...
Definition: BackwardResultHandler.h:33
shared_ptr< PreparedGTS const > PreparedGTS_csp
Alias of a shared pointer to a constant PreparedGTS.
Definition: PreparedGTS.h:289
virtual void wasGeneratedByFrom(graphs::Hypergraph_sp genGraph, IDType rule, IDType srcGraph)=0
Stores that the given graph was generated from the second graph by the given rule.
virtual void startingNewBackwardStep()=0
Informs that the next backward step has begun.
shared_ptr< BackwardResultHandler > BackwardResultHandler_sp
Alias for a shared pointer to a BackwardResultHandler.
Definition: BackwardResultHandler.h:105
virtual void wasNoValidGraph(IDType deletedGraph)=0
Stores that the graph with the given ID did not belong to the restricted set of graphs and was theref...
BackwardResultHandler()
Creates a new BackwardResultHandler.
Definition: BackwardResultHandler.h:98
virtual void setFirstGraphs(shared_ptr< const vector< graphs::Hypergraph_sp >> graphs)=0
Sets the initial set of graphs from which the backward search is started.
virtual void wasDeletedBecauseOf(IDType deletedGraph, IDType reasonGraph)=0
Stores that the graph with the first ID was deleted because it was subsumed by the graph with the sec...
unsigned int IDType
IDType is an (unsigned) integer specifically used as an Identifier of graphs, elements of graphs or a...
Definition: globals.h:53
virtual void finishedBackwardStep()=0
Informs that the current backward step has ended.
shared_ptr< Hypergraph > Hypergraph_sp
Alias for a shared pointer to a Hypergraph.
Definition: Hypergraph.h:85