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