Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 7392c77c84ff25edfeb07995a77d5148 > files > 441

steghide-0.5.1-11mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>steghide: Matching Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Matching Class Reference</h1><!-- doxytag: class="Matching" -->represent a matching on a graph  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="Matching_8h_source.html">Matching.h</a>&gt;</code>
<p>

<p>
<a href="classMatching-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching_1_1VertexInfo.html">VertexInfo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">contains information about a vertex that is possibly in a matching  <a href="classMatching_1_1VertexInfo.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#ed84a04e309df94f8eb9005ffe957bbd">Matching</a> (<a class="el" href="classGraph.html">Graph</a> *g, <a class="el" href="classProgressOutput.html">ProgressOutput</a> *po=NULL)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#d2d812a2bf359a0aba56c4b010d593ca">~Matching</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#93686c64dcfc1434222cb6757cff749c">isMatched</a> (<a class="el" href="classVertex.html">Vertex</a> *v) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#1088d622a0c54ba5e91d4e10cb885000">isMatched</a> (<a class="el" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a> vlbl) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#de383d31cab08d99b25cad92cac8d884">isExposed</a> (<a class="el" href="classVertex.html">Vertex</a> *v) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#4a0e7844ca3b75bb44a6e7ac838d271f">isExposed</a> (<a class="el" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a> vlbl) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classEdge.html">Edge</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#58690371c2d43a2386db627a23d5d921">getMatchingEdge</a> (<a class="el" href="classVertex.html">Vertex</a> *v) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#93fa0d140bacc42b07eaebbcd8615bdc">includesEdge</a> (const <a class="el" href="classEdge.html">Edge</a> *e) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#3e94bdfedcf31b6196174e20ceefd233">includesEdge</a> (const <a class="el" href="classEdge.html">Edge</a> &amp;e) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#e44f8cb10b0fa9d04719836f74d952af">getCardinality</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::list&lt; <a class="el" href="classVertex.html">Vertex</a> * &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#87d307472315d9908ad9181048c35b4f">getExposedVertices</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#402a96de4e745c99aa6bc9fc6c41382e">getMatchedRate</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#ab01d98a2c5698dfcd7e7b32eada211e">getAvgEdgeWeight</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::list&lt; <a class="el" href="classVertex.html">Vertex</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#b17fd83f0421de3f7f5012f9fe9b408b">getExposedVerticesLink</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#6c838465213fedaf6fc3604498bc4872">addEdge</a> (const <a class="el" href="classEdge.html">Edge</a> &amp;e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#96c361574c82870fb2def9ee837a661b">addEdge</a> (<a class="el" href="classEdge.html">Edge</a> *e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#050930214af9313531a041cd7b0cfdc9">removeEdge</a> (const <a class="el" href="classEdge.html">Edge</a> &amp;e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::list&lt; <a class="el" href="classEdge.html">Edge</a> * &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#33afa89c36a00b01fa989d1f1dc72094">getEdges</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMatching.html">Matching</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#129ad66579ab15131149c450f0d228bb">augment</a> (const <a class="el" href="classEdge.html">Edge</a> **path, unsigned long len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMatching.html">Matching</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#c7a3a965840629702953743d21798e98">augment</a> (const std::vector&lt; <a class="el" href="classEdge.html">Edge</a> * &gt; &amp;path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#d1d55c82b6db09f95eb29631ff9d2e8c">printVerboseInfo</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#f3d4af541e7e7442e0b334fa490b6a10">check</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#f5f3551de8bef05d941f3130c0b840dd">check_MatchingEdges_vs_VertexInformation</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#2ec0f42fe59996cbfe4a89ae518bdd0c">check_ExposedVertices_vs_VertexInformation</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#568e1e5824a2224da40c652f756a4fca">check_VertexInformation_Integrity</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#2bcc2b056019a9e15f40e3610905286a">check_ValidAugPath</a> (const std::vector&lt; <a class="el" href="classEdge.html">Edge</a> * &gt; &amp;path) const </td></tr>

<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#bb3bd68cfac697812d6719cc72a42915">setCardinality</a> (unsigned long c)</td></tr>

