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

Implements the abstract MinPOCEnumerator class for the minor ordering. More...

#include <MinorPOCEnumerator.h>

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

Public Member Functions

 MinorPOCEnumerator ()
 Generates a new MinorPOCEnumerator without initialization. More...
 
 MinorPOCEnumerator (MinorPOCEnumerator &&oldEnum)
 Move constructor. More...
 
virtual ~MinorPOCEnumerator ()
 Destroys this MinorPOCEnumerator.
 
virtual bool ended () const override
 Returns true, iff the last element was already enumerated, i.e. More...
 
virtual MinorPOCEnumeratoroperator++ () override
 Computes the next minimal pushout complement if any. More...
 
virtual graphs::Hypergraph_sp operator* () const override
 Returns the last computed minimal pushout complement. More...
 
virtual bool resetWith (graphs::AnonRule_csp rule, IDType ruleID, graphs::Hypergraph_csp graph) override
 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 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.
 

Private Member Functions

void checkAndThrow () const
 Checks if this MinorPOCEnumerator is in a valid state, i.e. More...
 

Private Attributes

rule_engine::PartialPOCEnumeratorpartialEnumerator
 Stores an encapsulated partialEnumerator.
 
IDType ruleID
 The ID of the rule with which this enumerator was last initialized.
 
IDType graphID
 The ID of the graph with which this enumerator was last initialized.
 

Detailed Description

Implements the abstract MinPOCEnumerator class for the minor ordering.

It will enumerate minimal pushout complement wrt. the minor ordering, such that every pushout complement is represented by at least one minimal POC.

Author
Jan Stückrath

Constructor & Destructor Documentation

Generates a new MinorPOCEnumerator without initialization.

This enumerator must be initialized by calling resetWith(), or otherwise its functions will throw exceptions.

Move constructor.

Generates a new MinorPOCEnumerator from a given one, invalidating it at the same time. The new enumerator will be initialize iff the old one was.

Parameters
oldEnumthe enumerator of which the new one will be generated

Member Function Documentation

void checkAndThrow ( ) const
private

Checks if this MinorPOCEnumerator is in a valid state, i.e.

initialized, and throws an exception if it is not.

bool ended ( ) const
overridevirtual

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

Implements MinPOCEnumerator.

graphs::Hypergraph_sp operator* ( ) const
overridevirtual

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

Implements MinPOCEnumerator.

MinorPOCEnumerator & operator++ ( )
overridevirtual

Computes the next minimal pushout complement if any.

Returns
a reference to this enumerator

Implements MinPOCEnumerator.

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

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

Implements MinPOCEnumerator.

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

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)
inlineinherited

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

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

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 files: