Sophie

Sophie

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

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.h Source File</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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>Matching.h</h1><a href="Matching_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * steghide 0.5.1 - a steganography program</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1999-2003 Stefan Hetzl &lt;shetzl@chello.at&gt;</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment"> * modify it under the terms of the GNU General Public License</span>
<a name="l00007"></a>00007 <span class="comment"> * as published by the Free Software Foundation; either version 2</span>
<a name="l00008"></a>00008 <span class="comment"> * of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00013"></a>00013 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00016"></a>00016 <span class="comment"> * along with this program; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.</span>
<a name="l00018"></a>00018 <span class="comment"> *</span>
<a name="l00019"></a>00019 <span class="comment"> */</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef SH_MATCHING_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define SH_MATCHING_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;list&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="Vertex_8h.html">Vertex.h</a>"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="common_8h.html">common.h</a>"</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">class </span><a class="code" href="classEdge.html">Edge</a> ;
<a name="l00031"></a>00031 <span class="keyword">class </span><a class="code" href="classProgressOutput.html" title="prints the progress to stdout">ProgressOutput</a> ;
<a name="l00032"></a>00032 
<a name="l00041"></a><a class="code" href="classMatching.html">00041</a> <span class="keyword">class </span><a class="code" href="classMatching.html" title="represent a matching on a graph">Matching</a> {
<a name="l00042"></a>00042         <span class="keyword">public</span>:
<a name="l00048"></a>00048         <a class="code" href="classMatching.html#ed84a04e309df94f8eb9005ffe957bbd">Matching</a> (<a class="code" href="classGraph.html" title="a graph constructed from a cover file and a message to be embedded">Graph</a>* g, <a class="code" href="classProgressOutput.html" title="prints the progress to stdout">ProgressOutput</a>* po = NULL) ;
<a name="l00049"></a>00049         
<a name="l00050"></a>00050         <a class="code" href="classMatching.html#d2d812a2bf359a0aba56c4b010d593ca">~Matching</a> (<span class="keywordtype">void</span>) ;
<a name="l00051"></a>00051 
<a name="l00055"></a><a class="code" href="classMatching.html#93686c64dcfc1434222cb6757cff749c">00055</a>         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#93686c64dcfc1434222cb6757cff749c">isMatched</a> (<a class="code" href="classVertex.html" title="a vertex in a graph">Vertex</a> *v)<span class="keyword"> const</span>
<a name="l00056"></a>00056 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a>[v-&gt;<a class="code" href="classVertex.html#d1473af6f3e4d28c15d1f28a560717ea">getLabel</a>()].isMatched() ; } ;
<a name="l00057"></a>00057 
<a name="l00061"></a><a class="code" href="classMatching.html#1088d622a0c54ba5e91d4e10cb885000">00061</a>         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#93686c64dcfc1434222cb6757cff749c">isMatched</a> (<a class="code" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a> vlbl)<span class="keyword"> const</span>
<a name="l00062"></a>00062 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a>[vlbl].isMatched() ; } ;
<a name="l00063"></a>00063 
<a name="l00067"></a><a class="code" href="classMatching.html#de383d31cab08d99b25cad92cac8d884">00067</a>         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#de383d31cab08d99b25cad92cac8d884">isExposed</a> (<a class="code" href="classVertex.html" title="a vertex in a graph">Vertex</a> *v)<span class="keyword"> const</span>
<a name="l00068"></a>00068 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a>[v-&gt;<a class="code" href="classVertex.html#d1473af6f3e4d28c15d1f28a560717ea">getLabel</a>()].isExposed() ; } ;
<a name="l00069"></a>00069 
<a name="l00073"></a><a class="code" href="classMatching.html#4a0e7844ca3b75bb44a6e7ac838d271f">00073</a>         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#de383d31cab08d99b25cad92cac8d884">isExposed</a> (<a class="code" href="common_8h.html#b9c88dfaf90b738f73f1700aa77d06ef">VertexLabel</a> vlbl)<span class="keyword"> const</span>
<a name="l00074"></a>00074 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a>[vlbl].isExposed() ; } ;
<a name="l00075"></a>00075 
<a name="l00080"></a><a class="code" href="classMatching.html#58690371c2d43a2386db627a23d5d921">00080</a>         <span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>* <a class="code" href="classMatching.html#58690371c2d43a2386db627a23d5d921">getMatchingEdge</a> (<a class="code" href="classVertex.html" title="a vertex in a graph">Vertex</a> *v)<span class="keyword"> const</span>
<a name="l00081"></a>00081 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a>[v-&gt;<a class="code" href="classVertex.html#d1473af6f3e4d28c15d1f28a560717ea">getLabel</a>()].getMatchingEdge() ; } ;
<a name="l00082"></a>00082 
<a name="l00087"></a><a class="code" href="classMatching.html#93fa0d140bacc42b07eaebbcd8615bdc">00087</a>         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#93fa0d140bacc42b07eaebbcd8615bdc">includesEdge</a> (<span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>* e)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#93fa0d140bacc42b07eaebbcd8615bdc">includesEdge</a>(*e) ; } ;
<a name="l00088"></a>00088         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#93fa0d140bacc42b07eaebbcd8615bdc">includesEdge</a> (<span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>&amp; e) <span class="keyword">const</span> ;
<a name="l00089"></a>00089 
<a name="l00093"></a><a class="code" href="classMatching.html#e44f8cb10b0fa9d04719836f74d952af">00093</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMatching.html#e44f8cb10b0fa9d04719836f74d952af">getCardinality</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00094"></a>00094 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#0010374751f5cb6a24a103d020125df2" title="the number of edges in the matching">Cardinality</a> ; } ;
<a name="l00095"></a>00095 
<a name="l00096"></a><a class="code" href="classMatching.html#87d307472315d9908ad9181048c35b4f">00096</a>         <span class="keyword">const</span> std::list&lt;Vertex*&gt;&amp; <a class="code" href="classMatching.html#87d307472315d9908ad9181048c35b4f">getExposedVertices</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00097"></a>00097 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0" title="the std::list of all exposed vertices">ExposedVertices</a> ; } ;
<a name="l00098"></a>00098 
<a name="l00103"></a>00103         <span class="keywordtype">float</span> <a class="code" href="classMatching.html#402a96de4e745c99aa6bc9fc6c41382e">getMatchedRate</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00104"></a>00104 
<a name="l00108"></a>00108         <span class="keywordtype">float</span> <a class="code" href="classMatching.html#ab01d98a2c5698dfcd7e7b32eada211e">getAvgEdgeWeight</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00109"></a>00109 
<a name="l00118"></a><a class="code" href="classMatching.html#b17fd83f0421de3f7f5012f9fe9b408b">00118</a>         <span class="keyword">const</span> std::list&lt;Vertex*&gt; *<a class="code" href="classMatching.html#b17fd83f0421de3f7f5012f9fe9b408b">getExposedVerticesLink</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00119"></a>00119 <span class="keyword">                </span>{ <span class="keywordflow">return</span> &amp;<a class="code" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0" title="the std::list of all exposed vertices">ExposedVertices</a> ; } ;
<a name="l00120"></a>00120 
<a name="l00128"></a>00128         <span class="keywordtype">void</span> <a class="code" href="classMatching.html#6c838465213fedaf6fc3604498bc4872">addEdge</a> (<span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>&amp; e) ;
<a name="l00129"></a><a class="code" href="classMatching.html#96c361574c82870fb2def9ee837a661b">00129</a>         <span class="keywordtype">void</span> <a class="code" href="classMatching.html#96c361574c82870fb2def9ee837a661b">addEdge</a> (<a class="code" href="classEdge.html">Edge</a>* e) { <a class="code" href="classMatching.html#96c361574c82870fb2def9ee837a661b">addEdge</a>(*e) ; } ;
<a name="l00130"></a>00130 
<a name="l00137"></a>00137         <span class="keywordtype">void</span> <a class="code" href="classMatching.html#050930214af9313531a041cd7b0cfdc9">removeEdge</a> (<span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>&amp; e) ;
<a name="l00138"></a>00138 
<a name="l00142"></a><a class="code" href="classMatching.html#33afa89c36a00b01fa989d1f1dc72094">00142</a>         <span class="keyword">const</span> std::list&lt;Edge*&gt;&amp; <a class="code" href="classMatching.html#33afa89c36a00b01fa989d1f1dc72094">getEdges</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00143"></a>00143 <span class="keyword">                </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching.html#101468aa7aa0d515d5f26a90aff23635" title="the std::list of all edges in the matching">MatchingEdges</a> ; } ;
<a name="l00144"></a>00144 
<a name="l00154"></a>00154         <a class="code" href="classMatching.html" title="represent a matching on a graph">Matching</a>&amp; <a class="code" href="classMatching.html#129ad66579ab15131149c450f0d228bb">augment</a> (<span class="keyword">const</span> <a class="code" href="classEdge.html">Edge</a>** path, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> len) ;
<a name="l00155"></a>00155 
<a name="l00156"></a>00156         <a class="code" href="classMatching.html" title="represent a matching on a graph">Matching</a>&amp; <a class="code" href="classMatching.html#129ad66579ab15131149c450f0d228bb">augment</a> (<span class="keyword">const</span> std::vector&lt;Edge*&gt;&amp; path) ;
<a name="l00157"></a>00157 
<a name="l00158"></a>00158         <span class="keywordtype">void</span> <a class="code" href="classMatching.html#d1d55c82b6db09f95eb29631ff9d2e8c">printVerboseInfo</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00159"></a>00159 
<a name="l00160"></a>00160         <span class="keyword">private</span>:
<a name="l00165"></a><a class="code" href="classMatching_1_1VertexInfo.html">00165</a>         <span class="keyword">class </span><a class="code" href="classMatching_1_1VertexInfo.html" title="contains information about a vertex that is possibly in a matching">VertexInfo</a> {
<a name="l00166"></a>00166                 <span class="keyword">public</span>:
<a name="l00167"></a><a class="code" href="classMatching_1_1VertexInfo.html#d857b5b00838c8d3ff3eb76ad2aeebff">00167</a>                 <a class="code" href="classMatching_1_1VertexInfo.html#d857b5b00838c8d3ff3eb76ad2aeebff">VertexInfo</a> (std::list&lt;Edge*&gt;::iterator mit)
<a name="l00168"></a>00168                         { <a class="code" href="classMatching_1_1VertexInfo.html#8cb99ea7276c304947192a23fe8115d5">setMatched</a> (mit) ; } ;
<a name="l00169"></a>00169 
<a name="l00170"></a><a class="code" href="classMatching_1_1VertexInfo.html#f6c582d03455e2778c17db92d88b1512">00170</a>                 <a class="code" href="classMatching_1_1VertexInfo.html#d857b5b00838c8d3ff3eb76ad2aeebff">VertexInfo</a> (std::list&lt;Vertex*&gt;::iterator eit)
<a name="l00171"></a>00171                         { <a class="code" href="classMatching_1_1VertexInfo.html#7a29d5c794f16ef796fcab380c14203a">setExposed</a> (eit) ; } ;
<a name="l00172"></a>00172 
<a name="l00173"></a><a class="code" href="classMatching_1_1VertexInfo.html#b532cce4c9c7b46f3c73288c1020ab26">00173</a>                 <span class="keywordtype">bool</span> <a class="code" href="classMatching_1_1VertexInfo.html#b532cce4c9c7b46f3c73288c1020ab26">isExposed</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00174"></a>00174 <span class="keyword">                        </span>{ <span class="keywordflow">return</span> !<a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">Matched</a> ; } ;
<a name="l00175"></a>00175 
<a name="l00176"></a><a class="code" href="classMatching_1_1VertexInfo.html#6c032bc525ba1118ae536b5c65911662">00176</a>                 <span class="keywordtype">bool</span> <a class="code" href="classMatching_1_1VertexInfo.html#6c032bc525ba1118ae536b5c65911662">isMatched</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00177"></a>00177 <span class="keyword">                        </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">Matched</a> ; } ;
<a name="l00178"></a>00178 
<a name="l00179"></a><a class="code" href="classMatching_1_1VertexInfo.html#f1dce11c09292655b47954045af68cc6">00179</a>                 <a class="code" href="classEdge.html">Edge</a> *<a class="code" href="classMatching_1_1VertexInfo.html#f1dce11c09292655b47954045af68cc6">getMatchingEdge</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00180"></a>00180 <span class="keyword">                        </span>{ <span class="keywordflow">return</span> *<a class="code" href="classMatching_1_1VertexInfo.html#41fd366f19d5733e39bd4fe038fc1809" title="an iterator into the list of matched edges (only valid if this vertex is matched)...">MatchedIterator</a> ; } ;
<a name="l00181"></a>00181 
<a name="l00182"></a><a class="code" href="classMatching_1_1VertexInfo.html#4ddd0da4ae9552ded3ddd1cdf62be342">00182</a>                 std::list&lt;Edge*&gt;::iterator <a class="code" href="classMatching_1_1VertexInfo.html#4ddd0da4ae9552ded3ddd1cdf62be342">getMatchedIterator</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00183"></a>00183 <span class="keyword">                        </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching_1_1VertexInfo.html#41fd366f19d5733e39bd4fe038fc1809" title="an iterator into the list of matched edges (only valid if this vertex is matched)...">MatchedIterator</a> ; } ;
<a name="l00184"></a>00184 
<a name="l00185"></a><a class="code" href="classMatching_1_1VertexInfo.html#d8fd9e09251336ee83412a968c6ecdf9">00185</a>                 std::list&lt;Vertex*&gt;::iterator <a class="code" href="classMatching_1_1VertexInfo.html#d8fd9e09251336ee83412a968c6ecdf9">getExposedIterator</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00186"></a>00186 <span class="keyword">                        </span>{ <span class="keywordflow">return</span> <a class="code" href="classMatching_1_1VertexInfo.html#d144234438700679eb3d17fdf624819b" title="an iterator into the list of exposed vertices (only valid if this vertex is exposed)...">ExposedIterator</a> ; } ;
<a name="l00187"></a>00187 
<a name="l00188"></a><a class="code" href="classMatching_1_1VertexInfo.html#8cb99ea7276c304947192a23fe8115d5">00188</a>                 <span class="keywordtype">void</span> <a class="code" href="classMatching_1_1VertexInfo.html#8cb99ea7276c304947192a23fe8115d5">setMatched</a> (std::list&lt;Edge*&gt;::iterator mit)
<a name="l00189"></a>00189                         { <a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">Matched</a> = true ; <a class="code" href="classMatching_1_1VertexInfo.html#41fd366f19d5733e39bd4fe038fc1809" title="an iterator into the list of matched edges (only valid if this vertex is matched)...">MatchedIterator</a> = mit ; } ;
<a name="l00190"></a>00190 
<a name="l00191"></a><a class="code" href="classMatching_1_1VertexInfo.html#7a29d5c794f16ef796fcab380c14203a">00191</a>                 <span class="keywordtype">void</span> <a class="code" href="classMatching_1_1VertexInfo.html#7a29d5c794f16ef796fcab380c14203a">setExposed</a> (std::list&lt;Vertex*&gt;::iterator eit)
<a name="l00192"></a><a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">00192</a>                         { <a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">Matched</a> = false ; <a class="code" href="classMatching_1_1VertexInfo.html#d144234438700679eb3d17fdf624819b" title="an iterator into the list of exposed vertices (only valid if this vertex is exposed)...">ExposedIterator</a> = eit ; } ;
<a name="l00193"></a>00193 
<a name="l00194"></a>00194                 <span class="keyword">private</span>:
<a name="l00195"></a>00195                 <span class="keywordtype">bool</span> <a class="code" href="classMatching_1_1VertexInfo.html#f160302bc51731cf764115be564aab8f">Matched</a> ;
<a name="l00197"></a><a class="code" href="classMatching_1_1VertexInfo.html#41fd366f19d5733e39bd4fe038fc1809">00197</a>                 std::list&lt;Edge*&gt;::iterator <a class="code" href="classMatching_1_1VertexInfo.html#41fd366f19d5733e39bd4fe038fc1809" title="an iterator into the list of matched edges (only valid if this vertex is matched)...">MatchedIterator</a> ;
<a name="l00199"></a><a class="code" href="classMatching_1_1VertexInfo.html#d144234438700679eb3d17fdf624819b">00199</a>                 std::list&lt;Vertex*&gt;::iterator <a class="code" href="classMatching_1_1VertexInfo.html#d144234438700679eb3d17fdf624819b" title="an iterator into the list of exposed vertices (only valid if this vertex is exposed)...">ExposedIterator</a> ;
<a name="l00200"></a>00200         } ;
<a name="l00201"></a>00201 
<a name="l00203"></a><a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32">00203</a>         std::vector&lt;VertexInfo&gt; <a class="code" href="classMatching.html#0942e9b5f7ebac36164d003fd84d7f32" title="contains a VertexInfo object for every vertex">VertexInformation</a> ;
<a name="l00204"></a>00204 
<a name="l00206"></a><a class="code" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0">00206</a>         std::list&lt;Vertex*&gt; <a class="code" href="classMatching.html#d13336c41a30e91d0e43d76d9a3472d0" title="the std::list of all exposed vertices">ExposedVertices</a> ;
<a name="l00207"></a>00207 
<a name="l00209"></a><a class="code" href="classMatching.html#101468aa7aa0d515d5f26a90aff23635">00209</a>         std::list&lt;Edge*&gt; <a class="code" href="classMatching.html#101468aa7aa0d515d5f26a90aff23635" title="the std::list of all edges in the matching">MatchingEdges</a> ;
<a name="l00210"></a>00210 
<a name="l00212"></a><a class="code" href="classMatching.html#0010374751f5cb6a24a103d020125df2">00212</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMatching.html#0010374751f5cb6a24a103d020125df2" title="the number of edges in the matching">Cardinality</a> ;
<a name="l00213"></a>00213 
<a name="l00215"></a><a class="code" href="classMatching.html#eca9faeb654b61cd465de583e57ff991">00215</a>         <a class="code" href="classGraph.html" title="a graph constructed from a cover file and a message to be embedded">Graph</a>* <a class="code" href="classMatching.html#eca9faeb654b61cd465de583e57ff991" title="the graph underlying this Matching">TheGraph</a> ;
<a name="l00216"></a>00216 
<a name="l00218"></a><a class="code" href="classMatching.html#557079f39cb4955db24659100f391eef">00218</a>         <a class="code" href="classProgressOutput.html" title="prints the progress to stdout">ProgressOutput</a>* <a class="code" href="classMatching.html#557079f39cb4955db24659100f391eef" title="the ProgressOutput object that will print the number of matched vertices (as percentage)...">PrOut</a> ;
<a name="l00219"></a>00219 
<a name="l00223"></a>00223         <span class="keywordtype">void</span> <a class="code" href="classMatching.html#bb3bd68cfac697812d6719cc72a42915">setCardinality</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> c) ;
<a name="l00224"></a>00224 
<a name="l00225"></a>00225         <span class="keyword">public</span>:
<a name="l00226"></a>00226         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#f3d4af541e7e7442e0b334fa490b6a10">check</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00227"></a>00227         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#f5f3551de8bef05d941f3130c0b840dd">check_MatchingEdges_vs_VertexInformation</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00228"></a>00228         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#2ec0f42fe59996cbfe4a89ae518bdd0c">check_ExposedVertices_vs_VertexInformation</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00229"></a>00229         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#568e1e5824a2224da40c652f756a4fca">check_VertexInformation_Integrity</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;
<a name="l00230"></a>00230 
<a name="l00231"></a>00231         <span class="keywordtype">bool</span> <a class="code" href="classMatching.html#2bcc2b056019a9e15f40e3610905286a">check_ValidAugPath</a> (<span class="keyword">const</span> std::vector&lt;Edge*&gt;&amp; path) <span class="keyword">const</span> ;
<a name="l00232"></a>00232 } ;
<a name="l00233"></a>00233 
<a name="l00234"></a>00234 <span class="preprocessor">#endif // ndef SH_MATCHING_H</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 17 10:58:29 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>