226 bool check (
void)
const ;
234 #endif // ndef SH_MATCHING_H Matching(Graph *g, ProgressOutput *po=NULL)
Definition: Matching.cc:28
void setCardinality(unsigned long c)
Definition: Matching.cc:220
Graph * TheGraph
the graph underlying this Matching
Definition: Matching.h:215
std::list< Edge * >::iterator getMatchedIterator(void) const
Definition: Matching.h:182
std::list< Edge * >::iterator MatchedIterator
an iterator into the list of matched edges (only valid if this vertex is matched) ...
Definition: Matching.h:197
a graph constructed from a cover file and a message to be embedded
Definition: Graph.h:51
unsigned long Cardinality
the number of edges in the matching
Definition: Matching.h:212
const Edge * getMatchingEdge(Vertex *v) const
Definition: Matching.h:80
float getMatchedRate(void) const
Definition: Matching.cc:206
contains information about a vertex that is possibly in a matching
Definition: Matching.h:165
std::list< Edge * > MatchingEdges
the std::list of all edges in the matching
Definition: Matching.h:209
float getAvgEdgeWeight(void) const
Definition: Matching.cc:211
bool isExposed(Vertex *v) const
Definition: Matching.h:67
prints the progress to stdout
Definition: ProgressOutput.h:32
Edge * getMatchingEdge(void) const
Definition: Matching.h:179
bool check(void) const
Definition: Matching.cc:228
bool check_VertexInformation_Integrity(void) const
Definition: Matching.cc:276
ProgressOutput * PrOut
the ProgressOutput object that will print the number of matched vertices (as percentage) ...
Definition: Matching.h:218
void removeEdge(const Edge &e)
Definition: Matching.cc:87
bool Matched
Definition: Matching.h:192
bool check_ExposedVertices_vs_VertexInformation(void) const
Definition: Matching.cc:257
unsigned long getCardinality(void) const
Definition: Matching.h:93
bool isMatched(VertexLabel vlbl) const
Definition: Matching.h:61
UWORD32 VertexLabel
Definition: common.h:68
void setExposed(std::list< Vertex *>::iterator eit)
Definition: Matching.h:191
represent a matching on a graph
Definition: Matching.h:41
bool isMatched(Vertex *v) const
Definition: Matching.h:55
void setMatched(std::list< Edge *>::iterator mit)
Definition: Matching.h:188
bool isExposed(VertexLabel vlbl) const
Definition: Matching.h:73
Matching & augment(const Edge **path, unsigned long len)
Definition: Matching.cc:114
VertexInfo(std::list< Edge *>::iterator mit)
Definition: Matching.h:167
VertexInfo(std::list< Vertex *>::iterator eit)
Definition: Matching.h:170
void addEdge(const Edge &e)
Definition: Matching.cc:70
bool isMatched(void) const
Definition: Matching.h:176
void addEdge(Edge *e)
Definition: Matching.h:129
bool isExposed(void) const
Definition: Matching.h:173
const std::list< Edge * > & getEdges(void) const
Definition: Matching.h:142
std::list< Vertex * >::iterator getExposedIterator(void) const
Definition: Matching.h:185
VertexLabel getLabel(void) const
Definition: Vertex.h:98
~Matching(void)
Definition: Matching.cc:44
const std::list< Vertex * > & getExposedVertices(void) const
Definition: Matching.h:96
bool check_ValidAugPath(const std::vector< Edge *> &path) const
Definition: Matching.cc:298
const std::list< Vertex * > * getExposedVerticesLink(void) const
Definition: Matching.h:118
bool includesEdge(const Edge *e) const
Definition: Matching.h:87
bool check_MatchingEdges_vs_VertexInformation(void) const
Definition: Matching.cc:237
void printVerboseInfo(void) const
Definition: Matching.cc:189
a vertex in a graph
Definition: Vertex.h:43
std::vector< VertexInfo > VertexInformation
contains a VertexInfo object for every vertex
Definition: Matching.h:203
std::list< Vertex * > ExposedVertices
the std::list of all exposed vertices
Definition: Matching.h:206
std::list< Vertex * >::iterator ExposedIterator
an iterator into the list of exposed vertices (only valid if this vertex is exposed) ...
Definition: Matching.h:199