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