Generated on Wed Apr 29 2015 11:51:41 for GGL-4.1.2 by doxygen 1.8.3.1
Public Member Functions
sgm::Pattern_Interface::Match_Constraint Class Referenceabstract

#include <Pattern.hh>

Inheritance diagram for sgm::Pattern_Interface::Match_Constraint:
Inheritance graph
[legend]

Public Member Functions

virtual Match_Constraintclone (void) const =0
 
virtual bool isConstrainedLabel (const std::string &label) const =0
 
virtual bool isConstraining (const size_t nodeID) const =0
 
virtual bool isValidMatch (const Pattern_Interface &pattern, const Graph_Interface &target, const Match &match) const =0
 
 Match_Constraint ()
 construction More...
 
virtual bool operator== (const Match_Constraint &toCompare) const =0
 
virtual Match_Constraintremap (const Match &old2newIndexMapping, const size_t unmatchedIndex=UINT_MAX)=0
 
virtual ~Match_Constraint ()
 destruction More...
 

Detailed Description

A match constraint describes additional properties that have to be fullfilled by a given match on a given target.

Definition at line 30 of file Pattern.hh.

Constructor & Destructor Documentation

sgm::Pattern_Interface::Match_Constraint::Match_Constraint ( )
inline

Definition at line 35 of file Pattern.hh.

virtual sgm::Pattern_Interface::Match_Constraint::~Match_Constraint ( )
inlinevirtual

Definition at line 40 of file Pattern.hh.

Member Function Documentation

virtual Match_Constraint* sgm::Pattern_Interface::Match_Constraint::clone ( void  ) const
pure virtual

Creates a new Match_Constraint heap object that equals the current object. NOTE: YOU have to delete it later on! There is no garbage collection!

Returns
a new allocated Match_Constraint object that equals this

Implemented in sgm::MC_NodeLabel, sgm::MC_EdgeLabel, ggl::chem::MC_MC_NodeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, ggl::chem::MC_MC_NodeAdjacency, sgm::MC_NoEdge, sgm::MC_Node, and sgm::MC_Edge.

virtual bool sgm::Pattern_Interface::Match_Constraint::isConstrainedLabel ( const std::string &  label) const
pure virtual

Checks whether or not a given label is part of the constraint information. This check is needed by some parsers to verify the wildcard definition.

Parameters
labelthe label of interest
Returns
true if the label is part of the constraint; false otherwise

Implemented in sgm::MC_NodeLabel, sgm::MC_EdgeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, and sgm::MC_NoEdge.

virtual bool sgm::Pattern_Interface::Match_Constraint::isConstraining ( const size_t  nodeID) const
pure virtual

Checks whether or not this constraint covers the node with the given ID.

Parameters
nodeIDthe ID of the node of interest
Returns
true if the node is covered by the constraint; false otherwise

Implemented in sgm::MC_Node, and sgm::MC_Edge.

virtual bool sgm::Pattern_Interface::Match_Constraint::isValidMatch ( const Pattern_Interface pattern,
const Graph_Interface target,
const Match match 
) const
pure virtual

Checks whether or not a match on a given target fullfills the additional matching constraint.

Parameters
patternthe pattern graph that was matched
targetthe target graph the pattern was matched on
matchthe match information for the pattern on the target graph
Returns
true if the match is valid; false if the constraint is violated

Implemented in sgm::MC_EdgeLabel, sgm::MC_NoEdge, and sgm::MC_Node.

virtual bool sgm::Pattern_Interface::Match_Constraint::operator== ( const Match_Constraint toCompare) const
pure virtual

Equality comparison to another match constraint.

Parameters
toComparethe constraint to compare to
Returns
true if the constraints are equal; false otherwise

Implemented in sgm::MC_Node.

virtual Match_Constraint* sgm::Pattern_Interface::Match_Constraint::remap ( const Match old2newIndexMapping,
const size_t  unmatchedIndex = UINT_MAX 
)
pure virtual

Creates a new Match_Constraint heap object that equals the current object but uses the new indices given by old2newIndexMapping. NOTE: YOU have to delete it later on! There is no garbage collection!

Parameters
old2newIndexMappingthe index mapping to be used for the remapping
unmatchedIndexan optional specific index that marks unmatched nodes within old2newIndexMapping. if this constrains one of these nodes, no remapping is done and NULL is returned
Returns
a new allocated Match_Constraint object or NULL if the constraint was covering unmatched nodes

Implemented in sgm::MC_NodeLabel, sgm::MC_EdgeLabel, ggl::chem::MC_MC_NodeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, ggl::chem::MC_MC_NodeAdjacency, sgm::MC_NoEdge, sgm::MC_Node, and sgm::MC_Edge.


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