Sophie

Sophie

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

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: Selector 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>Selector Class Reference</h1><!-- doxytag: class="Selector" -->a random permutation of a random combination  

<p>
<code>#include &lt;<a class="el" href="Selector_8h_source.html">Selector.h</a>&gt;</code>
<p>

<p>
<a href="classSelector-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></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="classSelector.html#cc52824162ed137decacc0edc1b0b1e1">Selector</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> m, std::string pp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#8873699208d4c5dc2cb65173503f385a">Selector</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#f872fa2e722baccf4333afc219785e04">Selector</a> (const std::vector&lt; <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> &gt; &amp;retvals)</td></tr>

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

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#67c22f0caa7be017426c03fa0b4bcbe0">operator[]</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#ea9e7dde9d21cdf66c872fe5e3f31a49">getRange</a> (void) 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="classSelector.html#499a21441da9a8363f36adf4692b175a">calculate</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#02926bbb359fd45af3c17ca4bf038425">idxX</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> v, <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> m, <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> *p) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#533b70ee161de028022ea2cbf9e743ba">setX</a> (<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> i, <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> v)</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="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#9caaded60e133e61c4e33e93307abb6f">X</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#73d5c0af7145d1a7f57af997ad4e7b7a">Y</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">sgi::hash_map&lt; <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>, <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#c550990891ddaa2025312e9803097d8e">Xreversed</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#3a48b553233d96fb718ebe39bcf20ba0">Maximum</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator[] will return a value in {0,...,Maximum-1}  <a href="#3a48b553233d96fb718ebe39bcf20ba0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#c22e09b027bcf728eef8380e47543507">NumInArray</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the number of calculated positions in the arrays  <a href="#c22e09b027bcf728eef8380e47543507"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPseudoRandomSource.html">PseudoRandomSource</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSelector.html#5b0a5a96d37e69b6e0b994cfa480d215">PRandom</a></td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="cc52824162ed137decacc0edc1b0b1e1"></a><!-- doxytag: member="Selector::Selector" ref="cc52824162ed137decacc0edc1b0b1e1" args="(UWORD32 m, std::string pp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Selector::Selector           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&nbsp;</td>
          <td class="paramname"> <em>pp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
construct a <a class="el" href="classSelector.html" title="a random permutation of a random combination">Selector</a> object <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>the range - operator[] will return numbers in {0,...,m-1} </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pp</em>&nbsp;</td><td>a passphrase used to generate the seed </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8873699208d4c5dc2cb65173503f385a"></a><!-- doxytag: member="Selector::Selector" ref="8873699208d4c5dc2cb65173503f385a" args="(UWORD32 m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Selector::Selector           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
construct a <a class="el" href="classSelector.html" title="a random permutation of a random combination">Selector</a> object that resembles the identity permutation with range m <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>the range - (*this)[i] will be i for i in {0,...,m-1} </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f872fa2e722baccf4333afc219785e04"></a><!-- doxytag: member="Selector::Selector" ref="f872fa2e722baccf4333afc219785e04" args="(const std::vector&lt; UWORD32 &gt; &amp;retvals)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Selector::Selector           </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>retvals</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
construct a <a class="el" href="classSelector.html" title="a random permutation of a random combination">Selector</a> object that will return predefined values <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>retvals</em>&nbsp;</td><td>the values that operator[] shall return</td></tr>
  </table>
</dl>
The Maximum is set to retvals.size(). 
</div>
</div><p>
<a class="anchor" name="961800f205d55026d33890664b5599ca"></a><!-- doxytag: member="Selector::~Selector" ref="961800f205d55026d33890664b5599ca" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Selector::~Selector           </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="499a21441da9a8363f36adf4692b175a"></a><!-- doxytag: member="Selector::calculate" ref="499a21441da9a8363f36adf4692b175a" args="(UWORD32 m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Selector::calculate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
fill X, Y and Xreversed until but not including index m 
</div>
</div><p>
<a class="anchor" name="ea9e7dde9d21cdf66c872fe5e3f31a49"></a><!-- doxytag: member="Selector::getRange" ref="ea9e7dde9d21cdf66c872fe5e3f31a49" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> Selector::getRange           </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="02926bbb359fd45af3c17ca4bf038425"></a><!-- doxytag: member="Selector::idxX" ref="02926bbb359fd45af3c17ca4bf038425" args="(UWORD32 v, UWORD32 m, UWORD32 *p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Selector::idxX           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
search an index i such that 0 &lt;= i &lt; m and X[i] == v <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>the value to be searched for in the X-array </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>the upper bound for the index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>a pointer to a variable where the found index can be stored </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff such an index is found (*p is set to i in this case </dd></dl>

</div>
</div><p>
<a class="anchor" name="67c22f0caa7be017426c03fa0b4bcbe0"></a><!-- doxytag: member="Selector::operator[]" ref="67c22f0caa7be017426c03fa0b4bcbe0" args="(UWORD32 i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> Selector::operator[]           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>i</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the value at the i-th position <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>an index </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="533b70ee161de028022ea2cbf9e743ba"></a><!-- doxytag: member="Selector::setX" ref="533b70ee161de028022ea2cbf9e743ba" args="(UWORD32 i, UWORD32 v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Selector::setX           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set X[i] to v while maintaining Xreversed 
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="3a48b553233d96fb718ebe39bcf20ba0"></a><!-- doxytag: member="Selector::Maximum" ref="3a48b553233d96fb718ebe39bcf20ba0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="el" href="classSelector.html#3a48b553233d96fb718ebe39bcf20ba0">Selector::Maximum</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c22e09b027bcf728eef8380e47543507"></a><!-- doxytag: member="Selector::NumInArray" ref="c22e09b027bcf728eef8380e47543507" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="el" href="classSelector.html#c22e09b027bcf728eef8380e47543507">Selector::NumInArray</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5b0a5a96d37e69b6e0b994cfa480d215"></a><!-- doxytag: member="Selector::PRandom" ref="5b0a5a96d37e69b6e0b994cfa480d215" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPseudoRandomSource.html">PseudoRandomSource</a>* <a class="el" href="classSelector.html#5b0a5a96d37e69b6e0b994cfa480d215">Selector::PRandom</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="9caaded60e133e61c4e33e93307abb6f"></a><!-- doxytag: member="Selector::X" ref="9caaded60e133e61c4e33e93307abb6f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&gt; <a class="el" href="classSelector.html#9caaded60e133e61c4e33e93307abb6f">Selector::X</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c550990891ddaa2025312e9803097d8e"></a><!-- doxytag: member="Selector::Xreversed" ref="c550990891ddaa2025312e9803097d8e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sgi::hash_map&lt;<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>,<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&gt; <a class="el" href="classSelector.html#c550990891ddaa2025312e9803097d8e">Selector::Xreversed</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="73d5c0af7145d1a7f57af997ad4e7b7a"></a><!-- doxytag: member="Selector::Y" ref="73d5c0af7145d1a7f57af997ad4e7b7a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="common_8h.html#6b8592979b076e06aa233e3f586ac999">UWORD32</a>&gt; <a class="el" href="classSelector.html#73d5c0af7145d1a7f57af997ad4e7b7a">Selector::Y</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="Selector_8h_source.html">Selector.h</a><li><a class="el" href="Selector_8cc.html">Selector.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>