<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classMatching_1_1VertexInfo.html">VertexInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32">VertexInformation</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">contains a <a class="el" href="classMatching_1_1VertexInfo.html" title="contains information about a vertex that is possibly in a matching">VertexInfo</a> object for every vertex  <a href="#0942e9b5f7ebac36164d003fd84d7f32"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::list&lt; <a class="el" href="classVertex.html">Vertex</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0">ExposedVertices</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the std::list of all exposed vertices  <a href="#d13336c41a30e91d0e43d76d9a3472d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::list&lt; <a class="el" href="classEdge.html">Edge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#101468aa7aa0d515d5f26a90aff23635">MatchingEdges</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the std::list of all edges in the matching  <a href="#101468aa7aa0d515d5f26a90aff23635"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#0010374751f5cb6a24a103d020125df2">Cardinality</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the number of edges in the matching  <a href="#0010374751f5cb6a24a103d020125df2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGraph.html">Graph</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#eca9faeb654b61cd465de583e57ff991">TheGraph</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the graph underlying this <a class="el" href="classMatching.html" title="represent a matching on a graph">Matching</a>  <a href="#eca9faeb654b61cd465de583e57ff991"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classProgressOutput.html">ProgressOutput</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMatching.html#557079f39cb4955db24659100f391eef">PrOut</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the <a class="el" href="classProgressOutput.html" title="prints the progress to stdout">ProgressOutput</a> object that will print the number of matched vertices (as percentage)  <a href="#557079f39cb4955db24659100f391eef"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A <a class="el" href="classMatching.html" title="represent a matching on a graph">Matching</a> object will copy all Edges that are passed to it and will take care of them, i.e. delete them if they are no longer used. Edges do only "leave" a <a class="el" href="classMatching.html" title="represent a matching on a graph">Matching</a> object as const pointers. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ed84a04e309df94f8eb9005ffe957bbd"></a><!-- doxytag: member="Matching::Matching" ref="ed84a04e309df94f8eb9005ffe957bbd" args="(Graph *g, ProgressOutput *po=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Matching::Matching           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGraph.html">Graph</a> *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classProgressOutput.html">ProgressOutput</a> *&nbsp;</td>
          <td class="paramname"> <em>po</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
