#include <Pattern.hh>
Public Member Functions | |
virtual Match_Constraint * | clone (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_Constraint * | remap (const Match &old2newIndexMapping, const size_t unmatchedIndex=UINT_MAX)=0 |
virtual | ~Match_Constraint () |
destruction More... | |
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.
|
inline |
Definition at line 35 of file Pattern.hh.
|
inlinevirtual |
Definition at line 40 of file Pattern.hh.
|
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!
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.
|
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.
label | the label of interest |
Implemented in sgm::MC_NodeLabel, sgm::MC_EdgeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, and sgm::MC_NoEdge.
|
pure virtual |
Checks whether or not this constraint covers the node with the given ID.
nodeID | the ID of the node of interest |
Implemented in sgm::MC_Node, and sgm::MC_Edge.
|
pure virtual |
Checks whether or not a match on a given target fullfills the additional matching constraint.
pattern | the pattern graph that was matched |
target | the target graph the pattern was matched on |
match | the match information for the pattern on the target graph |
Implemented in sgm::MC_EdgeLabel, sgm::MC_NoEdge, and sgm::MC_Node.
|
pure virtual |
Equality comparison to another match constraint.
toCompare | the constraint to compare to |
Implemented in sgm::MC_Node.
|
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!
old2newIndexMapping | the index mapping to be used for the remapping |
unmatchedIndex | an optional specific index that marks unmatched nodes within old2newIndexMapping. if this constrains one of these nodes, no remapping is done and NULL is returned |
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.