git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@540 331e1502-861f-0410-8da2-ba01fb791d7f

This commit is contained in:
legrand 2007-07-05 11:42:47 +00:00
commit f2bd57d995
143 changed files with 551 additions and 407 deletions

View file

@ -29,7 +29,7 @@
<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>
<h1>peoSyncIslandMig&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoSyncIslandMig" --><!-- doxytag: inherits="Cooperative" -->The <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
<h1>peoSyncIslandMig&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoSyncIslandMig" --><!-- doxytag: inherits="Cooperative,eoUpdater" -->The <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>&gt;</code>
@ -37,18 +37,21 @@
<p>Inheritance diagram for peoSyncIslandMig&lt; EOT &gt;:
<p><center><img src="classpeoSyncIslandMig.png" usemap="#peoSyncIslandMig< EOT >_map" border="0" alt=""></center>
<map name="peoSyncIslandMig< EOT >_map">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,56,165,80">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,0,165,24">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,112,165,136">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_updater.html" alt="eoUpdater" shape="rect" coords="175,112,340,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,165,80">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_f.html" alt="eoF< void >" shape="rect" coords="175,56,340,80">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="175,0,340,24">
</map>
<a href="classpeoSyncIslandMig-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="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">peoSyncIslandMig</a> (unsigned __frequency, eoSelect&lt; EOT &gt; &amp;__select, eoReplacement&lt; EOT &gt; &amp;__replace, <a class="el" href="classTopology.html">Topology</a> &amp;__topology, eoPop&lt; EOT &gt; &amp;__source, eoPop&lt; EOT &gt; &amp;__destination)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">peoSyncIslandMig</a> (unsigned __frequency, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;__select, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;__replace, <a class="el" href="classTopology.html">Topology</a> &amp;__topology, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__source, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__destination)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters. <a href="#96b7b6de20b5e318a8b1cde76842305c"></a><br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/class_e_o.html">EO</a>, etc., or custom, derived objects may be passed as parameters. <a href="#96b7b6de20b5e318a8b1cde76842305c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#178476fd276f78b73607b33d19522c36">operator()</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function operator to be called as checkpoint for performing the migration step. <a href="#178476fd276f78b73607b33d19522c36"></a><br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/struct_function.html">Function</a> operator to be called as checkpoint for performing the migration step. <a href="#178476fd276f78b73607b33d19522c36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e334188141eeba9f7b78bc6716f819ad"></a><!-- doxytag: member="peoSyncIslandMig::pack" ref="e334188141eeba9f7b78bc6716f819ad" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad">pack</a> ()</td></tr>
@ -70,28 +73,28 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d8ae9104376f3e073e0b250d9b425a2"></a><!-- doxytag: member="peoSyncIslandMig::cont" ref="2d8ae9104376f3e073e0b250d9b425a2" args="" -->
eoPeriodicContinue&lt; EOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">cont</a></td></tr>
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_periodic_continue.html">eoPeriodicContinue</a>&lt; EOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">cont</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e9c9f5f65d6418ad46e647ee1804a3d"></a><!-- doxytag: member="peoSyncIslandMig::select" ref="5e9c9f5f65d6418ad46e647ee1804a3d" args="" -->
eoSelect&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">select</a></td></tr>
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">select</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb6d2d909503a86415912900d6e1d891"></a><!-- doxytag: member="peoSyncIslandMig::replace" ref="cb6d2d909503a86415912900d6e1d891" args="" -->
eoReplacement&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">replace</a></td></tr>
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">replace</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ebfe6edb6be16d46bf6d71cb233fcace"></a><!-- doxytag: member="peoSyncIslandMig::topology" ref="ebfe6edb6be16d46bf6d71cb233fcace" args="" -->
<a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">topology</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33fde1f09faf2a3f772d8b8f6a2615c6"></a><!-- doxytag: member="peoSyncIslandMig::source" ref="33fde1f09faf2a3f772d8b8f6a2615c6" args="" -->
eoPop&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a></td></tr>
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9bf4612c7c04da6cf69245c6617e6a6"></a><!-- doxytag: member="peoSyncIslandMig::destination" ref="a9bf4612c7c04da6cf69245c6617e6a6" args="" -->
eoPop&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">destination</a></td></tr>
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">destination</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="088c1623f32668dcd3683fceff9426c3"></a><!-- doxytag: member="peoSyncIslandMig::imm" ref="088c1623f32668dcd3683fceff9426c3" args="" -->
std::queue&lt; eoPop&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a></td></tr>
std::queue&lt; <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d6dd3e4a6db710433f501af0988322"></a><!-- doxytag: member="peoSyncIslandMig::em" ref="11d6dd3e4a6db710433f501af0988322" args="" -->
std::queue&lt; eoPop&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a></td></tr>
std::queue&lt; <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f7ca18d67ab7fb47a9851ab3179eb7d"></a><!-- doxytag: member="peoSyncIslandMig::coop_em" ref="2f7ca18d67ab7fb47a9851ab3179eb7d" args="" -->
std::queue&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a></td></tr>
@ -212,13 +215,13 @@ template&lt;class EOT&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">eoSelect&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__select</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">eoReplacement&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__replace</em>, </td>
</tr>
<tr>
@ -230,13 +233,13 @@ template&lt;class EOT&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">eoPop&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">eoPop&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__destination</em></td><td>&nbsp;</td>
</tr>
<tr>
@ -249,7 +252,7 @@ template&lt;class EOT&gt; </div>
<div class="memdoc">
<p>
Constructor for the <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
Constructor for the <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/class_e_o.html">EO</a>, etc., or custom, derived objects may be passed as parameters.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
@ -280,17 +283,19 @@ template&lt;class EOT&gt; </div>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Function operator to be called as checkpoint for performing the migration step.
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/struct_function.html">Function</a> operator to be called as checkpoint for performing the migration step.
<p>
The emigrant individuals are selected from the source population and sent to the next island (defined by the topology object) while the immigrant individuals are integrated in the destination population. There is no need to explicitly call the function - the wrapper checkpoint object (please refer to the above example) will perform the call when required.
<p>
Implements <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_f.html#8b8f7f70edd96ec765c29357b373913d">eoF&lt; void &gt;</a>.
<p>
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00252">252</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.
<p>
References <a class="el" href="peoSyncIslandMig_8h-source.html#l00159">peoSyncIslandMig&lt; EOT &gt;::cont</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00222">peoSyncIslandMig&lt; EOT &gt;::emigrate()</a>, <a class="el" href="coop_8cpp-source.html#l00016">Cooperative::getOwner()</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00239">peoSyncIslandMig&lt; EOT &gt;::immigrate()</a>, <a class="el" href="thread_8cpp-source.html#l00030">Thread::setActive()</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00165">peoSyncIslandMig&lt; EOT &gt;::source</a>, <a class="el" href="communicable_8cpp-source.html#l00059">Communicable::stop()</a>, and <a class="el" href="peoSyncIslandMig_8h-source.html#l00174">peoSyncIslandMig&lt; EOT &gt;::sync</a>.
@ -298,7 +303,7 @@ References <a class="el" href="peoSyncIslandMig_8h-source.html#l00159">peoSyncIs
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>