create an empty matching that is ready for adding and augmenting <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>the underlying graph </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>po</em>&nbsp;</td><td>a <a class="el" href="classProgressOutput.html" title="prints the progress to stdout">ProgressOutput</a> object that will print the number of matched vertices (in percent) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d2d812a2bf359a0aba56c4b010d593ca"></a><!-- doxytag: member="Matching::~Matching" ref="d2d812a2bf359a0aba56c4b010d593ca" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Matching::~Matching           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="96c361574c82870fb2def9ee837a661b"></a><!-- doxytag: member="Matching::addEdge" ref="96c361574c82870fb2def9ee837a661b" args="(Edge *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Matching::addEdge           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEdge.html">Edge</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6c838465213fedaf6fc3604498bc4872"></a><!-- doxytag: member="Matching::addEdge" ref="6c838465213fedaf6fc3604498bc4872" args="(const Edge &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Matching::addEdge           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEdge.html">Edge</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
add an edge to the matching <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>the edge to add.</td></tr>
  </table>
</dl>
For e=(v1,v2): neither v1 nor v2 are allowed to be adjacent to an edge that is already in the matching, 
</div>
</div><p>
<a class="anchor" name="c7a3a965840629702953743d21798e98"></a><!-- doxytag: member="Matching::augment" ref="c7a3a965840629702953743d21798e98" args="(const std::vector&lt; Edge * &gt; &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMatching.html">Matching</a> &amp; Matching::augment           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classEdge.html">Edge</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="129ad66579ab15131149c450f0d228bb"></a><!-- doxytag: member="Matching::augment" ref="129ad66579ab15131149c450f0d228bb" args="(const Edge **path, unsigned long len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMatching.html">Matching</a> &amp; Matching::augment           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEdge.html">Edge</a> **&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
augment this matching along the given augmenting path <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>an augmenting path </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length (number of edges) of the augmenting path</td></tr>
  </table>
</dl>
An augementing path is a path where edges with odd indices (the first, third,...) are not in the matching and edges with even indices are and the path has an odd length. 
</div>
</div><p>
<a class="anchor" name="f3d4af541e7e7442e0b334fa490b6a10"></a><!-- doxytag: member="Matching::check" ref="f3d4af541e7e7442e0b334fa490b6a10" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::check           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="2ec0f42fe59996cbfe4a89ae518bdd0c"></a><!-- doxytag: member="Matching::check_ExposedVertices_vs_VertexInformation" ref="2ec0f42fe59996cbfe4a89ae518bdd0c" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::check_ExposedVertices_vs_VertexInformation           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f5f3551de8bef05d941f3130c0b840dd"></a><!-- doxytag: member="Matching::check_MatchingEdges_vs_VertexInformation" ref="f5f3551de8bef05d941f3130c0b840dd" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::check_MatchingEdges_vs_VertexInformation           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="2bcc2b056019a9e15f40e3610905286a"></a><!-- doxytag: member="Matching::check_ValidAugPath" ref="2bcc2b056019a9e15f40e3610905286a" args="(const std::vector&lt; Edge * &gt; &amp;path) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::check_ValidAugPath           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classEdge.html">Edge</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="568e1e5824a2224da40c652f756a4fca"></a><!-- doxytag: member="Matching::check_VertexInformation_Integrity" ref="568e1e5824a2224da40c652f756a4fca" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::check_VertexInformation_Integrity           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ab01d98a2c5698dfcd7e7b32eada211e"></a><!-- doxytag: member="Matching::getAvgEdgeWeight" ref="ab01d98a2c5698dfcd7e7b32eada211e" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float Matching::getAvgEdgeWeight           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the average weight of all edges that are in this matching 
</div>
</div><p>
<a class="anchor" name="e44f8cb10b0fa9d04719836f74d952af"></a><!-- doxytag: member="Matching::getCardinality" ref="e44f8cb10b0fa9d04719836f74d952af" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long Matching::getCardinality           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the cardinality (the number of matched edges) 
</div>
</div><p>
<a class="anchor" name="33afa89c36a00b01fa989d1f1dc72094"></a><!-- doxytag: member="Matching::getEdges" ref="33afa89c36a00b01fa989d1f1dc72094" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::list&lt;<a class="el" href="classEdge.html">Edge</a>*&gt;&amp; Matching::getEdges           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the list of all edges in this matching 
</div>
</div><p>
<a class="anchor" name="87d307472315d9908ad9181048c35b4f"></a><!-- doxytag: member="Matching::getExposedVertices" ref="87d307472315d9908ad9181048c35b4f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::list&lt;<a class="el" href="classVertex.html">Vertex</a>*&gt;&amp; Matching::getExposedVertices           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b17fd83f0421de3f7f5012f9fe9b408b"></a><!-- doxytag: member="Matching::getExposedVerticesLink" ref="b17fd83f0421de3f7f5012f9fe9b408b" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::list&lt;<a class="el" href="classVertex.html">Vertex</a>*&gt;* Matching::getExposedVerticesLink           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get access to the std::list of exposed vertices <dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the std::list of exposed vertices in this matching.</dd></dl>
The std::list that is pointed to by return value contains the exposed vertices even after augment has been called (it is the ExposedVertices member) an arbitrary number of times. 
</div>
</div><p>
<a class="anchor" name="402a96de4e745c99aa6bc9fc6c41382e"></a><!-- doxytag: member="Matching::getMatchedRate" ref="402a96de4e745c99aa6bc9fc6c41382e" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float Matching::getMatchedRate           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the rate of vertices of the underlying graph that are currently matched in this matching <dl class="return" compact><dt><b>Returns:</b></dt><dd>a value between 0 and 1 </dd></dl>

</div>
</div><p>
<a class="anchor" name="58690371c2d43a2386db627a23d5d921"></a><!-- doxytag: member="Matching::getMatchingEdge" ref="58690371c2d43a2386db627a23d5d921" args="(Vertex *v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classEdge.html">Edge</a>* Matching::getMatchingEdge           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVertex.html">Vertex</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the edge that is in the matching and adjacent to v <dl class="return" compact><dt><b>Returns:</b></dt><dd>the matched edge or NULL if v is exposed </dd></dl>

</div>
</div><p>
<a class="anchor" name="3e94bdfedcf31b6196174e20ceefd233"></a><!-- doxytag: member="Matching::includesEdge" ref="3e94bdfedcf31b6196174e20ceefd233" args="(const Edge &amp;e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::includesEdge           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEdge.html">Edge</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="93fa0d140bacc42b07eaebbcd8615bdc"></a><!-- doxytag: member="Matching::includesEdge" ref="93fa0d140bacc42b07eaebbcd8615bdc" args="(const Edge *e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::includesEdge           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEdge.html">Edge</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
does this matching include the edge e ? <dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff the edge e is element of this matching </dd></dl>

</div>
</div><p>
<a class="anchor" name="4a0e7844ca3b75bb44a6e7ac838d271f"></a><!-- doxytag: member="Matching::isExposed" ref="4a0e7844ca3b75bb44a6e7ac838d271f" args="(VertexLabel vlbl) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::isExposed           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a>&nbsp;</td>
          <td class="paramname"> <em>vlbl</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns true iff the vertex with the label vlbl is exposed (not matched) in this matching. 
</div>
</div><p>
<a class="anchor" name="de383d31cab08d99b25cad92cac8d884"></a><!-- doxytag: member="Matching::isExposed" ref="de383d31cab08d99b25cad92cac8d884" args="(Vertex *v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::isExposed           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVertex.html">Vertex</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns true iff the vertex v is exposed (not matched) in this matching. 
</div>
</div><p>
<a class="anchor" name="1088d622a0c54ba5e91d4e10cb885000"></a><!-- doxytag: member="Matching::isMatched" ref="1088d622a0c54ba5e91d4e10cb885000" args="(VertexLabel vlbl) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::isMatched           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a>&nbsp;</td>
          <td class="paramname"> <em>vlbl</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns true iff the vertex with the label vlbl is matched in this matching. 
</div>
</div><p>
<a class="anchor" name="93686c64dcfc1434222cb6757cff749c"></a><!-- doxytag: member="Matching::isMatched" ref="93686c64dcfc1434222cb6757cff749c" args="(Vertex *v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Matching::isMatched           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classVertex.html">Vertex</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns true iff the vertex v is matched in this matching. 
</div>
</div><p>
<a class="anchor" name="d1d55c82b6db09f95eb29631ff9d2e8c"></a><!-- doxytag: member="Matching::printVerboseInfo" ref="d1d55c82b6db09f95eb29631ff9d2e8c" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Matching::printVerboseInfo           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="050930214af9313531a041cd7b0cfdc9"></a><!-- doxytag: member="Matching::removeEdge" ref="050930214af9313531a041cd7b0cfdc9" args="(const Edge &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Matching::removeEdge           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEdge.html">Edge</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
remove an edge from the matching <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>the edge to remove</td></tr>
  </table>
</dl>
The edge e _must_ be in this matching 
</div>
</div><p>
<a class="anchor" name="bb3bd68cfac697812d6719cc72a42915"></a><!-- doxytag: member="Matching::setCardinality" ref="bb3bd68cfac697812d6719cc72a42915" args="(unsigned long c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Matching::setCardinality           </td>
          <td>(</td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the cardinality (thereby updating PrOut) 
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="0010374751f5cb6a24a103d020125df2"></a><!-- doxytag: member="Matching::Cardinality" ref="0010374751f5cb6a24a103d020125df2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="classMatching.html#0010374751f5cb6a24a103d020125df2">Matching::Cardinality</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d13336c41a30e91d0e43d76d9a3472d0"></a><!-- doxytag: member="Matching::ExposedVertices" ref="d13336c41a30e91d0e43d76d9a3472d0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classVertex.html">Vertex</a>*&gt; <a class="el" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0">Matching::ExposedVertices</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="101468aa7aa0d515d5f26a90aff23635"></a><!-- doxytag: member="Matching::MatchingEdges" ref="101468aa7aa0d515d5f26a90aff23635" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classEdge.html">Edge</a>*&gt; <a class="el" href="classMatching.html#101468aa7aa0d515d5f26a90aff23635">Matching::MatchingEdges</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="557079f39cb4955db24659100f391eef"></a><!-- doxytag: member="Matching::PrOut" ref="557079f39cb4955db24659100f391eef" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classProgressOutput.html">ProgressOutput</a>* <a class="el" href="classMatching.html#557079f39cb4955db24659100f391eef">Matching::PrOut</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="eca9faeb654b61cd465de583e57ff991"></a><!-- doxytag: member="Matching::TheGraph" ref="eca9faeb654b61cd465de583e57ff991" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGraph.html">Graph</a>* <a class="el" href="classMatching.html#eca9faeb654b61cd465de583e57ff991">Matching::TheGraph</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0942e9b5f7ebac36164d003fd84d7f32"></a><!-- doxytag: member="Matching::VertexInformation" ref="0942e9b5f7ebac36164d003fd84d7f32" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classMatching_1_1VertexInfo.html">VertexInfo</a>&gt; <a class="el" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32">Matching::VertexInformation</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Matching_8h_source.html">Matching.h</a><li><a class="el" href="Matching_8cc.html">Matching.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 17 10:58:32 2009 for steghide by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>