UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MinPOCEnumerator Class Referenceabstract

This abstract class serves as a schema of an enumerator taking a rule and a graph and enumerating all minimal pushout complements wrt. More...

#include <MinPOCEnumerator.h>

Inheritance diagram for MinPOCEnumerator:
Inheritance graph
[legend]
Collaboration diagram for MinPOCEnumerator:
Collaboration graph
[legend]

Public Member Functions

virtual ~MinPOCEnumerator ()
 Destroys this instance of the enumerator.
 
virtual bool ended () const =0
 Returns true, iff the last element was already enumerated, i.e. More...
 
virtual MinPOCEnumeratoroperator++ ()=0
 Computes the next minimal pushout complement if any. More...
 
virtual graphs::Hypergraph_sp operator* () const =0
 Returns the last computed minimal pushout complement. More...
 
virtual bool resetWith (graphs::AnonRule_csp rule, IDType ruleID, graphs::Hypergraph_csp graph)=0
 Initializes this enumerator to compute all minimal pushout complements for the given rule and graph. More...
 
bool resetWith (graphs::Rule_csp rule, graphs::Hypergraph_csp graph)
 Initializes this enumerator to compute all minimal pushout complements for the given rule and graph. More...
 
void setResultHandler (BackwardResultHandler_sp resHandler)
 Set the BackwardResultHandler used by this enumerator to the given one. More...
 
void setPreparedGTS (PreparedGTS_csp gts)
 Set the PreparedGTS used by this enumerator to the given one. More...
 

Protected Member Functions

 MinPOCEnumerator ()
 Initializes this enumerator.
 

Protected Attributes

BackwardResultHandler_sp resultHandler
 Stores the BackwardResultHandler used by this enumerator.
 
PreparedGTS_csp prepGTS
 Stores a pointer to the PrepareGTS from which the rules will be taken, which are used to initialize this enumerator.
 

Detailed Description

This abstract class serves as a schema of an enumerator taking a rule and a graph and enumerating all minimal pushout complements wrt.

some order. Since we need to know the original rule from which a rule was prepared, a reference to the prepared GTS is stored to provide this information. This class has to be concretized for each order to be compatible with the backward search.

Author
Jan Stückrath

Member Function Documentation

virtual bool ended ( ) const
pure virtual

Returns true, iff the last element was already enumerated, i.e.

no new graph could be computed, when operator++() was called the last time. If this function returns true, a call of operator*() will return null.

Returns
true, iff the last element was already enumerated

Implemented in SubgraphPOCEnumerator, and MinorPOCEnumerator.

virtual graphs::Hypergraph_sp operator* ( ) const
pure virtual

Returns the last computed minimal pushout complement.

If this enumerator has ended, this function will return null.

Returns
the last computed minimal POC, or null if enumerator has ended

Implemented in SubgraphPOCEnumerator, and MinorPOCEnumerator.

virtual MinPOCEnumerator& operator++ ( )
pure virtual

Computes the next minimal pushout complement if any.

Returns
a reference to this enumerator

Implemented in SubgraphPOCEnumerator, and MinorPOCEnumerator.

virtual bool resetWith ( graphs::AnonRule_csp  rule,
IDType  ruleID,
graphs::Hypergraph_csp  graph 
)
pure virtual

Initializes this enumerator to compute all minimal pushout complements for the given rule and graph.

When this function is called, any previous computation by this enumerator will be discarded.

Parameters
rulethe rule used for the pushout complement computation
ruleIDthe rule ID which will be displayed in the logs
graphthe graph (pushout object) used for the POC computation
Returns
true iff the reset operation was successful

Implemented in SubgraphPOCEnumerator, and MinorPOCEnumerator.

bool resetWith ( graphs::Rule_csp  rule,
graphs::Hypergraph_csp  graph 
)
inline

Initializes this enumerator to compute all minimal pushout complements for the given rule and graph.

When this function is called, any previous computation by this enumerator will be discarded.

Parameters
rulethe rule used for pushout complement computation
graphthe graph used for pushout complement computation
Returns
true iff the reset operation was successful
void setPreparedGTS ( PreparedGTS_csp  gts)
inline

Set the PreparedGTS used by this enumerator to the given one.

Parameters
gtsthe new PreparedGTS to be used
void setResultHandler ( BackwardResultHandler_sp  resHandler)
inline

Set the BackwardResultHandler used by this enumerator to the given one.

Parameters
resHandlerthe BackwardResultHandler to be used

The documentation for this class was generated from the following file: