Doc script updates API documentation module=paradiseo-peo SPY=/data/OPAC/software/paradisEO/scripts/spy-update-api-doc-10724.20080312152056.log

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1128 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2008-03-12 14:23:49 +00:00
commit 7b75da4750
232 changed files with 7950 additions and 5093 deletions

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: README Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: README Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -81,26 +81,24 @@
<a name="l00057"></a>00057 | +- man Unix man format documentation.
<a name="l00058"></a>00058 |
<a name="l00059"></a>00059 |
<a name="l00060"></a>00060 +-- tutorial APPLICATIONS - one directory per separate application.
<a name="l00060"></a>00060 +-- tutorial APPLICATIONS
<a name="l00061"></a>00061 |
<a name="l00062"></a>00062 +-- examples Examples repository including source code shared by all or most of the included lessons.
<a name="l00063"></a>00063 | |
<a name="l00064"></a>00064 | +- tsp A Traveling Salesman Problem (TSP) example with benchmarks, the main operators, definitions, etc.
<a name="l00062"></a>00062 +-- examples TSP
<a name="l00063"></a>00063 |
<a name="l00064"></a>00064 +-- Lesson1 Parallel evaluation <span class="keywordflow">for</span> EA and PSO
<a name="l00065"></a>00065 |
<a name="l00066"></a>00066 +-- Lesson1 A simple ParadisEO-PEO evolutionary algorithm example <span class="keyword">using</span> the <a class="code" href="classpeoEA.html">peoEA</a> <span class="keyword">class</span>.
<a name="l00066"></a>00066 +-- Lesson2 Parallel transformation (crossover + mutation) for EA
<a name="l00067"></a>00067 |
<a name="l00068"></a>00068 +-- Lesson2 Example of an EA featuring a parallel evaluation of the population/parallel fitness function evaluation.
<a name="l00068"></a>00068 +-- Lesson3 Insular model for PSO and EA
<a name="l00069"></a>00069 |
<a name="l00070"></a>00070 +-- Lesson3 Example of an asynchronous insular model including two evolutionary algorithms.
<a name="l00071"></a>00071 |
<a name="l00072"></a>00072 +-- Walkthrough Walkthrough ParadisEO-PEO features - EA+LS hybridization, parallelization, insular model.
<a name="l00073"></a>00073
<a name="l00070"></a>00070 +-- Lesson4 Hybridization
<a name="l00071"></a>00071
<a name="l00072"></a>00072 ===================================================================
<a name="l00073"></a>00073 NOTES
<a name="l00074"></a>00074 ===================================================================
<a name="l00075"></a>00075 NOTES
<a name="l00076"></a>00076 ===================================================================
<a name="l00077"></a>00077
<a name="l00078"></a>00078 Mailing list : paradiseo-help@lists.gforge.inria.fr
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00075"></a>00075
<a name="l00076"></a>00076 Mailing list : paradiseo-help@lists.gforge.inria.fr
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Class List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Class List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,47 +29,73 @@
<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>ParadisEO-PEOMovingObjects Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<h1>ParadisEO-PEO-ParallelanddistributedEvolvingObjects Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="structAlgorithm.html">Algorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classCitySwap.html">CitySwap</a></td><td class="indexvalue">Its swaps two vertices randomly choosen </td></tr>
<tr><td class="indexkey"><a class="el" href="classCommunicable.html">Communicable</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classCommunicator.html">Communicator</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classCompleteTopology.html">CompleteTopology</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classcontinuator.html">continuator</a></td><td class="indexvalue">Abstract class for a continuator within the exchange of data by migration </td></tr>
<tr><td class="indexkey"><a class="el" href="classCooperative.html">Cooperative</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classDisplayBestRoute.html">DisplayBestRoute</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classEdgeXover.html">EdgeXover</a></td><td class="indexvalue">Edge Crossover </td></tr>
<tr><td class="indexkey"><a class="el" href="classeoContinuator.html">eoContinuator&lt; EOT &gt;</a></td><td class="indexvalue">Specific class for a continuator within the exchange of migration of a population </td></tr>
<tr><td class="indexkey"><a class="el" href="classeoReplace.html">eoReplace&lt; EOT, TYPE &gt;</a></td><td class="indexvalue">Specific class for a replacement within the exchange of migration of a population </td></tr>
<tr><td class="indexkey"><a class="el" href="classeoSelector.html">eoSelector&lt; EOT, TYPE &gt;</a></td><td class="indexvalue">Specific class for a selector within the exchange of migration of a population </td></tr>
<tr><td class="indexkey"><a class="el" href="classeoSyncContinue.html">eoSyncContinue</a></td><td class="indexvalue">Class for a continuator within the exchange of data by synchrone migration </td></tr>
<tr><td class="indexkey"><a class="el" href="classMergeRouteEval.html">MergeRouteEval</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classMPIThreadedEnv.html">MPIThreadedEnv</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classOrderXover.html">OrderXover</a></td><td class="indexvalue">Order Crossover </td></tr>
<tr><td class="indexkey"><a class="el" href="classPartialMappedXover.html">PartialMappedXover</a></td><td class="indexvalue">Partial Mapped Crossover </td></tr>
<tr><td class="indexkey"><a class="el" href="classPartRouteEval.html">PartRouteEval</a></td><td class="indexvalue">Route Evaluator </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a> class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoEA.html">peoEA&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoEA.html">peoEA</a> class offers an elementary evolutionary algorithm implementation </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td class="indexvalue">Specific class for a asynchronous migration </td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoEvalFunc.html">peoEvalFunc&lt; EOT, FitT, FunctionArg &gt;</a></td><td class="indexvalue">Specific class for evaluation </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoGlobalBestVelocity.html">peoGlobalBestVelocity&lt; POT &gt;</a></td><td class="indexvalue">Specific class for a replacement thanks to the velocity migration of a population of a PSO </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoMultiStart.html">peoMultiStart&lt; EntityType &gt;</a></td><td class="indexvalue">Class allowing the launch of several algorithms </td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1AbstractAggregationAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AbstractAggregationAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1AbstractAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AbstractAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1AbstractDataType.html">peoMultiStart&lt; EntityType &gt;::AbstractDataType</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1AggregationAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1Algorithm.html">peoMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1DataType.html">peoMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1FunctionAlgorithm.html">peoMultiStart&lt; EntityType &gt;::FunctionAlgorithm&lt; AlgorithmReturnType, AlgorithmDataType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoMultiStart_1_1NoAggregationFunction.html">peoMultiStart&lt; EntityType &gt;::NoAggregationFunction</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a> class does nothing more than an association between a fitness value and a specified individual </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoParallelAlgorithmWrapper.html">peoParallelAlgorithmWrapper</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html">peoParallelAlgorithmWrapper::AbstractAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm.html">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, void &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoParaPopEval.html">peoParaPopEval&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoParaPopEval.html">peoParaPopEval</a> represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform&lt; EOT &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td class="indexvalue">The <b><a class="el" href="classpeoPopEval.html">peoPopEval</a></b> class provides the interface for constructing ParadisEO specific evaluation functors </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSeqPopEval.html">peoSeqPopEval&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoSeqPopEval.html">peoSeqPopEval</a> class acts only as a ParadisEO specific sequential evaluation functor - a wrapper for incorporating an <b>eoEvalFunc&lt; EOT &gt;</b>-derived class as evaluation functor </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSeqTransform.html">peoSeqTransform&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoSeqTransform.html">peoSeqTransform</a> represent a wrapper for offering the possibility of using <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO</a> derived transform operators along with the ParadisEO evolutionary algorithms </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSynchronousMultiStart.html">peoSynchronousMultiStart&lt; EntityType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractAggregationAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractDataType.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractDataType</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1Algorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1DataType.html">peoSynchronousMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoSynchronousMultiStart_1_1NoAggregationFunction.html">peoSynchronousMultiStart&lt; EntityType &gt;::NoAggregationFunction</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td class="indexvalue">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 </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSyncMultiStart.html">peoSyncMultiStart&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoSyncMultiStart.html">peoSyncMultiStart</a> class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td class="indexvalue">The <a class="el" href="classpeoTransform.html">peoTransform</a> class acts only as an interface for creating transform operators - for an example please refer to the <b><a class="el" href="classpeoSeqTransform.html">peoSeqTransform</a></b> and the <b><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform</a></b> classes </td></tr>
<tr><td class="indexkey"><a class="el" href="structRandomExplorationAlgorithm.html">RandomExplorationAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td class="indexvalue">Parallel evaluation functor wrapper </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoPSOSelect.html">peoPSOSelect&lt; POT &gt;</a></td><td class="indexvalue">Specific class for a selection of a population of a PSO </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td class="indexvalue">Specific class for a synchronous migration </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td class="indexvalue">Class for a parallel transform </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoWorstPositionReplacement.html">peoWorstPositionReplacement&lt; POT &gt;</a></td><td class="indexvalue">Specific class for a replacement of a population of a PSO </td></tr>
<tr><td class="indexkey"><a class="el" href="classpeoWrapper.html">peoWrapper</a></td><td class="indexvalue">Specific class for wrapping </td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoWrapper_1_1AbstractAlgorithm.html">peoWrapper::AbstractAlgorithm</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoWrapper_1_1Algorithm.html">peoWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoWrapper::Algorithm&lt; AlgorithmType, void &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm.html">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, AlgorithmDataType &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4.html">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, void &gt;</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classRandomTopology.html">RandomTopology</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classReactiveThread.html">ReactiveThread</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classreplacement.html">replacement&lt; TYPE &gt;</a></td><td class="indexvalue">Abstract class for a replacement within the exchange of data by migration </td></tr>
<tr><td class="indexkey"><a class="el" href="classRingTopology.html">RingTopology</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classRouteEval.html">RouteEval</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classRouteInit.html">RouteInit</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classRunner.html">Runner</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classselector.html">selector&lt; TYPE &gt;</a></td><td class="indexvalue">Abstract class for a selector within the exchange of data by migration </td></tr>
<tr><td class="indexkey"><a class="el" href="structSEND__REQUEST.html">SEND_REQUEST</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classService.html">Service</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classStarTopology.html">StarTopology</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structSyncCompare.html">SyncCompare</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structSyncEntry.html">SyncEntry</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classThread.html">Thread</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTopology.html">Topology</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoOpt.html">TwoOpt</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoOptIncrEval.html">TwoOptIncrEval</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoOptInit.html">TwoOptInit</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoOptNext.html">TwoOptNext</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoOptRand.html">TwoOptRand</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classWorker.html">Worker</a></td><td class="indexvalue"></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: city_swap.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: city_swap.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>city_swap.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>city_swap.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;city_swap.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -62,16 +62,17 @@
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#include "city_swap.h"</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_city_swap.html#7e6958b62048c89604cbf046b86bdf2d">CitySwap :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) {
<a name="l00042"></a>00042
<a name="l00043"></a>00043 std :: swap (__route [<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route.size ())],
<a name="l00044"></a>00044 __route [<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route.size ())]) ;
<a name="l00045"></a>00045
<a name="l00046"></a>00046 __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordflow">return</span> true ;
<a name="l00049"></a>00049 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00041"></a><a class="code" href="classCitySwap.html#7e6958b62048c89604cbf046b86bdf2d">00041</a> <span class="keywordtype">bool</span> <a class="code" href="classCitySwap.html#7e6958b62048c89604cbf046b86bdf2d">CitySwap :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route)
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043
<a name="l00044"></a>00044 std :: swap (__route [rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route.size ())],
<a name="l00045"></a>00045 __route [rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route.size ())]) ;
<a name="l00046"></a>00046
<a name="l00047"></a>00047 __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordflow">return</span> true ;
<a name="l00050"></a>00050 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: city_swap.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: city_swap.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>city_swap.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>city_swap.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;city_swap.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,16 +65,17 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "route.h"</span>
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">class </span><a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_city_swap.html">CitySwap</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a> &lt;Route&gt; {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_city_swap.html#7e6958b62048c89604cbf046b86bdf2d">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 } ;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00046"></a><a class="code" href="classCitySwap.html">00046</a> <span class="keyword">class </span><a class="code" href="classCitySwap.html">CitySwap</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a> &lt;Route&gt;
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">public</span> :
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="classCitySwap.html#7e6958b62048c89604cbf046b86bdf2d">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) ;
<a name="l00052"></a>00052
<a name="l00053"></a>00053 } ;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -34,14 +34,14 @@
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Communicable Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Communicable Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,18 +32,16 @@
<h1>Communicable Class Reference</h1><!-- doxytag: class="Communicable" --><p>Inheritance diagram for Communicable:
<p><center><img src="classCommunicable.png" usemap="#Communicable_map" border="0" alt=""></center>
<map name="Communicable_map">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,56,244,80">
<area href="classRunner.html" alt="Runner" shape="rect" coords="508,56,752,80">
<area href="classService.html" alt="Service" shape="rect" coords="1016,56,1260,80">
<area href="classWorker.html" alt="Worker" shape="rect" coords="1270,56,1514,80">
<area href="classpeoAsyncIslandMig.html" alt="peoAsyncIslandMig< EOT >" shape="rect" coords="254,112,498,136">
<area href="classpeoSyncIslandMig.html" alt="peoSyncIslandMig< EOT >" shape="rect" coords="254,168,498,192">
<area href="classpeoEA.html" alt="peoEA< EOT >" shape="rect" coords="762,112,1006,136">
<area href="classpeoParallelAlgorithmWrapper.html" alt="peoParallelAlgorithmWrapper" shape="rect" coords="762,168,1006,192">
<area href="classpeoPopEval.html" alt="peoPopEval< EOT >" shape="rect" coords="1270,112,1514,136">
<area href="classpeoSynchronousMultiStart.html" alt="peoSynchronousMultiStart< EntityType >" shape="rect" coords="1270,168,1514,192">
<area href="classpeoSyncMultiStart.html" alt="peoSyncMultiStart< EOT >" shape="rect" coords="1270,224,1514,248">
<area href="classpeoTransform.html" alt="peoTransform< EOT >" shape="rect" coords="1270,280,1514,304">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="167,56,491,80">
<area href="classRunner.html" alt="Runner" shape="rect" coords="668,56,992,80">
<area href="classService.html" alt="Service" shape="rect" coords="1336,56,1660,80">
<area href="classWorker.html" alt="Worker" shape="rect" coords="1670,56,1994,80">
<area href="classpeoAsyncIslandMig.html" alt="peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >" shape="rect" coords="0,112,324,136">
<area href="classpeoSyncIslandMig.html" alt="peoSyncIslandMig< TYPESELECT, TYPEREPLACE >" shape="rect" coords="334,112,658,136">
<area href="classpeoWrapper.html" alt="peoWrapper" shape="rect" coords="668,112,992,136">
<area href="classpeoMultiStart.html" alt="peoMultiStart< EntityType >" shape="rect" coords="1002,112,1326,136">
<area href="classpeoPopEval.html" alt="peoPopEval< EOT >" shape="rect" coords="1336,112,1660,136">
<area href="classpeoTransform.html" alt="peoTransform< EOT >" shape="rect" coords="1670,112,1994,136">
</map>
<a href="classCommunicable-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -69,6 +67,10 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3306a9adb11a0ab5af342c0db9f7bb2a"></a><!-- doxytag: member="Communicable::resume" ref="3306a9adb11a0ab5af342c0db9f7bb2a" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a6acfdc781a67c9c0ec4f17893f86c3"></a><!-- doxytag: member="Communicable::num_comm" ref="7a6acfdc781a67c9c0ec4f17893f86c3" args="" -->
static unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a> = 0</td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="605b0efeffe81326f216c9903f5bbf4c"></a><!-- doxytag: member="Communicable::key" ref="605b0efeffe81326f216c9903f5bbf4c" args="" -->
COMM_ID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td></tr>
@ -79,19 +81,15 @@ sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29c53b9191348e0505e3bcba6d8b82b1"></a><!-- doxytag: member="Communicable::sem_stop" ref="29c53b9191348e0505e3bcba6d8b82b1" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td></tr>
<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a6acfdc781a67c9c0ec4f17893f86c3"></a><!-- doxytag: member="Communicable::num_comm" ref="7a6acfdc781a67c9c0ec4f17893f86c3" args="" -->
static unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a> = 0</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>
<p>
Definition at line <a class="el" href="communicable_8h-source.html#l00044">44</a> of file <a class="el" href="communicable_8h-source.html">communicable.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
Definition at line <a class="el" href="communicable_8h-source.html#l00045">45</a> of file <a class="el" href="communicable_8h-source.html">communicable.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="communicable_8h-source.html">communicable.h</a><li><a class="el" href="communicable_8cpp-source.html">communicable.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -39,7 +39,7 @@
<tr class="memlist"><td><a class="el" href="classThread.html#95c703fb8f2f27cb64f475a8c940864a">Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classReactiveThread.html#a724a54575de10f09cc03ab7aa4e59ce">wakeUp</a>()</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#37d9edd3a1a776cbc27dedff949c9726">~Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Communicator Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Communicator Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -52,7 +52,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
Definition at line <a class="el" href="comm_8h-source.html#l00043">43</a> of file <a class="el" href="comm_8h-source.html">comm.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="comm_8h-source.html">comm.h</a><li><a class="el" href="comm_8cpp-source.html">comm.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -35,8 +35,11 @@
<tr class="memlist"><td><a class="el" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#b75a33c5735799076e01b125e47e3bbc">notifyReceiving</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#4439ddeaa1246a2e44c003bfb781739b">notifySending</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#38f28f9155deac5e48edcaf935a2263b">notifySendingSyncReq</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#6cc64e571944783b8f697f7c2299cc8d">notifySynchronized</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">owner</a></td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
@ -44,9 +47,10 @@
<tr class="memlist"><td><a class="el" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>(Cooperative *__coop)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#fe7b022567174c8305bc78d8c5749b12">setOwner</a>(Runner &amp;__runner)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Cooperative Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Cooperative Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,9 +32,9 @@
<h1>Cooperative Class Reference</h1><!-- doxytag: class="Cooperative" --><!-- doxytag: inherits="Communicable" --><p>Inheritance diagram for Cooperative:
<p><center><img src="classCooperative.png" usemap="#Cooperative_map" border="0" alt=""></center>
<map name="Cooperative_map">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="91,0,263,24">
<area href="classpeoAsyncIslandMig.html" alt="peoAsyncIslandMig< EOT >" shape="rect" coords="0,112,172,136">
<area href="classpeoSyncIslandMig.html" alt="peoSyncIslandMig< EOT >" shape="rect" coords="182,112,354,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="167,0,491,24">
<area href="classpeoAsyncIslandMig.html" alt="peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >" shape="rect" coords="0,112,324,136">
<area href="classpeoSyncIslandMig.html" alt="peoSyncIslandMig< TYPESELECT, TYPEREPLACE >" shape="rect" coords="334,112,658,136">
</map>
<a href="classCooperative-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -48,9 +48,21 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c609f2a1200da7d1ac96005602515fc6"></a><!-- doxytag: member="Cooperative::send" ref="c609f2a1200da7d1ac96005602515fc6" args="(Cooperative *__coop)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a> (<a class="el" href="classCooperative.html">Cooperative</a> *__coop)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a08615f1fb5a71bb6eb8ea53ef7d1c69"></a><!-- doxytag: member="Cooperative::synchronizeCoopEx" ref="a08615f1fb5a71bb6eb8ea53ef7d1c69" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4439ddeaa1246a2e44c003bfb781739b"></a><!-- doxytag: member="Cooperative::notifySending" ref="4439ddeaa1246a2e44c003bfb781739b" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#4439ddeaa1246a2e44c003bfb781739b">notifySending</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b75a33c5735799076e01b125e47e3bbc"></a><!-- doxytag: member="Cooperative::notifyReceiving" ref="b75a33c5735799076e01b125e47e3bbc" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#b75a33c5735799076e01b125e47e3bbc">notifyReceiving</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38f28f9155deac5e48edcaf935a2263b"></a><!-- doxytag: member="Cooperative::notifySendingSyncReq" ref="38f28f9155deac5e48edcaf935a2263b" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#38f28f9155deac5e48edcaf935a2263b">notifySendingSyncReq</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cc64e571944783b8f697f7c2299cc8d"></a><!-- doxytag: member="Cooperative::notifySynchronized" ref="6cc64e571944783b8f697f7c2299cc8d" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#6cc64e571944783b8f697f7c2299cc8d">notifySynchronized</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7604f094479d08154ede4996a45bf79e"></a><!-- doxytag: member="Cooperative::owner" ref="7604f094479d08154ede4996a45bf79e" args="" -->
<a class="el" href="classRunner.html">Runner</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">owner</a></td></tr>
@ -61,9 +73,9 @@ virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>
<p>
Definition at line <a class="el" href="cooperative_8h-source.html#l00045">45</a> of file <a class="el" href="cooperative_8h-source.html">cooperative.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cooperative_8h-source.html">cooperative.h</a><li><a class="el" href="coop_8cpp-source.html">coop.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
Definition at line <a class="el" href="cooperative_8h-source.html#l00046">46</a> of file <a class="el" href="cooperative_8h-source.html">cooperative.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cooperative_8h-source.html">cooperative.h</a><li><a class="el" href="cooperative_8cpp-source.html">cooperative.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -40,7 +40,7 @@
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#ce124173b1bde24e846c8095e5bf060b">result_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#178dc5a2f684f488c806089dec9ae84b">~eoF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: DisplayBestRoute Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: DisplayBestRoute Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -57,7 +57,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
Definition at line <a class="el" href="display__best__route_8h-source.html#l00046">46</a> of file <a class="el" href="display__best__route_8h-source.html">display_best_route.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="display__best__route_8h-source.html">display_best_route.h</a><li><a class="el" href="display__best__route_8cpp-source.html">display_best_route.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:43 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -35,7 +35,7 @@
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">peoAggEvalFunc::operator()</a>(A1, A2)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: MergeRouteEval Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: MergeRouteEval Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -50,7 +50,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
Definition at line <a class="el" href="merge__route__eval_8h-source.html#l00044">44</a> of file <a class="el" href="merge__route__eval_8h-source.html">merge_route_eval.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="merge__route__eval_8h-source.html">merge_route_eval.h</a><li><a class="el" href="merge__route__eval_8cpp-source.html">merge_route_eval.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -38,7 +38,7 @@
<tr class="memlist"><td><a class="el" href="classThread.html#95c703fb8f2f27cb64f475a8c940864a">Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classReactiveThread.html#a724a54575de10f09cc03ab7aa4e59ce">wakeUp</a>()</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#37d9edd3a1a776cbc27dedff949c9726">~Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: ReactiveThread Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: ReactiveThread Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -58,9 +58,9 @@ sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<p>
<p>
Definition at line <a class="el" href="reac__thread_8h-source.html#l00044">44</a> of file <a class="el" href="reac__thread_8h-source.html">reac_thread.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
Definition at line <a class="el" href="reac__thread_8h-source.html#l00045">45</a> of file <a class="el" href="reac__thread_8h-source.html">reac_thread.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="reac__thread_8h-source.html">reac_thread.h</a><li><a class="el" href="reac__thread_8cpp-source.html">reac_thread.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,9 +32,10 @@
<h1>RingTopology Member List</h1>This is the complete list of members for <a class="el" href="classRingTopology.html">RingTopology</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>(Cooperative &amp;__mig)</td><td><a class="el" href="classTopology.html">Topology</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#247a2faa8568b678f0b7b11e62c7812c">mig</a></td><td><a class="el" href="classTopology.html">Topology</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#5b48abce5d58230f944e95f3fe4f2727">operator std::vector</a>()</td><td><a class="el" href="classTopology.html">Topology</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRingTopology.html#292a7746993788f96042f2f628cfcbc5">setNeighbors</a>(Cooperative *__mig, std::vector&lt; Cooperative * &gt; &amp;__from, std::vector&lt; Cooperative * &gt; &amp;__to)</td><td><a class="el" href="classRingTopology.html">RingTopology</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#3e447669757c8311c7f6f8edc705abf2">~Topology</a>()</td><td><a class="el" href="classTopology.html">Topology</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: RingTopology Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: RingTopology Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -48,7 +48,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
Definition at line <a class="el" href="ring__topo_8h-source.html#l00042">42</a> of file <a class="el" href="ring__topo_8h-source.html">ring_topo.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ring__topo_8h-source.html">ring_topo.h</a><li><a class="el" href="ring__topo_8cpp-source.html">ring_topo.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -31,31 +31,37 @@
</ul></div>
<h1>Runner Member List</h1>This is the complete list of members for <a class="el" href="classRunner.html">Runner</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#5026c74eec184e3a15cb3c0ec4200a57">getID</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#bcadf488813aacbdeeefd3e0b9a618ee">def_id</a></td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">exec_id</a></td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#f055608a382a32c6a889b0407e228312">getDefinitionID</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#95c5e10928221a6140557e2ca6af5434">getExecutionID</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#1989c1f8e0b0b54ad2e60a341007e59d">id</a></td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#40adbfb7d6944189b4fff60b02e669ca">isLocal</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#1ec095cb08373aaebbce6fe6418cd53c">isAssignedLocally</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#2cce5433184ec8f89e06531c23acbcf8">notifyContextInitialized</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">notifySendingTermination</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#2ad6d199d684d6f34347fc202ffe2fa3">packTermination</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">Runner</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">sem_cntxt</a></td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a></td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#5262b394f0f0899b85316136941df42c">setExecutionID</a>(const RUNNER_ID &amp;execution_id)</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">start</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#0f133e75c28fb8264549814f80608e68">terminate</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#95c703fb8f2f27cb64f475a8c940864a">Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#756ad5e211d4818a88d53fa9ac272f68">waitContextInitialization</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">waitStarting</a>()</td><td><a class="el" href="classRunner.html">Runner</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#37d9edd3a1a776cbc27dedff949c9726">~Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Runner Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Runner Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,10 +32,9 @@
<h1>Runner Class Reference</h1><!-- doxytag: class="Runner" --><!-- doxytag: inherits="Communicable,Thread" --><p>Inheritance diagram for Runner:
<p><center><img src="classRunner.png" usemap="#Runner_map" border="0" alt=""></center>
<map name="Runner_map">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,0,178,24">
<area href="classThread.html" alt="Thread" shape="rect" coords="188,0,366,24">
<area href="classpeoEA.html" alt="peoEA< EOT >" shape="rect" coords="0,112,178,136">
<area href="classpeoParallelAlgorithmWrapper.html" alt="peoParallelAlgorithmWrapper" shape="rect" coords="188,112,366,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,0,94,24">
<area href="classThread.html" alt="Thread" shape="rect" coords="104,0,198,24">
<area href="classpeoWrapper.html" alt="peoWrapper" shape="rect" coords="52,112,146,136">
</map>
<a href="classRunner-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -43,33 +42,51 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7acb8258c21da9daa62f9a177a2e5acd"></a><!-- doxytag: member="Runner::Runner" ref="7acb8258c21da9daa62f9a177a2e5acd" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">Runner</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dc4419051fcc5cc9dadd54ecc9cd47d"></a><!-- doxytag: member="Runner::start" ref="7dc4419051fcc5cc9dadd54ecc9cd47d" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">start</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f055608a382a32c6a889b0407e228312"></a><!-- doxytag: member="Runner::getDefinitionID" ref="f055608a382a32c6a889b0407e228312" args="()" -->
RUNNER_ID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#f055608a382a32c6a889b0407e228312">getDefinitionID</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95c5e10928221a6140557e2ca6af5434"></a><!-- doxytag: member="Runner::getExecutionID" ref="95c5e10928221a6140557e2ca6af5434" args="()" -->
RUNNER_ID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#95c5e10928221a6140557e2ca6af5434">getExecutionID</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5262b394f0f0899b85316136941df42c"></a><!-- doxytag: member="Runner::setExecutionID" ref="5262b394f0f0899b85316136941df42c" args="(const RUNNER_ID &amp;execution_id)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#5262b394f0f0899b85316136941df42c">setExecutionID</a> (const RUNNER_ID &amp;execution_id)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ec095cb08373aaebbce6fe6418cd53c"></a><!-- doxytag: member="Runner::isAssignedLocally" ref="1ec095cb08373aaebbce6fe6418cd53c" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#1ec095cb08373aaebbce6fe6418cd53c">isAssignedLocally</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5bc239db2be753b77369fa9a038769fd"></a><!-- doxytag: member="Runner::waitStarting" ref="5bc239db2be753b77369fa9a038769fd" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">waitStarting</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40adbfb7d6944189b4fff60b02e669ca"></a><!-- doxytag: member="Runner::isLocal" ref="40adbfb7d6944189b4fff60b02e669ca" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#40adbfb7d6944189b4fff60b02e669ca">isLocal</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="756ad5e211d4818a88d53fa9ac272f68"></a><!-- doxytag: member="Runner::waitContextInitialization" ref="756ad5e211d4818a88d53fa9ac272f68" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#756ad5e211d4818a88d53fa9ac272f68">waitContextInitialization</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dc4419051fcc5cc9dadd54ecc9cd47d"></a><!-- doxytag: member="Runner::start" ref="7dc4419051fcc5cc9dadd54ecc9cd47d" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">start</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f133e75c28fb8264549814f80608e68"></a><!-- doxytag: member="Runner::terminate" ref="0f133e75c28fb8264549814f80608e68" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#0f133e75c28fb8264549814f80608e68">terminate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5026c74eec184e3a15cb3c0ec4200a57"></a><!-- doxytag: member="Runner::getID" ref="5026c74eec184e3a15cb3c0ec4200a57" args="()" -->
RUNNER_ID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#5026c74eec184e3a15cb3c0ec4200a57">getID</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ad6d199d684d6f34347fc202ffe2fa3"></a><!-- doxytag: member="Runner::packTermination" ref="2ad6d199d684d6f34347fc202ffe2fa3" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#2ad6d199d684d6f34347fc202ffe2fa3">packTermination</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cce5433184ec8f89e06531c23acbcf8"></a><!-- doxytag: member="Runner::notifyContextInitialized" ref="2cce5433184ec8f89e06531c23acbcf8" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#2cce5433184ec8f89e06531c23acbcf8">notifyContextInitialized</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3591be473e0fcee1105fb57319b529aa"></a><!-- doxytag: member="Runner::notifySendingTermination" ref="3591be473e0fcee1105fb57319b529aa" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">notifySendingTermination</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ad6d199d684d6f34347fc202ffe2fa3"></a><!-- doxytag: member="Runner::packTermination" ref="2ad6d199d684d6f34347fc202ffe2fa3" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#2ad6d199d684d6f34347fc202ffe2fa3">packTermination</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b0827d5df2df632db4ab71dd55e81b2"></a><!-- doxytag: member="Runner::sem_start" ref="4b0827d5df2df632db4ab71dd55e81b2" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1989c1f8e0b0b54ad2e60a341007e59d"></a><!-- doxytag: member="Runner::id" ref="1989c1f8e0b0b54ad2e60a341007e59d" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#1989c1f8e0b0b54ad2e60a341007e59d">id</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66a5b083c6bc4cea06301db80cb80c99"></a><!-- doxytag: member="Runner::sem_cntxt" ref="66a5b083c6bc4cea06301db80cb80c99" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">sem_cntxt</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcadf488813aacbdeeefd3e0b9a618ee"></a><!-- doxytag: member="Runner::def_id" ref="bcadf488813aacbdeeefd3e0b9a618ee" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#bcadf488813aacbdeeefd3e0b9a618ee">def_id</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46671665b1f97e8a09ed9d5ffcf56966"></a><!-- doxytag: member="Runner::exec_id" ref="46671665b1f97e8a09ed9d5ffcf56966" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">exec_id</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@ -77,9 +94,9 @@ unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="
<p>
<p>
Definition at line <a class="el" href="runner_8h-source.html#l00047">47</a> of file <a class="el" href="runner_8h-source.html">runner.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
Definition at line <a class="el" href="runner_8h-source.html#l00049">49</a> of file <a class="el" href="runner_8h-source.html">runner.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="runner_8h-source.html">runner.h</a><li><a class="el" href="core_2runner_8cpp-source.html">core/runner.cpp</a><li><a class="el" href="rmc_2mpi_2runner_8cpp-source.html">rmc/mpi/runner.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 996 B

After

Width:  |  Height:  |  Size: 619 B

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -39,7 +39,7 @@
<tr class="memlist"><td><a class="el" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">notifySendingAllResourceRequests</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">notifySendingData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#94e2012e76aaae3aa8199250f558d503">notifySendingResourceRequest</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">num_sent_rr</a></td><td><a class="el" href="classService.html">Service</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">owner</a></td><td><a class="el" href="classService.html">Service</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">packData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
@ -55,7 +55,7 @@
<tr class="memlist"><td><a class="el" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">unpackData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#45c06344edbfa482b91f68e2035a6099">unpackResult</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Service Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Service Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,15 +32,10 @@
<h1>Service Class Reference</h1><!-- doxytag: class="Service" --><!-- doxytag: inherits="Communicable" --><p>Inheritance diagram for Service:
<p><center><img src="classService.png" usemap="#Service_map" border="0" alt=""></center>
<map name="Service_map">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="508,0,752,24">
<area href="classpeoPopEval.html" alt="peoPopEval< EOT >" shape="rect" coords="127,112,371,136">
<area href="classpeoSynchronousMultiStart.html" alt="peoSynchronousMultiStart< EntityType >" shape="rect" coords="381,112,625,136">
<area href="classpeoSyncMultiStart.html" alt="peoSyncMultiStart< EOT >" shape="rect" coords="635,112,879,136">
<area href="classpeoTransform.html" alt="peoTransform< EOT >" shape="rect" coords="889,112,1133,136">
<area href="classpeoParaPopEval.html" alt="peoParaPopEval< EOT >" shape="rect" coords="0,168,244,192">
<area href="classpeoSeqPopEval.html" alt="peoSeqPopEval< EOT >" shape="rect" coords="254,168,498,192">
<area href="classpeoParaSGATransform.html" alt="peoParaSGATransform< EOT >" shape="rect" coords="762,168,1006,192">
<area href="classpeoSeqTransform.html" alt="peoSeqTransform< EOT >" shape="rect" coords="1016,168,1260,192">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="179,0,348,24">
<area href="classpeoMultiStart.html" alt="peoMultiStart< EntityType >" shape="rect" coords="0,112,169,136">
<area href="classpeoPopEval.html" alt="peoPopEval< EOT >" shape="rect" coords="179,112,348,136">
<area href="classpeoTransform.html" alt="peoTransform< EOT >" shape="rect" coords="358,112,527,136">
</map>
<a href="classService-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -94,9 +89,9 @@ unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="
<p>
<p>
Definition at line <a class="el" href="service_8h-source.html#l00045">45</a> of file <a class="el" href="service_8h-source.html">service.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
Definition at line <a class="el" href="service_8h-source.html#l00046">46</a> of file <a class="el" href="service_8h-source.html">service.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="service_8h-source.html">service.h</a><li><a class="el" href="core_2service_8cpp-source.html">core/service.cpp</a><li><a class="el" href="rmc_2mpi_2service_8cpp-source.html">rmc/mpi/service.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -35,7 +35,7 @@
<tr class="memlist"><td><a class="el" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#95c703fb8f2f27cb64f475a8c940864a">Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#37d9edd3a1a776cbc27dedff949c9726">~Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Thread Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Thread Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,12 +32,11 @@
<h1>Thread Class Reference</h1><!-- doxytag: class="Thread" --><p>Inheritance diagram for Thread:
<p><center><img src="classThread.png" usemap="#Thread_map" border="0" alt=""></center>
<map name="Thread_map">
<area href="classReactiveThread.html" alt="ReactiveThread" shape="rect" coords="94,56,272,80">
<area href="classRunner.html" alt="Runner" shape="rect" coords="470,56,648,80">
<area href="classCommunicator.html" alt="Communicator" shape="rect" coords="0,112,178,136">
<area href="classWorker.html" alt="Worker" shape="rect" coords="188,112,366,136">
<area href="classpeoEA.html" alt="peoEA< EOT >" shape="rect" coords="376,112,554,136">
<area href="classpeoParallelAlgorithmWrapper.html" alt="peoParallelAlgorithmWrapper" shape="rect" coords="564,112,742,136">
<area href="classReactiveThread.html" alt="ReactiveThread" shape="rect" coords="55,56,156,80">
<area href="classRunner.html" alt="Runner" shape="rect" coords="222,56,323,80">
<area href="classCommunicator.html" alt="Communicator" shape="rect" coords="0,112,101,136">
<area href="classWorker.html" alt="Worker" shape="rect" coords="111,112,212,136">
<area href="classpeoWrapper.html" alt="peoWrapper" shape="rect" coords="222,112,323,136">
</map>
<a href="classThread-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -66,7 +65,7 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
Definition at line <a class="el" href="thread_8h-source.html#l00044">44</a> of file <a class="el" href="thread_8h-source.html">thread.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="thread_8h-source.html">thread.h</a><li><a class="el" href="thread_8cpp-source.html">thread.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 956 B

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,8 +32,9 @@
<h1>Topology Member List</h1>This is the complete list of members for <a class="el" href="classTopology.html">Topology</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>(Cooperative &amp;__mig)</td><td><a class="el" href="classTopology.html">Topology</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#247a2faa8568b678f0b7b11e62c7812c">mig</a></td><td><a class="el" href="classTopology.html">Topology</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#5b48abce5d58230f944e95f3fe4f2727">operator std::vector</a>()</td><td><a class="el" href="classTopology.html">Topology</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classTopology.html#3e447669757c8311c7f6f8edc705abf2">~Topology</a>()</td><td><a class="el" href="classTopology.html">Topology</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Topology Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Topology Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -32,7 +32,10 @@
<h1>Topology Class Reference</h1><!-- doxytag: class="Topology" --><p>Inheritance diagram for Topology:
<p><center><img src="classTopology.png" usemap="#Topology_map" border="0" alt=""></center>
<map name="Topology_map">
<area href="classRingTopology.html" alt="RingTopology" shape="rect" coords="0,56,89,80">
<area href="classCompleteTopology.html" alt="CompleteTopology" shape="rect" coords="0,56,116,80">
<area href="classRandomTopology.html" alt="RandomTopology" shape="rect" coords="126,56,242,80">
<area href="classRingTopology.html" alt="RingTopology" shape="rect" coords="252,56,368,80">
<area href="classStarTopology.html" alt="StarTopology" shape="rect" coords="378,56,494,80">
</map>
<a href="classTopology-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@ -43,6 +46,9 @@ virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="c
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62bc46d8c20fdc71dad9e7c7a0d7aded"></a><!-- doxytag: member="Topology::add" ref="62bc46d8c20fdc71dad9e7c7a0d7aded" args="(Cooperative &amp;__mig)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a> (<a class="el" href="classCooperative.html">Cooperative</a> &amp;__mig)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b48abce5d58230f944e95f3fe4f2727"></a><!-- doxytag: member="Topology::operator std::vector" ref="5b48abce5d58230f944e95f3fe4f2727" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopology.html#5b48abce5d58230f944e95f3fe4f2727">operator std::vector</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="247a2faa8568b678f0b7b11e62c7812c"></a><!-- doxytag: member="Topology::mig" ref="247a2faa8568b678f0b7b11e62c7812c" args="" -->
std::vector&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopology.html#247a2faa8568b678f0b7b11e62c7812c">mig</a></td></tr>
@ -55,7 +61,7 @@ std::vector&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt
<p>
Definition at line <a class="el" href="topology_8h-source.html#l00044">44</a> of file <a class="el" href="topology_8h-source.html">topology.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="topology_8h-source.html">topology.h</a><li><a class="el" href="topology_8cpp-source.html">topology.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 834 B

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -37,13 +37,16 @@
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#e2f487014766a73c5788bdcfd58ad863">notifySendingResult</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#13efd6a8e275745329a4a8e23a0eb0bb">notifySendingTaskDone</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#83780920118e6c2b67d9477bdf8be248">packResult</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#60d2e8eba85b9ef403d94be54c391640">packTaskDone</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classReactiveThread.html#77381649429941c99a3e3d568113d6cf">ReactiveThread</a>()</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#1bcc1e66cc2021cc9cc5e79d0eea563d">recvAndCompleted</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#995391e66dacedffe1e2b4754296b455">sem_task_asgn</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#173ce84a3c7ee9f73c691c39c68ca711">sem_task_done</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#454e1764ed165af733cc44a73e395692">serv</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#d7dc76e301fd2bcf5d3a2088a59f1378">serv_id</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
@ -53,15 +56,15 @@
<tr class="memlist"><td><a class="el" href="classWorker.html#895c3ebc198018ea3391c09bc802d2f6">src</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#abcbbace05c6113f1959c494b3577291">start</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#3bb2faa8e6350cb0ab13534069dcc96d">taskAssigned</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#95c703fb8f2f27cb64f475a8c940864a">Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#7ba5a18b2918cf9e704536b763be37f7">toto</a></td><td><a class="el" href="classWorker.html">Worker</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#bff2bdcd64fe5400156cc78704c64953">unpackData</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classReactiveThread.html#a724a54575de10f09cc03ab7aa4e59ce">wakeUp</a>()</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWorker.html#3754817df06ffe220f7f0d903c78ccac">Worker</a>()</td><td><a class="el" href="classWorker.html">Worker</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classThread.html#37d9edd3a1a776cbc27dedff949c9726">~Thread</a>()</td><td><a class="el" href="classThread.html">Thread</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Worker Class Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Worker Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -76,8 +76,17 @@ SERVICE_ID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="895c3ebc198018ea3391c09bc802d2f6"></a><!-- doxytag: member="Worker::src" ref="895c3ebc198018ea3391c09bc802d2f6" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#895c3ebc198018ea3391c09bc802d2f6">src</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ba5a18b2918cf9e704536b763be37f7"></a><!-- doxytag: member="Worker::toto" ref="7ba5a18b2918cf9e704536b763be37f7" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#7ba5a18b2918cf9e704536b763be37f7">toto</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bcc1e66cc2021cc9cc5e79d0eea563d"></a><!-- doxytag: member="Worker::recvAndCompleted" ref="1bcc1e66cc2021cc9cc5e79d0eea563d" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#1bcc1e66cc2021cc9cc5e79d0eea563d">recvAndCompleted</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bb2faa8e6350cb0ab13534069dcc96d"></a><!-- doxytag: member="Worker::taskAssigned" ref="3bb2faa8e6350cb0ab13534069dcc96d" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#3bb2faa8e6350cb0ab13534069dcc96d">taskAssigned</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="173ce84a3c7ee9f73c691c39c68ca711"></a><!-- doxytag: member="Worker::sem_task_done" ref="173ce84a3c7ee9f73c691c39c68ca711" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#173ce84a3c7ee9f73c691c39c68ca711">sem_task_done</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="995391e66dacedffe1e2b4754296b455"></a><!-- doxytag: member="Worker::sem_task_asgn" ref="995391e66dacedffe1e2b4754296b455" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWorker.html#995391e66dacedffe1e2b4754296b455">sem_task_asgn</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@ -85,9 +94,9 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>
<p>
Definition at line <a class="el" href="worker_8h-source.html#l00046">46</a> of file <a class="el" href="worker_8h-source.html">worker.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
Definition at line <a class="el" href="worker_8h-source.html#l00047">47</a> of file <a class="el" href="worker_8h-source.html">worker.h</a>.<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="worker_8h-source.html">worker.h</a><li><a class="el" href="worker_8cpp-source.html">worker.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Alphabetical List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Alphabetical List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,21 +29,23 @@
<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>ParadisEO-PEOMovingObjects Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div><p>
<h1>ParadisEO-PEO-ParallelanddistributedEvolvingObjects Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div><p>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html">peoParallelAlgorithmWrapper::AbstractAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoSynchronousMultiStart.html">peoSynchronousMultiStart</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm.html">peoParallelAlgorithmWrapper::Algorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html">peoSynchronousMultiStart::AbstractAggregationAlgorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html">peoSynchronousMultiStart::AbstractAlgorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classpeoParaPopEval.html">peoParaPopEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractDataType.html">peoSynchronousMultiStart::AbstractDataType</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCommunicable.html">Communicable</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html">peoSynchronousMultiStart::AggregationAlgorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCommunicator.html">Communicator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoPopEval.html">peoPopEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1Algorithm.html">peoSynchronousMultiStart::Algorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCooperative.html">Cooperative</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1DataType.html">peoSynchronousMultiStart::DataType</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="structRandomExplorationAlgorithm.html">RandomExplorationAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoSynchronousMultiStart_1_1NoAggregationFunction.html">peoSynchronousMultiStart::NoAggregationFunction</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classDisplayBestRoute.html">DisplayBestRoute</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classRingTopology.html">RingTopology</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoSyncMultiStart.html">peoSyncMultiStart</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoEA.html">peoEA</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRunner.html">Runner</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classThread.html">Thread</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classMergeRouteEval.html">MergeRouteEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structSEND__REQUEST.html">SEND_REQUEST</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTopology.html">Topology</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classpeoSeqPopEval.html">peoSeqPopEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoTransform.html">peoTransform</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoSeqTransform.html">peoSeqTransform</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classService.html">Service</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classWorker.html">Worker</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoParallelAlgorithmWrapper.html">peoParallelAlgorithmWrapper</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</td><td><a class="el" href="structpeoMultiStart_1_1AbstractAggregationAlgorithm.html">peoMultiStart::AbstractAggregationAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classselector.html">selector</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1AbstractAlgorithm.html">peoMultiStart::AbstractAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structSEND__REQUEST.html">SEND_REQUEST</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structAlgorithm.html">Algorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1AbstractDataType.html">peoMultiStart::AbstractDataType</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classService.html">Service</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1AggregationAlgorithm.html">peoMultiStart::AggregationAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classStarTopology.html">StarTopology</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="structpeoMultiStart_1_1Algorithm.html">peoMultiStart::Algorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structSyncCompare.html">SyncCompare</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCitySwap.html">CitySwap</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1DataType.html">peoMultiStart::DataType</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structSyncEntry.html">SyncEntry</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCommunicable.html">Communicable</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1FunctionAlgorithm.html">peoMultiStart::FunctionAlgorithm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCommunicator.html">Communicator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoMultiStart_1_1NoAggregationFunction.html">peoMultiStart::NoAggregationFunction</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classCompleteTopology.html">CompleteTopology</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classThread.html">Thread</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classcontinuator.html">continuator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTopology.html">Topology</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCooperative.html">Cooperative</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classpeoTransform.html">peoTransform</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classOrderXover.html">OrderXover</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTwoOpt.html">TwoOpt</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classDisplayBestRoute.html">DisplayBestRoute</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classTwoOptIncrEval.html">TwoOptIncrEval</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classPartialMappedXover.html">PartialMappedXover</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTwoOptInit.html">TwoOptInit</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classEdgeXover.html">EdgeXover</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPartRouteEval.html">PartRouteEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTwoOptNext.html">TwoOptNext</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classeoContinuator.html">eoContinuator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoPopEval.html">peoPopEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTwoOptRand.html">TwoOptRand</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classeoReplace.html">eoReplace</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoPSOSelect.html">peoPSOSelect</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classeoSelector.html">eoSelector</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classWorker.html">Worker</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classeoSyncContinue.html">eoSyncContinue</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRandomTopology.html">RandomTopology</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoWorstPositionReplacement.html">peoWorstPositionReplacement</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structpeoEvalFunc.html">peoEvalFunc</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classReactiveThread.html">ReactiveThread</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpeoWrapper.html">peoWrapper</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classreplacement.html">replacement</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoWrapper_1_1AbstractAlgorithm.html">peoWrapper::AbstractAlgorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoGlobalBestVelocity.html">peoGlobalBestVelocity</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRingTopology.html">RingTopology</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoWrapper_1_1Algorithm.html">peoWrapper::Algorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classRouteEval.html">RouteEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classMergeRouteEval.html">MergeRouteEval</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRouteInit.html">RouteInit</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm.html">peoWrapper::FunctionAlgorithm</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classMPIThreadedEnv.html">MPIThreadedEnv</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRunner.html">Runner</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4.html">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, void &gt;</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classpeoMultiStart.html">peoMultiStart</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div><p>
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -34,7 +34,7 @@
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">operator()</a>(A1, A2)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoAggEvalFunc&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoAggEvalFunc&lt; EOT &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -63,7 +63,7 @@ The aggregation object is called in an iterative manner for each of the results
<p>
Definition at line <a class="el" href="peoAggEvalFunc_8h-source.html#l00053">53</a> of file <a class="el" href="peoAggEvalFunc_8h-source.html">peoAggEvalFunc.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoAggEvalFunc_8h-source.html">peoAggEvalFunc.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,45 +29,48 @@
<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>peoAsyncIslandMig&lt; EOT &gt; Member List</h1>This is the complete list of members for <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a>, including all inherited members.<p><table>
<h1>peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Member List</h1>This is the complete list of members for <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#d24e769249a861468a0c0e113d1208bb">addTo</a>(eoCheckPoint&lt; EOT &gt; &amp;cp)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#362659613082a328a9a1fac94cc2a120">className</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">cont</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">destination</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">emigrate</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">cont</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">emigrate</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#2e9f6291a5516a275953520ca592ec20">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">immigrate</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">immigrate</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#5a1ee902b561f1ccd1ee01fe45bdea2a">lastCall</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#b75a33c5735799076e01b125e47e3bbc">notifyReceiving</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#4439ddeaa1246a2e44c003bfb781739b">notifySending</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#13581e54425727a7f785ca8a6df527b5">operator()</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16">pack</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#e0f706cbf4148d3ca327227a5c7a9fdf">peoAsyncIslandMig</a>(eoContinue&lt; EOT &gt; &amp;__cont, eoSelect&lt; EOT &gt; &amp;__select, eoReplacement&lt; EOT &gt; &amp;__replace, Topology &amp;__topology, eoPop&lt; EOT &gt; &amp;__source, eoPop&lt; EOT &gt; &amp;__destination)</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">replace</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#38f28f9155deac5e48edcaf935a2263b">notifySendingSyncReq</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#6cc64e571944783b8f697f7c2299cc8d">notifySynchronized</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#d56e189f269dde8d68a4b007f05edaff">operator()</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14">pack</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#0a0524a90d0b31bc4c8bfa4f39708b0f">packSynchronizeReq</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#e40ddd54734b018ab4e5c3f2bbd5a49c">peoAsyncIslandMig</a>(continuator &amp;__cont, selector&lt; TYPESELECT &gt; &amp;__select, replacement&lt; TYPEREPLACE &gt; &amp;__replace, Topology &amp;__topology)</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">replace</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#ce124173b1bde24e846c8095e5bf060b">result_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">select</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">select</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>(Cooperative *__coop)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#fe7b022567174c8305bc78d8c5749b12">setOwner</a>(Runner &amp;__runner)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">source</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">topology</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">topology</a></td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369">unpack</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8">unpack</a>()</td><td><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#178dc5a2f684f488c806089dec9ae84b">~eoF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoAsyncIslandMig&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,213 +29,116 @@
<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>peoAsyncIslandMig&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoAsyncIslandMig" --><!-- doxytag: inherits="Cooperative,eoUpdater" -->The <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
<h1>peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Class Template Reference</h1><!-- doxytag: class="peoAsyncIslandMig" --><!-- doxytag: inherits="Cooperative,eoUpdater" -->Specific class for a asynchronous migration.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>&gt;</code>
<p>
<p>Inheritance diagram for peoAsyncIslandMig&lt; EOT &gt;:
<p><center><img src="classpeoAsyncIslandMig.png" usemap="#peoAsyncIslandMig< EOT >_map" border="0" alt=""></center>
<map name="peoAsyncIslandMig< EOT >_map">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,112,172,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html" alt="eoUpdater" shape="rect" coords="182,112,354,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,172,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html" alt="eoF< void >" shape="rect" coords="182,56,354,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="182,0,354,24">
<p>Inheritance diagram for peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;:
<p><center><img src="classpeoAsyncIslandMig.png" usemap="#peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >_map" border="0" alt=""></center>
<map name="peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >_map">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,112,324,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html" alt="eoUpdater" shape="rect" coords="334,112,658,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,324,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html" alt="eoF< void >" shape="rect" coords="334,56,658,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="334,0,658,24">
</map>
<a href="classpeoAsyncIslandMig-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="classpeoAsyncIslandMig.html#e0f706cbf4148d3ca327227a5c7a9fdf">peoAsyncIslandMig</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue</a>&lt; EOT &gt; &amp;__cont, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;__select, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__source, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&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="classpeoAsyncIslandMig.html#e40ddd54734b018ab4e5c3f2bbd5a49c">peoAsyncIslandMig</a> (<a class="el" href="classcontinuator.html">continuator</a> &amp;__cont, <a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;__select, <a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;__replace, <a class="el" href="classTopology.html">Topology</a> &amp;__topology)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO</a>, etc., or custom, derived objects may be passed as parameters. <a href="#e0f706cbf4148d3ca327227a5c7a9fdf"></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="classpeoAsyncIslandMig.html#13581e54425727a7f785ca8a6df527b5">operator()</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#e40ddd54734b018ab4e5c3f2bbd5a49c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d56e189f269dde8d68a4b007f05edaff"></a><!-- doxytag: member="peoAsyncIslandMig::operator()" ref="d56e189f269dde8d68a4b007f05edaff" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#d56e189f269dde8d68a4b007f05edaff">operator()</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> operator to be called as checkpoint for performing the migration step. <a href="#13581e54425727a7f785ca8a6df527b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d790a5d0b6ac510cac4f61a1c0d8f16"></a><!-- doxytag: member="peoAsyncIslandMig::pack" ref="6d790a5d0b6ac510cac4f61a1c0d8f16" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16">pack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f5f1700920f9ced71ef63b0576e3f14"></a><!-- doxytag: member="peoAsyncIslandMig::pack" ref="0f5f1700920f9ced71ef63b0576e3f14" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14">pack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="455501aee5db2bbfbae15779c8429369"></a><!-- doxytag: member="peoAsyncIslandMig::unpack" ref="455501aee5db2bbfbae15779c8429369" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369">unpack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> realizing packages. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c32a27e387bcd8ce383a4cb1732dbed8"></a><!-- doxytag: member="peoAsyncIslandMig::unpack" ref="c32a27e387bcd8ce383a4cb1732dbed8" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8">unpack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. <br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> reconstituting packages. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a0524a90d0b31bc4c8bfa4f39708b0f"></a><!-- doxytag: member="peoAsyncIslandMig::packSynchronizeReq" ref="0a0524a90d0b31bc4c8bfa4f39708b0f" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#0a0524a90d0b31bc4c8bfa4f39708b0f">packSynchronizeReq</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> packSynchronizeReq. <br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87a4ef7d4bd30d349a801bf0f9e87c82"></a><!-- doxytag: member="peoAsyncIslandMig::emigrate" ref="87a4ef7d4bd30d349a801bf0f9e87c82" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">emigrate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2470f8ee04bc762c010c7ebb2392831d"></a><!-- doxytag: member="peoAsyncIslandMig::emigrate" ref="2470f8ee04bc762c010c7ebb2392831d" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">emigrate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a9a64ba51a696e45f91b362c39c9a64"></a><!-- doxytag: member="peoAsyncIslandMig::immigrate" ref="5a9a64ba51a696e45f91b362c39c9a64" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">immigrate</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> which sends some emigrants. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75a6592d63879773b39c9594b94fb942"></a><!-- doxytag: member="peoAsyncIslandMig::immigrate" ref="75a6592d63879773b39c9594b94fb942" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">immigrate</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> which receives some immigrants. <br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2fc077d02ef9ea4595cfe883af0d4f83"></a><!-- doxytag: member="peoAsyncIslandMig::cont" ref="2fc077d02ef9ea4595cfe883af0d4f83" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">cont</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcontinuator.html">continuator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">cont</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1fa045094c8a411323e75b5820c80c2"></a><!-- doxytag: member="peoAsyncIslandMig::select" ref="b1fa045094c8a411323e75b5820c80c2" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">select</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57d9ed6da844aa67a8a3328dfbbd03e0"></a><!-- doxytag: member="peoAsyncIslandMig::select" ref="57d9ed6da844aa67a8a3328dfbbd03e0" args="" -->
<a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">select</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b761dbd880ee32e170741ecd78da6f48"></a><!-- doxytag: member="peoAsyncIslandMig::replace" ref="b761dbd880ee32e170741ecd78da6f48" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">replace</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2013056fed65e4f0bb55a7334c261c50"></a><!-- doxytag: member="peoAsyncIslandMig::replace" ref="2013056fed65e4f0bb55a7334c261c50" args="" -->
<a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">replace</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e45e5a808a96f0853ab6ba42339fe679"></a><!-- doxytag: member="peoAsyncIslandMig::topology" ref="e45e5a808a96f0853ab6ba42339fe679" args="" -->
<a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">topology</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e70e843ec1fc9e2fc6a124588fbc08d5"></a><!-- doxytag: member="peoAsyncIslandMig::topology" ref="e70e843ec1fc9e2fc6a124588fbc08d5" args="" -->
<a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">topology</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a502d82c773033e274dca932fc2d4ee"></a><!-- doxytag: member="peoAsyncIslandMig::source" ref="8a502d82c773033e274dca932fc2d4ee" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">source</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3fa5d4df0bdd4a3c58a9f1bd38d628f9"></a><!-- doxytag: member="peoAsyncIslandMig::imm" ref="3fa5d4df0bdd4a3c58a9f1bd38d628f9" args="" -->
std::queue&lt; TYPEREPLACE &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e407f411d08ae7d96992603c145a7e43"></a><!-- doxytag: member="peoAsyncIslandMig::destination" ref="e407f411d08ae7d96992603c145a7e43" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">destination</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04c6a5767efe3e4deb914a6a8ceb3fd2"></a><!-- doxytag: member="peoAsyncIslandMig::em" ref="04c6a5767efe3e4deb914a6a8ceb3fd2" args="" -->
std::queue&lt; TYPESELECT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8c76d98d9ae99dd930a77c12860519a"></a><!-- doxytag: member="peoAsyncIslandMig::imm" ref="b8c76d98d9ae99dd930a77c12860519a" args="" -->
std::queue&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9cc0e2d61cac6e11647b141962adc89"></a><!-- doxytag: member="peoAsyncIslandMig::em" ref="a9cc0e2d61cac6e11647b141962adc89" args="" -->
std::queue&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a2c0004d23bc303420af137a8c8bd27"></a><!-- doxytag: member="peoAsyncIslandMig::coop_em" ref="1a2c0004d23bc303420af137a8c8bd27" args="" -->
std::queue&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ead40772ef2fabea02fe93d1814f0a5"></a><!-- doxytag: member="peoAsyncIslandMig::coop_em" ref="9ead40772ef2fabea02fe93d1814f0a5" args="" -->
std::queue&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
class peoAsyncIslandMig&lt; EOT &gt;</h3>
<h3>template&lt;class TYPESELECT, class TYPEREPLACE&gt;<br>
class peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</h3>
The <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
Specific class for a asynchronous migration.
<p>
continuation criterion, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. As opposed to the synchronous migration model, in the asynchronous migration approach, there is no synchronization step between islands after performing the emigration phase.<p>
The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:<p>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td><b>do</b> { &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select( population, offsprings ); &nbsp; </td><td>// select the offsprings from the current population </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transform( offsprings ); &nbsp; </td><td>// crossover and mutation operators are applied on the selected offsprings </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evaluate( offsprings ); &nbsp; </td><td>// evaluation step of the resulting offsprings </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; replace( population, offsprings ); &nbsp; </td><td>// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy </td></tr>
<tr>
<td>} <b>while</b> ( eaCheckpointContinue( population ) ); &nbsp; </td><td>// checkpoint operators are applied on the current population, including the migration operator, if any specified </td></tr>
</table>
<p>
Constructing an asynchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the <b><a class="el" href="classRunner.html">Runner</a></b> class (for example a <a class="el" href="classpeoEA.html">peoEA</a> object represents a possible owner). A simple example is offered bellow:<p>
<ol>
<li>
topological model to be followed when performing migrations: <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td><a class="el" href="classRingTopology.html">RingTopology</a> migTopology; &nbsp; </td><td>// a simple ring topological model - each island communicates with two other islands </td></tr>
</table>
<p>
</li>
<li>
the continuation criterion, selection and replacement strategy etc. are defined: <br>
<br>
<table style="border:none; border-spacing:0px; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>eoPop&lt; EOT &gt; population( POP_SIZE, popInitializer ); &nbsp; </td><td>// population of individuals to be used for the evolutionary algorithm </td></tr>
<tr>
<td>&nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eoPeriodicContinue&lt; EOT &gt; migCont( MIG_FREQ ); &nbsp; </td><td>// migrations occur periodically at MIG_FREQ iterations </td></tr>
<tr>
<td>eoRandomSelect&lt; EOT &gt; migSelectStrategy; &nbsp; </td><td>// selection strategy - in this case a random selection is applied </td></tr>
<tr>
<td>eoSelectNumber&lt; EOT &gt; migSelect( migSelectStrategy, MIG_SIZE ); &nbsp; </td><td>// number of individuals to be selected using the specified strategy </td></tr>
<tr>
<td>eoPlusReplacement&lt; EOT &gt; migReplace; &nbsp; </td><td>// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals </td></tr>
<tr>
<td>&nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>peoAsyncIslandMig&lt; EOT &gt; asyncMigration( <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; migCont, migSelect, migReplace, migTopology, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; population, population <br>
); &nbsp; </td><td>// asynchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated </td></tr>
</table>
<p>
</li>
<li>
creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eoGenContinue&lt; EOT &gt; eaCont( NUM_GEN ); &nbsp; </td><td>// the evolutionary algorithm will stop after NUM_GEN generations </td></tr>
<tr>
<td>eoCheckPoint&lt; EOT &gt; eaCheckpointContinue( eaCont ); &nbsp; </td><td>// number of individuals to be selected using the specified strategy </td></tr>
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eaCheckpointContinue.add( asyncMigration ); &nbsp; </td><td>// adding the migration operator as checkpoint element </td></tr>
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
</table>
<p>
</li>
<li>
definition of an owner evolutionary algorithm (an object inheriting the <b><a class="el" href="classRunner.html">Runner</a></b> class): <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>peoEA&lt; EOT &gt; eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace); &nbsp; </td><td>// evolutionary algorithm having as checkpoint the eaCheckpointContinue object defined above </td></tr>
<tr>
<td>asyncMigration.setOwner( eaAlg ); &nbsp; </td><td>// setting the evolutionary algorithm as owner of the migration object </td></tr>
<tr>
<td>eaAlg( population ); &nbsp; </td><td>// applying the evolutionary algorithm on a given population </td></tr>
</table>
</li>
</ol>
<p>
The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.<p>
The above steps only create an asynchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them).
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classCooperative.html">Cooperative</a> <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a> </dd></dl>
<dl compact><dt><b>Version:</b></dt><dd>2.0 </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>january 2008 </dd></dl>
<p>
<p>
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00140">140</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e0f706cbf4148d3ca327227a5c7a9fdf"></a><!-- doxytag: member="peoAsyncIslandMig::peoAsyncIslandMig" ref="e0f706cbf4148d3ca327227a5c7a9fdf" args="(eoContinue&lt; EOT &gt; &amp;__cont, eoSelect&lt; EOT &gt; &amp;__select, eoReplacement&lt; EOT &gt; &amp;__replace, Topology &amp;__topology, eoPop&lt; EOT &gt; &amp;__source, eoPop&lt; EOT &gt; &amp;__destination)" -->
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00064">64</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e40ddd54734b018ab4e5c3f2bbd5a49c"></a><!-- doxytag: member="peoAsyncIslandMig::peoAsyncIslandMig" ref="e40ddd54734b018ab4e5c3f2bbd5a49c" args="(continuator &amp;__cont, selector&lt; TYPESELECT &gt; &amp;__select, replacement&lt; TYPEREPLACE &gt; &amp;__replace, Topology &amp;__topology)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
template&lt;class TYPESELECT, class TYPEREPLACE&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&lt; EOT &gt;::<a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> </td>
<td class="memname"><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&lt; TYPESELECT, TYPEREPLACE &gt;::<a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="el" href="classcontinuator.html">continuator</a> &amp;&nbsp;</td>
<td class="paramname"> <em>__cont</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__select</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__replace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td>
<td class="paramname"> <em>__topology</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__destination</em></td><td>&nbsp;</td>
<td class="paramname"> <em>__topology</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@ -247,58 +150,59 @@ template&lt;class EOT&gt; </div>
<div class="memdoc">
<p>
Constructor for the <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO</a>, etc., or custom, derived objects may be passed as parameters.
Constructor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoContinue&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __cont - continuation criterion specifying whether the migration is performed or not; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoSelect&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoReplacement&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __replace - replacement strategy used for integrating the immigrant individuals in the destination population; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>__topology - topological model to be followed when performing migrations; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __source - source population from which the emigrant individuals are selected; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __destination - destination population in which the immigrant population are integrated. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>continuator</em>&nbsp;</td><td>&amp; __cont </td></tr>
<tr><td valign="top"></td><td valign="top"><em>selector</em>&nbsp;</td><td>&lt;TYPE&gt; &amp; __select </td></tr>
<tr><td valign="top"></td><td valign="top"><em>replacement</em>&nbsp;</td><td>&lt;TYPE&gt; &amp; __replace </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>__topology </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00199">199</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00114">114</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.
<p>
References <a class="el" href="topology_8cpp-source.html#l00044">Topology::add()</a>.
References <a class="el" href="topology_8cpp-source.html#l00045">Topology::add()</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="13581e54425727a7f785ca8a6df527b5"></a><!-- doxytag: member="peoAsyncIslandMig::operator()" ref="13581e54425727a7f785ca8a6df527b5" args="()" -->
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="b7a4049f66f99f9e7ec5c785042ee06a"></a><!-- doxytag: member="peoAsyncIslandMig::cont" ref="b7a4049f66f99f9e7ec5c785042ee06a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
template&lt;class TYPESELECT, class TYPEREPLACE&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
<td class="memname"><a class="el" href="classcontinuator.html">continuator</a>&amp; <a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a>&lt; TYPESELECT, TYPEREPLACE &gt;::<a class="el" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">cont</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> operator to be called as checkpoint for performing the migration step.
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>continuator</em>&nbsp;</td><td>&amp; cont </td></tr>
<tr><td valign="top"></td><td valign="top"><em>selector</em>&nbsp;</td><td>&lt;TYPESELECT&gt; &amp; select </td></tr>
<tr><td valign="top"></td><td valign="top"><em>replacement</em>&nbsp;</td><td>&lt;TYPEREPLACE&gt; &amp; replace </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>topology </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; TYPEREPLACE &gt; imm </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; TYPESELECT &gt; em </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; Cooperative* &gt; coop_em </td></tr>
</table>
</dl>
<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.
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00104">104</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.
<p>
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#8b8f7f70edd96ec765c29357b373913d">eoF&lt; void &gt;</a>.
<p>
Definition at line <a class="el" href="peoAsyncIslandMig_8h-source.html#l00276">276</a> of file <a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a>.
<p>
References <a class="el" href="peoAsyncIslandMig_8h-source.html#l00182">peoAsyncIslandMig&lt; EOT &gt;::cont</a>, <a class="el" href="peoAsyncIslandMig_8h-source.html#l00242">peoAsyncIslandMig&lt; EOT &gt;::emigrate()</a>, <a class="el" href="peoAsyncIslandMig_8h-source.html#l00260">peoAsyncIslandMig&lt; EOT &gt;::immigrate()</a>, and <a class="el" href="peoAsyncIslandMig_8h-source.html#l00188">peoAsyncIslandMig&lt; EOT &gt;::source</a>.
Referenced by <a class="el" href="peoAsyncIslandMig_8h-source.html#l00186">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;::operator()()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoAsyncIslandMig_8h-source.html">peoAsyncIslandMig.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:44 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -35,7 +35,7 @@
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">peoAggEvalFunc::operator()</a>(A1, A2)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:45 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoNoAggEvalFunc&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoNoAggEvalFunc&lt; EOT &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -44,10 +44,9 @@
<a href="classpeoNoAggEvalFunc-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"><a class="anchor" name="1a69ee1af8745ac75c864bf884436de5"></a><!-- doxytag: member="peoNoAggEvalFunc::operator()" ref="1a69ee1af8745ac75c864bf884436de5" args="(EOT &amp;__sol, const typename EOT::Fitness &amp;__fit)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">operator()</a> (EOT &amp;__sol, const typename EOT::Fitness &amp;__fit)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">operator()</a> (EOT &amp;__sol, const typename EOT::Fitness &amp;__fit)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator which sets as fitness the <b>__fit</b> value for the <b>__sol</b> individual. <br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator which sets as fitness the <b>__fit</b> value for the <b>__sol</b> individual. <a href="#1a69ee1af8745ac75c864bf884436de5"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
@ -59,9 +58,51 @@ The class is provided as a mean of declaring that no aggregation is required for
<p>
<p>
Definition at line <a class="el" href="peoNoAggEvalFunc_8h-source.html#l00047">47</a> of file <a class="el" href="peoNoAggEvalFunc_8h-source.html">peoNoAggEvalFunc.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
Definition at line <a class="el" href="peoNoAggEvalFunc_8h-source.html#l00047">47</a> of file <a class="el" href="peoNoAggEvalFunc_8h-source.html">peoNoAggEvalFunc.h</a>.<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="1a69ee1af8745ac75c864bf884436de5"></a><!-- doxytag: member="peoNoAggEvalFunc::operator()" ref="1a69ee1af8745ac75c864bf884436de5" args="(EOT &amp;__sol, const typename EOT::Fitness &amp;__fit)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramtype">EOT &amp;&nbsp;</td>
<td class="paramname"> <em>__sol</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const typename EOT::Fitness &amp;&nbsp;</td>
<td class="paramname"> <em>__fit</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Operator which sets as fitness the <b>__fit</b> value for the <b>__sol</b> individual.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>EOT&amp;</em>&nbsp;</td><td>__sol </td></tr>
<tr><td valign="top"></td><td valign="top"><em>typename</em>&nbsp;</td><td>EOT :: Fitness&amp; __fit </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoNoAggEvalFunc_8h-source.html#l00059">59</a> of file <a class="el" href="peoNoAggEvalFunc_8h-source.html">peoNoAggEvalFunc.h</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoNoAggEvalFunc_8h-source.html">peoNoAggEvalFunc.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:45 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -30,31 +30,48 @@
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>peoPopEval&lt; EOT &gt; Member List</h1>This is the complete list of members for <a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">execute</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#05a85a265971d4b12f2f0014d33f705c">execute</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#fc64069be06fa835846ab2a7114c5374">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">notifySendingAllResourceRequests</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">notifySendingData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">merge_eval</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#8558f626aca54bdc3bbeb78c774ca4ef">no_merge_eval</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#b1e33394ba9797237cb8c7c1f410bd67">notifySendingAllResourceRequests</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#9708f67fc813d397de3d13830ed09820">notifySendingData</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#94e2012e76aaae3aa8199250f558d503">notifySendingResourceRequest</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#2f208067a5e39c3b26c1234050a41e8f">operator()</a>(eoPop&lt; EOT &gt; &amp;__pop)=0</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">packData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">num_func</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">one_func</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">operator()</a>(eoPop&lt; EOT &gt; &amp;__pop)</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#fd942c2b66f31c7d12a9ad48f1529a16">operator()</a>(eoPop&lt; EOT &gt; &amp;__dummy, eoPop&lt; EOT &gt; &amp;__pop)</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">eoPopEvalFunc::operator()</a>(A1, A2)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#95351dcd81d1bf878d839e52a02a902d">packData</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#c4289f98d1cd9ed53e850efbb6a947bd">packResourceRequest</a>()</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">packResult</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#9d0d10865d677c1ec84f496bed62a8c6">packResult</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval</a>(eoEvalFunc&lt; EOT &gt; &amp;__eval_func)</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#088822da7a0c92bc21574358d2e5f87c">peoPopEval</a>(const std::vector&lt; eoEvalFunc&lt; EOT &gt; * &gt; &amp;__funcs, peoAggEvalFunc&lt; EOT &gt; &amp;__merge_eval)</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#7e2ae35a9070a05dcd46488df649896d">requestResourceRequest</a>(unsigned __how_many=1)</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">setOwner</a>(Thread &amp;__owner)</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a></td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">unpackData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#45c06344edbfa482b91f68e2035a6099">unpackResult</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#cb256d94000a47af06d3e8a3f7ab0eff">unpackData</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoPopEval.html#f64aa1322e8e26f39143e1a6395206b6">unpackResult</a>()</td><td><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:45 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoPopEval&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoPopEval&lt; EOT &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -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>peoPopEval&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoPopEval" --><!-- doxytag: inherits="Service" -->The <b><a class="el" href="classpeoPopEval.html">peoPopEval</a></b> class provides the interface for constructing ParadisEO specific evaluation functors.
<h1>peoPopEval&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoPopEval" --><!-- doxytag: inherits="Service,eoPopEvalFunc" -->Parallel evaluation functor wrapper.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>&gt;</code>
@ -37,32 +37,460 @@
<p>Inheritance diagram for peoPopEval&lt; EOT &gt;:
<p><center><img src="classpeoPopEval.png" usemap="#peoPopEval< EOT >_map" border="0" alt=""></center>
<map name="peoPopEval< EOT >_map">
<area href="classService.html" alt="Service" shape="rect" coords="83,56,239,80">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="83,0,239,24">
<area href="classpeoParaPopEval.html" alt="peoParaPopEval< EOT >" shape="rect" coords="0,168,156,192">
<area href="classpeoSeqPopEval.html" alt="peoSeqPopEval< EOT >" shape="rect" coords="166,168,322,192">
<area href="classService.html" alt="Service" shape="rect" coords="0,112,151,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop_eval_func.html" alt="eoPopEvalFunc< EOT >" shape="rect" coords="161,112,312,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,151,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" alt="eoBF< A1, A2, R >" shape="rect" coords="161,56,312,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="161,0,312,24">
</map>
<a href="classpeoPopEval-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"><a class="anchor" name="2f208067a5e39c3b26c1234050a41e8f"></a><!-- doxytag: member="peoPopEval::operator()" ref="2f208067a5e39c3b26c1234050a41e8f" args="(eoPop&lt; EOT &gt; &amp;__pop)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#2f208067a5e39c3b26c1234050a41e8f">operator()</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__pop)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; EOT &gt; &amp;__eval_func)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor. <a href="#878297ba0de14593bd9cc03b2daf52df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#088822da7a0c92bc21574358d2e5f87c">peoPopEval</a> (const std::vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; EOT &gt; * &gt; &amp;__funcs, <a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&lt; EOT &gt; &amp;__merge_eval)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function. <a href="#088822da7a0c92bc21574358d2e5f87c"></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="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">operator()</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population. <a href="#593dd60fc004edea8994d5575bf66e05"></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="classpeoPopEval.html#fd942c2b66f31c7d12a9ad48f1529a16">operator()</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__dummy, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator ()( eoPop&lt; EOT &gt;&amp; __dummy, eoPop&lt; EOT &gt;&amp; __pop ). <a href="#fd942c2b66f31c7d12a9ad48f1529a16"></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="classpeoPopEval.html#95351dcd81d1bf878d839e52a02a902d">packData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. <a href="#95351dcd81d1bf878d839e52a02a902d"></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="classpeoPopEval.html#cb256d94000a47af06d3e8a3f7ab0eff">unpackData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. <a href="#cb256d94000a47af06d3e8a3f7ab0eff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05a85a265971d4b12f2f0014d33f705c"></a><!-- doxytag: member="peoPopEval::execute" ref="05a85a265971d4b12f2f0014d33f705c" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#05a85a265971d4b12f2f0014d33f705c">execute</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#9d0d10865d677c1ec84f496bed62a8c6">packResult</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. <a href="#9d0d10865d677c1ec84f496bed62a8c6"></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="classpeoPopEval.html#f64aa1322e8e26f39143e1a6395206b6">unpackResult</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. <a href="#f64aa1322e8e26f39143e1a6395206b6"></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="classpeoPopEval.html#9708f67fc813d397de3d13830ed09820">notifySendingData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. <a href="#9708f67fc813d397de3d13830ed09820"></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="classpeoPopEval.html#b1e33394ba9797237cb8c7c1f410bd67">notifySendingAllResourceRequests</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. <a href="#b1e33394ba9797237cb8c7c1f410bd67"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt;<br>
EOT &gt; * &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c563a67b776d97b25a05013ddc99921"></a><!-- doxytag: member="peoPopEval::one_func" ref="4c563a67b776d97b25a05013ddc99921" args="" -->
std::vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; EOT &gt; * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">one_func</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="765f1941fcb630b6ed5c4cf0e1e845f9"></a><!-- doxytag: member="peoPopEval::merge_eval" ref="765f1941fcb630b6ed5c4cf0e1e845f9" args="" -->
<a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">merge_eval</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8558f626aca54bdc3bbeb78c774ca4ef"></a><!-- doxytag: member="peoPopEval::no_merge_eval" ref="8558f626aca54bdc3bbeb78c774ca4ef" args="" -->
<a class="el" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a>&lt; EOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#8558f626aca54bdc3bbeb78c774ca4ef">no_merge_eval</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc1e9fba1a220550c332c70250f775cc"></a><!-- doxytag: member="peoPopEval::tasks" ref="fc1e9fba1a220550c332c70250f775cc" args="" -->
std::queue&lt; EOT * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25646d6ec0df9f281b17d96956d2201f"></a><!-- doxytag: member="peoPopEval::progression" ref="25646d6ec0df9f281b17d96956d2201f" args="" -->
std::map&lt; EOT *, std::pair&lt;<br>
unsigned, unsigned &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6753e36522ece615fb44f91b2986dc6"></a><!-- doxytag: member="peoPopEval::num_func" ref="a6753e36522ece615fb44f91b2986dc6" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">num_func</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2bb78c4092b2f57a70fa6f90354ea91"></a><!-- doxytag: member="peoPopEval::sol" ref="d2bb78c4092b2f57a70fa6f90354ea91" args="" -->
EOT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="140a0ffb2a481238dde05e7f0324d516"></a><!-- doxytag: member="peoPopEval::ad_sol" ref="140a0ffb2a481238dde05e7f0324d516" args="" -->
EOT *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83b38d0977e5c8666c5aa5293c53bb3e"></a><!-- doxytag: member="peoPopEval::total" ref="83b38d0977e5c8666c5aa5293c53bb3e" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface function providing the signature for constructing an evaluation functor. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
class peoPopEval&lt; EOT &gt;</h3>
The <b><a class="el" href="classpeoPopEval.html">peoPopEval</a></b> class provides the interface for constructing ParadisEO specific evaluation functors.
Parallel evaluation functor wrapper.
<p>
The derived classes may be used as wrappers for <b><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO</a></b>-derived evaluation functors. In order to have an example, please refer to the implementation of the <b><a class="el" href="classpeoSeqPopEval.html">peoSeqPopEval</a></b> and <b><a class="el" href="classpeoParaPopEval.html">peoParaPopEval</a></b> classes.
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classService.html">Service</a> <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop_eval_func.html">eoPopEvalFunc</a> </dd></dl>
<dl compact><dt><b>Version:</b></dt><dd>1.2 </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>2006 </dd></dl>
<p>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00047">47</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00053">53</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="878297ba0de14593bd9cc03b2daf52df"></a><!-- doxytag: member="peoPopEval::peoPopEval" ref="878297ba0de14593bd9cc03b2daf52df" args="(eoEvalFunc&lt; EOT &gt; &amp;__eval_func)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::<a class="el" href="classpeoPopEval.html">peoPopEval</a> </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__eval_func</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoEvalFunc&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __eval_func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00132">132</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00120">peoPopEval&lt; EOT &gt;::one_func</a>.
</div>
</div><p>
<a class="anchor" name="088822da7a0c92bc21574358d2e5f87c"></a><!-- doxytag: member="peoPopEval::peoPopEval" ref="088822da7a0c92bc21574358d2e5f87c" args="(const std::vector&lt; eoEvalFunc&lt; EOT &gt; * &gt; &amp;__funcs, peoAggEvalFunc&lt; EOT &gt; &amp;__merge_eval)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::<a class="el" href="classpeoPopEval.html">peoPopEval</a> </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; EOT &gt; * &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__funcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__merge_eval</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>const</em>&nbsp;</td><td>std :: vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt; EOT &gt;* &gt;&amp; __funcs - vector of EO-derived partial evaluation functors; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>peoAggEvalFunc&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __merge_eval - aggregation functor for creating a fitness value out of the partial fitness values. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00141">141</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="593dd60fc004edea8994d5575bf66e05"></a><!-- doxytag: member="peoPopEval::operator()" ref="593dd60fc004edea8994d5575bf66e05" args="(eoPop&lt; EOT &gt; &amp;__pop)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__pop</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __pop - population to be evaluated by applying the evaluation functor specified in the constructor. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00154">154</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00119">peoPopEval&lt; EOT &gt;::funcs</a>, <a class="el" href="peoPopEval_8h-source.html#l00124">peoPopEval&lt; EOT &gt;::progression</a>, <a class="el" href="rmc_2mpi_2service_8cpp-source.html#l00044">Service::requestResourceRequest()</a>, <a class="el" href="communicable_8cpp-source.html#l00094">Communicable::stop()</a>, <a class="el" href="peoPopEval_8h-source.html#l00123">peoPopEval&lt; EOT &gt;::tasks</a>, and <a class="el" href="peoPopEval_8h-source.html#l00128">peoPopEval&lt; EOT &gt;::total</a>.
<p>
Referenced by <a class="el" href="peoPopEval_8h-source.html#l00149">peoPopEval&lt; EOT &gt;::operator()()</a>.
</div>
</div><p>
<a class="anchor" name="fd942c2b66f31c7d12a9ad48f1529a16"></a><!-- doxytag: member="peoPopEval::operator()" ref="fd942c2b66f31c7d12a9ad48f1529a16" args="(eoPop&lt; EOT &gt; &amp;__dummy, eoPop&lt; EOT &gt; &amp;__pop)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__dummy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__pop</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Operator ()( eoPop&lt; EOT &gt;&amp; __dummy, eoPop&lt; EOT &gt;&amp; __pop ).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __dummy </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __pop </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00149">149</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00154">peoPopEval&lt; EOT &gt;::operator()()</a>.
</div>
</div><p>
<a class="anchor" name="95351dcd81d1bf878d839e52a02a902d"></a><!-- doxytag: member="peoPopEval::packData" ref="95351dcd81d1bf878d839e52a02a902d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::packData </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00176">176</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00124">peoPopEval&lt; EOT &gt;::progression</a>, and <a class="el" href="peoPopEval_8h-source.html#l00123">peoPopEval&lt; EOT &gt;::tasks</a>.
</div>
</div><p>
<a class="anchor" name="cb256d94000a47af06d3e8a3f7ab0eff"></a><!-- doxytag: member="peoPopEval::unpackData" ref="cb256d94000a47af06d3e8a3f7ab0eff" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::unpackData </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00190">190</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00127">peoPopEval&lt; EOT &gt;::ad_sol</a>, <a class="el" href="peoPopEval_8h-source.html#l00125">peoPopEval&lt; EOT &gt;::num_func</a>, and <a class="el" href="peoPopEval_8h-source.html#l00126">peoPopEval&lt; EOT &gt;::sol</a>.
</div>
</div><p>
<a class="anchor" name="9d0d10865d677c1ec84f496bed62a8c6"></a><!-- doxytag: member="peoPopEval::packResult" ref="9d0d10865d677c1ec84f496bed62a8c6" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::packResult </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00208">208</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00127">peoPopEval&lt; EOT &gt;::ad_sol</a>, and <a class="el" href="peoPopEval_8h-source.html#l00126">peoPopEval&lt; EOT &gt;::sol</a>.
</div>
</div><p>
<a class="anchor" name="f64aa1322e8e26f39143e1a6395206b6"></a><!-- doxytag: member="peoPopEval::unpackResult" ref="f64aa1322e8e26f39143e1a6395206b6" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::unpackResult </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#45c06344edbfa482b91f68e2035a6099">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00217">217</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="peoPopEval_8h-source.html#l00127">peoPopEval&lt; EOT &gt;::ad_sol</a>, <a class="el" href="core_2service_8cpp-source.html#l00045">Service::getOwner()</a>, <a class="el" href="peoPopEval_8h-source.html#l00121">peoPopEval&lt; EOT &gt;::merge_eval</a>, <a class="el" href="peoPopEval_8h-source.html#l00124">peoPopEval&lt; EOT &gt;::progression</a>, <a class="el" href="communicable_8cpp-source.html#l00099">Communicable::resume()</a>, <a class="el" href="thread_8cpp-source.html#l00059">Thread::setActive()</a>, and <a class="el" href="peoPopEval_8h-source.html#l00128">peoPopEval&lt; EOT &gt;::total</a>.
</div>
</div><p>
<a class="anchor" name="9708f67fc813d397de3d13830ed09820"></a><!-- doxytag: member="peoPopEval::notifySendingData" ref="9708f67fc813d397de3d13830ed09820" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::notifySendingData </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00250">250</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
</div>
</div><p>
<a class="anchor" name="b1e33394ba9797237cb8c7c1f410bd67"></a><!-- doxytag: member="peoPopEval::notifySendingAllResourceRequests" ref="b1e33394ba9797237cb8c7c1f410bd67" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::notifySendingAllResourceRequests </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
<p>
There is no need to explicitly call the function.
<p>
Reimplemented from <a class="el" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">Service</a>.
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00254">254</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
References <a class="el" href="core_2service_8cpp-source.html#l00045">Service::getOwner()</a>, and <a class="el" href="thread_8cpp-source.html#l00070">Thread::setPassive()</a>.
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="5862b3661c5b0531d55870b5f3881d1e"></a><!-- doxytag: member="peoPopEval::funcs" ref="5862b3661c5b0531d55870b5f3881d1e" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">const std :: vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt; EOT &gt;* &gt;&amp; <a class="el" href="classpeoPopEval.html">peoPopEval</a>&lt; EOT &gt;::<a class="el" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt; EOT &gt;* &gt;&amp; funcs </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: vector&lt; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt; EOT &gt;* &gt; one_func </td></tr>
<tr><td valign="top"></td><td valign="top"><em>peoAggEvalFunc&lt;</em>&nbsp;</td><td>EOT &gt;&amp; merge_eval </td></tr>
<tr><td valign="top"></td><td valign="top"><em>peoNoAggEvalFunc&lt;</em>&nbsp;</td><td>EOT &gt; no_merge_eval </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; EOT* &gt;tasks </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: map&lt; EOT*, std :: pair&lt; unsigned, unsigned &gt; &gt; progression </td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>num_func </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EOT</em>&nbsp;</td><td>sol </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EOT</em>&nbsp;</td><td>*ad_sol </td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>total </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoPopEval_8h-source.html#l00119">119</a> of file <a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a>.
<p>
Referenced by <a class="el" href="peoPopEval_8h-source.html#l00200">peoPopEval&lt; EOT &gt;::execute()</a>, and <a class="el" href="peoPopEval_8h-source.html#l00154">peoPopEval&lt; EOT &gt;::operator()()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoPopEval_8h-source.html">peoPopEval.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:45 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,46 +29,55 @@
<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; Member List</h1>This is the complete list of members for <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a>, including all inherited members.<p><table>
<h1>peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Member List</h1>This is the complete list of members for <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#d24e769249a861468a0c0e113d1208bb">addTo</a>(eoCheckPoint&lt; EOT &gt; &amp;cp)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">all</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#362659613082a328a9a1fac94cc2a120">className</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">cont</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">destination</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">emigrate</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">cont</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">emigrate</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#2e9f6291a5516a275953520ca592ec20">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">immigrate</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">immigrate</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">in</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html#5a1ee902b561f1ccd1ee01fe45bdea2a">lastCall</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#8c427b3f91c19ff85f86930366b96008">notifySending</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#178476fd276f78b73607b33d19522c36">operator()</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad">pack</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">peoSyncIslandMig</a>(unsigned __frequency, eoSelect&lt; EOT &gt; &amp;__select, eoReplacement&lt; EOT &gt; &amp;__replace, Topology &amp;__topology, eoPop&lt; EOT &gt; &amp;__source, eoPop&lt; EOT &gt; &amp;__destination)</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">replace</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#75aacd3f7ffbc302c69addc342f45b8f">notifyReceiving</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#5f403428cea887b07caf27ab265ebe03">notifySending</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#92fef53496f935fe450589f90aec7d72">notifySendingSyncReq</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#0abd0c5872195cea0cab4988f9a4ea4e">notifySynchronized</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#0fd5b3b4e467ee33ae0186c0ae9d58ef">operator()</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88">pack</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#956f56110bccff8c8fae4b05aa804d32">packSynchronizeReq</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#24f4d1ea8bb63c09b9d6cd8476014082">peoSyncIslandMig</a>(unsigned __frequency, selector&lt; TYPESELECT &gt; &amp;__select, replacement&lt; TYPEREPLACE &gt; &amp;__replace, Topology &amp;__topology)</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">replace</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#ce124173b1bde24e846c8095e5bf060b">result_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">select</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">select</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>(Cooperative *__coop)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#fe7b022567174c8305bc78d8c5749b12">setOwner</a>(Runner &amp;__runner)</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">topology</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a>()</td><td><a class="el" href="classCooperative.html">Cooperative</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">topology</a></td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1">unpack</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5">unpack</a>()</td><td><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#178dc5a2f684f488c806089dec9ae84b">~eoF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:46 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoSyncIslandMig&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,185 +29,130 @@
<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,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.
<h1>peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; Class Template Reference</h1><!-- doxytag: class="peoSyncIslandMig" --><!-- doxytag: inherits="Cooperative,eoUpdater" -->Specific class for a synchronous migration.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>&gt;</code>
<p>
<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,112,165,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html" alt="eoF< void >" shape="rect" coords="175,56,340,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="175,0,340,24">
<p>Inheritance diagram for peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;:
<p><center><img src="classpeoSyncIslandMig.png" usemap="#peoSyncIslandMig< TYPESELECT, TYPEREPLACE >_map" border="0" alt=""></center>
<map name="peoSyncIslandMig< TYPESELECT, TYPEREPLACE >_map">
<area href="classCooperative.html" alt="Cooperative" shape="rect" coords="0,112,317,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html" alt="eoUpdater" shape="rect" coords="327,112,644,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,317,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html" alt="eoF< void >" shape="rect" coords="327,56,644,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="327,0,644,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, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;__select, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__source, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&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#24f4d1ea8bb63c09b9d6cd8476014082">peoSyncIslandMig</a> (unsigned __frequency, <a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;__select, <a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;__replace, <a class="el" href="classTopology.html">Topology</a> &amp;__topology)</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:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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">Constructor. <a href="#24f4d1ea8bb63c09b9d6cd8476014082"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fd5b3b4e467ee33ae0186c0ae9d58ef"></a><!-- doxytag: member="peoSyncIslandMig::operator()" ref="0fd5b3b4e467ee33ae0186c0ae9d58ef" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#0fd5b3b4e467ee33ae0186c0ae9d58ef">operator()</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2daadf9928b8075ea469ca3cc49ddc88"></a><!-- doxytag: member="peoSyncIslandMig::pack" ref="2daadf9928b8075ea469ca3cc49ddc88" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88">pack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85777bd9f709c5d4107799e8619948d1"></a><!-- doxytag: member="peoSyncIslandMig::unpack" ref="85777bd9f709c5d4107799e8619948d1" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1">unpack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> realizing packages. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25bc1a03cc49e17dda34b6647df1f9c5"></a><!-- doxytag: member="peoSyncIslandMig::unpack" ref="25bc1a03cc49e17dda34b6647df1f9c5" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5">unpack</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c427b3f91c19ff85f86930366b96008"></a><!-- doxytag: member="peoSyncIslandMig::notifySending" ref="8c427b3f91c19ff85f86930366b96008" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#8c427b3f91c19ff85f86930366b96008">notifySending</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> reconstituting packages. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="956f56110bccff8c8fae4b05aa804d32"></a><!-- doxytag: member="peoSyncIslandMig::packSynchronizeReq" ref="956f56110bccff8c8fae4b05aa804d32" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#956f56110bccff8c8fae4b05aa804d32">packSynchronizeReq</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function dealing with migration notifications. There is no need to explicitly call the function. <br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> packSynchronizeReq. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f403428cea887b07caf27ab265ebe03"></a><!-- doxytag: member="peoSyncIslandMig::notifySending" ref="5f403428cea887b07caf27ab265ebe03" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#5f403428cea887b07caf27ab265ebe03">notifySending</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> notifySending. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75aacd3f7ffbc302c69addc342f45b8f"></a><!-- doxytag: member="peoSyncIslandMig::notifyReceiving" ref="75aacd3f7ffbc302c69addc342f45b8f" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#75aacd3f7ffbc302c69addc342f45b8f">notifyReceiving</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> notifyReceiving. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92fef53496f935fe450589f90aec7d72"></a><!-- doxytag: member="peoSyncIslandMig::notifySendingSyncReq" ref="92fef53496f935fe450589f90aec7d72" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#92fef53496f935fe450589f90aec7d72">notifySendingSyncReq</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">notifySendingSyncReq <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0abd0c5872195cea0cab4988f9a4ea4e"></a><!-- doxytag: member="peoSyncIslandMig::notifySynchronized" ref="0abd0c5872195cea0cab4988f9a4ea4e" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#0abd0c5872195cea0cab4988f9a4ea4e">notifySynchronized</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">notifySynchronized <br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c8416e3acce1a6e4c3b0a442d94b063"></a><!-- doxytag: member="peoSyncIslandMig::emigrate" ref="4c8416e3acce1a6e4c3b0a442d94b063" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">emigrate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ab202cb311f67fdc827078b3bdfddf4"></a><!-- doxytag: member="peoSyncIslandMig::emigrate" ref="3ab202cb311f67fdc827078b3bdfddf4" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">emigrate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38dd72312a3d16808af1aa7beb9ed4a7"></a><!-- doxytag: member="peoSyncIslandMig::immigrate" ref="38dd72312a3d16808af1aa7beb9ed4a7" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">immigrate</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="baed2215bf06f96aacf06b5abff79f28"></a><!-- doxytag: member="peoSyncIslandMig::immigrate" ref="baed2215bf06f96aacf06b5abff79f28" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">immigrate</a> ()</td></tr>
<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="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="el" href="classeoSyncContinue.html">eoSyncContinue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">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="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="a399c2533598dc8018eb2ab2edabd6b9"></a><!-- doxytag: member="peoSyncIslandMig::select" ref="a399c2533598dc8018eb2ab2edabd6b9" args="" -->
<a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">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="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="34b69e0a2fa12ef0f6101c7d04ebc3ef"></a><!-- doxytag: member="peoSyncIslandMig::replace" ref="34b69e0a2fa12ef0f6101c7d04ebc3ef" args="" -->
<a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">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="7376532c3a8bcab88a02601611db9f2f"></a><!-- doxytag: member="peoSyncIslandMig::topology" ref="7376532c3a8bcab88a02601611db9f2f" args="" -->
<a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">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="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="4c734df065099cfd5693d35fae38ad29"></a><!-- doxytag: member="peoSyncIslandMig::imm" ref="4c734df065099cfd5693d35fae38ad29" args="" -->
std::queue&lt; TYPEREPLACE &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</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="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="b96f8caff26498798eb0e4c114ee5d9a"></a><!-- doxytag: member="peoSyncIslandMig::em" ref="b96f8caff26498798eb0e4c114ee5d9a" args="" -->
std::queue&lt; TYPESELECT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</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; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="ad56e3475d8ea7a83007c2e32c7da6a8"></a><!-- doxytag: member="peoSyncIslandMig::coop_em" ref="ad56e3475d8ea7a83007c2e32c7da6a8" 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#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</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; <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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="9431b7e1d629f238cd5f990d02926480"></a><!-- doxytag: member="peoSyncIslandMig::sync" ref="9431b7e1d629f238cd5f990d02926480" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</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>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="253dfbfebfadad0b4f49e60bb811b1db"></a><!-- doxytag: member="peoSyncIslandMig::explicitPassive" ref="253dfbfebfadad0b4f49e60bb811b1db" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91e0e1ea59c2a6a66eb496bddd60a18f"></a><!-- doxytag: member="peoSyncIslandMig::sync" ref="91e0e1ea59c2a6a66eb496bddd60a18f" args="" -->
sem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5d64ff9718b746d2307379fb061ad96"></a><!-- doxytag: member="peoSyncIslandMig::standbyMigration" ref="e5d64ff9718b746d2307379fb061ad96" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6274e5185b6b7579dea71da3138d9d23"></a><!-- doxytag: member="peoSyncIslandMig::in" ref="6274e5185b6b7579dea71da3138d9d23" args="" -->
std::vector&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">in</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="daae2fea2f447d35927e18a8f008a45d"></a><!-- doxytag: member="peoSyncIslandMig::out" ref="daae2fea2f447d35927e18a8f008a45d" args="" -->
std::vector&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2760dde833d7141ca86affb4df0fb163"></a><!-- doxytag: member="peoSyncIslandMig::all" ref="2760dde833d7141ca86affb4df0fb163" args="" -->
std::vector&lt; <a class="el" href="classCooperative.html">Cooperative</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">all</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdd55a0ab14d659a2a68674a05ed8a1d"></a><!-- doxytag: member="peoSyncIslandMig::nbMigrations" ref="cdd55a0ab14d659a2a68674a05ed8a1d" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
class peoSyncIslandMig&lt; EOT &gt;</h3>
<h3>template&lt;class TYPESELECT, class TYPEREPLACE&gt;<br>
class peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</h3>
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.
Specific class for a synchronous migration.
<p>
frequency of the migrations, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. The main difference as opposed to the asynchronous migration model is the synchronization step performed after selecting and sending the emigrant individuals.<p>
The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:<p>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td><b>do</b> { &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select( population, offsprings ); &nbsp; </td><td>// select the offsprings from the current population </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transform( offsprings ); &nbsp; </td><td>// crossover and mutation operators are applied on the selected offsprings </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evaluate( offsprings ); &nbsp; </td><td>// evaluation step of the resulting offspring </td></tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; replace( population, offsprings ); &nbsp; </td><td>// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy </td></tr>
<tr>
<td>} <b>while</b> ( eaCheckpointContinue( population ) ); &nbsp; </td><td>// checkpoint operators are applied on the current population, including the migration operator, if any specified </td></tr>
</table>
<p>
Constructing a synchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the <b><a class="el" href="classRunner.html">Runner</a></b> class (for example a <a class="el" href="classpeoEA.html">peoEA</a> object represents a possible owner). A simple example is offered bellow:<p>
<ol>
<li>
topological model to be followed when performing migrations: <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td><a class="el" href="classRingTopology.html">RingTopology</a> migTopology; &nbsp; </td><td>// a simple ring topological model - each island communicates with two other islands </td></tr>
</table>
<p>
</li>
<li>
the continuation criterion, selection and replacement strategy etc. are defined: <br>
<br>
<table style="border:none; border-spacing:0px; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>eoPop&lt; EOT &gt; population( POP_SIZE, popInitializer ); &nbsp; </td><td>// population of individuals to be used for the evolutionary algorithm </td></tr>
<tr>
<td>&nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eoRandomSelect&lt; EOT &gt; migSelectStrategy; &nbsp; </td><td>// selection strategy - in this case a random selection is applied </td></tr>
<tr>
<td>eoSelectNumber&lt; EOT &gt; migSelect( migSelectStrategy, MIG_SIZE ); &nbsp; </td><td>// number of individuals to be selected using the specified strategy </td></tr>
<tr>
<td>eoPlusReplacement&lt; EOT &gt; migReplace; &nbsp; </td><td>// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals </td></tr>
<tr>
<td>&nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>peoSyncIslandMig&lt; EOT &gt; syncMigration( <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MIG_FREQ, migSelect, migReplace, migTopology, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; population, population <br>
); &nbsp; </td><td>// synchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated </td></tr>
</table>
<p>
</li>
<li>
creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eoGenContinue&lt; EOT &gt; eaCont( NUM_GEN ); &nbsp; </td><td>// the evolutionary algorithm will stop after NUM_GEN generations </td></tr>
<tr>
<td>eoCheckPoint&lt; EOT &gt; eaCheckpointContinue( eaCont ); &nbsp; </td><td>// number of individuals to be selected using the specified strategy </td></tr>
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
<tr>
<td>eaCheckpointContinue.add( syncMigration ); &nbsp; </td><td>// adding the migration operator as checkpoint element </td></tr>
<tr>
<td>... &nbsp; </td><td>&nbsp; </td></tr>
</table>
<p>
</li>
<li>
definition of an owner evolutionary algorithm (an object inheriting the <b><a class="el" href="classRunner.html">Runner</a></b> class): <br>
<br>
<table style="border:none; border-spacing:0px;text-align:left; vertical-align:top; font-size:8pt;" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>peoEA&lt; EOT &gt; eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace); &nbsp; </td><td>// evolutionary algorithm having as checkpoint the eaCheckpointContinue object defined above </td></tr>
<tr>
<td>syncMigration.setOwner( eaAlg ); &nbsp; </td><td>// setting the evolutionary algorithm as owner of the migration object </td></tr>
<tr>
<td>eaAlg( population ); &nbsp; </td><td>// applying the evolutionary algorithm on a given population </td></tr>
</table>
</li>
</ol>
<p>
The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.<p>
The above steps only create a synchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them).
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classCooperative.html">Cooperative</a> <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a> </dd></dl>
<dl compact><dt><b>Version:</b></dt><dd>2.0 </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>january 2008 </dd></dl>
<p>
<p>
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00142">142</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="96b7b6de20b5e318a8b1cde76842305c"></a><!-- doxytag: member="peoSyncIslandMig::peoSyncIslandMig" ref="96b7b6de20b5e318a8b1cde76842305c" args="(unsigned __frequency, eoSelect&lt; EOT &gt; &amp;__select, eoReplacement&lt; EOT &gt; &amp;__replace, Topology &amp;__topology, eoPop&lt; EOT &gt; &amp;__source, eoPop&lt; EOT &gt; &amp;__destination)" -->
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00071">71</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="24f4d1ea8bb63c09b9d6cd8476014082"></a><!-- doxytag: member="peoSyncIslandMig::peoSyncIslandMig" ref="24f4d1ea8bb63c09b9d6cd8476014082" args="(unsigned __frequency, selector&lt; TYPESELECT &gt; &amp;__select, replacement&lt; TYPEREPLACE &gt; &amp;__replace, Topology &amp;__topology)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
template&lt;class TYPESELECT, class TYPEREPLACE&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&lt; EOT &gt;::<a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> </td>
<td class="memname"><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&lt; TYPESELECT, TYPEREPLACE &gt;::<a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> </td>
<td>(</td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>__frequency</em>, </td>
@ -215,32 +160,20 @@ template&lt;class EOT&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="el" href="classselector.html">selector</a>&lt; TYPESELECT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__select</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramtype"><a class="el" href="classreplacement.html">replacement</a>&lt; TYPEREPLACE &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__replace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classTopology.html">Topology</a> &amp;&nbsp;</td>
<td class="paramname"> <em>__topology</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/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"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__destination</em></td><td>&nbsp;</td>
<td class="paramname"> <em>__topology</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@ -252,58 +185,64 @@ 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 <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO</a>, etc., or custom, derived objects may be passed as parameters.
Constructor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>__frequency - frequency of the migrations - the migrations occur periodically; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoSelect&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoReplacement&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __replace - replacement strategy used for integrating the immigrant individuals in the destination population; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>__topology - topological model to be followed when performing migrations; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __source - source population from which the emigrant individuals are selected; </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __destination - destination population in which the immigrant population are integrated. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>__frequency </td></tr>
<tr><td valign="top"></td><td valign="top"><em>selector</em>&nbsp;</td><td>&lt;TYPESELECT&gt; &amp; __select </td></tr>
<tr><td valign="top"></td><td valign="top"><em>replacement</em>&nbsp;</td><td>&lt;TYPEREPLACE&gt; &amp; __replace </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>__topology </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00206">206</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00139">139</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.
<p>
References <a class="el" href="topology_8cpp-source.html#l00044">Topology::add()</a>, and <a class="el" href="peoSyncIslandMig_8h-source.html#l00202">peoSyncIslandMig&lt; EOT &gt;::sync</a>.
References <a class="el" href="topology_8cpp-source.html#l00045">Topology::add()</a>, and <a class="el" href="peoSyncIslandMig_8h-source.html#l00131">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;::sync</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="178476fd276f78b73607b33d19522c36"></a><!-- doxytag: member="peoSyncIslandMig::operator()" ref="178476fd276f78b73607b33d19522c36" args="()" -->
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="a64e7c9da149773c5d264d128a1ea37a"></a><!-- doxytag: member="peoSyncIslandMig::cont" ref="a64e7c9da149773c5d264d128a1ea37a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
template&lt;class TYPESELECT, class TYPEREPLACE&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
<td class="memname"><a class="el" href="classeoSyncContinue.html">eoSyncContinue</a> <a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a>&lt; TYPESELECT, TYPEREPLACE &gt;::<a class="el" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">cont</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> operator to be called as checkpoint for performing the migration step.
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classeoSyncContinue.html">eoSyncContinue</a></em>&nbsp;</td><td>cont </td></tr>
<tr><td valign="top"></td><td valign="top"><em>selector</em>&nbsp;</td><td>&lt;TYPESELECT&gt; &amp; select </td></tr>
<tr><td valign="top"></td><td valign="top"><em>replacement</em>&nbsp;</td><td>&lt;TYPEREPLACE&gt; &amp; replace </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Topology&amp;</em>&nbsp;</td><td>topology </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; TYPEREPLACE &gt; imm </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; TYPESELECT &gt; em </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: queue&lt; Cooperative* &gt; coop_em </td></tr>
<tr><td valign="top"></td><td valign="top"><em>sem_t</em>&nbsp;</td><td>sync </td></tr>
<tr><td valign="top"></td><td valign="top"><em>bool</em>&nbsp;</td><td>explicitPassive </td></tr>
<tr><td valign="top"></td><td valign="top"><em>bool</em>&nbsp;</td><td>standbyMigration </td></tr>
<tr><td valign="top"></td><td valign="top"><em>std</em>&nbsp;</td><td>:: vector&lt; Cooperative* &gt; in, out, all </td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>nbMigrations </td></tr>
</table>
</dl>
<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.
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00124">124</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.
<p>
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html#8b8f7f70edd96ec765c29357b373913d">eoF&lt; void &gt;</a>.
<p>
Definition at line <a class="el" href="peoSyncIslandMig_8h-source.html#l00280">280</a> of file <a class="el" href="peoSyncIslandMig_8h-source.html">peoSyncIslandMig.h</a>.
<p>
References <a class="el" href="peoSyncIslandMig_8h-source.html#l00187">peoSyncIslandMig&lt; EOT &gt;::cont</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00250">peoSyncIslandMig&lt; EOT &gt;::emigrate()</a>, <a class="el" href="coop_8cpp-source.html#l00044">Cooperative::getOwner()</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00267">peoSyncIslandMig&lt; EOT &gt;::immigrate()</a>, <a class="el" href="thread_8cpp-source.html#l00058">Thread::setActive()</a>, <a class="el" href="peoSyncIslandMig_8h-source.html#l00193">peoSyncIslandMig&lt; EOT &gt;::source</a>, <a class="el" href="communicable_8cpp-source.html#l00087">Communicable::stop()</a>, and <a class="el" href="peoSyncIslandMig_8h-source.html#l00202">peoSyncIslandMig&lt; EOT &gt;::sync</a>.
Referenced by <a class="el" href="peoSyncIslandMig_8h-source.html#l00203">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;::operator()()</a>.
</div>
</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 Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:46 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Member List</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -31,20 +31,31 @@
</ul></div>
<h1>peoTransform&lt; EOT &gt; Member List</h1>This is the complete list of members for <a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">execute</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">cross</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">cross_rate</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#85c2cbc76f803b2b5cb2bc8cbc214136">execute</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#cbcdc56d1ffcab42c6dbd8b449b5f4c8">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; A1, R &gt;</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">notifySendingAllResourceRequests</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">notifySendingData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">mut</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">mut_rate</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#19990af963b6604d1175290fe6725335">notifySendingAllResourceRequests</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#77508f186476181ec2c6a8230961eede">notifySendingData</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#94e2012e76aaae3aa8199250f558d503">notifySendingResourceRequest</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">operator()</a>(A1)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; A1, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">packData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#9322aa28ad272289132e342624a0adb4">operator()</a>(eoPop&lt; EOT &gt; &amp;__pop)</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">eoTransform::operator()</a>(A1)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; A1, R &gt;</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#c1101d10a36ce4255b874bcd9725021e">packData</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#c4289f98d1cd9ed53e850efbb6a947bd">packResourceRequest</a>()</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">packResult</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#bdae056027406ba9f489e2bef115fd08">packResult</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#755989a2d080903d0cade75643de0788">peoTransform</a>(eoQuadOp&lt; EOT &gt; &amp;__cross, double __cross_rate, eoMonOp&lt; EOT &gt; &amp;__mut, double __mut_rate)</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a></td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#7e2ae35a9070a05dcd46488df649896d">requestResourceRequest</a>(unsigned __how_many=1)</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a></td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [protected]</code></td></tr>
@ -52,12 +63,12 @@
<tr class="memlist"><td><a class="el" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">setOwner</a>(Thread &amp;__owner)</td><td><a class="el" href="classService.html">Service</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">unpackData</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classService.html#45c06344edbfa482b91f68e2035a6099">unpackResult</a>()</td><td><a class="el" href="classService.html">Service</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#a804631492e08053162a196877587aef">unpackData</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classpeoTransform.html#e0244425e846c5679c901b61e4252814">unpackResult</a>()</td><td><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~Communicable</a>()</td><td><a class="el" href="classCommunicable.html">Communicable</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#ed542967512c7a8f2ba6472a0c5c128d">~eoUF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; A1, R &gt;</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:46 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoTransform&lt; EOT &gt; Class Template Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoTransform&lt; EOT &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -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>peoTransform&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoTransform" --><!-- doxytag: inherits="Service,eoTransform" -->The <a class="el" href="classpeoTransform.html">peoTransform</a> class acts only as an interface for creating transform operators - for an example please refer to the <b><a class="el" href="classpeoSeqTransform.html">peoSeqTransform</a></b> and the <b><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform</a></b> classes.
<h1>peoTransform&lt; EOT &gt; Class Template Reference</h1><!-- doxytag: class="peoTransform" --><!-- doxytag: inherits="Service,eoTransform" -->Class for a parallel transform.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>&gt;</code>
@ -37,28 +37,218 @@
<p>Inheritance diagram for peoTransform&lt; EOT &gt;:
<p><center><img src="classpeoTransform.png" usemap="#peoTransform< EOT >_map" border="0" alt=""></center>
<map name="peoTransform< EOT >_map">
<area href="classService.html" alt="Service" shape="rect" coords="0,112,192,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html" alt="eoTransform< EOT >" shape="rect" coords="202,112,394,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,192,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="202,56,394,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="202,0,394,24">
<area href="classpeoParaSGATransform.html" alt="peoParaSGATransform< EOT >" shape="rect" coords="0,224,192,248">
<area href="classpeoSeqTransform.html" alt="peoSeqTransform< EOT >" shape="rect" coords="202,224,394,248">
<area href="classService.html" alt="Service" shape="rect" coords="0,112,139,136">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html" alt="eoTransform< EOT >" shape="rect" coords="149,112,288,136">
<area href="classCommunicable.html" alt="Communicable" shape="rect" coords="0,56,139,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="149,56,288,80">
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="149,0,288,24">
</map>
<a href="classpeoTransform-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="classpeoTransform.html#755989a2d080903d0cade75643de0788">peoTransform</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; EOT &gt; &amp;__cross, double __cross_rate, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a>&lt; EOT &gt; &amp;__mut, double __mut_rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#755989a2d080903d0cade75643de0788"></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="classpeoTransform.html#9322aa28ad272289132e342624a0adb4">operator()</a> (<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;__pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator. <a href="#9322aa28ad272289132e342624a0adb4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1101d10a36ce4255b874bcd9725021e"></a><!-- doxytag: member="peoTransform::packData" ref="c1101d10a36ce4255b874bcd9725021e" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#c1101d10a36ce4255b874bcd9725021e">packData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> realizing packages of data. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a804631492e08053162a196877587aef"></a><!-- doxytag: member="peoTransform::unpackData" ref="a804631492e08053162a196877587aef" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#a804631492e08053162a196877587aef">unpackData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> reconstituting packages of data. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85c2cbc76f803b2b5cb2bc8cbc214136"></a><!-- doxytag: member="peoTransform::execute" ref="85c2cbc76f803b2b5cb2bc8cbc214136" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#85c2cbc76f803b2b5cb2bc8cbc214136">execute</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> which executes the algorithm. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bdae056027406ba9f489e2bef115fd08"></a><!-- doxytag: member="peoTransform::packResult" ref="bdae056027406ba9f489e2bef115fd08" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#bdae056027406ba9f489e2bef115fd08">packResult</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> realizing packages of the result. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0244425e846c5679c901b61e4252814"></a><!-- doxytag: member="peoTransform::unpackResult" ref="e0244425e846c5679c901b61e4252814" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#e0244425e846c5679c901b61e4252814">unpackResult</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> reconstituting packages of result. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77508f186476181ec2c6a8230961eede"></a><!-- doxytag: member="peoTransform::notifySendingData" ref="77508f186476181ec2c6a8230961eede" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#77508f186476181ec2c6a8230961eede">notifySendingData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> notifySendingData. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19990af963b6604d1175290fe6725335"></a><!-- doxytag: member="peoTransform::notifySendingAllResourceRequests" ref="19990af963b6604d1175290fe6725335" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#19990af963b6604d1175290fe6725335">notifySendingAllResourceRequests</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/struct_function.html">Function</a> notifySendingAllResourceRequests. <br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">cross</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3336251fb3433a8405ea75f3a8bed04d"></a><!-- doxytag: member="peoTransform::cross_rate" ref="3336251fb3433a8405ea75f3a8bed04d" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">cross_rate</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d1ea5c8a6aa95bf051051361908a9c6"></a><!-- doxytag: member="peoTransform::mut" ref="3d1ea5c8a6aa95bf051051361908a9c6" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a>&lt; EOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">mut</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b0802dfc4a3ec664c8fccf10bb1842a"></a><!-- doxytag: member="peoTransform::mut_rate" ref="0b0802dfc4a3ec664c8fccf10bb1842a" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">mut_rate</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0acac288337aec3d0d853565924a365d"></a><!-- doxytag: member="peoTransform::idx" ref="0acac288337aec3d0d853565924a365d" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0916042d3500452082ad19fd5ce5e161"></a><!-- doxytag: member="peoTransform::pop" ref="0916042d3500452082ad19fd5ce5e161" args="" -->
<a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88c563f77e5c25b70b6cb619ec97185f"></a><!-- doxytag: member="peoTransform::father" ref="88c563f77e5c25b70b6cb619ec97185f" args="" -->
EOT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c754343fa9a3580632d6b9e8f1bafaa"></a><!-- doxytag: member="peoTransform::mother" ref="5c754343fa9a3580632d6b9e8f1bafaa" args="" -->
EOT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a02c2c2de16c5825058e06d146c5cd9"></a><!-- doxytag: member="peoTransform::num_term" ref="6a02c2c2de16c5825058e06d146c5cd9" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
class peoTransform&lt; EOT &gt;</h3>
The <a class="el" href="classpeoTransform.html">peoTransform</a> class acts only as an interface for creating transform operators - for an example please refer to the <b><a class="el" href="classpeoSeqTransform.html">peoSeqTransform</a></b> and the <b><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform</a></b> classes.
Class for a parallel transform.
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classService.html">Service</a> <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html">eoTransform</a> </dd></dl>
<dl compact><dt><b>Version:</b></dt><dd>1.1 </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>january 2008 </dd></dl>
<p>
<p>
Definition at line <a class="el" href="peoTransform_8h-source.html#l00048">48</a> of file <a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
Definition at line <a class="el" href="peoTransform_8h-source.html#l00053">53</a> of file <a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="755989a2d080903d0cade75643de0788"></a><!-- doxytag: member="peoTransform::peoTransform" ref="755989a2d080903d0cade75643de0788" args="(eoQuadOp&lt; EOT &gt; &amp;__cross, double __cross_rate, eoMonOp&lt; EOT &gt; &amp;__mut, double __mut_rate)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpeoTransform.html">peoTransform</a>&lt; EOT &gt;::<a class="el" href="classpeoTransform.html">peoTransform</a> </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__cross</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>__cross_rate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__mut</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>__mut_rate</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoQuadOp&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __cross </td></tr>
<tr><td valign="top"></td><td valign="top"><em>double</em>&nbsp;</td><td>__cross_rate </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoMonOp&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __mut </td></tr>
<tr><td valign="top"></td><td valign="top"><em>double</em>&nbsp;</td><td>__mut_rate </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoTransform_8h-source.html#l00108">108</a> of file <a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="9322aa28ad272289132e342624a0adb4"></a><!-- doxytag: member="peoTransform::operator()" ref="9322aa28ad272289132e342624a0adb4" args="(eoPop&lt; EOT &gt; &amp;__pop)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classpeoTransform.html">peoTransform</a>&lt; EOT &gt;::operator() </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>&lt; EOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>__pop</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Operator.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;&amp; __pop </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoTransform_8h-source.html#l00176">176</a> of file <a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>.
<p>
References <a class="el" href="peoTransform_8h-source.html#l00102">peoTransform&lt; EOT &gt;::idx</a>, <a class="el" href="peoTransform_8h-source.html#l00105">peoTransform&lt; EOT &gt;::num_term</a>, <a class="el" href="peoTransform_8h-source.html#l00103">peoTransform&lt; EOT &gt;::pop</a>, <a class="el" href="rmc_2mpi_2service_8cpp-source.html#l00044">Service::requestResourceRequest()</a>, and <a class="el" href="communicable_8cpp-source.html#l00094">Communicable::stop()</a>.
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="d2fce5199b61f599fd89cf54d6fcd312"></a><!-- doxytag: member="peoTransform::cross" ref="d2fce5199b61f599fd89cf54d6fcd312" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class EOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; EOT &gt;&amp; <a class="el" href="classpeoTransform.html">peoTransform</a>&lt; EOT &gt;::<a class="el" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">cross</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>eoQuadOp&lt;</em>&nbsp;</td><td>EOT &gt;&amp; cross </td></tr>
<tr><td valign="top"></td><td valign="top"><em>double</em>&nbsp;</td><td>cross_rate </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoMonOp&lt;</em>&nbsp;</td><td>EOT &gt;&amp; mut </td></tr>
<tr><td valign="top"></td><td valign="top"><em>double</em>&nbsp;</td><td>mut_rate </td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>idx </td></tr>
<tr><td valign="top"></td><td valign="top"><em>eoPop&lt;</em>&nbsp;</td><td>EOT &gt;* pop </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EOT</em>&nbsp;</td><td>father </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mother</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>num_term </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="peoTransform_8h-source.html#l00098">98</a> of file <a class="el" href="peoTransform_8h-source.html">peoTransform.h</a>.
<p>
Referenced by <a class="el" href="peoTransform_8h-source.html#l00137">peoTransform&lt; EOT &gt;::execute()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="peoTransform_8h-source.html">peoTransform.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:46 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: comm.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: comm.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>comm.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>comm.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;comm.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -75,49 +75,66 @@
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">static</span> <a class="code" href="classCommunicator.html">Communicator</a> * the_thread;
<a name="l00053"></a>00053
<a name="l00054"></a><a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">00054</a> <a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">Communicator :: Communicator</a> (<span class="keywordtype">int</span> * __argc, <span class="keywordtype">char</span> * * * __argv) {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 the_thread = <span class="keyword">this</span>;
<a name="l00057"></a>00057 initNode (__argc, __argv);
<a name="l00058"></a>00058 loadRMCParameters (* __argc, * __argv);
<a name="l00059"></a>00059 sem_post (&amp; sem_comm_init);
<a name="l00060"></a>00060 }
<a name="l00054"></a>00054
<a name="l00055"></a><a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">00055</a> <a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">Communicator :: Communicator</a> (<span class="keywordtype">int</span> * __argc, <span class="keywordtype">char</span> * * * __argv)
<a name="l00056"></a>00056 {
<a name="l00057"></a>00057
<a name="l00058"></a>00058 the_thread = <span class="keyword">this</span>;
<a name="l00059"></a>00059 initNode (__argc, __argv);
<a name="l00060"></a>00060 loadRMCParameters (* __argc, * __argv);
<a name="l00061"></a>00061
<a name="l00062"></a><a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">00062</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">Communicator :: start</a> () {
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">/* Zzz Zzz Zzz :-))) */</span>
<a name="l00067"></a>00067 <a class="code" href="classReactiveThread.html#8263c2a32d8c99a49a05f1a7717d4262">sleep</a> ();
<a name="l00068"></a>00068 sendMessages ();
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keywordflow">if</span> (! atLeastOneActiveRunner ())
<a name="l00071"></a>00071 <span class="keywordflow">break</span>;
<a name="l00072"></a>00072 receiveMessages ();
<a name="l00073"></a>00073 }
<a name="l00074"></a>00074 waitBuffers ();
<a name="l00075"></a>00075 printDebugMessage (<span class="stringliteral">"finalizing"</span>);
<a name="l00076"></a>00076 MPI_Finalize ();
<a name="l00077"></a>00077 }
<a name="l00062"></a>00062 sem_post (&amp; sem_comm_init);
<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
<a name="l00065"></a><a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">00065</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">Communicator :: start</a> ()
<a name="l00066"></a>00066 {
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
<a name="l00069"></a>00069 {
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="comment">/* Zzz Zzz Zzz :-))) */</span>
<a name="l00072"></a>00072 <a class="code" href="classReactiveThread.html#8263c2a32d8c99a49a05f1a7717d4262">sleep</a> ();
<a name="l00073"></a>00073
<a name="l00074"></a>00074 sendMessages ();
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordflow">if</span> (! atLeastOneActiveRunner () &amp;&amp; ! atLeastOneActiveThread() &amp;&amp; allResourcesFree ())
<a name="l00077"></a>00077 <span class="keywordflow">break</span>;
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keywordtype">void</span> initCommunication () {
<a name="l00080"></a>00080
<a name="l00081"></a>00081 sem_init (&amp; sem_comm_init, 0, 0);
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keywordtype">void</span> waitNodeInitialization () {
<a name="l00085"></a>00085
<a name="l00086"></a>00086 sem_wait (&amp; sem_comm_init);
<a name="l00087"></a>00087 }
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keywordtype">void</span> wakeUpCommunicator () {
<a name="l00079"></a>00079 receiveMessages ();
<a name="l00080"></a>00080 }
<a name="l00081"></a>00081
<a name="l00082"></a>00082 waitBuffers ();
<a name="l00083"></a>00083 printDebugMessage (<span class="stringliteral">"finalizing"</span>);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="comment">//synchronizeNodes ();</span>
<a name="l00086"></a>00086 }
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keywordtype">void</span> initCommunication ()
<a name="l00089"></a>00089 {
<a name="l00090"></a>00090
<a name="l00091"></a>00091 the_thread -&gt; wakeUp ();
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093
<a name="l00094"></a>00094
<a name="l00095"></a>00095
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00091"></a>00091 <span class="keyword">static</span> <span class="keywordtype">bool</span> initializedSemaphore = <span class="keyword">false</span>;
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="keywordflow">if</span> (initializedSemaphore)
<a name="l00094"></a>00094 {
<a name="l00095"></a>00095 sem_destroy(&amp; sem_comm_init);
<a name="l00096"></a>00096 }
<a name="l00097"></a>00097
<a name="l00098"></a>00098 sem_init (&amp; sem_comm_init, 0, 0);
<a name="l00099"></a>00099 initializedSemaphore = <span class="keyword">true</span>;
<a name="l00100"></a>00100 }
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keywordtype">void</span> waitNodeInitialization ()
<a name="l00103"></a>00103 {
<a name="l00104"></a>00104
<a name="l00105"></a>00105 sem_wait (&amp; sem_comm_init);
<a name="l00106"></a>00106 }
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="keywordtype">void</span> wakeUpCommunicator ()
<a name="l00109"></a>00109 {
<a name="l00110"></a>00110
<a name="l00111"></a>00111 the_thread -&gt; wakeUp ();
<a name="l00112"></a>00112 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: comm.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: comm.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>comm.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>comm.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;comm.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -64,24 +64,25 @@
<a name="l00040"></a>00040 <span class="preprocessor">#include "../../core/communicable.h"</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "../../core/reac_thread.h"</span>
<a name="l00042"></a>00042
<a name="l00043"></a><a class="code" href="classCommunicator.html">00043</a> <span class="keyword">class </span><a class="code" href="classCommunicator.html">Communicator</a> : <span class="keyword">public</span> <a class="code" href="classReactiveThread.html">ReactiveThread</a> {
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">public</span> :
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="comment">/* Ctor */</span>
<a name="l00048"></a>00048 <a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">Communicator</a> (<span class="keywordtype">int</span> * __argc, <span class="keywordtype">char</span> * * * __argv);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">start</a> ();
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">extern</span> <span class="keywordtype">void</span> initCommunication ();
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitNodeInitialization ();
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> wakeUpCommunicator ();
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00043"></a><a class="code" href="classCommunicator.html">00043</a> <span class="keyword">class </span><a class="code" href="classCommunicator.html">Communicator</a> : <span class="keyword">public</span> <a class="code" href="classReactiveThread.html">ReactiveThread</a>
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">public</span> :
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">/* Ctor */</span>
<a name="l00049"></a>00049 <a class="code" href="classCommunicator.html#7c9dce4ea92bd04d01d53f80c0ef08ee">Communicator</a> (<span class="keywordtype">int</span> * __argc, <span class="keywordtype">char</span> * * * __argv);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classCommunicator.html#142fae13b16b166519315f248a513c62">start</a> ();
<a name="l00052"></a>00052 };
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">extern</span> <span class="keywordtype">void</span> initCommunication ();
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitNodeInitialization ();
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">extern</span> <span class="keywordtype">void</span> wakeUpCommunicator ();
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: communicable.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: communicable.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>communicable.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>communicable.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;communicable.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -70,57 +70,70 @@
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">Communicable :: num_comm</a> = 0;
<a name="l00048"></a>00048
<a name="l00049"></a><a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">00049</a> <a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable :: Communicable</a> () {
<a name="l00050"></a>00050
<a name="l00051"></a>00051 comm_to_key [<span class="keyword">this</span>] = <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a> = ++ <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a>;
<a name="l00052"></a>00052 key_to_comm.push_back (<span class="keyword">this</span>);
<a name="l00053"></a>00053 sem_init (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>, 0, 1);
<a name="l00054"></a>00054 sem_init (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>, 0, 0);
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056
<a name="l00057"></a><a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">00057</a> <a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">Communicable :: ~ Communicable</a> () {
<a name="l00049"></a>00049
<a name="l00050"></a><a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">00050</a> <a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable :: Communicable</a> ()
<a name="l00051"></a>00051 {
<a name="l00052"></a>00052
<a name="l00053"></a>00053 comm_to_key [<span class="keyword">this</span>] = <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a> = ++ <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a>;
<a name="l00054"></a>00054 key_to_comm.push_back (<span class="keyword">this</span>);
<a name="l00055"></a>00055 sem_init (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>, 0, 1);
<a name="l00056"></a>00056 sem_init (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>, 0, 0);
<a name="l00057"></a>00057 }
<a name="l00058"></a>00058
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a><a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">00061</a> COMM_ID <a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">Communicable :: getKey</a> () {
<a name="l00059"></a><a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">00059</a> <a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">Communicable :: ~ Communicable</a> ()
<a name="l00060"></a>00060 {
<a name="l00061"></a>00061 }
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keywordflow">return</span> <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a>;
<a name="l00064"></a>00064 }
<a name="l00063"></a><a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">00063</a> COMM_ID <a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">Communicable :: getKey</a> ()
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <a class="code" href="classCommunicable.html">Communicable</a> * getCommunicable (COMM_ID __key) {
<a name="l00067"></a>00067
<a name="l00068"></a>00068 assert (__key &lt; key_to_comm.size ());
<a name="l00069"></a>00069 <span class="keywordflow">return</span> key_to_comm [__key];
<a name="l00070"></a>00070 }
<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a>;
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <a class="code" href="classCommunicable.html">Communicable</a> * getCommunicable (COMM_ID __key)
<a name="l00070"></a>00070 {
<a name="l00071"></a>00071
<a name="l00072"></a>00072 COMM_ID getKey (<span class="keyword">const</span> <a class="code" href="classCommunicable.html">Communicable</a> * __comm) {
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordflow">return</span> comm_to_key [__comm];
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076
<a name="l00077"></a><a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">00077</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">Communicable :: lock</a> () {
<a name="l00072"></a>00072 assert (__key &lt; key_to_comm.size ());
<a name="l00073"></a>00073 <span class="keywordflow">return</span> key_to_comm [__key];
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
<a name="l00076"></a>00076 COMM_ID getKey (<span class="keyword">const</span> <a class="code" href="classCommunicable.html">Communicable</a> * __comm)
<a name="l00077"></a>00077 {
<a name="l00078"></a>00078
<a name="l00079"></a>00079 sem_wait (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>);
<a name="l00079"></a>00079 <span class="keywordflow">return</span> comm_to_key [__comm];
<a name="l00080"></a>00080 }
<a name="l00081"></a>00081
<a name="l00082"></a><a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">00082</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">Communicable :: unlock</a> () {
<a name="l00083"></a>00083
<a name="l00084"></a>00084 sem_post (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>);
<a name="l00085"></a>00085 }
<a name="l00086"></a>00086
<a name="l00087"></a><a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">00087</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">Communicable :: stop</a> () {
<a name="l00088"></a>00088
<a name="l00089"></a>00089 sem_wait (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>);
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091
<a name="l00092"></a><a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">00092</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">Communicable :: resume</a> () {
<a name="l00082"></a><a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">00082</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">Communicable :: lock</a> ()
<a name="l00083"></a>00083 {
<a name="l00084"></a>00084
<a name="l00085"></a>00085 sem_wait (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>);
<a name="l00086"></a>00086 }
<a name="l00087"></a>00087
<a name="l00088"></a><a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">00088</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">Communicable :: unlock</a> ()
<a name="l00089"></a>00089 {
<a name="l00090"></a>00090
<a name="l00091"></a>00091 sem_post (&amp; <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>);
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093
<a name="l00094"></a>00094 sem_post (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>);
<a name="l00095"></a>00095 }
<a name="l00096"></a>00096
<a name="l00097"></a>00097
<a name="l00094"></a><a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">00094</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">Communicable :: stop</a> ()
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096 sem_wait (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>);
<a name="l00097"></a>00097 }
<a name="l00098"></a>00098
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00099"></a><a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">00099</a> <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">Communicable :: resume</a> ()
<a name="l00100"></a>00100 {
<a name="l00101"></a>00101
<a name="l00102"></a>00102 sem_post (&amp; <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>);
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keywordtype">void</span> initCommunicableEnv ()
<a name="l00106"></a>00106 {
<a name="l00107"></a>00107
<a name="l00108"></a>00108 key_to_comm.resize (1);
<a name="l00109"></a>00109 comm_to_key.clear ();
<a name="l00110"></a>00110 <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">Communicable :: num_comm</a> = 0;
<a name="l00111"></a>00111 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: communicable.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: communicable.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>communicable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>communicable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;communicable.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -63,41 +63,45 @@
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;semaphore.h&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> COMM_ID;
<a name="l00043"></a>00043
<a name="l00044"></a><a class="code" href="classCommunicable.html">00044</a> <span class="keyword">class </span><a class="code" href="classCommunicable.html">Communicable</a> {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">public</span> :
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> COMM_ID;
<a name="l00044"></a>00044
<a name="l00045"></a><a class="code" href="classCommunicable.html">00045</a> <span class="keyword">class </span><a class="code" href="classCommunicable.html">Communicable</a>
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a> ();
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">virtual</span> <a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~ Communicable</a> ();
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <a class="code" href="classCommunicable.html#8ae1827ecf7569b3db1ed386c7d8ad78">Communicable</a> ();
<a name="l00051"></a>00051
<a name="l00052"></a>00052 COMM_ID <a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a> ();
<a name="l00052"></a>00052 <span class="keyword">virtual</span> <a class="code" href="classCommunicable.html#2280b0dfa0d3a515fccf62c2a9fd5f41">~ Communicable</a> ();
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a> (); <span class="comment">/* It suspends the current process if the semaphore is locked */</span>
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a> (); <span class="comment">/* It unlocks the shared semaphore */</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a> (); <span class="comment">/* It suspends the current process */</span>
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a> (); <span class="comment">/* It resumes ___________ */</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">protected</span> :
<a name="l00054"></a>00054 COMM_ID <a class="code" href="classCommunicable.html#db4307b69b9ccacff55fdbf84b8f50e4">getKey</a> ();
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a> (); <span class="comment">/* It suspends the current process if the semaphore is locked */</span>
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a> (); <span class="comment">/* It unlocks the shared semaphore */</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a> (); <span class="comment">/* It suspends the current process */</span>
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a> (); <span class="comment">/* It resumes ___________ */</span>
<a name="l00061"></a>00061
<a name="l00062"></a><a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">00062</a> COMM_ID <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a>;
<a name="l00062"></a>00062 <span class="keyword">public</span> :
<a name="l00063"></a>00063
<a name="l00064"></a><a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">00064</a> sem_t <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>;
<a name="l00065"></a>00065
<a name="l00066"></a><a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">00066</a> sem_t <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>;
<a name="l00064"></a><a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">00064</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a>;
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">protected</span> :
<a name="l00067"></a>00067
<a name="l00068"></a><a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">00068</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">num_comm</a>;
<a name="l00069"></a>00069 };
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">extern</span> <a class="code" href="classCommunicable.html">Communicable</a> * getCommunicable (COMM_ID __key);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">//extern COMM_ID getKey (const Communicable * __comm);</span>
<a name="l00068"></a><a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">00068</a> COMM_ID <a class="code" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">key</a>;
<a name="l00069"></a>00069
<a name="l00070"></a><a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">00070</a> sem_t <a class="code" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">sem_lock</a>;
<a name="l00071"></a>00071
<a name="l00072"></a><a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">00072</a> sem_t <a class="code" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">sem_stop</a>;
<a name="l00073"></a>00073 };
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00075"></a>00075 <span class="keyword">extern</span> <span class="keywordtype">void</span> initCommunicableEnv ();
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keyword">extern</span> <a class="code" href="classCommunicable.html">Communicable</a> * getCommunicable (COMM_ID __key);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: cooperative.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: cooperative.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>cooperative.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>cooperative.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;cooperative.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -61,37 +61,49 @@
<a name="l00037"></a>00037 <span class="preprocessor">#ifndef __cooperative_h</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __cooperative_h</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include "communicable.h"</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "runner.h"</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> COOP_ID;
<a name="l00044"></a>00044
<a name="l00045"></a><a class="code" href="classCooperative.html">00045</a> <span class="keyword">class </span><a class="code" href="classCooperative.html">Cooperative</a> : <span class="keyword">public</span> <a class="code" href="classCommunicable.html">Communicable</a> {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">public</span> :
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "communicable.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "runner.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> COOP_ID;
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="classCooperative.html">00046</a> <span class="keyword">class </span><a class="code" href="classCooperative.html">Cooperative</a> : <span class="keyword">public</span> <a class="code" href="classCommunicable.html">Communicable</a>
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <a class="code" href="classRunner.html">Runner</a> * <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a> ();
<a name="l00049"></a>00049 <span class="keyword">public</span> :
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#fe7b022567174c8305bc78d8c5749b12">setOwner</a> (<a class="code" href="classRunner.html">Runner</a> &amp; __runner);
<a name="l00051"></a>00051 <a class="code" href="classRunner.html">Runner</a> * <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a> ();
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> pack () = 0;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> unpack () = 0;
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#fe7b022567174c8305bc78d8c5749b12">setOwner</a> (<a class="code" href="classRunner.html">Runner</a> &amp; __runner);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> pack () = 0;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a> (<a class="code" href="classCooperative.html">Cooperative</a> * __coop);
<a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> unpack () = 0;
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#4439ddeaa1246a2e44c003bfb781739b">notifySending</a> ();
<a name="l00059"></a>00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> packSynchronizeReq () = 0;
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">private</span> :
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a> (<a class="code" href="classCooperative.html">Cooperative</a> * __coop);
<a name="l00062"></a>00062
<a name="l00063"></a><a class="code" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">00063</a> <a class="code" href="classRunner.html">Runner</a> * <a class="code" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">owner</a>;
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a> ();
<a name="l00064"></a>00064
<a name="l00065"></a>00065 };
<a name="l00065"></a>00065 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#4439ddeaa1246a2e44c003bfb781739b">notifySending</a> ();
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keyword">extern</span> <a class="code" href="classCooperative.html">Cooperative</a> * getCooperative (COOP_ID __key);
<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#b75a33c5735799076e01b125e47e3bbc">notifyReceiving</a> ();
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00069"></a>00069 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#38f28f9155deac5e48edcaf935a2263b">notifySendingSyncReq</a> ();
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCooperative.html#6cc64e571944783b8f697f7c2299cc8d">notifySynchronized</a> ();
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">private</span> :
<a name="l00074"></a>00074
<a name="l00075"></a><a class="code" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">00075</a> <a class="code" href="classRunner.html">Runner</a> * <a class="code" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">owner</a>;
<a name="l00076"></a>00076
<a name="l00077"></a>00077 };
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">extern</span> <a class="code" href="classCooperative.html">Cooperative</a> * getCooperative (COOP_ID __key);
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: runner.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: runner.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>runner.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>runner.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;runner.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -65,96 +65,189 @@
<a name="l00041"></a>00041 <span class="preprocessor">#include "peo_debug.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "messaging.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> num_act = 0; <span class="comment">/* Number of active runners */</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">static</span> std :: vector &lt;pthread_t *&gt; ll_threads; <span class="comment">/* Low-level runner threads */</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">static</span> std :: vector &lt;Runner *&gt; the_runners;
<a name="l00044"></a>00044 <span class="preprocessor">#include "../rmc/mpi/mess.h"</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include "../rmc/mpi/tags.h"</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#include "../rmc/mpi/node.h"</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include "../rmc/mpi/schema.h"</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> num_runners = 0;
<a name="l00051"></a>00051
<a name="l00052"></a><a class="code" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">00052</a> <a class="code" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">Runner :: Runner</a> () {
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">id</span> = ++ num_runners;
<a name="l00055"></a>00055 the_runners.push_back (<span class="keyword">this</span>);
<a name="l00056"></a>00056 sem_init (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>, 0, 0);
<a name="l00057"></a>00057 num_act ++;
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNodeRank ();
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">static</span> std :: vector &lt;pthread_t *&gt; ll_threads; <span class="comment">/* Low-level runner threads */</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">static</span> std :: vector &lt;Runner *&gt; the_runners;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> num_def_runners = 0; <span class="comment">/* Number of defined runners */</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> num_local_exec_runners = 0; <span class="comment">/* Number of locally executing runners */</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> num_exec_runners = 0; <span class="comment">/* Number of globally executing runners */</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNumberOfNodes ();
<a name="l00062"></a>00062 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNodeRank ();
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordtype">void</span> unpackTerminationOfRunner () {
<a name="l00065"></a>00065
<a name="l00066"></a>00066 RUNNER_ID id;
<a name="l00067"></a>00067 unpack (<span class="keywordtype">id</span>);
<a name="l00068"></a>00068 num_act --;
<a name="l00069"></a>00069 printDebugMessage (<span class="stringliteral">"I'm noticed of the termination of a runner"</span>);
<a name="l00070"></a>00070 <span class="keywordflow">if</span> (! num_act) {
<a name="l00071"></a>00071 printDebugMessage (<span class="stringliteral">"all the runners have terminated. Now stopping the reactive threads."</span>);
<a name="l00072"></a>00072 stopReactiveThreads ();
<a name="l00073"></a>00073 }
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">bool</span> atLeastOneActiveRunner () {
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keywordflow">return</span> num_act;
<a name="l00064"></a>00064 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNumberOfNodes ();
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">extern</span> <span class="keywordtype">void</span> wakeUpCommunicator ();
<a name="l00067"></a>00067
<a name="l00068"></a>00068
<a name="l00069"></a><a class="code" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">00069</a> <a class="code" href="classRunner.html#7acb8258c21da9daa62f9a177a2e5acd">Runner :: Runner</a> ()
<a name="l00070"></a>00070 {
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <a class="code" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">exec_id</a> = 0;
<a name="l00073"></a>00073 <a class="code" href="classRunner.html#bcadf488813aacbdeeefd3e0b9a618ee">def_id</a> = ++ num_def_runners;
<a name="l00074"></a>00074
<a name="l00075"></a>00075 the_runners.push_back (<span class="keyword">this</span>);
<a name="l00076"></a>00076
<a name="l00077"></a>00077 sem_init (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>, 0, 0);
<a name="l00078"></a>00078 sem_init (&amp; <a class="code" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">sem_cntxt</a>, 0, 0);
<a name="l00079"></a>00079 }
<a name="l00080"></a>00080
<a name="l00081"></a><a class="code" href="classRunner.html#5026c74eec184e3a15cb3c0ec4200a57">00081</a> RUNNER_ID <a class="code" href="classRunner.html#5026c74eec184e3a15cb3c0ec4200a57">Runner :: getID</a> () {
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keywordflow">return</span> id;
<a name="l00084"></a>00084 }
<a name="l00085"></a>00085
<a name="l00086"></a><a class="code" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">00086</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">Runner :: start</a> () {
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a> ();
<a name="l00089"></a>00089 sem_post (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>);
<a name="l00090"></a>00090 run ();
<a name="l00091"></a>00091 <a class="code" href="classRunner.html#0f133e75c28fb8264549814f80608e68">terminate</a> ();
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093
<a name="l00094"></a><a class="code" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">00094</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">Runner :: notifySendingTermination</a> () {
<a name="l00081"></a><a class="code" href="classRunner.html#f055608a382a32c6a889b0407e228312">00081</a> RUNNER_ID <a class="code" href="classRunner.html#f055608a382a32c6a889b0407e228312">Runner :: getDefinitionID</a> ()
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="classRunner.html#bcadf488813aacbdeeefd3e0b9a618ee">def_id</a>;
<a name="l00085"></a>00085 }
<a name="l00086"></a>00086
<a name="l00087"></a><a class="code" href="classRunner.html#95c5e10928221a6140557e2ca6af5434">00087</a> RUNNER_ID <a class="code" href="classRunner.html#95c5e10928221a6140557e2ca6af5434">Runner :: getExecutionID</a> ()
<a name="l00088"></a>00088 {
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="keywordflow">return</span> <a class="code" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">exec_id</a>;
<a name="l00091"></a>00091 }
<a name="l00092"></a>00092
<a name="l00093"></a><a class="code" href="classRunner.html#5262b394f0f0899b85316136941df42c">00093</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#5262b394f0f0899b85316136941df42c">Runner :: setExecutionID</a> (<span class="keyword">const</span> RUNNER_ID&amp; execution_id)
<a name="l00094"></a>00094 {
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="comment">/*</span>
<a name="l00097"></a>00097 <span class="comment"> char b [1000];</span>
<a name="l00098"></a>00098 <span class="comment"> sprintf (b, "Il reste encore %d !!!!!!!!!!!!", n);</span>
<a name="l00099"></a>00099 <span class="comment"> printDebugMessage (b);</span>
<a name="l00100"></a>00100 <span class="comment"> */</span>
<a name="l00101"></a>00101 printDebugMessage (<span class="stringliteral">"je suis informe que tout le monde a recu ma terminaison"</span>);
<a name="l00102"></a>00102 <a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a> ();
<a name="l00103"></a>00103
<a name="l00104"></a>00104 }
<a name="l00105"></a>00105
<a name="l00106"></a><a class="code" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">00106</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">Runner :: waitStarting</a> () {
<a name="l00096"></a>00096 <a class="code" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">exec_id</a> = execution_id;
<a name="l00097"></a>00097 }
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <a class="code" href="classRunner.html">Runner</a> * getRunner (RUNNER_ID __key)
<a name="l00100"></a>00100 {
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keywordflow">return</span> dynamic_cast &lt;Runner *&gt; (getCommunicable (__key));
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keywordtype">void</span> initializeContext ()
<a name="l00106"></a>00106 {
<a name="l00107"></a>00107
<a name="l00108"></a>00108 sem_wait (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>);
<a name="l00109"></a>00109 }
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <a class="code" href="classRunner.html">Runner</a> * getRunner (RUNNER_ID __key) {
<a name="l00112"></a>00112
<a name="l00113"></a>00113 <span class="keywordflow">return</span> dynamic_cast &lt;Runner *&gt; (getCommunicable (__key));
<a name="l00114"></a>00114 }
<a name="l00115"></a>00115
<a name="l00116"></a>00116 <span class="keywordtype">void</span> startRunners () {
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="comment">/* Runners */</span>
<a name="l00119"></a>00119 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; the_runners.size (); i ++)
<a name="l00120"></a>00120 <span class="keywordflow">if</span> (the_runners [i] -&gt; isLocal ()) {
<a name="l00121"></a>00121 addThread (the_runners [i], ll_threads);
<a name="l00122"></a>00122 the_runners [i] -&gt; waitStarting ();
<a name="l00123"></a>00123 }
<a name="l00124"></a>00124 printDebugMessage (<span class="stringliteral">"launched the parallel runners"</span>);
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
<a name="l00108"></a>00108 num_local_exec_runners = 0;
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="comment">// setting up the execution IDs &amp; counting the number of local exec. runners</span>
<a name="l00111"></a>00111 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; the_runners.size (); i ++)
<a name="l00112"></a>00112 {
<a name="l00113"></a>00113 the_runners [i] -&gt; setExecutionID ( my_node -&gt; execution_id_run[ i ] );
<a name="l00114"></a>00114 <span class="keywordflow">if</span> (the_runners [i] -&gt; isAssignedLocally ()) num_local_exec_runners ++;
<a name="l00115"></a>00115 }
<a name="l00116"></a>00116
<a name="l00117"></a>00117 collectiveCountOfRunners( &amp;num_local_exec_runners, &amp;num_exec_runners );
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="comment">// synchronizeNodes ();</span>
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; the_runners.size (); i ++)
<a name="l00122"></a>00122 <span class="keywordflow">if</span> (the_runners [i] -&gt; isAssignedLocally ()) the_runners [i] -&gt; notifyContextInitialized ();
<a name="l00123"></a>00123 }
<a name="l00124"></a>00124
<a name="l00125"></a><a class="code" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">00125</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#5bc239db2be753b77369fa9a038769fd">Runner :: waitStarting</a> ()
<a name="l00126"></a>00126 {
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="keywordtype">void</span> joinRunners () {
<a name="l00129"></a>00129
<a name="l00128"></a>00128 sem_wait (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>);
<a name="l00129"></a>00129 }
<a name="l00130"></a>00130
<a name="l00131"></a>00131 joinThreads (ll_threads);
<a name="l00132"></a>00132 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00131"></a><a class="code" href="classRunner.html#756ad5e211d4818a88d53fa9ac272f68">00131</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#756ad5e211d4818a88d53fa9ac272f68">Runner :: waitContextInitialization</a> ()
<a name="l00132"></a>00132 {
<a name="l00133"></a>00133
<a name="l00134"></a>00134 sem_wait (&amp; <a class="code" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">sem_cntxt</a>);
<a name="l00135"></a>00135 }
<a name="l00136"></a>00136
<a name="l00137"></a><a class="code" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">00137</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#7dc4419051fcc5cc9dadd54ecc9cd47d">Runner :: start</a> ()
<a name="l00138"></a>00138 {
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a> ();
<a name="l00141"></a>00141
<a name="l00142"></a>00142 sem_post (&amp; <a class="code" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">sem_start</a>);
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <a class="code" href="classRunner.html#756ad5e211d4818a88d53fa9ac272f68">waitContextInitialization</a> ();
<a name="l00145"></a>00145 run ();
<a name="l00146"></a>00146 <a class="code" href="classRunner.html#0f133e75c28fb8264549814f80608e68">terminate</a> ();
<a name="l00147"></a>00147 }
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <span class="keywordtype">void</span> startRunners ()
<a name="l00150"></a>00150 {
<a name="l00151"></a>00151
<a name="l00152"></a>00152 <span class="comment">/* Runners */</span>
<a name="l00153"></a>00153 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; the_runners.size (); i ++)
<a name="l00154"></a>00154 <span class="keywordflow">if</span> (the_runners [i] -&gt; isAssignedLocally ())
<a name="l00155"></a>00155 {
<a name="l00156"></a>00156 addThread (the_runners [i], ll_threads);
<a name="l00157"></a>00157 the_runners [i] -&gt; waitStarting ();
<a name="l00158"></a>00158 }
<a name="l00159"></a>00159
<a name="l00160"></a>00160 printDebugMessage (<span class="stringliteral">"launched the parallel runners"</span>);
<a name="l00161"></a>00161 }
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="keywordtype">void</span> joinRunners ()
<a name="l00164"></a>00164 {
<a name="l00165"></a>00165
<a name="l00166"></a>00166 joinThreads (ll_threads);
<a name="l00167"></a>00167 the_runners.clear();
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169
<a name="l00170"></a>00170 <span class="keywordtype">bool</span> atLeastOneActiveRunner ()
<a name="l00171"></a>00171 {
<a name="l00172"></a>00172
<a name="l00173"></a>00173 <span class="keywordflow">return</span> num_exec_runners;
<a name="l00174"></a>00174 }
<a name="l00175"></a>00175
<a name="l00176"></a>00176 <span class="keywordtype">unsigned</span> numberOfActiveRunners ()
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178
<a name="l00179"></a>00179 <span class="keywordflow">return</span> num_exec_runners;
<a name="l00180"></a>00180 }
<a name="l00181"></a>00181
<a name="l00182"></a><a class="code" href="classRunner.html#2cce5433184ec8f89e06531c23acbcf8">00182</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#2cce5433184ec8f89e06531c23acbcf8">Runner :: notifyContextInitialized</a> ()
<a name="l00183"></a>00183 {
<a name="l00184"></a>00184
<a name="l00185"></a>00185 sem_post (&amp; <a class="code" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">sem_cntxt</a>);
<a name="l00186"></a>00186 }
<a name="l00187"></a>00187
<a name="l00188"></a><a class="code" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">00188</a> <span class="keywordtype">void</span> <a class="code" href="classRunner.html#3591be473e0fcee1105fb57319b529aa">Runner :: notifySendingTermination</a> ()
<a name="l00189"></a>00189 {
<a name="l00190"></a>00190
<a name="l00191"></a>00191 printDebugMessage (<span class="stringliteral">"I am informed that everyone received my termination notification."</span>);
<a name="l00192"></a>00192 <a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a> ();
<a name="l00193"></a>00193 }
<a name="l00194"></a>00194
<a name="l00195"></a>00195 <span class="keywordtype">void</span> unpackTerminationOfRunner ()
<a name="l00196"></a>00196 {
<a name="l00197"></a>00197
<a name="l00198"></a>00198 RUNNER_ID finished_id;
<a name="l00199"></a>00199 unpack (finished_id);
<a name="l00200"></a>00200
<a name="l00201"></a>00201 num_exec_runners --;
<a name="l00202"></a>00202
<a name="l00203"></a>00203 printDebugMessage (<span class="stringliteral">"I'm noticed of the termination of a runner"</span>);
<a name="l00204"></a>00204
<a name="l00205"></a>00205 <span class="keywordflow">if</span> (!num_exec_runners)
<a name="l00206"></a>00206 {
<a name="l00207"></a>00207
<a name="l00208"></a>00208 printDebugMessage (<span class="stringliteral">"All the runners have terminated - now stopping the reactive threads."</span>);
<a name="l00209"></a>00209 stopReactiveThreads ();
<a name="l00210"></a>00210 printDebugMessage (<span class="stringliteral">"Reactive threads stopped!"</span>);
<a name="l00211"></a>00211 }
<a name="l00212"></a>00212
<a name="l00213"></a>00213 wakeUpCommunicator ();
<a name="l00214"></a>00214 }
<a name="l00215"></a>00215
<a name="l00216"></a>00216 <span class="keywordtype">void</span> initRunnersEnv ()
<a name="l00217"></a>00217 {
<a name="l00218"></a>00218
<a name="l00219"></a>00219 ll_threads.clear ();
<a name="l00220"></a>00220 the_runners.clear ();
<a name="l00221"></a>00221
<a name="l00222"></a>00222 num_def_runners = 0;
<a name="l00223"></a>00223 num_local_exec_runners = 0;
<a name="l00224"></a>00224 num_exec_runners = 0;
<a name="l00225"></a>00225 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: service.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: service.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>service.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>service.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;service.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -60,55 +60,53 @@
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="preprocessor">#include "service.h"</span>
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">00039</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">Service :: setOwner</a> (<a class="code" href="classThread.html">Thread</a> &amp; __owner) {
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <a class="code" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">owner</a> = &amp; __owner;
<a name="l00042"></a>00042 }
<a name="l00043"></a>00043
<a name="l00044"></a><a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">00044</a> <a class="code" href="classThread.html">Thread</a> * <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">Service :: getOwner</a> () {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordflow">return</span> <a class="code" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">owner</a>;
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <a class="code" href="classService.html">Service</a> * getService (SERVICE_ID __key) {
<a name="l00039"></a><a class="code" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">00039</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#33b149b98498c0e7e401b0f0839d7f0d">Service :: setOwner</a> (<a class="code" href="classThread.html">Thread</a> &amp; __owner)
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <a class="code" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">owner</a> = &amp; __owner;
<a name="l00043"></a>00043 }
<a name="l00044"></a>00044
<a name="l00045"></a><a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">00045</a> <a class="code" href="classThread.html">Thread</a> * <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">Service :: getOwner</a> ()
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">owner</a>;
<a name="l00049"></a>00049 }
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordflow">return</span> dynamic_cast &lt;Service *&gt; (getCommunicable (__key));
<a name="l00052"></a>00052 }
<a name="l00051"></a>00051 <a class="code" href="classService.html">Service</a> * getService (SERVICE_ID __key)
<a name="l00052"></a>00052 {
<a name="l00053"></a>00053
<a name="l00054"></a><a class="code" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">00054</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">Service :: notifySendingData</a> () {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 }
<a name="l00057"></a><a class="code" href="classService.html#94e2012e76aaae3aa8199250f558d503">00057</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#94e2012e76aaae3aa8199250f558d503">Service :: notifySendingResourceRequest</a> () {
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <a class="code" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">num_sent_rr</a> --;
<a name="l00060"></a>00060 <span class="keywordflow">if</span> (! <a class="code" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">num_sent_rr</a>)
<a name="l00061"></a>00061 <a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">notifySendingAllResourceRequests</a> ();
<a name="l00062"></a>00062 }
<a name="l00063"></a>00063
<a name="l00064"></a><a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">00064</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">Service :: notifySendingAllResourceRequests</a> () {
<a name="l00065"></a>00065
<a name="l00054"></a>00054 <span class="keywordflow">return</span> dynamic_cast &lt;Service *&gt; (getCommunicable (__key));
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056
<a name="l00057"></a><a class="code" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">00057</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#81ad4d6ebb50045b8977e2ab74826f30">Service :: notifySendingData</a> ()
<a name="l00058"></a>00058 { }
<a name="l00059"></a>00059
<a name="l00060"></a><a class="code" href="classService.html#94e2012e76aaae3aa8199250f558d503">00060</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#94e2012e76aaae3aa8199250f558d503">Service :: notifySendingResourceRequest</a> ()
<a name="l00061"></a>00061 {
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <a class="code" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">num_sent_rr</a> --;
<a name="l00064"></a>00064 <span class="keywordflow">if</span> (! <a class="code" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">num_sent_rr</a>)
<a name="l00065"></a>00065 <a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">notifySendingAllResourceRequests</a> ();
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067
<a name="l00068"></a><a class="code" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">00068</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">Service :: packData</a> () {
<a name="l00069"></a>00069
<a name="l00070"></a>00070 }
<a name="l00071"></a>00071
<a name="l00072"></a><a class="code" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">00072</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">Service :: unpackData</a> () {
<a name="l00068"></a><a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">00068</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#f94cc8a5c2665d4574041737e61e9ffc">Service :: notifySendingAllResourceRequests</a> ()
<a name="l00069"></a>00069 { }
<a name="l00070"></a>00070
<a name="l00071"></a><a class="code" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">00071</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#aea4b8f7f8fb88e83862ee4bfd9ab207">Service :: packData</a> ()
<a name="l00072"></a>00072 {}
<a name="l00073"></a>00073
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
<a name="l00076"></a><a class="code" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">00076</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">Service :: execute</a> () {
<a name="l00077"></a>00077
<a name="l00078"></a>00078 }
<a name="l00079"></a>00079
<a name="l00080"></a><a class="code" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">00080</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">Service :: packResult</a> () {
<a name="l00081"></a>00081
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083
<a name="l00084"></a><a class="code" href="classService.html#45c06344edbfa482b91f68e2035a6099">00084</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#45c06344edbfa482b91f68e2035a6099">Service :: unpackResult</a> () {
<a name="l00085"></a>00085
<a name="l00086"></a>00086 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00074"></a><a class="code" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">00074</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#3bd87b444710813d30fd754d4d0b4df3">Service :: unpackData</a> ()
<a name="l00075"></a>00075 {}
<a name="l00076"></a>00076
<a name="l00077"></a><a class="code" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">00077</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#e4f2894e6121e60f38d41cfbd7447ae4">Service :: execute</a> ()
<a name="l00078"></a>00078 {}
<a name="l00079"></a>00079
<a name="l00080"></a><a class="code" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">00080</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#e5e4f90b2315e15c2a2913bd370f4cf5">Service :: packResult</a> ()
<a name="l00081"></a>00081 {}
<a name="l00082"></a>00082
<a name="l00083"></a><a class="code" href="classService.html#45c06344edbfa482b91f68e2035a6099">00083</a> <span class="keywordtype">void</span> <a class="code" href="classService.html#45c06344edbfa482b91f68e2035a6099">Service :: unpackResult</a> ()
<a name="l00084"></a>00084 {}
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: data.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: data.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>data.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>data.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;data.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -72,83 +72,89 @@
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define MAX_FIELD_LENGTH 1000</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define MAX_LINE_LENGTH 1000</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keywordtype">void</span> getNextField (FILE * __f, <span class="keywordtype">char</span> * __buff) {
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00054"></a>00054
<a name="l00055"></a>00055 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00056"></a>00056 fscanf (__f, <span class="stringliteral">"%[^:\n]"</span>, __buff); <span class="comment">/* Reading the field */</span>
<a name="l00057"></a>00057 fgetc (__f);
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keywordtype">void</span> getLine (FILE * __f, <span class="keywordtype">char</span> * __buff) {
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keywordtype">void</span> getNextField (FILE * __f, <span class="keywordtype">char</span> * __buff)
<a name="l00052"></a>00052 {
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00055"></a>00055
<a name="l00056"></a>00056 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00057"></a>00057 fscanf (__f, <span class="stringliteral">"%[^:\n]"</span>, __buff); <span class="comment">/* Reading the field */</span>
<a name="l00058"></a>00058 fgetc (__f);
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keywordtype">void</span> getLine (FILE * __f, <span class="keywordtype">char</span> * __buff)
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063
<a name="l00064"></a>00064 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00065"></a>00065 fscanf (__f, <span class="stringliteral">"%[^\n]"</span>, __buff); <span class="comment">/* Reading the line */</span>
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keywordtype">void</span> loadData (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename) {
<a name="l00064"></a>00064 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00065"></a>00065
<a name="l00066"></a>00066 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00067"></a>00067 fscanf (__f, <span class="stringliteral">"%[^\n]"</span>, __buff); <span class="comment">/* Reading the line */</span>
<a name="l00068"></a>00068 }
<a name="l00069"></a>00069
<a name="l00070"></a>00070 FILE * f = fopen (__filename, <span class="stringliteral">"r"</span>);
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keywordflow">if</span> (f) {
<a name="l00073"></a>00073
<a name="l00074"></a>00074 printf (<span class="stringliteral">"Loading '%s'.\n"</span>, __filename);
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">char</span> field [MAX_FIELD_LENGTH];
<a name="l00077"></a>00077
<a name="l00078"></a>00078 getNextField (f, field); <span class="comment">/* Name */</span>
<a name="l00079"></a>00079 assert (strstr (field, <span class="stringliteral">"NAME"</span>));
<a name="l00080"></a>00080 getNextField (f, field);
<a name="l00081"></a>00081 printf (<span class="stringliteral">"NAME: %s.\n"</span>, field);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 getNextField (f, field); <span class="comment">/* Comment */</span>
<a name="l00084"></a>00084 assert (strstr (field, <span class="stringliteral">"COMMENT"</span>));
<a name="l00085"></a>00085 getLine (f, field);
<a name="l00086"></a>00086 printf (<span class="stringliteral">"COMMENT: %s.\n"</span>, field);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 getNextField (f, field); <span class="comment">/* Type */</span>
<a name="l00089"></a>00089 assert (strstr (field, <span class="stringliteral">"TYPE"</span>));
<a name="l00090"></a>00090 getNextField (f, field);
<a name="l00091"></a>00091 printf (<span class="stringliteral">"TYPE: %s.\n"</span>, field);
<a name="l00092"></a>00092
<a name="l00093"></a>00093 getNextField (f, field); <span class="comment">/* Dimension */</span>
<a name="l00094"></a>00094 assert (strstr (field, <span class="stringliteral">"DIMENSION"</span>));
<a name="l00095"></a>00095 getNextField (f, field);
<a name="l00096"></a>00096 printf (<span class="stringliteral">"DIMENSION: %s.\n"</span>, field);
<a name="l00097"></a>00097 numNodes = atoi (field);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 getNextField (f, field); <span class="comment">/* Edge weight type */</span>
<a name="l00100"></a>00100 assert (strstr (field, <span class="stringliteral">"EDGE_WEIGHT_TYPE"</span>));
<a name="l00101"></a>00101 getNextField (f, field);
<a name="l00102"></a>00102 printf (<span class="stringliteral">"EDGE_WEIGHT_TYPE: %s.\n"</span>, field);
<a name="l00103"></a>00103
<a name="l00104"></a>00104 getNextField (f, field); <span class="comment">/* Node coord section */</span>
<a name="l00105"></a>00105 assert (strstr (field, <span class="stringliteral">"NODE_COORD_SECTION"</span>));
<a name="l00106"></a>00106 loadNodes (f);
<a name="l00107"></a>00107
<a name="l00108"></a>00108 getNextField (f, field); <span class="comment">/* End of file */</span>
<a name="l00109"></a>00109 assert (strstr (field, <span class="stringliteral">"EOF"</span>));
<a name="l00110"></a>00110 printf (<span class="stringliteral">"EOF.\n"</span>);
<a name="l00111"></a>00111 }
<a name="l00112"></a>00112 <span class="keywordflow">else</span> {
<a name="l00113"></a>00113
<a name="l00114"></a>00114 fprintf (stderr, <span class="stringliteral">"Can't open '%s'.\n"</span>, __filename);
<a name="l00115"></a>00115 exit (1);
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117 }
<a name="l00070"></a>00070 <span class="keywordtype">void</span> loadData (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename)
<a name="l00071"></a>00071 {
<a name="l00072"></a>00072
<a name="l00073"></a>00073 FILE * f = fopen (__filename, <span class="stringliteral">"r"</span>);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keywordflow">if</span> (f)
<a name="l00076"></a>00076 {
<a name="l00077"></a>00077
<a name="l00078"></a>00078 printf (<span class="stringliteral">"Loading '%s'.\n"</span>, __filename);
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordtype">char</span> field [MAX_FIELD_LENGTH];
<a name="l00081"></a>00081
<a name="l00082"></a>00082 getNextField (f, field); <span class="comment">/* Name */</span>
<a name="l00083"></a>00083 assert (strstr (field, <span class="stringliteral">"NAME"</span>));
<a name="l00084"></a>00084 getNextField (f, field);
<a name="l00085"></a>00085 printf (<span class="stringliteral">"NAME: %s.\n"</span>, field);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 getNextField (f, field); <span class="comment">/* Comment */</span>
<a name="l00088"></a>00088 assert (strstr (field, <span class="stringliteral">"COMMENT"</span>));
<a name="l00089"></a>00089 getLine (f, field);
<a name="l00090"></a>00090 printf (<span class="stringliteral">"COMMENT: %s.\n"</span>, field);
<a name="l00091"></a>00091
<a name="l00092"></a>00092 getNextField (f, field); <span class="comment">/* Type */</span>
<a name="l00093"></a>00093 assert (strstr (field, <span class="stringliteral">"TYPE"</span>));
<a name="l00094"></a>00094 getNextField (f, field);
<a name="l00095"></a>00095 printf (<span class="stringliteral">"TYPE: %s.\n"</span>, field);
<a name="l00096"></a>00096
<a name="l00097"></a>00097 getNextField (f, field); <span class="comment">/* Dimension */</span>
<a name="l00098"></a>00098 assert (strstr (field, <span class="stringliteral">"DIMENSION"</span>));
<a name="l00099"></a>00099 getNextField (f, field);
<a name="l00100"></a>00100 printf (<span class="stringliteral">"DIMENSION: %s.\n"</span>, field);
<a name="l00101"></a>00101 numNodes = atoi (field);
<a name="l00102"></a>00102
<a name="l00103"></a>00103 getNextField (f, field); <span class="comment">/* Edge weight type */</span>
<a name="l00104"></a>00104 assert (strstr (field, <span class="stringliteral">"EDGE_WEIGHT_TYPE"</span>));
<a name="l00105"></a>00105 getNextField (f, field);
<a name="l00106"></a>00106 printf (<span class="stringliteral">"EDGE_WEIGHT_TYPE: %s.\n"</span>, field);
<a name="l00107"></a>00107
<a name="l00108"></a>00108 getNextField (f, field); <span class="comment">/* Node coord section */</span>
<a name="l00109"></a>00109 assert (strstr (field, <span class="stringliteral">"NODE_COORD_SECTION"</span>));
<a name="l00110"></a>00110 loadNodes (f);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 getNextField (f, field); <span class="comment">/* End of file */</span>
<a name="l00113"></a>00113 assert (strstr (field, <span class="stringliteral">"EOF"</span>));
<a name="l00114"></a>00114 printf (<span class="stringliteral">"EOF.\n"</span>);
<a name="l00115"></a>00115 }
<a name="l00116"></a>00116 <span class="keywordflow">else</span>
<a name="l00117"></a>00117 {
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="keywordtype">void</span> loadData (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html">eoParser</a> &amp; __parser) {
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="comment">/* Getting the path of the instance */</span>
<a name="l00122"></a>00122
<a name="l00123"></a>00123 eoValueParam &lt;std :: string&gt; param (<span class="stringliteral">""</span>, <span class="stringliteral">"inst"</span>, <span class="stringliteral">"Path of the instance"</span>) ;
<a name="l00124"></a>00124 __parser.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html#3e39518c3f01abbb776b8813a81598de">processParam</a> (param) ;
<a name="l00125"></a>00125 loadData (param.value ().c_str ());
<a name="l00126"></a>00126 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00119"></a>00119 fprintf (stderr, <span class="stringliteral">"Can't open '%s'.\n"</span>, __filename);
<a name="l00120"></a>00120 exit (1);
<a name="l00121"></a>00121 }
<a name="l00122"></a>00122 }
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="keywordtype">void</span> loadData (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html">eoParser</a> &amp; __parser)
<a name="l00125"></a>00125 {
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="comment">/* Getting the path of the instance */</span>
<a name="l00128"></a>00128
<a name="l00129"></a>00129 eoValueParam &lt;std :: string&gt; param (<span class="stringliteral">""</span>, <span class="stringliteral">"inst"</span>, <span class="stringliteral">"Path of the instance"</span>) ;
<a name="l00130"></a>00130 __parser.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html#3e39518c3f01abbb776b8813a81598de">processParam</a> (param) ;
<a name="l00131"></a>00131 loadData (param.value ().c_str ());
<a name="l00132"></a>00132 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: data.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: data.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>data.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>data.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;data.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -68,7 +68,7 @@
<a name="l00044"></a>00044 <span class="keyword">extern</span> <span class="keywordtype">void</span> loadData (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html">eoParser</a> &amp; __parser);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: display.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: display.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>display.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>display.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;display.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -80,7 +80,7 @@
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="comment">/* this variable will contain the handle to the returned graphics context. */</span>
<a name="l00058"></a>00058 <span class="keyword">static</span> GC gc;
<a name="l00059"></a>00059
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">/* this variable will contain the pointer to the Display structure */</span>
<a name="l00061"></a>00061 <span class="keyword">static</span> Display* disp;
<a name="l00062"></a>00062
@ -91,83 +91,87 @@
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="comment">/* Create a new backing pixmap of the appropriate size */</span>
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">/* Best tour */</span>
<a name="l00071"></a>00071 <span class="comment">/*</span>
<a name="l00072"></a>00072 <span class="comment"> gdk_gc_set_line_attributes (gc, 2, GDK_LINE_ON_OFF_DASH, GDK_CAP_NOT_LAST, GDK_JOIN_MITER) ;</span>
<a name="l00070"></a>00070 <span class="comment">/* Best tour */</span>
<a name="l00071"></a>00071 <span class="comment">/*</span>
<a name="l00072"></a>00072 <span class="comment">gdk_gc_set_line_attributes (gc, 2, GDK_LINE_ON_OFF_DASH, GDK_CAP_NOT_LAST, GDK_JOIN_MITER) ;</span>
<a name="l00073"></a>00073 <span class="comment"></span>
<a name="l00074"></a>00074 <span class="comment"> gdk_gc_set_foreground (gc, &amp; color_green) ; </span>
<a name="l00074"></a>00074 <span class="comment">gdk_gc_set_foreground (gc, &amp; color_green) ;</span>
<a name="l00075"></a>00075 <span class="comment"></span>
<a name="l00076"></a>00076 <span class="comment"> for (int i = 0 ; i &lt; (int) numNodes ; i ++) {</span>
<a name="l00076"></a>00076 <span class="comment">for (int i = 0 ; i &lt; (int) numNodes ; i ++) {</span>
<a name="l00077"></a>00077 <span class="comment"></span>
<a name="l00078"></a>00078 <span class="comment"> gdk_draw_line (pixmap, gc,</span>
<a name="l00079"></a>00079 <span class="comment"> X_new_coord [opt_route [i]],</span>
<a name="l00080"></a>00080 <span class="comment"> Y_new_coord [opt_route [i]],</span>
<a name="l00081"></a>00081 <span class="comment"> X_new_coord [opt_route [(i + 1) % numNodes]],</span>
<a name="l00082"></a>00082 <span class="comment"> Y_new_coord [opt_route [(i + 1) % numNodes]]);</span>
<a name="l00083"></a>00083 <span class="comment"> </span>
<a name="l00084"></a>00084 <span class="comment"> }*/</span>
<a name="l00078"></a>00078 <span class="comment"> gdk_draw_line (pixmap, gc,</span>
<a name="l00079"></a>00079 <span class="comment"> X_new_coord [opt_route [i]],</span>
<a name="l00080"></a>00080 <span class="comment"> Y_new_coord [opt_route [i]],</span>
<a name="l00081"></a>00081 <span class="comment"> X_new_coord [opt_route [(i + 1) % numNodes]],</span>
<a name="l00082"></a>00082 <span class="comment"> Y_new_coord [opt_route [(i + 1) % numNodes]]);</span>
<a name="l00083"></a>00083 <span class="comment"></span>
<a name="l00084"></a>00084 <span class="comment"> }*/</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keywordtype">void</span> openMainWindow (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename) {
<a name="l00087"></a>00087
<a name="l00088"></a>00088 filename = __filename;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="comment">/* Map */</span>
<a name="l00091"></a>00091 <span class="keywordtype">int</span> map_width = (int) (X_max - X_min);
<a name="l00092"></a>00092 <span class="keywordtype">int</span> map_height = (int) (Y_max - Y_min);
<a name="l00093"></a>00093 <span class="keywordtype">int</span> map_side = std :: max (map_width, map_height);
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="comment">/* Calculate the window's width and height. */</span>
<a name="l00096"></a>00096 <span class="keywordtype">int</span> win_width = (int) (screen_width * RATIO * map_width / map_side);
<a name="l00097"></a>00097 <span class="keywordtype">int</span> win_height = (int) (screen_height * RATIO * map_height / map_side);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">/* Computing the coordinates */</span>
<a name="l00100"></a>00100 X_new_coord = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> [numNodes];
<a name="l00101"></a>00101 Y_new_coord = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> [numNodes];
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++) {
<a name="l00104"></a>00104 X_new_coord [i] = (<span class="keywordtype">unsigned</span>) (win_width * (1.0 - (X_coord [i] - X_min) / map_width) + BORDER);
<a name="l00105"></a>00105 Y_new_coord [i] = (unsigned) (win_height * (1.0 - (Y_coord [i] - Y_min) / map_height) + BORDER);
<a name="l00106"></a>00106 }
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="comment">/* Initialisation */</span>
<a name="l00109"></a>00109 XGCValues val ;
<a name="l00110"></a>00110
<a name="l00111"></a>00111 disp = XOpenDisplay (NULL) ;
<a name="l00112"></a>00112 screen = DefaultScreen (disp) ;
<a name="l00113"></a>00113 win = XCreateSimpleWindow (disp, RootWindow (disp, screen), 0, 0, win_width + 2 * BORDER, win_height + 2 * BORDER, 2, BlackPixel (disp, screen), WhitePixel (disp, screen)) ;
<a name="l00114"></a>00114 val.foreground = BlackPixel(disp, screen) ;
<a name="l00115"></a>00115 val.background = WhitePixel(disp, screen) ;
<a name="l00116"></a>00116 gc = XCreateGC (disp, win, GCForeground | GCBackground, &amp; val) ;
<a name="l00117"></a>00117
<a name="l00118"></a>00118 XMapWindow (disp, win) ;
<a name="l00119"></a>00119 XFlush (disp) ;
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
<a name="l00122"></a>00122 XClearWindow (disp, win) ;
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="comment">/* Vertices as circles */</span>
<a name="l00125"></a>00125 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1 ; i &lt; numNodes ; i ++)
<a name="l00126"></a>00126 XDrawArc (disp, win, gc, X_new_coord [i] - 1, Y_new_coord [i] - 1, 3, 3, 0, 364 * 64) ;
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="comment">/* New tour */</span>
<a name="l00129"></a>00129 std :: ifstream f (filename);
<a name="l00130"></a>00130 <span class="keywordflow">if</span> (f) {
<a name="l00131"></a>00131 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> route;
<a name="l00132"></a>00132 f &gt;&gt; route;
<a name="l00133"></a>00133 f.close ();
<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; (int) numNodes; i ++)
<a name="l00136"></a>00136 XDrawLine (disp, win, gc,
<a name="l00137"></a>00137 X_new_coord [route [i]],
<a name="l00138"></a>00138 Y_new_coord [route [i]],
<a name="l00139"></a>00139 X_new_coord [route [(i + 1) % numNodes]],
<a name="l00140"></a>00140 Y_new_coord [route [(i + 1) % numNodes]]);
<a name="l00141"></a>00141 }
<a name="l00142"></a>00142 XFlush (disp) ;
<a name="l00143"></a>00143 sleep (1) ;
<a name="l00144"></a>00144 }
<a name="l00145"></a>00145 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00086"></a>00086 <span class="keywordtype">void</span> openMainWindow (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename)
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088
<a name="l00089"></a>00089 filename = __filename;
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="comment">/* Map */</span>
<a name="l00092"></a>00092 <span class="keywordtype">int</span> map_width = (int) (X_max - X_min);
<a name="l00093"></a>00093 <span class="keywordtype">int</span> map_height = (int) (Y_max - Y_min);
<a name="l00094"></a>00094 <span class="keywordtype">int</span> map_side = std :: max (map_width, map_height);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="comment">/* Calculate the window's width and height. */</span>
<a name="l00097"></a>00097 <span class="keywordtype">int</span> win_width = (int) (screen_width * RATIO * map_width / map_side);
<a name="l00098"></a>00098 <span class="keywordtype">int</span> win_height = (int) (screen_height * RATIO * map_height / map_side);
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="comment">/* Computing the coordinates */</span>
<a name="l00101"></a>00101 X_new_coord = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> [numNodes];
<a name="l00102"></a>00102 Y_new_coord = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> [numNodes];
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++)
<a name="l00105"></a>00105 {
<a name="l00106"></a>00106 X_new_coord [i] = (<span class="keywordtype">unsigned</span>) (win_width * (1.0 - (X_coord [i] - X_min) / map_width) + BORDER);
<a name="l00107"></a>00107 Y_new_coord [i] = (unsigned) (win_height * (1.0 - (Y_coord [i] - Y_min) / map_height) + BORDER);
<a name="l00108"></a>00108 }
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="comment">/* Initialisation */</span>
<a name="l00111"></a>00111 XGCValues val ;
<a name="l00112"></a>00112
<a name="l00113"></a>00113 disp = XOpenDisplay (NULL) ;
<a name="l00114"></a>00114 screen = DefaultScreen (disp) ;
<a name="l00115"></a>00115 win = XCreateSimpleWindow (disp, RootWindow (disp, screen), 0, 0, win_width + 2 * BORDER, win_height + 2 * BORDER, 2, BlackPixel (disp, screen), WhitePixel (disp, screen)) ;
<a name="l00116"></a>00116 val.foreground = BlackPixel(disp, screen) ;
<a name="l00117"></a>00117 val.background = WhitePixel(disp, screen) ;
<a name="l00118"></a>00118 gc = XCreateGC (disp, win, GCForeground | GCBackground, &amp; val) ;
<a name="l00119"></a>00119
<a name="l00120"></a>00120 XMapWindow (disp, win) ;
<a name="l00121"></a>00121 XFlush (disp) ;
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
<a name="l00124"></a>00124 {
<a name="l00125"></a>00125 XClearWindow (disp, win) ;
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="comment">/* Vertices as circles */</span>
<a name="l00128"></a>00128 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1 ; i &lt; numNodes ; i ++)
<a name="l00129"></a>00129 XDrawArc (disp, win, gc, X_new_coord [i] - 1, Y_new_coord [i] - 1, 3, 3, 0, 364 * 64) ;
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="comment">/* New tour */</span>
<a name="l00132"></a>00132 std :: ifstream f (filename);
<a name="l00133"></a>00133 <span class="keywordflow">if</span> (f)
<a name="l00134"></a>00134 {
<a name="l00135"></a>00135 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> route;
<a name="l00136"></a>00136 f &gt;&gt; route;
<a name="l00137"></a>00137 f.close ();
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; (int) numNodes; i ++)
<a name="l00140"></a>00140 XDrawLine (disp, win, gc,
<a name="l00141"></a>00141 X_new_coord [route [i]],
<a name="l00142"></a>00142 Y_new_coord [route [i]],
<a name="l00143"></a>00143 X_new_coord [route [(i + 1) % numNodes]],
<a name="l00144"></a>00144 Y_new_coord [route [(i + 1) % numNodes]]);
<a name="l00145"></a>00145 }
<a name="l00146"></a>00146 XFlush (disp) ;
<a name="l00147"></a>00147 sleep (1) ;
<a name="l00148"></a>00148 }
<a name="l00149"></a>00149 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: display.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: display.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>display.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>display.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;display.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -66,7 +66,7 @@
<a name="l00042"></a>00042 <span class="keyword">extern</span> <span class="keywordtype">void</span> openMainWindow (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: display_best_route.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: display_best_route.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>display_best_route.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>display_best_route.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;display_best_route.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -62,17 +62,17 @@
<a name="l00038"></a>00038 <span class="preprocessor">#include "display.h"</span>
<a name="l00039"></a>00039
<a name="l00040"></a><a class="code" href="classDisplayBestRoute.html#db263e38f1e82174f811bf62f323f87f">00040</a> <a class="code" href="classDisplayBestRoute.html#db263e38f1e82174f811bf62f323f87f">DisplayBestRoute :: DisplayBestRoute</a> (eoPop &lt;Route&gt; &amp; __pop
<a name="l00041"></a>00041 ) : pop (__pop) {
<a name="l00042"></a>00042
<a name="l00043"></a>00043
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">00046</a> <span class="keywordtype">void</span> <a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">DisplayBestRoute :: operator () </a>() {
<a name="l00047"></a>00047
<a name="l00041"></a>00041 ) : pop (__pop)
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 }
<a name="l00044"></a>00044
<a name="l00045"></a><a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">00045</a> <span class="keywordtype">void</span> <a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">DisplayBestRoute :: operator () </a>()
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 displayRoute (<a class="code" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">pop</a>.best_element ());
<a name="l00049"></a>00049 }
<a name="l00050"></a>00050
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: display_best_route.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: display_best_route.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>display_best_route.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>display_best_route.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;display_best_route.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -67,22 +67,23 @@
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#include "route.h"</span>
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="classDisplayBestRoute.html">00046</a> <span class="keyword">class </span><a class="code" href="classDisplayBestRoute.html">DisplayBestRoute</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a> {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <a class="code" href="classDisplayBestRoute.html#db263e38f1e82174f811bf62f323f87f">DisplayBestRoute</a> (eoPop &lt;Route&gt; &amp; __pop);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">operator () </a>();
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">private</span> :
<a name="l00055"></a>00055
<a name="l00056"></a><a class="code" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">00056</a> eoPop &lt;Route&gt; &amp; <a class="code" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">pop</a>;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 };
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00046"></a><a class="code" href="classDisplayBestRoute.html">00046</a> <span class="keyword">class </span><a class="code" href="classDisplayBestRoute.html">DisplayBestRoute</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a>
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">public</span> :
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <a class="code" href="classDisplayBestRoute.html#db263e38f1e82174f811bf62f323f87f">DisplayBestRoute</a> (eoPop &lt;Route&gt; &amp; __pop);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classDisplayBestRoute.html#ee879344a6d8b81a04d4eabbed2c7a04">operator () </a>();
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">private</span> :
<a name="l00056"></a>00056
<a name="l00057"></a><a class="code" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">00057</a> eoPop &lt;Route&gt; &amp; <a class="code" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">pop</a>;
<a name="l00058"></a>00058
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: edge_xover.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: edge_xover.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>edge_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>edge_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;edge_xover.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,110 +65,120 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "edge_xover.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#04de96aa1016836e0ba5f4b952a5fa16">EdgeXover :: build_map</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2) {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> len = __par1.size () ;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">/* Initialization */</span>
<a name="l00049"></a>00049 _map.clear () ;
<a name="l00050"></a>00050 _map.resize (len) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; len ; i ++) {
<a name="l00053"></a>00053 _map [__par1 [i]].insert (__par1 [(i + 1) % len]) ;
<a name="l00054"></a>00054 _map [__par2 [i]].insert (__par2 [(i + 1) % len]) ;
<a name="l00055"></a>00055 _map [__par1 [i]].insert (__par1 [(i - 1 + len) % len]) ;
<a name="l00056"></a>00056 _map [__par2 [i]].insert (__par2 [(i - 1 + len) % len]) ;
<a name="l00057"></a>00057 }
<a name="l00058"></a>00058
<a name="l00059"></a>00059 visited.clear () ;
<a name="l00060"></a>00060 visited.resize (len, <span class="keyword">false</span>) ;
<a name="l00061"></a>00061 }
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keywordtype">void</span> EdgeXover :: remove_entry (<span class="keywordtype">unsigned</span> __vertex, std :: vector &lt;std :: set &lt;unsigned&gt; &gt; &amp; __map) {
<a name="l00064"></a>00064
<a name="l00065"></a>00065 std :: set &lt;unsigned&gt; &amp; neigh = __map [__vertex] ;
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00068"></a>00068 it != neigh.end () ;
<a name="l00069"></a>00069 it ++)
<a name="l00070"></a>00070 __map [* it].erase (__vertex) ;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#b590458c35c16a14896a4bcdf9674ade">EdgeXover :: add_vertex</a> (<span class="keywordtype">unsigned</span> __vertex, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) {
<a name="l00075"></a>00075
<a name="l00076"></a>00076 visited [__vertex] = true ;
<a name="l00077"></a>00077 __child.push_back (__vertex) ;
<a name="l00078"></a>00078 remove_entry (__vertex, _map) ; <span class="comment">/* Removing entries */</span>
<a name="l00079"></a>00079 }
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#88c2d4c9a878454a32d56010f3dddc27">EdgeXover :: cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) {
<a name="l00082"></a>00082
<a name="l00083"></a>00083 build_map (__par1, __par2) ;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keywordtype">unsigned</span> len = __par1.size () ;
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="comment">/* Go ! */</span>
<a name="l00088"></a>00088 __child.clear () ;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="keywordtype">unsigned</span> cur_vertex = <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (len) ;
<a name="l00091"></a>00091
<a name="l00092"></a>00092 add_vertex (cur_vertex, __child) ;
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1 ; i &lt; len ; i ++) {
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="keywordtype">unsigned</span> len_min_entry = MAXINT ;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 std :: set &lt;unsigned&gt; &amp; neigh = _map [cur_vertex] ;
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00101"></a>00101 it != neigh.end () ;
<a name="l00102"></a>00102 it ++) {
<a name="l00103"></a>00103 <span class="keywordtype">unsigned</span> l = _map [* it].size () ;
<a name="l00104"></a>00104 <span class="keywordflow">if</span> (len_min_entry &gt; l)
<a name="l00105"></a>00105 len_min_entry = l ;
<a name="l00106"></a>00106 }
<a name="l00107"></a>00107
<a name="l00108"></a>00108 std :: vector &lt;unsigned&gt; cand ; <span class="comment">/* Candidates */</span>
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00111"></a>00111 it != neigh.end () ;
<a name="l00112"></a>00112 it ++) {
<a name="l00113"></a>00113 <span class="keywordtype">unsigned</span> l = _map [* it].size () ;
<a name="l00114"></a>00114 <span class="keywordflow">if</span> (len_min_entry == l)
<a name="l00115"></a>00115 cand.push_back (* it) ;
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="keywordflow">if</span> (! cand.size ()) {
<a name="l00119"></a>00119
<a name="l00120"></a>00120 <span class="comment">/* Oh no ! Implicit mutation */</span>
<a name="l00121"></a>00121 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 0 ; j &lt; len ; j ++)
<a name="l00122"></a>00122 <span class="keywordflow">if</span> (! visited [j])
<a name="l00123"></a>00123 cand.push_back (j) ;
<a name="l00124"></a>00124 }
<a name="l00044"></a><a class="code" href="classEdgeXover.html#04de96aa1016836e0ba5f4b952a5fa16">00044</a> <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#04de96aa1016836e0ba5f4b952a5fa16">EdgeXover :: build_map</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2)
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> len = __par1.size () ;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="comment">/* Initialization */</span>
<a name="l00050"></a>00050 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a>.clear () ;
<a name="l00051"></a>00051 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a>.resize (len) ;
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; len ; i ++)
<a name="l00054"></a>00054 {
<a name="l00055"></a>00055 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [__par1 [i]].insert (__par1 [(i + 1) % len]) ;
<a name="l00056"></a>00056 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [__par2 [i]].insert (__par2 [(i + 1) % len]) ;
<a name="l00057"></a>00057 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [__par1 [i]].insert (__par1 [(i - 1 + len) % len]) ;
<a name="l00058"></a>00058 <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [__par2 [i]].insert (__par2 [(i - 1 + len) % len]) ;
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a>.clear () ;
<a name="l00062"></a>00062 <a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a>.resize (len, <span class="keyword">false</span>) ;
<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
<a name="l00065"></a><a class="code" href="classEdgeXover.html#1b3a4c75dd9a034c81af6d89d85d30f5">00065</a> <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#1b3a4c75dd9a034c81af6d89d85d30f5">EdgeXover :: remove_entry</a> (<span class="keywordtype">unsigned</span> __vertex, std :: vector &lt;std :: set &lt;unsigned&gt; &gt; &amp; __map)
<a name="l00066"></a>00066 {
<a name="l00067"></a>00067
<a name="l00068"></a>00068 std :: set &lt;unsigned&gt; &amp; neigh = __map [__vertex] ;
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00071"></a>00071 it != neigh.end () ;
<a name="l00072"></a>00072 it ++)
<a name="l00073"></a>00073 __map [* it].erase (__vertex) ;
<a name="l00074"></a>00074
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076
<a name="l00077"></a><a class="code" href="classEdgeXover.html#2d3045ef503d8b16a27e11fdc23ca11c">00077</a> <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#2d3045ef503d8b16a27e11fdc23ca11c">EdgeXover :: add_vertex</a> (<span class="keywordtype">unsigned</span> __vertex, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child)
<a name="l00078"></a>00078 {
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a> [__vertex] = true ;
<a name="l00081"></a>00081 __child.push_back (__vertex) ;
<a name="l00082"></a>00082 <a class="code" href="classEdgeXover.html#1b3a4c75dd9a034c81af6d89d85d30f5">remove_entry</a> (__vertex, <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a>) ; <span class="comment">/* Removing entries */</span>
<a name="l00083"></a>00083 }
<a name="l00084"></a>00084
<a name="l00085"></a><a class="code" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">00085</a> <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">EdgeXover :: cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child)
<a name="l00086"></a>00086 {
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <a class="code" href="classEdgeXover.html#04de96aa1016836e0ba5f4b952a5fa16">build_map</a> (__par1, __par2) ;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="keywordtype">unsigned</span> len = __par1.size () ;
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="comment">/* Go ! */</span>
<a name="l00093"></a>00093 __child.clear () ;
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> cur_vertex = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (len) ;
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <a class="code" href="classEdgeXover.html#2d3045ef503d8b16a27e11fdc23ca11c">add_vertex</a> (cur_vertex, __child) ;
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1 ; i &lt; len ; i ++)
<a name="l00100"></a>00100 {
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keywordtype">unsigned</span> len_min_entry = MAXINT ;
<a name="l00103"></a>00103
<a name="l00104"></a>00104 std :: set &lt;unsigned&gt; &amp; neigh = <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [cur_vertex] ;
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00107"></a>00107 it != neigh.end () ;
<a name="l00108"></a>00108 it ++)
<a name="l00109"></a>00109 {
<a name="l00110"></a>00110 <span class="keywordtype">unsigned</span> l = <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [* it].size () ;
<a name="l00111"></a>00111 <span class="keywordflow">if</span> (len_min_entry &gt; l)
<a name="l00112"></a>00112 len_min_entry = l ;
<a name="l00113"></a>00113 }
<a name="l00114"></a>00114
<a name="l00115"></a>00115 std :: vector &lt;unsigned&gt; cand ; <span class="comment">/* Candidates */</span>
<a name="l00116"></a>00116
<a name="l00117"></a>00117 <span class="keywordflow">for</span> (std :: set &lt;unsigned&gt; :: iterator it = neigh.begin () ;
<a name="l00118"></a>00118 it != neigh.end () ;
<a name="l00119"></a>00119 it ++)
<a name="l00120"></a>00120 {
<a name="l00121"></a>00121 <span class="keywordtype">unsigned</span> l = <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> [* it].size () ;
<a name="l00122"></a>00122 <span class="keywordflow">if</span> (len_min_entry == l)
<a name="l00123"></a>00123 cand.push_back (* it) ;
<a name="l00124"></a>00124 }
<a name="l00125"></a>00125
<a name="l00126"></a>00126 cur_vertex = cand [<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (cand.size ())] ;
<a name="l00127"></a>00127
<a name="l00128"></a>00128 add_vertex (cur_vertex, __child) ;
<a name="l00129"></a>00129 }
<a name="l00130"></a>00130 }
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#cb1c0a103106a4d3319540cb23163a79">EdgeXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) {
<a name="l00133"></a>00133
<a name="l00134"></a>00134 <span class="comment">// Init. copy</span>
<a name="l00135"></a>00135 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> par [2] ;
<a name="l00136"></a>00136 par [0] = __route1 ;
<a name="l00137"></a>00137 par [1] = __route2 ;
<a name="l00138"></a>00138
<a name="l00139"></a>00139 cross (par [0], par [1], __route1) ;
<a name="l00140"></a>00140 cross (par [1], par [0], __route2) ;
<a name="l00141"></a>00141
<a name="l00142"></a>00142 __route1.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00143"></a>00143 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="keywordflow">return</span> true ;
<a name="l00146"></a>00146 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00126"></a>00126 <span class="keywordflow">if</span> (! cand.size ())
<a name="l00127"></a>00127 {
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="comment">/* Oh no ! Implicit mutation */</span>
<a name="l00130"></a>00130 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 0 ; j &lt; len ; j ++)
<a name="l00131"></a>00131 <span class="keywordflow">if</span> (! <a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a> [j])
<a name="l00132"></a>00132 cand.push_back (j) ;
<a name="l00133"></a>00133 }
<a name="l00134"></a>00134
<a name="l00135"></a>00135 cur_vertex = cand [rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (cand.size ())] ;
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <a class="code" href="classEdgeXover.html#2d3045ef503d8b16a27e11fdc23ca11c">add_vertex</a> (cur_vertex, __child) ;
<a name="l00138"></a>00138 }
<a name="l00139"></a>00139 }
<a name="l00140"></a>00140
<a name="l00141"></a><a class="code" href="classEdgeXover.html#cb1c0a103106a4d3319540cb23163a79">00141</a> <span class="keywordtype">bool</span> <a class="code" href="classEdgeXover.html#cb1c0a103106a4d3319540cb23163a79">EdgeXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2)
<a name="l00142"></a>00142 {
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="comment">// Init. copy</span>
<a name="l00145"></a>00145 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> par [2] ;
<a name="l00146"></a>00146 par [0] = __route1 ;
<a name="l00147"></a>00147 par [1] = __route2 ;
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <a class="code" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">cross</a> (par [0], par [1], __route1) ;
<a name="l00150"></a>00150 <a class="code" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">cross</a> (par [1], par [0], __route2) ;
<a name="l00151"></a>00151
<a name="l00152"></a>00152 __route1.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00153"></a>00153 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00154"></a>00154
<a name="l00155"></a>00155 <span class="keywordflow">return</span> true ;
<a name="l00156"></a>00156 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: edge_xover.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: edge_xover.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>edge_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>edge_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;edge_xover.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -68,31 +68,32 @@
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#include "route.h"</span>
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keyword">class </span><a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html">EdgeXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt; {
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">public</span> :
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#cb1c0a103106a4d3319540cb23163a79">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">private</span> :
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#88c2d4c9a878454a32d56010f3dddc27">cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ; <span class="comment">/* Binary */</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keywordtype">void</span> remove_entry (<span class="keywordtype">unsigned</span> __vertex, std :: vector &lt;std :: set &lt;unsigned&gt; &gt; &amp; __map) ;
<a name="l00059"></a>00059 <span class="comment">/* Updating the map of entries */</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#04de96aa1016836e0ba5f4b952a5fa16">build_map</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2) ;
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#b590458c35c16a14896a4bcdf9674ade">add_vertex</a> (<span class="keywordtype">unsigned</span> __vertex, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 std :: vector &lt;std :: set &lt;unsigned&gt; &gt; <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#7d9272c12cfa55df4677d5ad837a0e5c">_map</a> ; <span class="comment">/* The handled map */</span>
<a name="l00066"></a>00066
<a name="l00067"></a>00067 std :: vector &lt;bool&gt; <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_edge_xover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a> ; <span class="comment">/* Vertices that are already visited */</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 } ;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00048"></a><a class="code" href="classEdgeXover.html">00048</a> <span class="keyword">class </span><a class="code" href="classEdgeXover.html">EdgeXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt;
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">public</span> :
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="classEdgeXover.html#cb1c0a103106a4d3319540cb23163a79">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">private</span> :
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ; <span class="comment">/* Binary */</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#1b3a4c75dd9a034c81af6d89d85d30f5">remove_entry</a> (<span class="keywordtype">unsigned</span> __vertex, std :: vector &lt;std :: set &lt;unsigned&gt; &gt; &amp; __map) ;
<a name="l00060"></a>00060 <span class="comment">/* Updating the map of entries */</span>
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#04de96aa1016836e0ba5f4b952a5fa16">build_map</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2) ;
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classEdgeXover.html#2d3045ef503d8b16a27e11fdc23ca11c">add_vertex</a> (<span class="keywordtype">unsigned</span> __vertex, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ;
<a name="l00065"></a>00065
<a name="l00066"></a><a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">00066</a> std :: vector &lt;std :: set &lt;unsigned&gt; &gt; <a class="code" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">_map</a> ; <span class="comment">/* The handled map */</span>
<a name="l00067"></a>00067
<a name="l00068"></a><a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">00068</a> std :: vector &lt;bool&gt; <a class="code" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">visited</a> ; <span class="comment">/* Vertices that are already visited */</span>
<a name="l00069"></a>00069
<a name="l00070"></a>00070 } ;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: File Index</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: File Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,14 +22,16 @@
</form>
</li>
</ul></div>
<h1>ParadisEO-PEOMovingObjects File List</h1>Here is a list of all documented files with brief descriptions:<table>
<h1>ParadisEO-PEO-ParallelanddistributedEvolvingObjects File List</h1>Here is a list of all documented files with brief descriptions:<table>
<tr><td class="indexkey"><b>city_swap.cpp</b> <a href="city__swap_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>city_swap.h</b> <a href="city__swap_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>comm.cpp</b> <a href="comm_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>comm.h</b> <a href="comm_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>communicable.cpp</b> <a href="communicable_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>communicable.h</b> <a href="communicable_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>coop.cpp</b> <a href="coop_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>complete_topo.cpp</b> <a href="complete__topo_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>complete_topo.h</b> <a href="complete__topo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>cooperative.cpp</b> <a href="cooperative_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>cooperative.h</b> <a href="cooperative_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>data.cpp</b> <a href="data_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>data.h</b> <a href="data_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@ -37,20 +39,16 @@
<tr><td class="indexkey"><b>display.h</b> <a href="display_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>display_best_route.cpp</b> <a href="display__best__route_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>display_best_route.h</b> <a href="display__best__route_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>doclsn.h</b> <a href="doclsn_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>edge_xover.cpp</b> <a href="edge__xover_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>edge_xover.h</b> <a href="edge__xover_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>eoPop_comm.h</b> <a href="eoPop__comm_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>eoVector_comm.h</b> <a href="eoVector__comm_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>exampleA.cpp</b> <a href="exampleA_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>exampleB.cpp</b> <a href="exampleB_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>exampleC.cpp</b> <a href="exampleC_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>exampleD.cpp</b> <a href="exampleD_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>exampleE.cpp</b> <a href="exampleE_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson1/main.cpp</b> <a href="Lesson1_2main_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson2/main.cpp</b> <a href="Lesson2_2main_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson3/main.cpp</b> <a href="Lesson3_2main_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>LessonParallelAlgorithm/main.cpp</b> <a href="LessonParallelAlgorithm_2main_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>eoPop_mesg.h</b> <a href="eoPop__mesg_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>eoVector_mesg.h</b> <a href="eoVector__mesg_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson1/mainEA.cpp</b> <a href="Lesson1_2mainEA_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson2/mainEA.cpp</b> <a href="Lesson2_2mainEA_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson3/mainEA.cpp</b> <a href="Lesson3_2mainEA_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>mainEALS.cpp</b> <a href="mainEALS_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson1/mainPSO.cpp</b> <a href="Lesson1_2mainPSO_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>Lesson3/mainPSO.cpp</b> <a href="Lesson3_2mainPSO_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>merge_route_eval.cpp</b> <a href="merge__route__eval_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>merge_route_eval.h</b> <a href="merge__route__eval_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>mess.cpp</b> <a href="mess_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@ -86,18 +84,17 @@
<tr><td class="indexkey"><b>peo_run.h</b> <a href="peo__run_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoAggEvalFunc.h</b> <a href="peoAggEvalFunc_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoAsyncIslandMig.h</b> <a href="peoAsyncIslandMig_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoEA.h</b> <a href="peoEA_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoData.h</b> <a href="peoData_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoEvalFunc.h</b> <a href="peoEvalFunc_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoMultiStart.h</b> <a href="peoMultiStart_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoNoAggEvalFunc.h</b> <a href="peoNoAggEvalFunc_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoParallelAlgorithmWrapper.h</b> <a href="peoParallelAlgorithmWrapper_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoParaPopEval.h</b> <a href="peoParaPopEval_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoParaSGATransform.h</b> <a href="peoParaSGATransform_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoPopEval.h</b> <a href="peoPopEval_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoSeqPopEval.h</b> <a href="peoSeqPopEval_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoSeqTransform.h</b> <a href="peoSeqTransform_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoSynchronousMultiStart.h</b> <a href="peoSynchronousMultiStart_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoPSO.h</b> <a href="peoPSO_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoSyncIslandMig.h</b> <a href="peoSyncIslandMig_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoSyncMultiStart.h</b> <a href="peoSyncMultiStart_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoTransform.h</b> <a href="peoTransform_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>peoWrapper.h</b> <a href="peoWrapper_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>random_topo.cpp</b> <a href="random__topo_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>random_topo.h</b> <a href="random__topo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>reac_thread.cpp</b> <a href="reac__thread_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>reac_thread.h</b> <a href="reac__thread_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>README</b> <a href="README-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@ -125,7 +122,20 @@
<tr><td class="indexkey"><b>core/service.cpp</b> <a href="core_2service_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>rmc/mpi/service.cpp</b> <a href="rmc_2mpi_2service_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>service.h</b> <a href="service_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-peo.cpp</b> <a href="t-peo_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>star_topo.cpp</b> <a href="star__topo_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>star_topo.h</b> <a href="star__topo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>synchron.cpp</b> <a href="synchron_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>synchron.h</b> <a href="synchron_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-EAAsyncIsland.cpp</b> <a href="t-EAAsyncIsland_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-EASyncIsland.cpp</b> <a href="t-EASyncIsland_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-Mpdallexit.cpp</b> <a href="t-Mpdallexit_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-Mpdboot.cpp</b> <a href="t-Mpdboot_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-MultiStart.cpp</b> <a href="t-MultiStart_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-ParallelEval.cpp</b> <a href="t-ParallelEval_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-ParallelTransform.cpp</b> <a href="t-ParallelTransform_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-PSOGlobalBest.cpp</b> <a href="t-PSOGlobalBest_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-PSOSelect.cpp</b> <a href="t-PSOSelect_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>t-PSOWorstPosition.cpp</b> <a href="t-PSOWorstPosition_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>tags.h</b> <a href="tags_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>thread.cpp</b> <a href="thread_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>thread.h</b> <a href="thread_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@ -146,7 +156,7 @@
<tr><td class="indexkey"><b>xml_parser.cpp</b> <a href="xml__parser_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><b>xml_parser.h</b> <a href="xml__parser_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Class Members - Variables</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Class Members - Variables</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -34,11 +34,14 @@
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_type.html"><span>Typedefs</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index__"><span>_</span></a></li>
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
@ -53,108 +56,136 @@
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
</ul>
</div>
<p>
&nbsp;
<p>
<h3><a class="anchor" name="index__">- _ -</a></h3><ul>
<li>_map
: <a class="el" href="classEdgeXover.html#d41399c6effb54ee48c722f1e19cb3c3">EdgeXover</a></ul>
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>act
: <a class="el" href="classThread.html#1b155d63bca3096ac4a1d039aea83c7c">Thread</a><li>ad_sol
: <a class="el" href="classpeoParaPopEval.html#60cafeab376262af675fdff43434c8d8">peoParaPopEval&lt; EOT &gt;</a><li>aggregationAlgorithm
: <a class="el" href="structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html#3c701a64f21aa00278c58b5b4ac914a1">peoSynchronousMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a><li>aggregationFunction
: <a class="el" href="classpeoSynchronousMultiStart.html#abcd58d71eabf2fab35c662fb300e61c">peoSynchronousMultiStart&lt; EntityType &gt;</a><li>algorithm
: <a class="el" href="structpeoSynchronousMultiStart_1_1Algorithm.html#2d533c96d2eefea51a72d241d39abf22">peoSynchronousMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a>, <a class="el" href="classpeoParallelAlgorithmWrapper.html#99f10723f15c63c4822dd6431b9d6d7d">peoParallelAlgorithmWrapper</a>, <a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html#7dcb305dd8c78ffac232bd86b913183d">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>, <a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm.html#91681bf54649f58335c181515a92db7a">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a><li>algorithmData
: <a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm.html#e812277c85c5b6884d2019849e7eabde">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a><li>algorithms
: <a class="el" href="classpeoSynchronousMultiStart.html#f47bb795f53df73f04c0d1528fa346a6">peoSynchronousMultiStart&lt; EntityType &gt;</a></ul>
: <a class="el" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">peoPopEval&lt; EOT &gt;</a><li>aggregationAlgorithm
: <a class="el" href="structpeoMultiStart_1_1AggregationAlgorithm.html#84bd7251c4f117fdbb3bbd68d90f6d35">peoMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a><li>aggregationFunction
: <a class="el" href="classpeoMultiStart.html#eb60fb5f72a95b8fffc5c7012e8b2ce8">peoMultiStart&lt; EntityType &gt;</a><li>algorithm
: <a class="el" href="classpeoWrapper.html#d191ac6d451db7aca86fed473b711346">peoWrapper</a>, <a class="el" href="structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html#9be62964456f157d5cef10710905a314">peoWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>, <a class="el" href="structpeoWrapper_1_1Algorithm.html#eb826079a4c774ade1e933acbdd401c2">peoWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a>, <a class="el" href="structpeoMultiStart_1_1Algorithm.html#e7a6e014c00ef0a7df5d429aba4f5f96">peoMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a><li>algorithmData
: <a class="el" href="structpeoWrapper_1_1FunctionAlgorithm.html#2aef841dc81451d1585c930c7880ab09">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, AlgorithmDataType &gt;</a>, <a class="el" href="structpeoWrapper_1_1Algorithm.html#2c9f577fe7519df7fda1f2afd08b7c91">peoWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a><li>algorithms
: <a class="el" href="classpeoMultiStart.html#b8c2f3220b82cdba5b19189ebff0a14c">peoMultiStart&lt; EntityType &gt;</a><li>all
: <a class="el" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></ul>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>breed
: <a class="el" href="structAlgorithm.html#f2f4e47346140968544e52900dcca312">Algorithm</a></ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>comm
<li>c3
: <a class="el" href="classpeoGlobalBestVelocity.html#d6ff78d4e75ceaa37ede63a55f44d6ce">peoGlobalBestVelocity&lt; POT &gt;</a><li>center
: <a class="el" href="classStarTopology.html#5cc9978f2a1307ad0164ba129297d305">StarTopology</a><li>comm
: <a class="el" href="structSEND__REQUEST.html#1ad8f7233fa3ff13262e783a9153920f">SEND_REQUEST</a><li>cont
: <a class="el" href="classpeoSyncMultiStart.html#43f4fa9b125baef6fc8b968dfd16f437">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoEA.html#5f015eebf42f176b9fe322488c446c2a">peoEA&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">peoAsyncIslandMig&lt; EOT &gt;</a><li>coop_em
: <a class="el" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">peoAsyncIslandMig&lt; EOT &gt;</a><li>cross
: <a class="el" href="classpeoParaSGATransform.html#c6f97deabe7502c84f5b6c479013f6dc">peoParaSGATransform&lt; EOT &gt;</a><li>cross_rate
: <a class="el" href="classpeoParaSGATransform.html#dfcf216e2df05016db4d57a5ffb0b0e2">peoParaSGATransform&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classeoContinuator.html#1c388d11915be8883f98a2511d598537">eoContinuator&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>coop
: <a class="el" href="structSyncEntry.html#145d9df059f130c90766acf6635dba3b">SyncEntry</a><li>coop_em
: <a class="el" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>counter
: <a class="el" href="classeoSyncContinue.html#c2e6e2b929884e370b16f2cccda9cd17">eoSyncContinue</a><li>cross
: <a class="el" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">OrderXover</a>, <a class="el" href="classEdgeXover.html#88c2d4c9a878454a32d56010f3dddc27">EdgeXover</a>, <a class="el" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">peoTransform&lt; EOT &gt;</a><li>cross_rate
: <a class="el" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">peoTransform&lt; EOT &gt;</a></ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>data
: <a class="el" href="classpeoSynchronousMultiStart.html#f729f5a1671437dce7607ad5b7253560">peoSynchronousMultiStart&lt; EntityType &gt;</a>, <a class="el" href="structpeoSynchronousMultiStart_1_1DataType.html#76abc322ae058a820b2c964907bc0d80">peoSynchronousMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a><li>dataIndex
: <a class="el" href="classpeoSynchronousMultiStart.html#a49cb2d76e6fdbfdbe0788c8388d6a0f">peoSynchronousMultiStart&lt; EntityType &gt;</a><li>destination
: <a class="el" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">peoAsyncIslandMig&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoMultiStart.html#2f40db0afb4a657f2d6cf10b83dcb2c3">peoMultiStart&lt; EntityType &gt;</a>, <a class="el" href="structpeoMultiStart_1_1DataType.html#a071f9676f4ed8bdd3bc58c1e66ec378">peoMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a><li>dataIndex
: <a class="el" href="classpeoMultiStart.html#a4b6398ee90389ca5ed997f56b77d69f">peoMultiStart&lt; EntityType &gt;</a><li>def_id
: <a class="el" href="classRunner.html#bcadf488813aacbdeeefd3e0b9a618ee">Runner</a><li>destination
: <a class="el" href="classeoReplace.html#9a0ec5ee11dfdd6f8077db89436cd5f8">eoReplace&lt; EOT, TYPE &gt;</a></ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>em
: <a class="el" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">peoAsyncIslandMig&lt; EOT &gt;</a><li>entityTypeInstance
: <a class="el" href="classpeoSynchronousMultiStart.html#6efedfa64f7a4f3a0d81002e8226dcea">peoSynchronousMultiStart&lt; EntityType &gt;</a><li>eval
: <a class="el" href="classpeoSeqPopEval.html#5465f31386c6b96bc8f7fb9393a28a2f">peoSeqPopEval&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>entityTypeInstance
: <a class="el" href="classpeoMultiStart.html#8f43aa54645797e718510bb172c3cf5e">peoMultiStart&lt; EntityType &gt;</a><li>eval
: <a class="el" href="structAlgorithm.html#0c802f6edca4886f00a1ad12056009fd">Algorithm</a><li>evalFunc
: <a class="el" href="structpeoEvalFunc.html#aacd84e82536aa8ce1cb4d4cebaa691a">peoEvalFunc&lt; EOT, FitT, FunctionArg &gt;</a><li>exec_id
: <a class="el" href="classRunner.html#46671665b1f97e8a09ed9d5ffcf56966">Runner</a><li>explicitPassive
: <a class="el" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>father
: <a class="el" href="classpeoParaSGATransform.html#9ef60190e2e3bd5961a93d1b52cb275d">peoParaSGATransform&lt; EOT &gt;</a><li>funcs
: <a class="el" href="classpeoParaPopEval.html#6d69b8f73c0b5d72baf75d6e53f025b7">peoParaPopEval&lt; EOT &gt;</a><li>functionIndex
: <a class="el" href="classpeoSynchronousMultiStart.html#20cff9a01fb7bb621264b901dab7f336">peoSynchronousMultiStart&lt; EntityType &gt;</a></ul>
: <a class="el" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">peoTransform&lt; EOT &gt;</a><li>from
: <a class="el" href="classPartRouteEval.html#5bde722e66378b2570ae6c4b4f8df58e">PartRouteEval</a><li>funcs
: <a class="el" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">peoPopEval&lt; EOT &gt;</a><li>functionIndex
: <a class="el" href="classpeoMultiStart.html#872b786b612470d0d07490830465f70e">peoMultiStart&lt; EntityType &gt;</a></ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>id
: <a class="el" href="classWorker.html#b5ffcb995e12fa71b9551e91729d6972">Worker</a>, <a class="el" href="classRunner.html#1989c1f8e0b0b54ad2e60a341007e59d">Runner</a><li>idx
: <a class="el" href="classpeoSyncMultiStart.html#64191ef79b7b589964ac9c3e23ae6718">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoSynchronousMultiStart.html#0264a28725fb4a030ed1e4010e07e69e">peoSynchronousMultiStart&lt; EntityType &gt;</a>, <a class="el" href="classpeoParaSGATransform.html#03972feadc86626e58fe60bd4061b57e">peoParaSGATransform&lt; EOT &gt;</a><li>imm
: <a class="el" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">peoAsyncIslandMig&lt; EOT &gt;</a><li>impr_sel
: <a class="el" href="classpeoSyncMultiStart.html#ca10f6d258105e3c4f0d1660db5b7679">peoSyncMultiStart&lt; EOT &gt;</a></ul>
: <a class="el" href="classWorker.html#b5ffcb995e12fa71b9551e91729d6972">Worker</a><li>idx
: <a class="el" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">peoTransform&lt; EOT &gt;</a>, <a class="el" href="classpeoMultiStart.html#ee265c52dd3597b8b6a2ab9d5c38afce">peoMultiStart&lt; EntityType &gt;</a><li>imm
: <a class="el" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>in
: <a class="el" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></ul>
<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
<li>key
: <a class="el" href="classCommunicable.html#605b0efeffe81326f216c9903f5bbf4c">Communicable</a></ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>ls
: <a class="el" href="classpeoSyncMultiStart.html#4d317966de767dcc87eee0286ea7f95d">peoSyncMultiStart&lt; EOT &gt;</a></ul>
<li>loopEval
: <a class="el" href="structAlgorithm.html#6661e046164d9e7193c80687daccb204">Algorithm</a></ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>merge_eval
: <a class="el" href="classpeoParaPopEval.html#b48bcd4e9f92f364118304535c089456">peoParaPopEval&lt; EOT &gt;</a><li>mig
: <a class="el" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">peoPopEval&lt; EOT &gt;</a><li>mig
: <a class="el" href="classTopology.html#247a2faa8568b678f0b7b11e62c7812c">Topology</a><li>mother
: <a class="el" href="classpeoParaSGATransform.html#e991ad2af6d116afd855de2db46e1d27">peoParaSGATransform&lt; EOT &gt;</a><li>mut
: <a class="el" href="classpeoParaSGATransform.html#34ff5f9d285ca4879cf8865fb425a311">peoParaSGATransform&lt; EOT &gt;</a><li>mut_rate
: <a class="el" href="classpeoParaSGATransform.html#b9d3a2094737d0bbd034aac942cc53e3">peoParaSGATransform&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">peoTransform&lt; EOT &gt;</a><li>mut
: <a class="el" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">peoTransform&lt; EOT &gt;</a><li>mut_rate
: <a class="el" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">peoTransform&lt; EOT &gt;</a></ul>
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>no_merge_eval
: <a class="el" href="classpeoParaPopEval.html#bf255dd5861e27108c2abae7309d7690">peoParaPopEval&lt; EOT &gt;</a><li>num_comm
<li>nb_select
: <a class="el" href="classeoSelector.html#285c6b6f0bd0e0e173468009369a391e">eoSelector&lt; EOT, TYPE &gt;</a><li>nbMigrations
: <a class="el" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>no_merge_eval
: <a class="el" href="classpeoPopEval.html#8558f626aca54bdc3bbeb78c774ca4ef">peoPopEval&lt; EOT &gt;</a><li>num_comm
: <a class="el" href="classCommunicable.html#7a6acfdc781a67c9c0ec4f17893f86c3">Communicable</a><li>num_func
: <a class="el" href="classpeoParaPopEval.html#87abb090c0de39f0ccc36af1f07cca0c">peoParaPopEval&lt; EOT &gt;</a><li>num_sent_rr
: <a class="el" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">peoPopEval&lt; EOT &gt;</a><li>num_sent_rr
: <a class="el" href="classService.html#a5b2ad9520bb3710b54348b99acebd58">Service</a><li>num_term
: <a class="el" href="classpeoSyncMultiStart.html#773eb9097550d9444f25ca8f48997a30">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoSynchronousMultiStart.html#e8c889e6228535ce02086c76d3480cbb">peoSynchronousMultiStart&lt; EntityType &gt;</a>, <a class="el" href="classpeoParaSGATransform.html#589ea7cd72d522ae51a07de4d8ffbf11">peoParaSGATransform&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">peoTransform&lt; EOT &gt;</a>, <a class="el" href="classpeoMultiStart.html#6054f4cdb5fd12edd4c4fb0e358eb4f7">peoMultiStart&lt; EntityType &gt;</a></ul>
<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
<li>one_func
: <a class="el" href="classpeoParaPopEval.html#f0e8af3ee442d2b6baf0bd122226be3c">peoParaPopEval&lt; EOT &gt;</a><li>owner
: <a class="el" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">peoPopEval&lt; EOT &gt;</a><li>out
: <a class="el" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>owner
: <a class="el" href="classService.html#8b615c65c876f342fe8209eb7e36d7b2">Service</a>, <a class="el" href="classCooperative.html#7604f094479d08154ede4996a45bf79e">Cooperative</a></ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>parallelExecution
: <a class="el" href="structRandomExplorationAlgorithm.html#e36e837e956772738773364cd71201de">RandomExplorationAlgorithm</a><li>pop
: <a class="el" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">DisplayBestRoute</a>, <a class="el" href="classpeoSyncMultiStart.html#391178bd6b8a97a08ab4e345f070e967">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoParaSGATransform.html#94e10a1285e128aba6e71517c941f961">peoParaSGATransform&lt; EOT &gt;</a>, <a class="el" href="classpeoEA.html#c0b110e410bc16283e8339f24b733772">peoEA&lt; EOT &gt;</a><li>pop_eval
: <a class="el" href="classpeoEA.html#9140259f50c9186edcb062b023624c96">peoEA&lt; EOT &gt;</a><li>popEval
: <a class="el" href="structRandomExplorationAlgorithm.html#e9fbab7402f290c62224cedebd9de0a4">RandomExplorationAlgorithm</a><li>progression
: <a class="el" href="classpeoParaPopEval.html#80e7e34bb1bb2d12f1f2eed3feac6ecf">peoParaPopEval&lt; EOT &gt;</a></ul>
<li>period
: <a class="el" href="classeoSyncContinue.html#966a94a44db2f84c7df0ef3d4694e37c">eoSyncContinue</a><li>pop
: <a class="el" href="classDisplayBestRoute.html#5270aabbf294d2deca9878934216eb89">DisplayBestRoute</a>, <a class="el" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">peoTransform&lt; EOT &gt;</a>, <a class="el" href="classeoContinuator.html#c10e809355df7bb763e4006ca02eab6c">eoContinuator&lt; EOT &gt;</a><li>progression
: <a class="el" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">peoPopEval&lt; EOT &gt;</a></ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>replace
: <a class="el" href="classpeoSyncMultiStart.html#a375ccea98e9bf2a0854dac27df4522f">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoEA.html#9bd2d4356cf7e69e3141dc269213aa8a">peoEA&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">peoAsyncIslandMig&lt; EOT &gt;</a></ul>
<li>recvAndCompleted
: <a class="el" href="classWorker.html#1bcc1e66cc2021cc9cc5e79d0eea563d">Worker</a><li>replace
: <a class="el" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classeoReplace.html#b324e455db7f97021b0b7224a804b3e9">eoReplace&lt; EOT, TYPE &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>runner
: <a class="el" href="structSyncEntry.html#4a41a06c6c4325831c08d086812d6374">SyncEntry</a></ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>sel
: <a class="el" href="classpeoSyncMultiStart.html#dbcc1a069ec72ecd8d40c392640d84b3">peoSyncMultiStart&lt; EOT &gt;</a><li>select
: <a class="el" href="classpeoSyncMultiStart.html#8fc9a3d046023ddd077defec3c23ab3b">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoEA.html#2d8428d69fdd6aefefbaf543fdd46d19">peoEA&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">peoAsyncIslandMig&lt; EOT &gt;</a><li>sem
: <a class="el" href="classReactiveThread.html#915e5a42dc8cb1bcf6738d5fe883a4e7">ReactiveThread</a><li>sem_lock
<li>select
: <a class="el" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>selector
: <a class="el" href="classeoSelector.html#b44e120fc689d7775135ad576b2c66e9">eoSelector&lt; EOT, TYPE &gt;</a><li>selectTransform
: <a class="el" href="structAlgorithm.html#b9728e2d574592118591f74c1530df48">Algorithm</a><li>sem
: <a class="el" href="classReactiveThread.html#915e5a42dc8cb1bcf6738d5fe883a4e7">ReactiveThread</a><li>sem_cntxt
: <a class="el" href="classRunner.html#66a5b083c6bc4cea06301db80cb80c99">Runner</a><li>sem_lock
: <a class="el" href="classCommunicable.html#cf9639312f71a2f348bc1e7789ccbd9d">Communicable</a><li>sem_start
: <a class="el" href="classRunner.html#4b0827d5df2df632db4ab71dd55e81b2">Runner</a><li>sem_stop
: <a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">Communicable</a><li>serv
: <a class="el" href="classCommunicable.html#29c53b9191348e0505e3bcba6d8b82b1">Communicable</a><li>sem_task_asgn
: <a class="el" href="classWorker.html#995391e66dacedffe1e2b4754296b455">Worker</a><li>sem_task_done
: <a class="el" href="classWorker.html#173ce84a3c7ee9f73c691c39c68ca711">Worker</a><li>serv
: <a class="el" href="classWorker.html#454e1764ed165af733cc44a73e395692">Worker</a><li>serv_id
: <a class="el" href="classWorker.html#d7dc76e301fd2bcf5d3a2088a59f1378">Worker</a><li>singularAlgorithm
: <a class="el" href="classpeoSynchronousMultiStart.html#ea22b8cd0f4974da519ec416904d772e">peoSynchronousMultiStart&lt; EntityType &gt;</a><li>sol
: <a class="el" href="classpeoSyncMultiStart.html#2c2ebe46470d1425f0409897deab435b">peoSyncMultiStart&lt; EOT &gt;</a>, <a class="el" href="classpeoParaPopEval.html#fb6941e0455515a908eb82342b995163">peoParaPopEval&lt; EOT &gt;</a><li>source
: <a class="el" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">peoAsyncIslandMig&lt; EOT &gt;</a><li>src
: <a class="el" href="classWorker.html#895c3ebc198018ea3391c09bc802d2f6">Worker</a><li>sync
: <a class="el" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">peoSyncIslandMig&lt; EOT &gt;</a></ul>
: <a class="el" href="classpeoMultiStart.html#fe3c3b2650dabc5fffac07b4ecbd0081">peoMultiStart&lt; EntityType &gt;</a><li>sol
: <a class="el" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">peoPopEval&lt; EOT &gt;</a><li>source
: <a class="el" href="classeoSelector.html#7cf15424f32a7ef6f534babca5a24236">eoSelector&lt; EOT, TYPE &gt;</a><li>src
: <a class="el" href="classWorker.html#895c3ebc198018ea3391c09bc802d2f6">Worker</a><li>standbyMigration
: <a class="el" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>sync
: <a class="el" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a></ul>
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
<li>tag
: <a class="el" href="structSEND__REQUEST.html#3126b3ef9d6533d3086760e413a7f23f">SEND_REQUEST</a><li>tasks
: <a class="el" href="classpeoParaPopEval.html#af76cd18368a0f6185878f37f0b5f272">peoParaPopEval&lt; EOT &gt;</a><li>to
: <a class="el" href="structSEND__REQUEST.html#93e2a6a71d2a91aa2b7bdd050ee59b4d">SEND_REQUEST</a><li>topology
: <a class="el" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">peoSyncIslandMig&lt; EOT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">peoAsyncIslandMig&lt; EOT &gt;</a><li>total
: <a class="el" href="classpeoParaPopEval.html#b528ad9dd9006c3dd57f149a3843e57d">peoParaPopEval&lt; EOT &gt;</a><li>toto
: <a class="el" href="classWorker.html#7ba5a18b2918cf9e704536b763be37f7">Worker</a><li>trans
: <a class="el" href="classpeoSeqTransform.html#ad3e16c59dd6c46dfc1baf7b88af30cf">peoSeqTransform&lt; EOT &gt;</a>, <a class="el" href="classpeoEA.html#713c77935eb8aafebfb9488cfaa4a363">peoEA&lt; EOT &gt;</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
: <a class="el" href="structSEND__REQUEST.html#3126b3ef9d6533d3086760e413a7f23f">SEND_REQUEST</a><li>taskAssigned
: <a class="el" href="classWorker.html#3bb2faa8e6350cb0ab13534069dcc96d">Worker</a><li>tasks
: <a class="el" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">peoPopEval&lt; EOT &gt;</a><li>to
: <a class="el" href="classPartRouteEval.html#de53cc919faa498663f327b72c357da3">PartRouteEval</a>, <a class="el" href="structSEND__REQUEST.html#93e2a6a71d2a91aa2b7bdd050ee59b4d">SEND_REQUEST</a><li>topology
: <a class="el" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>, <a class="el" href="classpeoPSOSelect.html#8df48e9e116babf3010b618b61dfbeaf">peoPSOSelect&lt; POT &gt;</a>, <a class="el" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a><li>total
: <a class="el" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">peoPopEval&lt; EOT &gt;</a></ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>velocity
: <a class="el" href="classpeoGlobalBestVelocity.html#c7350b438b27b462b84dad0a2c5edf33">peoGlobalBestVelocity&lt; POT &gt;</a><li>visited
: <a class="el" href="classEdgeXover.html#46d4d4724cf6d660b1a7ab4a346573d4">EdgeXover</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Hierarchical Index</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Hierarchical Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -29,40 +29,57 @@
<li id="current"><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>ParadisEO-PEOMovingObjects Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<h1>ParadisEO-PEO-ParallelanddistributedEvolvingObjects Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<li><a class="el" href="structAlgorithm.html">Algorithm</a>
<li><a class="el" href="classCommunicable.html">Communicable</a>
<ul>
<li><a class="el" href="classCooperative.html">Cooperative</a>
<ul>
<li><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a>
<li><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a>
<li><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>
<li><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>
</ul>
<li><a class="el" href="classRunner.html">Runner</a>
<ul>
<li><a class="el" href="classpeoEA.html">peoEA&lt; EOT &gt;</a>
<li><a class="el" href="classpeoParallelAlgorithmWrapper.html">peoParallelAlgorithmWrapper</a>
<li><a class="el" href="classpeoWrapper.html">peoWrapper</a>
</ul>
<li><a class="el" href="classService.html">Service</a>
<ul>
<li><a class="el" href="classpeoMultiStart.html">peoMultiStart&lt; EntityType &gt;</a>
<li><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a>
<ul>
<li><a class="el" href="classpeoParaPopEval.html">peoParaPopEval&lt; EOT &gt;</a>
<li><a class="el" href="classpeoSeqPopEval.html">peoSeqPopEval&lt; EOT &gt;</a>
</ul>
<li><a class="el" href="classpeoSynchronousMultiStart.html">peoSynchronousMultiStart&lt; EntityType &gt;</a>
<li><a class="el" href="classpeoSyncMultiStart.html">peoSyncMultiStart&lt; EOT &gt;</a>
<li><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a>
<ul>
<li><a class="el" href="classpeoParaSGATransform.html">peoParaSGATransform&lt; EOT &gt;</a>
<li><a class="el" href="classpeoSeqTransform.html">peoSeqTransform&lt; EOT &gt;</a>
</ul>
</ul>
<li><a class="el" href="classWorker.html">Worker</a>
</ul>
<li><a class="el" href="classcontinuator.html">continuator</a>
<ul>
<li><a class="el" href="classeoContinuator.html">eoContinuator&lt; EOT &gt;</a>
<li><a class="el" href="classeoSyncContinue.html">eoSyncContinue</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; A1, A2, R &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop_eval_func.html">eoPopEvalFunc&lt; EOT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classpeoPopEval.html">peoPopEval&lt; EOT &gt;</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; POT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classpeoGlobalBestVelocity.html">peoGlobalBestVelocity&lt; POT &gt;</a>
<li><a class="el" href="classpeoWorstPositionReplacement.html">peoWorstPositionReplacement&lt; POT &gt;</a>
</ul>
<li><a class="elRef" doxygen="mo.doxytag:/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/classmo_move_incr_eval.html">moMoveIncrEval&lt; TwoOpt &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classTwoOptIncrEval.html">TwoOptIncrEval</a>
</ul>
<li><a class="elRef" doxygen="mo.doxytag:/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/classmo_move_init.html">moMoveInit&lt; TwoOpt &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classTwoOptInit.html">TwoOptInit</a>
</ul>
<li><a class="elRef" doxygen="mo.doxytag:/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/classmo_next_move.html">moNextMove&lt; TwoOpt &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classTwoOptNext.html">TwoOptNext</a>
</ul>
<li><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; EOT &gt;</a>
<ul>
<li><a class="el" href="classMergeRouteEval.html">MergeRouteEval</a>
@ -70,44 +87,98 @@
</ul>
<li><a class="el" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; eoVector&lt; int, Node &gt; &gt;</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF&lt; EOType &amp;, EOType &amp;, bool &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp&lt; EOType &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classEdgeXover.html">EdgeXover</a>
<li><a class="el" href="classOrderXover.html">OrderXover</a>
<li><a class="el" href="classPartialMappedXover.html">PartialMappedXover</a>
</ul>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_f.html">eoF&lt; void &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a>
<code> [external]</code><ul>
<li><a class="el" href="classDisplayBestRoute.html">DisplayBestRoute</a>
<li><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; EOT &gt;</a>
<li><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; EOT &gt;</a>
<li><a class="el" href="classpeoSyncMultiStart.html">peoSyncMultiStart&lt; EOT &gt;</a>
<li><a class="el" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>
<li><a class="el" href="classpeoSyncIslandMig.html">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt;</a>
</ul>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; A1, R &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc&lt; EOT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classPartRouteEval.html">PartRouteEval</a>
<li><a class="el" href="structpeoEvalFunc.html">peoEvalFunc&lt; EOT, FitT, FunctionArg &gt;</a>
<li><a class="el" href="classRouteEval.html">RouteEval</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html">eoInit&lt; EOT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classRouteInit.html">RouteInit</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select_one.html">eoSelectOne&lt; POT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classpeoPSOSelect.html">peoPSOSelect&lt; POT &gt;</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html">eoTransform&lt; EOT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classpeoTransform.html">peoTransform&lt; EOT &gt;</a>
</ul>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; EOT &amp;, void &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="mo.doxytag:/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/tmp/temp_20080312152056/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/classmo_move.html">moMove&lt; EOT &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classTwoOpt.html">TwoOpt</a>
</ul>
<li><a class="el" href="structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html">peoParallelAlgorithmWrapper::AbstractAlgorithm</a>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF&lt; EOType &amp;, bool &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp&lt; EOType &gt;</a>
<code> [external]</code><ul>
<li><a class="el" href="classCitySwap.html">CitySwap</a>
</ul>
</ul>
</ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp&lt; EOType &gt;</a>
<code> [external]</code><ul>
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp&lt; EOType &gt;</a>
<code> [external]</code><li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp&lt; EOType &gt;</a>
<code> [external]</code></ul>
<li><a class="el" href="classMPIThreadedEnv.html">MPIThreadedEnv</a>
<li><a class="el" href="structpeoMultiStart_1_1AbstractAggregationAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AbstractAggregationAlgorithm</a>
<ul>
<li><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm.html">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a>
<li><a class="el" href="structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoParallelAlgorithmWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>
<li><a class="el" href="structpeoMultiStart_1_1AggregationAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a>
<li><a class="el" href="structpeoMultiStart_1_1NoAggregationFunction.html">peoMultiStart&lt; EntityType &gt;::NoAggregationFunction</a>
</ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractAggregationAlgorithm</a>
<li><a class="el" href="structpeoMultiStart_1_1AbstractAlgorithm.html">peoMultiStart&lt; EntityType &gt;::AbstractAlgorithm</a>
<ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AggregationAlgorithm&lt; AggregationAlgorithmType &gt;</a>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1NoAggregationFunction.html">peoSynchronousMultiStart&lt; EntityType &gt;::NoAggregationFunction</a>
<li><a class="el" href="structpeoMultiStart_1_1Algorithm.html">peoMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a>
<li><a class="el" href="structpeoMultiStart_1_1FunctionAlgorithm.html">peoMultiStart&lt; EntityType &gt;::FunctionAlgorithm&lt; AlgorithmReturnType, AlgorithmDataType &gt;</a>
</ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractAlgorithm</a>
<li><a class="el" href="structpeoMultiStart_1_1AbstractDataType.html">peoMultiStart&lt; EntityType &gt;::AbstractDataType</a>
<ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1Algorithm.html">peoSynchronousMultiStart&lt; EntityType &gt;::Algorithm&lt; AlgorithmType &gt;</a>
<li><a class="el" href="structpeoMultiStart_1_1DataType.html">peoMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a>
</ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1AbstractDataType.html">peoSynchronousMultiStart&lt; EntityType &gt;::AbstractDataType</a>
<li><a class="el" href="structpeoWrapper_1_1AbstractAlgorithm.html">peoWrapper::AbstractAlgorithm</a>
<ul>
<li><a class="el" href="structpeoSynchronousMultiStart_1_1DataType.html">peoSynchronousMultiStart&lt; EntityType &gt;::DataType&lt; Type &gt;</a>
<li><a class="el" href="structpeoWrapper_1_1Algorithm.html">peoWrapper::Algorithm&lt; AlgorithmType, AlgorithmDataType &gt;</a>
<li><a class="el" href="structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html">peoWrapper::Algorithm&lt; AlgorithmType, void &gt;</a>
<li><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm.html">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, AlgorithmDataType &gt;</a>
<li><a class="el" href="structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4.html">peoWrapper::FunctionAlgorithm&lt; AlgorithmReturnType, void &gt;</a>
</ul>
<li><a class="el" href="classreplacement.html">replacement&lt; TYPE &gt;</a>
<ul>
<li><a class="el" href="classeoReplace.html">eoReplace&lt; EOT, TYPE &gt;</a>
</ul>
<li><a class="el" href="classselector.html">selector&lt; TYPE &gt;</a>
<ul>
<li><a class="el" href="classeoSelector.html">eoSelector&lt; EOT, TYPE &gt;</a>
</ul>
<li><a class="el" href="structRandomExplorationAlgorithm.html">RandomExplorationAlgorithm</a>
<li><a class="el" href="structSEND__REQUEST.html">SEND_REQUEST</a>
<li><a class="el" href="structSyncCompare.html">SyncCompare</a>
<li><a class="el" href="structSyncEntry.html">SyncEntry</a>
<li><a class="el" href="classThread.html">Thread</a>
<ul>
<li><a class="el" href="classReactiveThread.html">ReactiveThread</a>
@ -119,10 +190,14 @@
</ul>
<li><a class="el" href="classTopology.html">Topology</a>
<ul>
<li><a class="el" href="classCompleteTopology.html">CompleteTopology</a>
<li><a class="el" href="classRandomTopology.html">RandomTopology</a>
<li><a class="el" href="classRingTopology.html">RingTopology</a>
<li><a class="el" href="classStarTopology.html">StarTopology</a>
</ul>
<li><a class="el" href="classTwoOptRand.html">TwoOptRand</a>
</ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects</title></head>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects</title></head>
<frameset cols="250,*">
<frame src="tree.html" name="treefrm">
<frame src="main.html" name="basefrm">

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: The ParadisEO-PEO Framework</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: The ParadisEO-PEO Framework</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -24,7 +24,7 @@
</ul></div>
<h1>The ParadisEO-PEO Framework</h1>
<p>
<h3 align="center">1.0 </h3><h2><a class="anchor" name="intro">
<h3 align="center">1.1 </h3><h2><a class="anchor" name="intro">
intro</a></h2>
ParadisEO is a white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). ParadisEO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. ParadisEO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. ParadisEO is one of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.<p>
In practice, combinatorial optimization problems are often NP-hard, CPU time-consuming, and evolve over time. Unlike exact methods, metaheuristics allow to tackle large-size problems instances by delivering satisfactory solutions in a reasonable time. Metaheuristics are general-purpose heuristics that split in two categories: evolutionary algorithms (EA) and local search methods (LS). These two families have complementary characteristics: EA allow a better exploration of the search space, while LS have the power to intensify the search in promising regions. Their hybridization allows to deliver robust and better solutions<p>
@ -104,7 +104,7 @@ LICENCE</a></h2>
This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".<p>
As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.<p>
In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.<p>
ParadisEO WebSite : <a href="http://paradiseo.gforge.inria.fr">http://paradiseo.gforge.inria.fr</a> Contact: <a href="mailto:paradiseo-help@lists.gforge.inria.fr">paradiseo-help@lists.gforge.inria.fr</a> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
ParadisEO WebSite : <a href="http://paradiseo.gforge.inria.fr">http://paradiseo.gforge.inria.fr</a> Contact: <a href="mailto:paradiseo-help@lists.gforge.inria.fr">paradiseo-help@lists.gforge.inria.fr</a> <hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: merge_route_eval.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: merge_route_eval.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>merge_route_eval.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>merge_route_eval.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;merge_route_eval.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -60,14 +60,15 @@
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="preprocessor">#include "merge_route_eval.h"</span>
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">00039</a> <span class="keywordtype">void</span> <a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">MergeRouteEval :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __part_fit) {
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keywordtype">int</span> len = __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> ();
<a name="l00042"></a>00042 len += __part_fit;
<a name="l00043"></a>00043 __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (len);
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00039"></a><a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">00039</a> <span class="keywordtype">void</span> <a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">MergeRouteEval :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __part_fit)
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keywordtype">int</span> len = __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> ();
<a name="l00043"></a>00043 len += __part_fit;
<a name="l00044"></a>00044 __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (len);
<a name="l00045"></a>00045 }
<a name="l00046"></a>00046
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: merge_route_eval.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: merge_route_eval.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>merge_route_eval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>merge_route_eval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;merge_route_eval.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,16 +65,17 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "route.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a><a class="code" href="classMergeRouteEval.html">00044</a> <span class="keyword">class </span><a class="code" href="classMergeRouteEval.html">MergeRouteEval</a> : <span class="keyword">public</span> <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a> &lt;Route&gt; {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">public</span> :
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __part_fit) ;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 };
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00044"></a><a class="code" href="classMergeRouteEval.html">00044</a> <span class="keyword">class </span><a class="code" href="classMergeRouteEval.html">MergeRouteEval</a> : <span class="keyword">public</span> <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a> &lt;Route&gt;
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">public</span> :
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMergeRouteEval.html#29cb0028ac0df4b2cee3a809c8f35dea">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __part_fit) ;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: mess.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: mess.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>mess.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>mess.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;mess.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -66,228 +66,308 @@
<a name="l00042"></a>00042 <span class="preprocessor">#include "node.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#define MPI_BUF_SIZE 1024*64</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keywordtype">char</span> mpi_buf [MPI_BUF_SIZE];
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keywordtype">int</span> pos_buf ;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keywordtype">int</span> pos_buf;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">static</span> std :: vector &lt;char *&gt; act_buf; <span class="comment">/* Active buffers */</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">static</span> std :: vector &lt;MPI_Request *&gt; act_req; <span class="comment">/* Active requests */</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">void</span> cleanBuffers () {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; act_req.size ();) {
<a name="l00057"></a>00057
<a name="l00058"></a>00058 MPI_Status stat ;
<a name="l00059"></a>00059 <span class="keywordtype">int</span> flag ;
<a name="l00060"></a>00060 MPI_Test (act_req [i], &amp; flag, &amp; stat) ;
<a name="l00061"></a>00061 <span class="keywordflow">if</span> (flag) {
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">delete</span> act_buf [i] ;
<a name="l00064"></a>00064 <span class="keyword">delete</span> act_req [i] ;
<a name="l00065"></a>00065
<a name="l00066"></a>00066 act_buf [i] = act_buf.back () ;
<a name="l00067"></a>00067 act_buf.pop_back () ;
<a name="l00068"></a>00068
<a name="l00069"></a>00069 act_req [i] = act_req.back () ;
<a name="l00070"></a>00070 act_req.pop_back () ;
<a name="l00071"></a>00071 }
<a name="l00072"></a>00072 <span class="keywordflow">else</span>
<a name="l00073"></a>00073 i ++;
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keywordtype">void</span> waitBuffers () {
<a name="l00078"></a>00078
<a name="l00079"></a>00079 printDebugMessage (<span class="stringliteral">"waiting the termination of the asynchronous operations to complete"</span>);
<a name="l00054"></a>00054 <span class="keywordtype">void</span> initBuffers ()
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056
<a name="l00057"></a>00057 pos_buf = 0;
<a name="l00058"></a>00058 act_buf.clear ();
<a name="l00059"></a>00059 act_req.clear ();
<a name="l00060"></a>00060 }
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">void</span> cleanBuffers ()
<a name="l00063"></a>00063 {
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; act_req.size ();)
<a name="l00066"></a>00066 {
<a name="l00067"></a>00067
<a name="l00068"></a>00068 MPI_Status stat ;
<a name="l00069"></a>00069 <span class="keywordtype">int</span> flag ;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 MPI_Test (act_req [i], &amp; flag, &amp; stat) ;
<a name="l00072"></a>00072 <span class="keywordflow">if</span> (flag)
<a name="l00073"></a>00073 {
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">delete</span>[] act_buf [i] ;
<a name="l00076"></a>00076 <span class="keyword">delete</span> act_req [i] ;
<a name="l00077"></a>00077
<a name="l00078"></a>00078 act_buf [i] = act_buf.back () ;
<a name="l00079"></a>00079 act_buf.pop_back () ;
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; act_req.size (); i ++) {
<a name="l00082"></a>00082
<a name="l00083"></a>00083 MPI_Status stat ;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 MPI_Wait (act_req [i], &amp; stat) ;
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">delete</span> act_buf [i] ;
<a name="l00088"></a>00088 <span class="keyword">delete</span> act_req [i] ;
<a name="l00089"></a>00089 }
<a name="l00090"></a>00090 }
<a name="l00081"></a>00081 act_req [i] = act_req.back () ;
<a name="l00082"></a>00082 act_req.pop_back () ;
<a name="l00083"></a>00083 }
<a name="l00084"></a>00084 <span class="keywordflow">else</span>
<a name="l00085"></a>00085 i ++;
<a name="l00086"></a>00086 }
<a name="l00087"></a>00087 }
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keywordtype">void</span> waitBuffers ()
<a name="l00090"></a>00090 {
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="keywordtype">bool</span> probeMessage (<span class="keywordtype">int</span> &amp; __src, <span class="keywordtype">int</span> &amp; __tag) {
<a name="l00092"></a>00092 printDebugMessage (<span class="stringliteral">"waiting the termination of the asynchronous operations to complete"</span>);
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keywordtype">int</span> flag;
<a name="l00095"></a>00095
<a name="l00096"></a>00096 MPI_Status stat;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 MPI_Iprobe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp; flag, &amp; stat);
<a name="l00099"></a>00099
<a name="l00100"></a>00100 __src = stat.MPI_SOURCE;
<a name="l00101"></a>00101 __tag = stat.MPI_TAG;
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="keywordflow">return</span> flag;
<a name="l00094"></a>00094 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; act_req.size (); i ++)
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096
<a name="l00097"></a>00097 MPI_Status stat ;
<a name="l00098"></a>00098
<a name="l00099"></a>00099 MPI_Wait (act_req [i], &amp; stat) ;
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="keyword">delete</span>[] act_buf [i] ;
<a name="l00102"></a>00102 <span class="keyword">delete</span> act_req [i] ;
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104 }
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="keywordtype">void</span> waitMessage () {
<a name="l00107"></a>00107
<a name="l00108"></a>00108 MPI_Status stat;
<a name="l00109"></a>00109
<a name="l00110"></a>00110 MPI_Probe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp; stat);
<a name="l00111"></a>00111 }
<a name="l00106"></a>00106 <span class="keywordtype">bool</span> probeMessage (<span class="keywordtype">int</span> &amp; __src, <span class="keywordtype">int</span> &amp; __tag)
<a name="l00107"></a>00107 {
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keywordtype">int</span> flag;
<a name="l00110"></a>00110
<a name="l00111"></a>00111 MPI_Status stat;
<a name="l00112"></a>00112
<a name="l00113"></a>00113 <span class="keywordtype">void</span> initMessage () {
<a name="l00114"></a>00114
<a name="l00115"></a>00115 pos_buf = 0;
<a name="l00116"></a>00116 }
<a name="l00113"></a>00113 MPI_Iprobe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp; flag, &amp; stat);
<a name="l00114"></a>00114
<a name="l00115"></a>00115 __src = stat.MPI_SOURCE;
<a name="l00116"></a>00116 __tag = stat.MPI_TAG;
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="keywordtype">void</span> sendMessage (<span class="keywordtype">int</span> __to, <span class="keywordtype">int</span> __tag) {
<a name="l00119"></a>00119
<a name="l00120"></a>00120 cleanBuffers ();
<a name="l00121"></a>00121 act_buf.push_back (<span class="keyword">new</span> <span class="keywordtype">char</span> [pos_buf]);
<a name="l00122"></a>00122 act_req.push_back (<span class="keyword">new</span> MPI_Request);
<a name="l00123"></a>00123 memcpy (act_buf.back (), mpi_buf, pos_buf);
<a name="l00124"></a>00124 MPI_Isend (act_buf.back (), pos_buf, MPI_PACKED, __to, __tag, MPI_COMM_WORLD, act_req.back ());
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="keywordtype">void</span> sendMessageToAll (<span class="keywordtype">int</span> __tag) {
<a name="l00118"></a>00118 <span class="keywordflow">return</span> flag;
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordtype">void</span> waitMessage ()
<a name="l00122"></a>00122 {
<a name="l00123"></a>00123
<a name="l00124"></a>00124 MPI_Status stat;
<a name="l00125"></a>00125
<a name="l00126"></a>00126 MPI_Probe (MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp; stat);
<a name="l00127"></a>00127 }
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; getNumberOfNodes (); i ++)
<a name="l00130"></a>00130 sendMessage (i, __tag);
<a name="l00131"></a>00131 }
<a name="l00132"></a>00132
<a name="l00133"></a>00133 <span class="keywordtype">void</span> receiveMessage (<span class="keywordtype">int</span> __from, <span class="keywordtype">int</span> __tag) {
<a name="l00134"></a>00134
<a name="l00135"></a>00135 MPI_Status stat;
<a name="l00136"></a>00136 MPI_Request req;
<a name="l00129"></a>00129 <span class="keywordtype">void</span> initMessage ()
<a name="l00130"></a>00130 {
<a name="l00131"></a>00131
<a name="l00132"></a>00132 pos_buf = 0;
<a name="l00133"></a>00133 }
<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="keywordtype">void</span> sendMessage (<span class="keywordtype">int</span> __to, <span class="keywordtype">int</span> __tag)
<a name="l00136"></a>00136 {
<a name="l00137"></a>00137
<a name="l00138"></a>00138 MPI_Irecv (mpi_buf, MPI_BUF_SIZE, MPI_PACKED, __from, __tag, MPI_COMM_WORLD, &amp; req) ;
<a name="l00139"></a>00139 MPI_Wait (&amp; req, &amp; stat) ;
<a name="l00140"></a>00140 }
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="comment">/* Char */</span>
<a name="l00143"></a>00143 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp; __c) {
<a name="l00138"></a>00138 cleanBuffers ();
<a name="l00139"></a>00139 act_buf.push_back (<span class="keyword">new</span> <span class="keywordtype">char</span> [pos_buf]);
<a name="l00140"></a>00140 act_req.push_back (<span class="keyword">new</span> MPI_Request);
<a name="l00141"></a>00141 memcpy (act_buf.back (), mpi_buf, pos_buf);
<a name="l00142"></a>00142 MPI_Isend (act_buf.back (), pos_buf, MPI_PACKED, __to, __tag, MPI_COMM_WORLD, act_req.back ());
<a name="l00143"></a>00143 }
<a name="l00144"></a>00144
<a name="l00145"></a>00145 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __c, 1, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00146"></a>00146 }
<a name="l00145"></a>00145 <span class="keywordtype">void</span> sendMessageToAll (<span class="keywordtype">int</span> __tag)
<a name="l00146"></a>00146 {
<a name="l00147"></a>00147
<a name="l00148"></a>00148 <span class="comment">/* Float */</span>
<a name="l00149"></a>00149 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem) {
<a name="l00150"></a>00150
<a name="l00151"></a>00151 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __f, __nitem, MPI_FLOAT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00152"></a>00152 }
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <span class="comment">/* Double */</span>
<a name="l00155"></a>00155 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem) {
<a name="l00156"></a>00156
<a name="l00157"></a>00157 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __d, __nitem, MPI_DOUBLE, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00158"></a>00158 }
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <span class="comment">/* Integer */</span>
<a name="l00161"></a>00161 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem) {
<a name="l00162"></a>00162
<a name="l00163"></a>00163 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __i, __nitem, MPI_INT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00164"></a>00164 }
<a name="l00165"></a>00165
<a name="l00166"></a>00166 <span class="comment">/* Unsigned int. */</span>
<a name="l00167"></a>00167 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem) {
<a name="l00168"></a>00168
<a name="l00169"></a>00169 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ui, __nitem, MPI_UNSIGNED, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00170"></a>00170 }
<a name="l00148"></a>00148 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; getNumberOfNodes (); i ++)
<a name="l00149"></a>00149 sendMessage (i, __tag);
<a name="l00150"></a>00150 }
<a name="l00151"></a>00151
<a name="l00152"></a>00152 <span class="keywordtype">void</span> receiveMessage (<span class="keywordtype">int</span> __from, <span class="keywordtype">int</span> __tag)
<a name="l00153"></a>00153 {
<a name="l00154"></a>00154
<a name="l00155"></a>00155 MPI_Status stat;
<a name="l00156"></a>00156 MPI_Request req;
<a name="l00157"></a>00157
<a name="l00158"></a>00158 MPI_Irecv (mpi_buf, MPI_BUF_SIZE, MPI_PACKED, __from, __tag, MPI_COMM_WORLD, &amp; req);
<a name="l00159"></a>00159 MPI_Wait (&amp; req, &amp; stat);
<a name="l00160"></a>00160 }
<a name="l00161"></a>00161
<a name="l00162"></a>00162 <span class="keywordtype">void</span> synchronizeNodes ()
<a name="l00163"></a>00163 {
<a name="l00164"></a>00164
<a name="l00165"></a>00165 MPI_Barrier ( MPI_COMM_WORLD );
<a name="l00166"></a>00166 }
<a name="l00167"></a>00167
<a name="l00168"></a>00168 <span class="comment">/* Char */</span>
<a name="l00169"></a>00169 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp; __c)
<a name="l00170"></a>00170 {
<a name="l00171"></a>00171
<a name="l00172"></a>00172 <span class="comment">/* Short int. */</span>
<a name="l00173"></a>00173 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem) {
<a name="l00172"></a>00172 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __c, 1, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00175"></a>00175 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __sh, __nitem, MPI_SHORT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00176"></a>00176 }
<a name="l00177"></a>00177
<a name="l00178"></a>00178 <span class="comment">/* Unsigned short */</span>
<a name="l00179"></a>00179 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem) {
<a name="l00180"></a>00180
<a name="l00181"></a>00181 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ush, __nitem, MPI_UNSIGNED_SHORT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00182"></a>00182 }
<a name="l00183"></a>00183
<a name="l00184"></a>00184 <span class="comment">/* Long */</span>
<a name="l00185"></a>00185 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem) {
<a name="l00186"></a>00186
<a name="l00187"></a>00187 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __l, __nitem, MPI_LONG, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00188"></a>00188 }
<a name="l00189"></a>00189
<a name="l00190"></a>00190 <span class="comment">/* Unsigned long */</span>
<a name="l00191"></a>00191 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem) {
<a name="l00175"></a>00175 <span class="comment">/* Boolean */</span>
<a name="l00176"></a>00176 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp; __b, <span class="keywordtype">int</span> __nitem)
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178
<a name="l00179"></a>00179 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __b, __nitem, MPI_INT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00180"></a>00180 }
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="comment">/* Float */</span>
<a name="l00183"></a>00183 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem)
<a name="l00184"></a>00184 {
<a name="l00185"></a>00185
<a name="l00186"></a>00186 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __f, __nitem, MPI_FLOAT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00187"></a>00187 }
<a name="l00188"></a>00188
<a name="l00189"></a>00189 <span class="comment">/* Double */</span>
<a name="l00190"></a>00190 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem)
<a name="l00191"></a>00191 {
<a name="l00192"></a>00192
<a name="l00193"></a>00193 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ul, __nitem, MPI_UNSIGNED_LONG, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00193"></a>00193 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __d, __nitem, MPI_DOUBLE, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00194"></a>00194 }
<a name="l00195"></a>00195
<a name="l00196"></a>00196 <span class="comment">/* String */</span>
<a name="l00197"></a>00197 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> * __str) {
<a name="l00198"></a>00198
<a name="l00199"></a>00199 <span class="keywordtype">int</span> len = strlen (__str) + 1;
<a name="l00200"></a>00200 MPI_Pack (&amp; len, 1, MPI_INT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00201"></a>00201 MPI_Pack ((<span class="keywordtype">void</span> *) __str, len, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00202"></a>00202 }
<a name="l00203"></a>00203
<a name="l00204"></a>00204 <span class="comment">/* Char */</span>
<a name="l00205"></a>00205 <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> &amp; __c) {
<a name="l00196"></a>00196 <span class="comment">/* Integer */</span>
<a name="l00197"></a>00197 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem)
<a name="l00198"></a>00198 {
<a name="l00199"></a>00199
<a name="l00200"></a>00200 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __i, __nitem, MPI_INT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00201"></a>00201 }
<a name="l00202"></a>00202
<a name="l00203"></a>00203 <span class="comment">/* Unsigned int. */</span>
<a name="l00204"></a>00204 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem)
<a name="l00205"></a>00205 {
<a name="l00206"></a>00206
<a name="l00207"></a>00207 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __c, 1, MPI_CHAR, MPI_COMM_WORLD);
<a name="l00207"></a>00207 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ui, __nitem, MPI_UNSIGNED, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00208"></a>00208 }
<a name="l00209"></a>00209
<a name="l00210"></a>00210 <span class="comment">/* Float */</span>
<a name="l00211"></a>00211 <span class="keywordtype">void</span> unpack (<span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem) {
<a name="l00212"></a>00212
<a name="l00213"></a>00213 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __f, __nitem, MPI_FLOAT, MPI_COMM_WORLD);
<a name="l00214"></a>00214 }
<a name="l00215"></a>00215
<a name="l00216"></a>00216 <span class="comment">/* Double */</span>
<a name="l00217"></a>00217 <span class="keywordtype">void</span> unpack (<span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem) {
<a name="l00218"></a>00218
<a name="l00219"></a>00219 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __d, __nitem, MPI_DOUBLE, MPI_COMM_WORLD);
<a name="l00220"></a>00220 }
<a name="l00221"></a>00221
<a name="l00222"></a>00222 <span class="comment">/* Integer */</span>
<a name="l00223"></a>00223 <span class="keywordtype">void</span> unpack (<span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem) {
<a name="l00224"></a>00224
<a name="l00225"></a>00225 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __i, __nitem, MPI_INT, MPI_COMM_WORLD);
<a name="l00226"></a>00226 }
<a name="l00210"></a>00210 <span class="comment">/* Short int. */</span>
<a name="l00211"></a>00211 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem)
<a name="l00212"></a>00212 {
<a name="l00213"></a>00213
<a name="l00214"></a>00214 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __sh, __nitem, MPI_SHORT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00215"></a>00215 }
<a name="l00216"></a>00216
<a name="l00217"></a>00217 <span class="comment">/* Unsigned short */</span>
<a name="l00218"></a>00218 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem)
<a name="l00219"></a>00219 {
<a name="l00220"></a>00220
<a name="l00221"></a>00221 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ush, __nitem, MPI_UNSIGNED_SHORT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00222"></a>00222 }
<a name="l00223"></a>00223
<a name="l00224"></a>00224 <span class="comment">/* Long */</span>
<a name="l00225"></a>00225 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem)
<a name="l00226"></a>00226 {
<a name="l00227"></a>00227
<a name="l00228"></a>00228 <span class="comment">/* Unsigned int. */</span>
<a name="l00229"></a>00229 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem) {
<a name="l00228"></a>00228 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __l, __nitem, MPI_LONG, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00229"></a>00229 }
<a name="l00230"></a>00230
<a name="l00231"></a>00231 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ui, __nitem, MPI_UNSIGNED, MPI_COMM_WORLD);
<a name="l00232"></a>00232 }
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <span class="comment">/* Short int. */</span>
<a name="l00235"></a>00235 <span class="keywordtype">void</span> unpack (<span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem) {
<a name="l00236"></a>00236
<a name="l00237"></a>00237 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __sh, __nitem, MPI_SHORT, MPI_COMM_WORLD);
<a name="l00238"></a>00238 }
<a name="l00239"></a>00239
<a name="l00240"></a>00240 <span class="comment">/* Unsigned short */</span>
<a name="l00241"></a>00241 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem) {
<a name="l00242"></a>00242
<a name="l00243"></a>00243 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ush, __nitem, MPI_UNSIGNED_SHORT, MPI_COMM_WORLD);
<a name="l00244"></a>00244 }
<a name="l00245"></a>00245
<a name="l00246"></a>00246 <span class="comment">/* Long */</span>
<a name="l00247"></a>00247 <span class="keywordtype">void</span> unpack (<span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem) {
<a name="l00248"></a>00248
<a name="l00249"></a>00249 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __l, __nitem, MPI_LONG, MPI_COMM_WORLD);
<a name="l00250"></a>00250 }
<a name="l00251"></a>00251
<a name="l00252"></a>00252 <span class="comment">/* Unsigned long */</span>
<a name="l00253"></a>00253 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem) {
<a name="l00254"></a>00254
<a name="l00255"></a>00255 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ul, __nitem, MPI_UNSIGNED_LONG, MPI_COMM_WORLD);
<a name="l00256"></a>00256 }
<a name="l00257"></a>00257
<a name="l00258"></a>00258 <span class="comment">/* String */</span>
<a name="l00259"></a>00259 <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> * __str) {
<a name="l00231"></a>00231 <span class="comment">/* Unsigned long */</span>
<a name="l00232"></a>00232 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem)
<a name="l00233"></a>00233 {
<a name="l00234"></a>00234
<a name="l00235"></a>00235 MPI_Pack ((<span class="keywordtype">void</span> *) &amp; __ul, __nitem, MPI_UNSIGNED_LONG, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00236"></a>00236 }
<a name="l00237"></a>00237
<a name="l00238"></a>00238 <span class="comment">/* String */</span>
<a name="l00239"></a>00239 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> * __str)
<a name="l00240"></a>00240 {
<a name="l00241"></a>00241
<a name="l00242"></a>00242 <span class="keywordtype">int</span> len = strlen (__str) + 1;
<a name="l00243"></a>00243 MPI_Pack (&amp; len, 1, MPI_INT, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00244"></a>00244 MPI_Pack ((<span class="keywordtype">void</span> *) __str, len, MPI_CHAR, mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, MPI_COMM_WORLD);
<a name="l00245"></a>00245 }
<a name="l00246"></a>00246
<a name="l00247"></a>00247 <span class="keywordtype">void</span> pack (<span class="keyword">const</span> std::string &amp; __str)
<a name="l00248"></a>00248 {
<a name="l00249"></a>00249
<a name="l00250"></a>00250 size_t size = __str.size() + 1;
<a name="l00251"></a>00251 <span class="keywordtype">char</span> * buffer = <span class="keyword">new</span> <span class="keywordtype">char</span>[ size ];
<a name="l00252"></a>00252 strncpy( buffer, __str.c_str(), size );
<a name="l00253"></a>00253 pack (buffer);
<a name="l00254"></a>00254 <span class="keyword">delete</span> [] buffer;
<a name="l00255"></a>00255 }
<a name="l00256"></a>00256
<a name="l00257"></a>00257 <span class="comment">/* Char */</span>
<a name="l00258"></a>00258 <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> &amp; __c)
<a name="l00259"></a>00259 {
<a name="l00260"></a>00260
<a name="l00261"></a>00261 <span class="keywordtype">int</span> len;
<a name="l00262"></a>00262 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; len, 1, MPI_INT, MPI_COMM_WORLD);
<a name="l00263"></a>00263 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, __str, len, MPI_CHAR, MPI_COMM_WORLD);
<a name="l00264"></a>00264 }
<a name="l00265"></a>00265
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00261"></a>00261 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __c, 1, MPI_CHAR, MPI_COMM_WORLD);
<a name="l00262"></a>00262 }
<a name="l00263"></a>00263
<a name="l00264"></a>00264 <span class="comment">/* Boolean */</span>
<a name="l00265"></a>00265 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">bool</span> &amp; __b, <span class="keywordtype">int</span> __nitem )
<a name="l00266"></a>00266 {
<a name="l00267"></a>00267
<a name="l00268"></a>00268 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __b, __nitem, MPI_INT, MPI_COMM_WORLD);
<a name="l00269"></a>00269 }
<a name="l00270"></a>00270
<a name="l00271"></a>00271 <span class="comment">/* Float */</span>
<a name="l00272"></a>00272 <span class="keywordtype">void</span> unpack (<span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem)
<a name="l00273"></a>00273 {
<a name="l00274"></a>00274
<a name="l00275"></a>00275 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __f, __nitem, MPI_FLOAT, MPI_COMM_WORLD);
<a name="l00276"></a>00276 }
<a name="l00277"></a>00277
<a name="l00278"></a>00278 <span class="comment">/* Double */</span>
<a name="l00279"></a>00279 <span class="keywordtype">void</span> unpack (<span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem)
<a name="l00280"></a>00280 {
<a name="l00281"></a>00281
<a name="l00282"></a>00282 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __d, __nitem, MPI_DOUBLE, MPI_COMM_WORLD);
<a name="l00283"></a>00283 }
<a name="l00284"></a>00284
<a name="l00285"></a>00285 <span class="comment">/* Integer */</span>
<a name="l00286"></a>00286 <span class="keywordtype">void</span> unpack (<span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem)
<a name="l00287"></a>00287 {
<a name="l00288"></a>00288
<a name="l00289"></a>00289 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __i, __nitem, MPI_INT, MPI_COMM_WORLD);
<a name="l00290"></a>00290 }
<a name="l00291"></a>00291
<a name="l00292"></a>00292 <span class="comment">/* Unsigned int. */</span>
<a name="l00293"></a>00293 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem)
<a name="l00294"></a>00294 {
<a name="l00295"></a>00295
<a name="l00296"></a>00296 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ui, __nitem, MPI_UNSIGNED, MPI_COMM_WORLD);
<a name="l00297"></a>00297 }
<a name="l00298"></a>00298
<a name="l00299"></a>00299 <span class="comment">/* Short int. */</span>
<a name="l00300"></a>00300 <span class="keywordtype">void</span> unpack (<span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem)
<a name="l00301"></a>00301 {
<a name="l00302"></a>00302
<a name="l00303"></a>00303 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __sh, __nitem, MPI_SHORT, MPI_COMM_WORLD);
<a name="l00304"></a>00304 }
<a name="l00305"></a>00305
<a name="l00306"></a>00306 <span class="comment">/* Unsigned short */</span>
<a name="l00307"></a>00307 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem)
<a name="l00308"></a>00308 {
<a name="l00309"></a>00309
<a name="l00310"></a>00310 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ush, __nitem, MPI_UNSIGNED_SHORT, MPI_COMM_WORLD);
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312
<a name="l00313"></a>00313 <span class="comment">/* Long */</span>
<a name="l00314"></a>00314 <span class="keywordtype">void</span> unpack (<span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem)
<a name="l00315"></a>00315 {
<a name="l00316"></a>00316
<a name="l00317"></a>00317 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __l, __nitem, MPI_LONG, MPI_COMM_WORLD);
<a name="l00318"></a>00318 }
<a name="l00319"></a>00319
<a name="l00320"></a>00320 <span class="comment">/* Unsigned long */</span>
<a name="l00321"></a>00321 <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem)
<a name="l00322"></a>00322 {
<a name="l00323"></a>00323
<a name="l00324"></a>00324 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; __ul, __nitem, MPI_UNSIGNED_LONG, MPI_COMM_WORLD);
<a name="l00325"></a>00325 }
<a name="l00326"></a>00326
<a name="l00327"></a>00327 <span class="comment">/* String */</span>
<a name="l00328"></a>00328 <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> * __str)
<a name="l00329"></a>00329 {
<a name="l00330"></a>00330
<a name="l00331"></a>00331 <span class="keywordtype">int</span> len;
<a name="l00332"></a>00332 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; len, 1, MPI_INT, MPI_COMM_WORLD);
<a name="l00333"></a>00333 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, __str, len, MPI_CHAR, MPI_COMM_WORLD);
<a name="l00334"></a>00334 }
<a name="l00335"></a>00335 <span class="keywordtype">void</span> unpack (std::string &amp; __str)
<a name="l00336"></a>00336 {
<a name="l00337"></a>00337
<a name="l00338"></a>00338 <span class="keywordtype">char</span> * buffer;
<a name="l00339"></a>00339 <span class="keywordtype">int</span> len;
<a name="l00340"></a>00340 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, &amp; len, 1, MPI_INT, MPI_COMM_WORLD);
<a name="l00341"></a>00341 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, &amp; pos_buf, buffer, len, MPI_CHAR, MPI_COMM_WORLD);
<a name="l00342"></a>00342 __str.assign( buffer );
<a name="l00343"></a>00343
<a name="l00344"></a>00344 }
<a name="l00345"></a>00345
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: mess.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: mess.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>mess.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>mess.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;mess.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -71,17 +71,20 @@
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">extern</span> <span class="keywordtype">void</span> receiveMessage (<span class="keywordtype">int</span> __from, <span class="keywordtype">int</span> __tag);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">extern</span> <span class="keywordtype">void</span> cleanBuffers ();
<a name="l00050"></a>00050 <span class="keyword">extern</span> <span class="keywordtype">void</span> initBuffers ();
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitBuffers ();
<a name="l00052"></a>00052 <span class="keyword">extern</span> <span class="keywordtype">void</span> cleanBuffers ();
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">extern</span> <span class="keywordtype">bool</span> probeMessage (<span class="keywordtype">int</span> &amp; __src, <span class="keywordtype">int</span> &amp; __tag);
<a name="l00054"></a>00054 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitBuffers ();
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitMessage ();
<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">bool</span> probeMessage (<span class="keywordtype">int</span> &amp; __src, <span class="keywordtype">int</span> &amp; __tag);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00058"></a>00058 <span class="keyword">extern</span> <span class="keywordtype">void</span> waitMessage ();
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">extern</span> <span class="keywordtype">void</span> synchronizeNodes ();
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: messaging.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: messaging.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>messaging.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>messaging.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;messaging.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -62,99 +62,112 @@
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __mess_h</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;utility&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">/* Char */</span>
<a name="l00043"></a>00043 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp; __c);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="comment">/* Float */</span>
<a name="l00046"></a>00046 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">/* Double */</span>
<a name="l00049"></a>00049 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="comment">/* Integer */</span>
<a name="l00052"></a>00052 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="comment">/* Unsigned int. */</span>
<a name="l00055"></a>00055 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="comment">/* Short int. */</span>
<a name="l00058"></a>00058 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">/* Unsigned short */</span>
<a name="l00061"></a>00061 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="comment">/* Long */</span>
<a name="l00064"></a>00064 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">/* Unsigned long */</span>
<a name="l00067"></a>00067 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="comment">/* String */</span>
<a name="l00070"></a>00070 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> * __str);
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="comment">/* Pointer */</span>
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> pack (<span class="keyword">const</span> T * __ptr) {
<a name="l00074"></a>00074
<a name="l00075"></a>00075 pack ((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) __ptr);
<a name="l00076"></a>00076 }
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="comment">/* Pair */</span>
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">class</span> U, <span class="keyword">class</span> V&gt; <span class="keywordtype">void</span> pack (<span class="keyword">const</span> std :: pair &lt;U, V&gt; &amp; __pair) {
<a name="l00080"></a>00080
<a name="l00081"></a>00081 pack (__pair.first);
<a name="l00082"></a>00082 pack (__pair.second);
<a name="l00083"></a>00083 }
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="comment">//</span>
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="comment">/* Float */</span>
<a name="l00088"></a>00088 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> &amp; __c);
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="comment">/* Float */</span>
<a name="l00091"></a>00091 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="comment">/* Char */</span>
<a name="l00044"></a>00044 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp; __c);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="comment">/* Boolean */</span>
<a name="l00047"></a>00047 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">bool</span> &amp; __b, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="comment">/* Float */</span>
<a name="l00050"></a>00050 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="comment">/* Double */</span>
<a name="l00053"></a>00053 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="comment">/* Integer */</span>
<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">/* Unsigned int. */</span>
<a name="l00059"></a>00059 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">/* Short int. */</span>
<a name="l00062"></a>00062 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">/* Unsigned short */</span>
<a name="l00065"></a>00065 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="comment">/* Long */</span>
<a name="l00068"></a>00068 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">/* Unsigned long */</span>
<a name="l00071"></a>00071 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">/* String */</span>
<a name="l00074"></a>00074 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> <span class="keywordtype">char</span> * __str);
<a name="l00075"></a>00075 <span class="keyword">extern</span> <span class="keywordtype">void</span> pack (<span class="keyword">const</span> std::string &amp; __str);
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="comment">/* Pointer */</span>
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> pack (<span class="keyword">const</span> T * __ptr)
<a name="l00079"></a>00079 {
<a name="l00080"></a>00080
<a name="l00081"></a>00081 pack ((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) __ptr);
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="comment">/* Pair */</span>
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">class</span> U, <span class="keyword">class</span> V&gt; <span class="keywordtype">void</span> pack (<span class="keyword">const</span> std :: pair &lt;U, V&gt; &amp; __pair)
<a name="l00086"></a>00086 {
<a name="l00087"></a>00087
<a name="l00088"></a>00088 pack (__pair.first);
<a name="l00089"></a>00089 pack (__pair.second);
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="comment">/* Double */</span>
<a name="l00094"></a>00094 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="comment">/* Integer */</span>
<a name="l00097"></a>00097 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">/* Unsigned int. */</span>
<a name="l00100"></a>00100 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="comment">/* Short int. */</span>
<a name="l00103"></a>00103 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="comment">/* Unsigned short */</span>
<a name="l00106"></a>00106 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="comment">/* Long */</span>
<a name="l00109"></a>00109 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="comment">/* Unsigned long */</span>
<a name="l00112"></a>00112 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="comment">/* String */</span>
<a name="l00115"></a>00115 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> * __str);
<a name="l00116"></a>00116
<a name="l00117"></a>00117 <span class="comment">/* Pointer */</span>
<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> unpack (T * &amp; __ptr) {
<a name="l00119"></a>00119
<a name="l00120"></a>00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> p;
<a name="l00121"></a>00121 unpack (p);
<a name="l00122"></a>00122 __ptr = (T *) p;
<a name="l00123"></a>00123 }
<a name="l00124"></a>00124
<a name="l00125"></a>00125 <span class="comment">/* Pair */</span>
<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">class</span> U, <span class="keyword">class</span> V&gt; <span class="keywordtype">void</span> unpack (std :: pair &lt;U, V&gt; &amp; __pair) {
<a name="l00127"></a>00127
<a name="l00128"></a>00128 unpack (__pair.first);
<a name="l00129"></a>00129 unpack (__pair.second);
<a name="l00130"></a>00130 }
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="comment">/* Char */</span>
<a name="l00095"></a>00095 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> &amp; __c);
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="comment">/* Boolean */</span>
<a name="l00098"></a>00098 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">bool</span> &amp; __b, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="comment">/* Float */</span>
<a name="l00101"></a>00101 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">float</span> &amp; __f, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="comment">/* Double */</span>
<a name="l00104"></a>00104 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">double</span> &amp; __d, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="comment">/* Integer */</span>
<a name="l00107"></a>00107 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">int</span> &amp; __i, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="comment">/* Unsigned int. */</span>
<a name="l00110"></a>00110 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; __ui, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="comment">/* Short int. */</span>
<a name="l00113"></a>00113 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">short</span> &amp; __sh, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="comment">/* Unsigned short */</span>
<a name="l00116"></a>00116 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> &amp; __ush, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="comment">/* Long */</span>
<a name="l00119"></a>00119 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">long</span> &amp; __l, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="comment">/* Unsigned long */</span>
<a name="l00122"></a>00122 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &amp; __ul, <span class="keywordtype">int</span> __nitem = 1);
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="comment">/* String */</span>
<a name="l00125"></a>00125 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (<span class="keywordtype">char</span> * __str);
<a name="l00126"></a>00126 <span class="keyword">extern</span> <span class="keywordtype">void</span> unpack (std::string &amp; __str);
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="comment">/* Pointer */</span>
<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> unpack (T * &amp; __ptr)
<a name="l00130"></a>00130 {
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00132"></a>00132 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> p;
<a name="l00133"></a>00133 unpack (p);
<a name="l00134"></a>00134 __ptr = (T *) p;
<a name="l00135"></a>00135 }
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="comment">/* Pair */</span>
<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">class</span> U, <span class="keyword">class</span> V&gt; <span class="keywordtype">void</span> unpack (std :: pair &lt;U, V&gt; &amp; __pair)
<a name="l00139"></a>00139 {
<a name="l00140"></a>00140
<a name="l00141"></a>00141 unpack (__pair.first);
<a name="l00142"></a>00142 unpack (__pair.second);
<a name="l00143"></a>00143 }
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: mix.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: mix.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>mix.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>mix.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;mix.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,16 +65,17 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;utils/eoRNG.h&gt;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> mix (std :: vector &lt;T&gt; &amp; __v) {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> len = __v.size () ;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; len ; i ++)
<a name="l00049"></a>00049 std :: swap (__v [i], __v [<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (len)]) ;
<a name="l00050"></a>00050 }
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">void</span> mix (std :: vector &lt;T&gt; &amp; __v)
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> len = __v.size () ;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; len ; i ++)
<a name="l00050"></a>00050 std :: swap (__v [i], __v [<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (len)]) ;
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Class Members</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -44,7 +44,7 @@ Here is a list of all documented namespace members with links to the namespaces
: <a class="el" href="namespacepeo.html#8184c3b1f7eecc68f69bb8e8b872a7d3">peo</a><li>loadParameters()
: <a class="el" href="namespacepeo.html#2b496ee9b81d9ae322ae6edb9a93dc71">peo</a><li>run()
: <a class="el" href="namespacepeo.html#10819b2d60b37477c6a89b60c595c67c">peo</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Class Members</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -42,7 +42,7 @@
: <a class="el" href="namespacepeo.html#8184c3b1f7eecc68f69bb8e8b872a7d3">peo</a><li>loadParameters()
: <a class="el" href="namespacepeo.html#2b496ee9b81d9ae322ae6edb9a93dc71">peo</a><li>run()
: <a class="el" href="namespacepeo.html#10819b2d60b37477c6a89b60c595c67c">peo</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Class Members</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -40,7 +40,7 @@
<li>argc
: <a class="el" href="namespacepeo.html#18a3998ce8b39c4e1143914fdd07b3d2">peo</a><li>argv
: <a class="el" href="namespacepeo.html#d07043237d4d923125e38860ba9bbe20">peo</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peo Namespace Reference</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peo Namespace Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -58,7 +58,7 @@ int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="nam
char ***&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepeo.html#d07043237d4d923125e38860ba9bbe20">argv</a></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: Namespace Index</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: Namespace Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -27,10 +27,10 @@
<li id="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
</ul></div>
<h1>ParadisEO-PEOMovingObjects Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
<h1>ParadisEO-PEO-ParallelanddistributedEvolvingObjects Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="namespacepeo.html">peo</a></td><td class="indexvalue"></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:50 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:48 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: opt_route.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: opt_route.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>opt_route.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>opt_route.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;opt_route.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -64,100 +64,108 @@
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define MAX_FIELD_LENGTH 1000</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define MAX_LINE_LENGTH 1000</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keywordtype">void</span> getNextField (FILE * __f, <span class="keywordtype">char</span> * __buff) {
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00046"></a>00046
<a name="l00047"></a>00047 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00048"></a>00048 fscanf (__f, <span class="stringliteral">"%[^:\n]"</span>, __buff); <span class="comment">/* Reading the field */</span>
<a name="l00049"></a>00049 fgetc (__f);
<a name="l00050"></a>00050 }
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keywordtype">void</span> getLine (FILE * __f, <span class="keywordtype">char</span> * __buff) {
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keywordtype">void</span> getNextField (FILE * __f, <span class="keywordtype">char</span> * __buff)
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00047"></a>00047
<a name="l00048"></a>00048 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00049"></a>00049 fscanf (__f, <span class="stringliteral">"%[^:\n]"</span>, __buff); <span class="comment">/* Reading the field */</span>
<a name="l00050"></a>00050 fgetc (__f);
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keywordtype">void</span> getLine (FILE * __f, <span class="keywordtype">char</span> * __buff)
<a name="l00054"></a>00054 {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00057"></a>00057 fscanf (__f, <span class="stringliteral">"%[^\n]"</span>, __buff); <span class="comment">/* Reading the line */</span>
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keywordtype">void</span> loadBestRoute (FILE * __f) {
<a name="l00056"></a>00056 <span class="keywordtype">char</span> trash [MAX_TRASH_LENGTH];
<a name="l00057"></a>00057
<a name="l00058"></a>00058 fscanf (__f, <span class="stringliteral">"%[ \t:\n]"</span>, trash); <span class="comment">/* Discarding sep. */</span>
<a name="l00059"></a>00059 fscanf (__f, <span class="stringliteral">"%[^\n]"</span>, __buff); <span class="comment">/* Reading the line */</span>
<a name="l00060"></a>00060 }
<a name="l00061"></a>00061
<a name="l00062"></a>00062 opt_route.clear ();
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++) {
<a name="l00065"></a>00065 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_node.html">Node</a> node;
<a name="l00066"></a>00066 fscanf (__f, <span class="stringliteral">"%u"</span>, &amp; node);
<a name="l00067"></a>00067 opt_route.push_back (node - 1);
<a name="l00068"></a>00068 }
<a name="l00069"></a>00069 <span class="keywordtype">int</span> d; <span class="comment">/* -1 ! */</span>
<a name="l00070"></a>00070 fscanf (__f, <span class="stringliteral">"%d"</span>, &amp; d);
<a name="l00071"></a>00071 }
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keywordtype">void</span> loadOptimumRoute (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename) {
<a name="l00074"></a>00074
<a name="l00075"></a>00075 FILE * f = fopen (__filename, <span class="stringliteral">"r"</span>);
<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keywordtype">void</span> loadBestRoute (FILE * __f)
<a name="l00063"></a>00063 {
<a name="l00064"></a>00064
<a name="l00065"></a>00065 opt_route.clear ();
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++)
<a name="l00068"></a>00068 {
<a name="l00069"></a>00069 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_node.html">Node</a> node;
<a name="l00070"></a>00070 fscanf (__f, <span class="stringliteral">"%u"</span>, &amp; node);
<a name="l00071"></a>00071 opt_route.push_back (node - 1);
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073 <span class="keywordtype">int</span> d; <span class="comment">/* -1 ! */</span>
<a name="l00074"></a>00074 fscanf (__f, <span class="stringliteral">"%d"</span>, &amp; d);
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keywordflow">if</span> (f) {
<a name="l00078"></a>00078
<a name="l00079"></a>00079 printf (<span class="stringliteral">"Loading '%s'.\n"</span>, __filename);
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keywordtype">char</span> field [MAX_FIELD_LENGTH];
<a name="l00082"></a>00082
<a name="l00083"></a>00083 getNextField (f, field); <span class="comment">/* Name */</span>
<a name="l00084"></a>00084 assert (strstr (field, <span class="stringliteral">"NAME"</span>));
<a name="l00085"></a>00085 getNextField (f, field);
<a name="l00086"></a>00086 <span class="comment">//printf ("NAME: %s.\n", field);</span>
<a name="l00087"></a>00087
<a name="l00088"></a>00088 getNextField (f, field); <span class="comment">/* Comment */</span>
<a name="l00089"></a>00089 assert (strstr (field, <span class="stringliteral">"COMMENT"</span>));
<a name="l00090"></a>00090 getLine (f, field);
<a name="l00091"></a>00091 <span class="comment">// printf ("COMMENT: %s.\n", field);</span>
<a name="l00092"></a>00092
<a name="l00093"></a>00093 getNextField (f, field); <span class="comment">/* Type */</span>
<a name="l00094"></a>00094 assert (strstr (field, <span class="stringliteral">"TYPE"</span>));
<a name="l00095"></a>00095 getNextField (f, field);
<a name="l00096"></a>00096 <span class="comment">//printf ("TYPE: %s.\n", field);</span>
<a name="l00097"></a>00097
<a name="l00098"></a>00098 getNextField (f, field); <span class="comment">/* Dimension */</span>
<a name="l00099"></a>00099 assert (strstr (field, <span class="stringliteral">"DIMENSION"</span>));
<a name="l00100"></a>00100 getNextField (f, field);
<a name="l00101"></a>00101 <span class="comment">// printf ("DIMENSION: %s.\n", field);</span>
<a name="l00102"></a>00102 numNodes = atoi (field);
<a name="l00077"></a>00077 <span class="keywordtype">void</span> loadOptimumRoute (<span class="keyword">const</span> <span class="keywordtype">char</span> * __filename)
<a name="l00078"></a>00078 {
<a name="l00079"></a>00079
<a name="l00080"></a>00080 FILE * f = fopen (__filename, <span class="stringliteral">"r"</span>);
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="keywordflow">if</span> (f)
<a name="l00083"></a>00083 {
<a name="l00084"></a>00084
<a name="l00085"></a>00085 printf (<span class="stringliteral">"Loading '%s'.\n"</span>, __filename);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keywordtype">char</span> field [MAX_FIELD_LENGTH];
<a name="l00088"></a>00088
<a name="l00089"></a>00089 getNextField (f, field); <span class="comment">/* Name */</span>
<a name="l00090"></a>00090 assert (strstr (field, <span class="stringliteral">"NAME"</span>));
<a name="l00091"></a>00091 getNextField (f, field);
<a name="l00092"></a>00092 <span class="comment">//printf ("NAME: %s.\n", field);</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 getNextField (f, field); <span class="comment">/* Comment */</span>
<a name="l00095"></a>00095 assert (strstr (field, <span class="stringliteral">"COMMENT"</span>));
<a name="l00096"></a>00096 getLine (f, field);
<a name="l00097"></a>00097 <span class="comment">// printf ("COMMENT: %s.\n", field);</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 getNextField (f, field); <span class="comment">/* Type */</span>
<a name="l00100"></a>00100 assert (strstr (field, <span class="stringliteral">"TYPE"</span>));
<a name="l00101"></a>00101 getNextField (f, field);
<a name="l00102"></a>00102 <span class="comment">//printf ("TYPE: %s.\n", field);</span>
<a name="l00103"></a>00103
<a name="l00104"></a>00104 getNextField (f, field); <span class="comment">/* Tour section */</span>
<a name="l00105"></a>00105 assert (strstr (field, <span class="stringliteral">"TOUR_SECTION"</span>));
<a name="l00106"></a>00106 loadBestRoute (f);
<a name="l00107"></a>00107
<a name="l00108"></a>00108 getNextField (f, field); <span class="comment">/* End of file */</span>
<a name="l00109"></a>00109 assert (strstr (field, <span class="stringliteral">"EOF"</span>));
<a name="l00110"></a>00110 <span class="comment">//printf ("EOF.\n");</span>
<a name="l00111"></a>00111
<a name="l00112"></a>00112 printf (<span class="stringliteral">"The length of the best route is %u.\n"</span>, length (opt_route));
<a name="l00113"></a>00113 }
<a name="l00114"></a>00114 <span class="keywordflow">else</span> {
<a name="l00115"></a>00115
<a name="l00116"></a>00116 fprintf (stderr, <span class="stringliteral">"Can't open '%s'.\n"</span>, __filename);
<a name="l00117"></a>00117 exit (1);
<a name="l00118"></a>00118 }
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordtype">void</span> loadOptimumRoute (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html">eoParser</a> &amp; __parser) {
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="comment">/* Getting the path of the instance */</span>
<a name="l00124"></a>00124
<a name="l00125"></a>00125 eoValueParam &lt;std :: string&gt; param (<span class="stringliteral">""</span>, <span class="stringliteral">"optimumTour"</span>, <span class="stringliteral">"Optimum tour"</span>) ;
<a name="l00126"></a>00126 __parser.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html#3e39518c3f01abbb776b8813a81598de">processParam</a> (param) ;
<a name="l00127"></a>00127 <span class="keywordflow">if</span> (strlen (param.value ().c_str ()))
<a name="l00128"></a>00128 loadOptimumRoute (param.value ().c_str ());
<a name="l00129"></a>00129 <span class="keywordflow">else</span>
<a name="l00130"></a>00130 opt_route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (0);
<a name="l00131"></a>00131 }
<a name="l00104"></a>00104 getNextField (f, field); <span class="comment">/* Dimension */</span>
<a name="l00105"></a>00105 assert (strstr (field, <span class="stringliteral">"DIMENSION"</span>));
<a name="l00106"></a>00106 getNextField (f, field);
<a name="l00107"></a>00107 <span class="comment">// printf ("DIMENSION: %s.\n", field);</span>
<a name="l00108"></a>00108 numNodes = atoi (field);
<a name="l00109"></a>00109
<a name="l00110"></a>00110 getNextField (f, field); <span class="comment">/* Tour section */</span>
<a name="l00111"></a>00111 assert (strstr (field, <span class="stringliteral">"TOUR_SECTION"</span>));
<a name="l00112"></a>00112 loadBestRoute (f);
<a name="l00113"></a>00113
<a name="l00114"></a>00114 getNextField (f, field); <span class="comment">/* End of file */</span>
<a name="l00115"></a>00115 assert (strstr (field, <span class="stringliteral">"EOF"</span>));
<a name="l00116"></a>00116 <span class="comment">//printf ("EOF.\n");</span>
<a name="l00117"></a>00117
<a name="l00118"></a>00118 printf (<span class="stringliteral">"The length of the best route is %u.\n"</span>, length (opt_route));
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120 <span class="keywordflow">else</span>
<a name="l00121"></a>00121 {
<a name="l00122"></a>00122
<a name="l00123"></a>00123 fprintf (stderr, <span class="stringliteral">"Can't open '%s'.\n"</span>, __filename);
<a name="l00124"></a>00124 exit (1);
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126 }
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="keywordtype">void</span> loadOptimumRoute (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html">eoParser</a> &amp; __parser)
<a name="l00129"></a>00129 {
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="comment">/* Getting the path of the instance */</span>
<a name="l00132"></a>00132
<a name="l00133"></a>00133 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> opt_route; <span class="comment">/* Optimum route */</span>
<a name="l00134"></a>00134
<a name="l00135"></a>00135
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00133"></a>00133 eoValueParam &lt;std :: string&gt; param (<span class="stringliteral">""</span>, <span class="stringliteral">"optimumTour"</span>, <span class="stringliteral">"Optimum tour"</span>) ;
<a name="l00134"></a>00134 __parser.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_parser.html#3e39518c3f01abbb776b8813a81598de">processParam</a> (param) ;
<a name="l00135"></a>00135 <span class="keywordflow">if</span> (strlen (param.value ().c_str ()))
<a name="l00136"></a>00136 loadOptimumRoute (param.value ().c_str ());
<a name="l00137"></a>00137 <span class="keywordflow">else</span>
<a name="l00138"></a>00138 opt_route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (0);
<a name="l00139"></a>00139 }
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> opt_route; <span class="comment">/* Optimum route */</span>
<a name="l00142"></a>00142
<a name="l00143"></a>00143
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: opt_route.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: opt_route.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>opt_route.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>opt_route.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;opt_route.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -73,7 +73,7 @@
<a name="l00049"></a>00049 <span class="keyword">extern</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> opt_route; <span class="comment">/* Optimum route */</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: order_xover.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: order_xover.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>order_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>order_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;order_xover.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -64,57 +64,63 @@
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#include "order_xover.h"</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_order_xover.html#d2bf90b5f46ac4a344777e17bc5f364d">OrderXover :: cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) {
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keywordtype">unsigned</span> cut2 = 1 + <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (numNodes) ;
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> cut1 = <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (cut2);
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> l = 0;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="comment">/* To store vertices that have already been crossed */</span>
<a name="l00050"></a>00050 std :: vector &lt;bool&gt; v (numNodes, <span class="keyword">false</span>);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="comment">/* Copy of the left partial route of the first parent */</span>
<a name="l00053"></a>00053 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = cut1 ; i &lt; cut2 ; i ++) {
<a name="l00054"></a>00054 __child [l ++] = __par1 [i] ;
<a name="l00055"></a>00055 v [__par1 [i]] = true ;
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">/* Searching the vertex of the second path, that ended the previous first one */</span>
<a name="l00059"></a>00059 <span class="keywordtype">unsigned</span> from = 0 ;
<a name="l00060"></a>00060 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++)
<a name="l00061"></a>00061 <span class="keywordflow">if</span> (__par2 [i] == __child [cut2 - 1]) {
<a name="l00062"></a>00062 from = i ;
<a name="l00063"></a>00063 break ;
<a name="l00064"></a>00064 }
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">/* Selecting a direction (Left or Right) */</span>
<a name="l00067"></a>00067 <span class="keywordtype">char</span> direct = <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">flip</a> () ? 1 : -1 ;
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes + 1; i ++) {
<a name="l00070"></a>00070 <span class="keywordtype">unsigned</span> bidule = (direct * i + from + numNodes) % numNodes;
<a name="l00071"></a>00071 <span class="keywordflow">if</span> (! v [__par2 [bidule]]) {
<a name="l00072"></a>00072 __child [l ++] = __par2 [bidule] ;
<a name="l00073"></a>00073 v [__par2 [bidule]] = true ;
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076 }
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_order_xover.html#0ff6aada669eb8173322ed68cda1ac61">OrderXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) {
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="comment">// Init. copy</span>
<a name="l00081"></a>00081 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> par [2] ;
<a name="l00082"></a>00082 par [0] = __route1 ;
<a name="l00083"></a>00083 par [1] = __route2 ;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 cross (par [0], par [1], __route1) ;
<a name="l00086"></a>00086 cross (par [1], par [0], __route2) ;
<a name="l00087"></a>00087
<a name="l00088"></a>00088 __route1.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00089"></a>00089 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00043"></a><a class="code" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">00043</a> <span class="keywordtype">void</span> <a class="code" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">OrderXover :: cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child)
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> cut2 = 1 + rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (numNodes) ;
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> cut1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (cut2);
<a name="l00048"></a>00048 <span class="keywordtype">unsigned</span> l = 0;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="comment">/* To store vertices that have already been crossed */</span>
<a name="l00051"></a>00051 std :: vector &lt;bool&gt; v (numNodes, <span class="keyword">false</span>);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="comment">/* Copy of the left partial route of the first parent */</span>
<a name="l00054"></a>00054 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = cut1 ; i &lt; cut2 ; i ++)
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 __child [l ++] = __par1 [i] ;
<a name="l00057"></a>00057 v [__par1 [i]] = true ;
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">/* Searching the vertex of the second path, that ended the previous first one */</span>
<a name="l00061"></a>00061 <span class="keywordtype">unsigned</span> from = 0 ;
<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes; i ++)
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (__par2 [i] == __child [cut2 - 1])
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065 from = i ;
<a name="l00066"></a>00066 break ;
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="comment">/* Selecting a direction (Left or Right) */</span>
<a name="l00070"></a>00070 <span class="keywordtype">char</span> direct = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">flip</a> () ? 1 : -1 ;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; numNodes + 1; i ++)
<a name="l00073"></a>00073 {
<a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> bidule = (direct * i + from + numNodes) % numNodes;
<a name="l00075"></a>00075 <span class="keywordflow">if</span> (! v [__par2 [bidule]])
<a name="l00076"></a>00076 {
<a name="l00077"></a>00077 __child [l ++] = __par2 [bidule] ;
<a name="l00078"></a>00078 v [__par2 [bidule]] = true ;
<a name="l00079"></a>00079 }
<a name="l00080"></a>00080 }
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082
<a name="l00083"></a><a class="code" href="classOrderXover.html#0ff6aada669eb8173322ed68cda1ac61">00083</a> <span class="keywordtype">bool</span> <a class="code" href="classOrderXover.html#0ff6aada669eb8173322ed68cda1ac61">OrderXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2)
<a name="l00084"></a>00084 {
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="comment">// Init. copy</span>
<a name="l00087"></a>00087 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> par [2] ;
<a name="l00088"></a>00088 par [0] = __route1 ;
<a name="l00089"></a>00089 par [1] = __route2 ;
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keywordflow">return</span> true ;
<a name="l00092"></a>00092 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00091"></a>00091 <a class="code" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">cross</a> (par [0], par [1], __route1) ;
<a name="l00092"></a>00092 <a class="code" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">cross</a> (par [1], par [0], __route2) ;
<a name="l00093"></a>00093
<a name="l00094"></a>00094 __route1.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00095"></a>00095 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keywordflow">return</span> true ;
<a name="l00098"></a>00098 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: order_xover.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: order_xover.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>order_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>order_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;order_xover.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,19 +65,20 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "route.h"</span>
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">class </span><a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_order_xover.html">OrderXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt; {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">public</span> :
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_order_xover.html#0ff6aada669eb8173322ed68cda1ac61">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">private</span> :
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_order_xover.html#d2bf90b5f46ac4a344777e17bc5f364d">cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ;
<a name="l00054"></a>00054 } ;
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00045"></a><a class="code" href="classOrderXover.html">00045</a> <span class="keyword">class </span><a class="code" href="classOrderXover.html">OrderXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt;
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="classOrderXover.html#0ff6aada669eb8173322ed68cda1ac61">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">private</span> :
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classOrderXover.html#d2bf90b5f46ac4a344777e17bc5f364d">cross</a> (<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par1, <span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __par2, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __child) ;
<a name="l00055"></a>00055 } ;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: part_route_eval.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: part_route_eval.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>part_route_eval.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>part_route_eval.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;part_route_eval.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -61,26 +61,26 @@
<a name="l00037"></a>00037 <span class="preprocessor">#include "part_route_eval.h"</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "node.h"</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#a331566b29bc3227f377004232f05491">PartRouteEval :: PartRouteEval</a> (<span class="keywordtype">float</span> __from,
<a name="l00040"></a><a class="code" href="classPartRouteEval.html#a331566b29bc3227f377004232f05491">00040</a> <a class="code" href="classPartRouteEval.html#a331566b29bc3227f377004232f05491">PartRouteEval :: PartRouteEval</a> (<span class="keywordtype">float</span> __from,
<a name="l00041"></a>00041 <span class="keywordtype">float</span> __to
<a name="l00042"></a>00042 ) : from (__from),
<a name="l00043"></a>00043 to (__to) {
<a name="l00044"></a>00044
<a name="l00045"></a>00045 }
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#965fab875fb601f17934a6ece761beae">PartRouteEval :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) {
<a name="l00048"></a>00048
<a name="l00049"></a>00049
<a name="l00042"></a>00042 ) : from (__from),
<a name="l00043"></a>00043 to (__to)
<a name="l00044"></a>00044 {}
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="classPartRouteEval.html#965fab875fb601f17934a6ece761beae">00046</a> <span class="keywordtype">void</span> <a class="code" href="classPartRouteEval.html#965fab875fb601f17934a6ece761beae">PartRouteEval :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route)
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordtype">unsigned</span> len = 0 ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = (<span class="keywordtype">unsigned</span>) (__route.size () * from) ;
<a name="l00053"></a>00053 i &lt; (unsigned) (__route.size () * to) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = (<span class="keywordtype">unsigned</span>) (__route.size () * <a class="code" href="classPartRouteEval.html#5bde722e66378b2570ae6c4b4f8df58e">from</a>) ;
<a name="l00053"></a>00053 i &lt; (unsigned) (__route.size () * <a class="code" href="classPartRouteEval.html#de53cc919faa498663f327b72c357da3">to</a>) ;
<a name="l00054"></a>00054 i ++)
<a name="l00055"></a>00055 len += distance (__route [i], __route [(i + 1) % numNodes]) ;
<a name="l00056"></a>00056
<a name="l00056"></a>00056
<a name="l00057"></a>00057 __route.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (- (<span class="keywordtype">int</span>) len) ;
<a name="l00058"></a>00058 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: part_route_eval.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: part_route_eval.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>part_route_eval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>part_route_eval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;part_route_eval.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,23 +65,24 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "route.h"</span>
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">class </span><a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html">PartRouteEval</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt;Route&gt; {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">public</span> :
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#a331566b29bc3227f377004232f05491">PartRouteEval</a> (<span class="keywordtype">float</span> __from, <span class="keywordtype">float</span> __to) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#965fab875fb601f17934a6ece761beae">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) ;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">private</span> :
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordtype">float</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#5bde722e66378b2570ae6c4b4f8df58e">from</a>, <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_part_route_eval.html#de53cc919faa498663f327b72c357da3">to</a> ;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 } ;
<a name="l00059"></a>00059
<a name="l00045"></a><a class="code" href="classPartRouteEval.html">00045</a> <span class="keyword">class </span><a class="code" href="classPartRouteEval.html">PartRouteEval</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> &lt;Route&gt;
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <a class="code" href="classPartRouteEval.html#a331566b29bc3227f377004232f05491">PartRouteEval</a> (<span class="keywordtype">float</span> __from, <span class="keywordtype">float</span> __to) ;
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classPartRouteEval.html#965fab875fb601f17934a6ece761beae">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route) ;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">private</span> :
<a name="l00056"></a>00056
<a name="l00057"></a><a class="code" href="classPartRouteEval.html#de53cc919faa498663f327b72c357da3">00057</a> <span class="keywordtype">float</span> <a class="code" href="classPartRouteEval.html#5bde722e66378b2570ae6c4b4f8df58e">from</a>, <a class="code" href="classPartRouteEval.html#de53cc919faa498663f327b72c357da3">to</a> ;
<a name="l00058"></a>00058
<a name="l00059"></a>00059 } ;
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: partial_mapped_xover.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: partial_mapped_xover.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>partial_mapped_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>partial_mapped_xover.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;partial_mapped_xover.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,53 +65,56 @@
<a name="l00041"></a>00041 <span class="preprocessor">#include "partial_mapped_xover.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "mix.h"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_partial_mapped_xover.html#b6d4035544aff3b2b3fe4b0eeea185a2">PartialMappedXover :: repair</a> (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keywordtype">unsigned</span> __cut1, <span class="keywordtype">unsigned</span> __cut2) {
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> v [__route.size ()] ; <span class="comment">// Number of times a cities are visited ...</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00049"></a>00049 v [i] = 0 ;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00052"></a>00052 v [__route [i]] ++ ;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 std :: vector &lt;unsigned&gt; vert ;
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00057"></a>00057 <span class="keywordflow">if</span> (! v [i])
<a name="l00058"></a>00058 vert.push_back (i) ;
<a name="l00059"></a>00059
<a name="l00060"></a>00060 mix (vert) ;
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (i &lt; __cut1 || i &gt;= __cut2)
<a name="l00064"></a>00064 <span class="keywordflow">if</span> (v [__route [i]] &gt; 1) {
<a name="l00065"></a>00065 __route [i] = vert.back () ;
<a name="l00066"></a>00066 vert.pop_back () ;
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068 }
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_partial_mapped_xover.html#1cda6ea86ca36e5de0125f4ba5cfc695">PartialMappedXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) {
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keywordtype">unsigned</span> cut1 = <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route1.size ()), cut2 = <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/namespaceeo.html#2727d901e79a00930492730539e3b644">rng</a>.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route2.size ()) ;
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordflow">if</span> (cut2 &lt; cut1)
<a name="l00075"></a>00075 std :: swap (cut1, cut2) ;
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="comment">// Between the cuts</span>
<a name="l00078"></a>00078 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = cut1 ; i &lt; cut2 ; i ++)
<a name="l00079"></a>00079 std :: swap (__route1 [i], __route2 [i]) ;
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="comment">// Outside the cuts</span>
<a name="l00082"></a>00082 repair (__route1, cut1, cut2) ;
<a name="l00083"></a>00083 repair (__route2, cut1, cut2) ;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 __route1.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00086"></a>00086 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00044"></a><a class="code" href="classPartialMappedXover.html#b6d4035544aff3b2b3fe4b0eeea185a2">00044</a> <span class="keywordtype">void</span> <a class="code" href="classPartialMappedXover.html#b6d4035544aff3b2b3fe4b0eeea185a2">PartialMappedXover :: repair</a> (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keywordtype">unsigned</span> __cut1, <span class="keywordtype">unsigned</span> __cut2)
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordtype">unsigned</span> v [__route.size ()] ; <span class="comment">// Number of times a cities are visited ...</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00050"></a>00050 v [i] = 0 ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00053"></a>00053 v [__route [i]] ++ ;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 std :: vector &lt;unsigned&gt; vert ;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00058"></a>00058 <span class="keywordflow">if</span> (! v [i])
<a name="l00059"></a>00059 vert.push_back (i) ;
<a name="l00060"></a>00060
<a name="l00061"></a>00061 mix (vert) ;
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i &lt; __route.size () ; i ++)
<a name="l00064"></a>00064 <span class="keywordflow">if</span> (i &lt; __cut1 || i &gt;= __cut2)
<a name="l00065"></a>00065 <span class="keywordflow">if</span> (v [__route [i]] &gt; 1)
<a name="l00066"></a>00066 {
<a name="l00067"></a>00067 __route [i] = vert.back () ;
<a name="l00068"></a>00068 vert.pop_back () ;
<a name="l00069"></a>00069 }
<a name="l00070"></a>00070 }
<a name="l00071"></a>00071
<a name="l00072"></a><a class="code" href="classPartialMappedXover.html#1cda6ea86ca36e5de0125f4ba5cfc695">00072</a> <span class="keywordtype">bool</span> <a class="code" href="classPartialMappedXover.html#1cda6ea86ca36e5de0125f4ba5cfc695">PartialMappedXover :: operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2)
<a name="l00073"></a>00073 {
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keywordtype">unsigned</span> cut1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route1.size ()), cut2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (__route2.size ()) ;
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keywordflow">if</span> (cut2 &lt; cut1)
<a name="l00078"></a>00078 std :: swap (cut1, cut2) ;
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="comment">// Between the cuts</span>
<a name="l00081"></a>00081 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = cut1 ; i &lt; cut2 ; i ++)
<a name="l00082"></a>00082 std :: swap (__route1 [i], __route2 [i]) ;
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="comment">// Outside the cuts</span>
<a name="l00085"></a>00085 <a class="code" href="classPartialMappedXover.html#b6d4035544aff3b2b3fe4b0eeea185a2">repair</a> (__route1, cut1, cut2) ;
<a name="l00086"></a>00086 <a class="code" href="classPartialMappedXover.html#b6d4035544aff3b2b3fe4b0eeea185a2">repair</a> (__route2, cut1, cut2) ;
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keywordflow">return</span> true ;
<a name="l00089"></a>00089 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00088"></a>00088 __route1.invalidate () ;
<a name="l00089"></a>00089 __route2.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> () ;
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keywordflow">return</span> true ;
<a name="l00092"></a>00092 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: partial_mapped_xover.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: partial_mapped_xover.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,7 +22,7 @@
</form>
</li>
</ul></div>
<h1>partial_mapped_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>partial_mapped_xover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;partial_mapped_xover.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
@ -65,19 +65,20 @@
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "route.h"</span>
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">class </span><a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_partial_mapped_xover.html">PartialMappedXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt; {
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">public</span> :
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_partial_mapped_xover.html#1cda6ea86ca36e5de0125f4ba5cfc695">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">private</span> :
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="codeRef" doxygen="mo.doxytag:/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/" href="/data/OPAC/software/paradisEO/repository/paradiseo/trunk/paradiseo-peo/build/../../paradiseo-mo/build/doc/html/class_partial_mapped_xover.html#b6d4035544aff3b2b3fe4b0eeea185a2">repair</a> (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keywordtype">unsigned</span> __cut1, <span class="keywordtype">unsigned</span> __cut2) ;
<a name="l00054"></a>00054 } ;
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00045"></a><a class="code" href="classPartialMappedXover.html">00045</a> <span class="keyword">class </span><a class="code" href="classPartialMappedXover.html">PartialMappedXover</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> &lt;Route&gt;
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">public</span> :
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="classPartialMappedXover.html#1cda6ea86ca36e5de0125f4ba5cfc695">operator () </a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route1, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route2) ;
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">private</span> :
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classPartialMappedXover.html#b6d4035544aff3b2b3fe4b0eeea185a2">repair</a> (<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">Route</a> &amp; __route, <span class="keywordtype">unsigned</span> __cut1, <span class="keywordtype">unsigned</span> __cut2) ;
<a name="l00055"></a>00055 } ;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoAggEvalFunc.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoAggEvalFunc.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoAggEvalFunc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoAggEvalFunc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoAggEvalFunc.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -64,13 +64,12 @@
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;eoFunctor.h&gt;</span>
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00053"></a><a class="code" href="classpeoAggEvalFunc.html">00053</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF</a>&lt; EOT&amp;, const typename EOT :: Fitness&amp;, void &gt; {
<a name="l00054"></a>00054
<a name="l00055"></a>00055 };
<a name="l00053"></a><a class="code" href="classpeoAggEvalFunc.html">00053</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF</a>&lt; EOT&amp;, const typename EOT :: Fitness&amp;, void &gt;
<a name="l00054"></a>00054 {};
<a name="l00055"></a>00055
<a name="l00056"></a>00056
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoAsyncIslandMig.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoAsyncIslandMig.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoAsyncIslandMig.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoAsyncIslandMig.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoAsyncIslandMig.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -48,7 +48,7 @@
<a name="l00024"></a>00024 <span class="comment">* professionals having in-depth computer knowledge. Users are therefore</span>
<a name="l00025"></a>00025 <span class="comment">* encouraged to load and test the software's suitability as regards their</span>
<a name="l00026"></a>00026 <span class="comment">* requirements in conditions enabling the security of their systems and/or</span>
<a name="l00027"></a>00027 <span class="comment">* data to be ensured and, more generally, to use and operate it in the</span>
<a name="l00027"></a>00027 <span class="comment">* peoData to be ensured and, more generally, to use and operate it in the</span>
<a name="l00028"></a>00028 <span class="comment">* same conditions as regards security.</span>
<a name="l00029"></a>00029 <span class="comment">* The fact that you are presently reading this means that you have had</span>
<a name="l00030"></a>00030 <span class="comment">* knowledge of the CeCILL license and that you accept its terms.</span>
@ -65,152 +65,139 @@
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;queue&gt;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;utils/eoUpdater.h&gt;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;eoContinue.h&gt;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;eoSelect.h&gt;</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;eoReplacement.h&gt;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;eoPop.h&gt;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;eoContinue.h&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;eoSelect.h&gt;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;eoReplacement.h&gt;</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;eoPop.h&gt;</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#include "core/topology.h"</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include "core/cooperative.h"</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include "core/eoPop_comm.h"</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055
<a name="l00050"></a>00050 <span class="preprocessor">#include "core/messaging.h"</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include "core/eoPop_mesg.h"</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include "core/eoVector_mesg.h"</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include "core/topology.h"</span>
<a name="l00054"></a>00054 <span class="preprocessor">#include "core/thread.h"</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include "core/cooperative.h"</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00057"></a>00057
<a name="l00140"></a><a class="code" href="classpeoAsyncIslandMig.html">00140</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> : <span class="keyword">public</span> <a class="code" href="classCooperative.html">Cooperative</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a> {
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="keyword">public</span>:
<a name="l00143"></a>00143
<a name="l00153"></a>00153 <a class="code" href="classpeoAsyncIslandMig.html#e0f706cbf4148d3ca327227a5c7a9fdf">peoAsyncIslandMig</a>(
<a name="l00154"></a>00154 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue&lt; EOT &gt;</a>&amp; __cont,
<a name="l00155"></a>00155 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; __select,
<a name="l00156"></a>00156 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; __replace,
<a name="l00157"></a>00157 <a class="code" href="classTopology.html">Topology</a>&amp; __topology,
<a name="l00158"></a>00158 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __source,
<a name="l00159"></a>00159 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __destination
<a name="l00160"></a>00160 );
<a name="l00161"></a>00161
<a name="l00166"></a>00166 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#13581e54425727a7f785ca8a6df527b5">operator()</a>();
<a name="l00167"></a>00167
<a name="l00169"></a>00169 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16">pack</a>();
<a name="l00171"></a>00171 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369">unpack</a>();
<a name="l00172"></a>00172
<a name="l00173"></a>00173
<a name="l00174"></a>00174 <span class="keyword">private</span>:
<a name="l00175"></a>00175
<a name="l00176"></a>00176 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">emigrate</a>();
<a name="l00177"></a>00177 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">immigrate</a>();
<a name="l00178"></a>00178
<a name="l00179"></a>00179
<a name="l00180"></a>00180 <span class="keyword">private</span>:
<a name="l00181"></a>00181
<a name="l00182"></a><a class="code" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">00182</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">cont</a>; <span class="comment">// continuator</span>
<a name="l00183"></a><a class="code" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">00183</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">select</a>; <span class="comment">// the selection strategy</span>
<a name="l00184"></a><a class="code" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">00184</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">replace</a>; <span class="comment">// the replacement strategy</span>
<a name="l00185"></a><a class="code" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">00185</a> <a class="code" href="classTopology.html">Topology</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">topology</a>; <span class="comment">// the neighboring topology</span>
<a name="l00186"></a>00186
<a name="l00187"></a>00187 <span class="comment">// source and destination populations</span>
<a name="l00188"></a><a class="code" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">00188</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">source</a>;
<a name="l00189"></a><a class="code" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">00189</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">destination</a>;
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="comment">// immigrants &amp; emigrants in the queue</span>
<a name="l00192"></a><a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">00192</a> std :: queue&lt; eoPop&lt; EOT &gt; &gt; <a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a>;
<a name="l00193"></a><a class="code" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">00193</a> std :: queue&lt; eoPop&lt; EOT &gt; &gt; <a class="code" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a>;
<a name="l00194"></a>00194
<a name="l00195"></a><a class="code" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">00195</a> std :: queue&lt; Cooperative* &gt; <a class="code" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a>;
<a name="l00196"></a>00196 };
<a name="l00058"></a>00058
<a name="l00064"></a><a class="code" href="classpeoAsyncIslandMig.html">00064</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keyword">class </span><a class="code" href="classpeoAsyncIslandMig.html">peoAsyncIslandMig</a> : <span class="keyword">public</span> <a class="code" href="classCooperative.html">Cooperative</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a>
<a name="l00065"></a>00065 {
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keyword">public</span>:
<a name="l00068"></a>00068
<a name="l00074"></a>00074 <a class="code" href="classpeoAsyncIslandMig.html#e40ddd54734b018ab4e5c3f2bbd5a49c">peoAsyncIslandMig</a>(
<a name="l00075"></a>00075 <a class="code" href="classcontinuator.html">continuator</a> &amp; __cont,
<a name="l00076"></a>00076 selector &lt;TYPESELECT&gt; &amp; __select,
<a name="l00077"></a>00077 replacement &lt;TYPEREPLACE&gt; &amp; __replace,
<a name="l00078"></a>00078 <a class="code" href="classTopology.html">Topology</a>&amp; __topology
<a name="l00079"></a>00079 );
<a name="l00080"></a>00080
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#d56e189f269dde8d68a4b007f05edaff">operator()</a>();
<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14">pack</a>();
<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8">unpack</a>();
<a name="l00088"></a>00088 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#0a0524a90d0b31bc4c8bfa4f39708b0f">packSynchronizeReq</a>();
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="keyword">private</span>:
<a name="l00092"></a>00092 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">emigrate</a>();
<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">immigrate</a>();
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="keyword">private</span>:
<a name="l00104"></a><a class="code" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">00104</a> <a class="code" href="classcontinuator.html">continuator</a> &amp; <a class="code" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">cont</a>;
<a name="l00105"></a><a class="code" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">00105</a> selector &lt;TYPESELECT&gt; &amp; <a class="code" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">select</a>;
<a name="l00106"></a><a class="code" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">00106</a> replacement &lt;TYPEREPLACE&gt; &amp; <a class="code" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">replace</a>;
<a name="l00107"></a><a class="code" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">00107</a> <a class="code" href="classTopology.html">Topology</a>&amp; <a class="code" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">topology</a>;
<a name="l00108"></a><a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">00108</a> std :: queue&lt; TYPEREPLACE &gt; <a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a>;
<a name="l00109"></a><a class="code" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">00109</a> std :: queue&lt; TYPESELECT &gt; <a class="code" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a>;
<a name="l00110"></a><a class="code" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">00110</a> std :: queue&lt; Cooperative* &gt; <a class="code" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a>;
<a name="l00111"></a>00111 };
<a name="l00112"></a>00112
<a name="l00113"></a>00113
<a name="l00114"></a><a class="code" href="classpeoAsyncIslandMig.html#e40ddd54734b018ab4e5c3f2bbd5a49c">00114</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT , <span class="keyword">class</span> TYPEREPLACE&gt; <a class="code" href="classpeoAsyncIslandMig.html#e40ddd54734b018ab4e5c3f2bbd5a49c">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; :: peoAsyncIslandMig</a>(
<a name="l00115"></a>00115
<a name="l00116"></a>00116 <a class="code" href="classcontinuator.html">continuator</a> &amp; __cont,
<a name="l00117"></a>00117 selector &lt;TYPESELECT&gt; &amp; __select,
<a name="l00118"></a>00118 replacement &lt;TYPEREPLACE&gt; &amp; __replace,
<a name="l00119"></a>00119 <a class="code" href="classTopology.html">Topology</a>&amp; __topology
<a name="l00120"></a>00120
<a name="l00121"></a>00121 ) : select( __select ), replace( __replace ), topology( __topology ), cont(__cont)
<a name="l00122"></a>00122 {
<a name="l00123"></a>00123
<a name="l00124"></a>00124 __topology.<a class="code" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>( *<span class="keyword">this</span> );
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
<a name="l00127"></a>00127
<a name="l00128"></a><a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14">00128</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT , <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; :: pack</a>()
<a name="l00129"></a>00129 {
<a name="l00130"></a>00130 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a> ();<a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14"></a>
<a name="l00131"></a>00131 <a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14"> ::pack</a>( <a class="code" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a>.front()-&gt;getKey() );<a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14"></a>
<a name="l00132"></a>00132 <a class="code" href="classpeoAsyncIslandMig.html#0f5f1700920f9ced71ef63b0576e3f14"> ::pack</a>(<a class="code" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a>.front());
<a name="l00133"></a>00133 <a class="code" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a>.pop();
<a name="l00134"></a>00134 <a class="code" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a>.pop();
<a name="l00135"></a>00135 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00136"></a>00136 }
<a name="l00137"></a>00137
<a name="l00138"></a>00138
<a name="l00139"></a><a class="code" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8">00139</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8">peoAsyncIslandMig&lt; TYPESELECT , TYPEREPLACE&gt; :: unpack</a>()
<a name="l00140"></a>00140 {
<a name="l00141"></a>00141 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a> ();
<a name="l00142"></a>00142 TYPEREPLACE mig;<a class="code" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8"></a>
<a name="l00143"></a>00143 <a class="code" href="classpeoAsyncIslandMig.html#c32a27e387bcd8ce383a4cb1732dbed8"> ::unpack</a>(mig);
<a name="l00144"></a>00144 <a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a>.push( mig );
<a name="l00145"></a>00145 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00146"></a>00146 }
<a name="l00147"></a>00147
<a name="l00148"></a><a class="code" href="classpeoAsyncIslandMig.html#0a0524a90d0b31bc4c8bfa4f39708b0f">00148</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT , <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#0a0524a90d0b31bc4c8bfa4f39708b0f">peoAsyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; :: packSynchronizeReq</a>()
<a name="l00149"></a>00149 {}
<a name="l00150"></a>00150
<a name="l00151"></a><a class="code" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">00151</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT , <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">peoAsyncIslandMig&lt; TYPESELECT , TYPEREPLACE&gt; :: emigrate</a>()
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153 std :: vector&lt; Cooperative* &gt;in, out;
<a name="l00154"></a>00154 <a class="code" href="classpeoAsyncIslandMig.html#e70e843ec1fc9e2fc6a124588fbc08d5">topology</a>.<a class="code" href="classTopology.html#86c006ad698649b2ba5016a5ddd619ce">setNeighbors</a>( <span class="keyword">this</span>, in, out );
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> i = 0; i &lt; out.size(); i++ )
<a name="l00157"></a>00157 {
<a name="l00158"></a>00158
<a name="l00159"></a>00159 TYPESELECT mig;
<a name="l00160"></a>00160 <a class="code" href="classpeoAsyncIslandMig.html#57d9ed6da844aa67a8a3328dfbbd03e0">select</a>(mig);
<a name="l00161"></a>00161 <a class="code" href="classpeoAsyncIslandMig.html#04c6a5767efe3e4deb914a6a8ceb3fd2">em</a>.push( mig );
<a name="l00162"></a>00162 <a class="code" href="classpeoAsyncIslandMig.html#9ead40772ef2fabea02fe93d1814f0a5">coop_em</a>.push( out[i] );
<a name="l00163"></a>00163 <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>( out[i] );
<a name="l00164"></a>00164 printDebugMessage( <span class="stringliteral">"sending some emigrants."</span> );
<a name="l00165"></a>00165 }
<a name="l00166"></a>00166 }
<a name="l00167"></a>00167
<a name="l00168"></a>00168
<a name="l00169"></a><a class="code" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">00169</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">peoAsyncIslandMig&lt; TYPESELECT , TYPEREPLACE&gt; :: immigrate</a>()
<a name="l00170"></a>00170 {
<a name="l00171"></a>00171
<a name="l00172"></a>00172 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a> ();
<a name="l00173"></a>00173 {
<a name="l00174"></a>00174
<a name="l00175"></a>00175 <span class="keywordflow">while</span> ( !<a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a>.empty() )
<a name="l00176"></a>00176 {
<a name="l00177"></a>00177 <a class="code" href="classpeoAsyncIslandMig.html#2013056fed65e4f0bb55a7334c261c50">replace</a>(<a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a>.front() );
<a name="l00178"></a>00178 <a class="code" href="classpeoAsyncIslandMig.html#3fa5d4df0bdd4a3c58a9f1bd38d628f9">imm</a>.pop();
<a name="l00179"></a>00179 printDebugMessage( <span class="stringliteral">"receiving some immigrants."</span> );
<a name="l00180"></a>00180 }
<a name="l00181"></a>00181 }
<a name="l00182"></a>00182 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00183"></a>00183 }
<a name="l00184"></a>00184
<a name="l00185"></a>00185
<a name="l00186"></a><a class="code" href="classpeoAsyncIslandMig.html#d56e189f269dde8d68a4b007f05edaff">00186</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT , <span class="keyword">class</span> TYPEREPLACE&gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#d56e189f269dde8d68a4b007f05edaff">peoAsyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: operator()</a>()
<a name="l00187"></a>00187 {
<a name="l00188"></a>00188
<a name="l00189"></a>00189 <span class="keywordflow">if</span> (! <a class="code" href="classpeoAsyncIslandMig.html#b7a4049f66f99f9e7ec5c785042ee06a">cont</a>.<a class="code" href="classcontinuator.html#30601b037ab27b40610af1b979ec3d5b">check</a>())
<a name="l00190"></a>00190 {
<a name="l00191"></a>00191
<a name="l00192"></a>00192 <a class="code" href="classpeoAsyncIslandMig.html#2470f8ee04bc762c010c7ebb2392831d">emigrate</a>();
<a name="l00193"></a>00193 <a class="code" href="classpeoAsyncIslandMig.html#75a6592d63879773b39c9594b94fb942">immigrate</a>();
<a name="l00194"></a>00194 }
<a name="l00195"></a>00195 }
<a name="l00196"></a>00196
<a name="l00197"></a>00197
<a name="l00198"></a>00198
<a name="l00199"></a><a class="code" href="classpeoAsyncIslandMig.html#e0f706cbf4148d3ca327227a5c7a9fdf">00199</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <a class="code" href="classpeoAsyncIslandMig.html#e0f706cbf4148d3ca327227a5c7a9fdf">peoAsyncIslandMig&lt; EOT &gt; :: peoAsyncIslandMig</a>(
<a name="l00200"></a>00200
<a name="l00201"></a>00201 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_continue.html">eoContinue&lt; EOT &gt;</a>&amp; __cont,
<a name="l00202"></a>00202 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; __select,
<a name="l00203"></a>00203 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; __replace,
<a name="l00204"></a>00204 <a class="code" href="classTopology.html">Topology</a>&amp; __topology,
<a name="l00205"></a>00205 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __source,
<a name="l00206"></a>00206 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __destination
<a name="l00207"></a>00207
<a name="l00208"></a>00208 ) : cont( __cont ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination )
<a name="l00209"></a>00209 {
<a name="l00210"></a>00210
<a name="l00211"></a>00211 __topology.<a class="code" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>( *<span class="keyword">this</span> );
<a name="l00212"></a>00212 }
<a name="l00213"></a>00213
<a name="l00214"></a>00214
<a name="l00215"></a><a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16">00215</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16">peoAsyncIslandMig&lt; EOT &gt; :: pack</a>()
<a name="l00216"></a>00216 {
<a name="l00217"></a>00217
<a name="l00218"></a>00218 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {<a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16"></a>
<a name="l00219"></a>00219 <a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16"></a>
<a name="l00220"></a>00220 <a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16"> :: pack</a>( <a class="code" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a>.front()-&gt;getKey() );<a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16"></a>
<a name="l00221"></a>00221 <a class="code" href="classpeoAsyncIslandMig.html#6d790a5d0b6ac510cac4f61a1c0d8f16"> :: pack</a>( <a class="code" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a>.front() );
<a name="l00222"></a>00222 <a class="code" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a>.pop();
<a name="l00223"></a>00223 <a class="code" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a>.pop();
<a name="l00224"></a>00224 }
<a name="l00225"></a>00225 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00226"></a>00226 }
<a name="l00227"></a>00227
<a name="l00228"></a>00228
<a name="l00229"></a><a class="code" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369">00229</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369">peoAsyncIslandMig&lt; EOT &gt; :: unpack</a>()
<a name="l00230"></a>00230 {
<a name="l00231"></a>00231
<a name="l00232"></a>00232 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a> mig;<a class="code" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369"></a>
<a name="l00235"></a>00235 <a class="code" href="classpeoAsyncIslandMig.html#455501aee5db2bbfbae15779c8429369"> :: unpack</a>( mig );
<a name="l00236"></a>00236 <a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a>.push( mig );
<a name="l00237"></a>00237 }
<a name="l00238"></a>00238 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00239"></a>00239 }
<a name="l00240"></a>00240
<a name="l00241"></a>00241
<a name="l00242"></a><a class="code" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">00242</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">peoAsyncIslandMig&lt; EOT &gt; :: emigrate</a>()
<a name="l00243"></a>00243 {
<a name="l00244"></a>00244
<a name="l00245"></a>00245 std :: vector&lt; Cooperative* &gt;in, out;
<a name="l00246"></a>00246 <a class="code" href="classpeoAsyncIslandMig.html#e45e5a808a96f0853ab6ba42339fe679">topology</a>.<a class="code" href="classTopology.html#86c006ad698649b2ba5016a5ddd619ce">setNeighbors</a>( <span class="keyword">this</span>, in, out );
<a name="l00247"></a>00247
<a name="l00248"></a>00248 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> i = 0; i &lt; out.size(); i++ ) {
<a name="l00249"></a>00249
<a name="l00250"></a>00250 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a> mig;
<a name="l00251"></a>00251 <a class="code" href="classpeoAsyncIslandMig.html#b1fa045094c8a411323e75b5820c80c2">select</a>( <a class="code" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">source</a>, mig );
<a name="l00252"></a>00252 <a class="code" href="classpeoAsyncIslandMig.html#a9cc0e2d61cac6e11647b141962adc89">em</a>.push( mig );
<a name="l00253"></a>00253 <a class="code" href="classpeoAsyncIslandMig.html#1a2c0004d23bc303420af137a8c8bd27">coop_em</a>.push( out[i] );
<a name="l00254"></a>00254 <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>( out[i] );
<a name="l00255"></a>00255 printDebugMessage( <span class="stringliteral">"sending some emigrants."</span> );
<a name="l00256"></a>00256 }
<a name="l00257"></a>00257 }
<a name="l00258"></a>00258
<a name="l00259"></a>00259
<a name="l00260"></a><a class="code" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">00260</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">peoAsyncIslandMig&lt; EOT &gt; :: immigrate</a>()
<a name="l00261"></a>00261 {
<a name="l00262"></a>00262
<a name="l00263"></a>00263 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {
<a name="l00264"></a>00264
<a name="l00265"></a>00265 <span class="keywordflow">while</span> ( !<a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a>.empty() ) {
<a name="l00266"></a>00266
<a name="l00267"></a>00267 <a class="code" href="classpeoAsyncIslandMig.html#b761dbd880ee32e170741ecd78da6f48">replace</a>( <a class="code" href="classpeoAsyncIslandMig.html#e407f411d08ae7d96992603c145a7e43">destination</a>, <a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a>.front() );
<a name="l00268"></a>00268 <a class="code" href="classpeoAsyncIslandMig.html#b8c76d98d9ae99dd930a77c12860519a">imm</a>.pop();
<a name="l00269"></a>00269 printDebugMessage( <span class="stringliteral">"receiving some immigrants."</span> );
<a name="l00270"></a>00270 }
<a name="l00271"></a>00271 }
<a name="l00272"></a>00272 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00273"></a>00273 }
<a name="l00274"></a>00274
<a name="l00275"></a>00275
<a name="l00276"></a><a class="code" href="classpeoAsyncIslandMig.html#13581e54425727a7f785ca8a6df527b5">00276</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoAsyncIslandMig.html#13581e54425727a7f785ca8a6df527b5">peoAsyncIslandMig&lt; EOT &gt; :: operator()</a>() {
<a name="l00277"></a>00277
<a name="l00278"></a>00278 <span class="keywordflow">if</span> ( !<a class="code" href="classpeoAsyncIslandMig.html#2fc077d02ef9ea4595cfe883af0d4f83">cont</a>( <a class="code" href="classpeoAsyncIslandMig.html#8a502d82c773033e274dca932fc2d4ee">source</a> ) ) {
<a name="l00279"></a>00279
<a name="l00280"></a>00280 <a class="code" href="classpeoAsyncIslandMig.html#87a4ef7d4bd30d349a801bf0f9e87c82">emigrate</a>(); <span class="comment">// sending emigrants</span>
<a name="l00281"></a>00281 <a class="code" href="classpeoAsyncIslandMig.html#5a9a64ba51a696e45f91b362c39c9a64">immigrate</a>(); <span class="comment">// receiving immigrants</span>
<a name="l00282"></a>00282 }
<a name="l00283"></a>00283 }
<a name="l00284"></a>00284
<a name="l00285"></a>00285
<a name="l00286"></a>00286 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00198"></a>00198 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoNoAggEvalFunc.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoNoAggEvalFunc.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoNoAggEvalFunc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoNoAggEvalFunc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoNoAggEvalFunc.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -64,22 +64,24 @@
<a name="l00040"></a>00040 <span class="preprocessor">#include "peoAggEvalFunc.h"</span>
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00047"></a><a class="code" href="classpeoNoAggEvalFunc.html">00047</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a> : <span class="keyword">public</span> <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&lt; EOT &gt; {
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">public</span> :
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">operator()</a>( EOT&amp; __sol, <span class="keyword">const</span> <span class="keyword">typename</span> EOT :: Fitness&amp; __fit );
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
<a name="l00055"></a>00055
<a name="l00056"></a><a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">00056</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">peoNoAggEvalFunc&lt; EOT &gt; :: operator()</a>( EOT&amp; __sol, <span class="keyword">const</span> <span class="keyword">typename</span> EOT :: Fitness&amp; __fit ) {
<a name="l00047"></a><a class="code" href="classpeoNoAggEvalFunc.html">00047</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc</a> : <span class="keyword">public</span> <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc</a>&lt; EOT &gt;
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">public</span> :
<a name="l00051"></a>00051
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">operator()</a>( EOT&amp; __sol, <span class="keyword">const</span> <span class="keyword">typename</span> EOT :: Fitness&amp; __fit );
<a name="l00056"></a>00056 };
<a name="l00057"></a>00057
<a name="l00058"></a>00058 __sol.fitness( __fit );
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00058"></a>00058
<a name="l00059"></a><a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">00059</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoNoAggEvalFunc.html#1a69ee1af8745ac75c864bf884436de5">peoNoAggEvalFunc&lt; EOT &gt; :: operator()</a>( EOT&amp; __sol, <span class="keyword">const</span> <span class="keyword">typename</span> EOT :: Fitness&amp; __fit )
<a name="l00060"></a>00060 {
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00062"></a>00062 __sol.fitness( __fit );
<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoPopEval.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoPopEval.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoPopEval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoPopEval.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoPopEval.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -61,19 +61,186 @@
<a name="l00037"></a>00037 <span class="preprocessor">#ifndef __peoPopEval_h</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __peoPopEval_h</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include "core/service.h"</span>
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00047"></a><a class="code" href="classpeoPopEval.html">00047</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoPopEval.html">peoPopEval</a> : <span class="keyword">public</span> <a class="code" href="classService.html">Service</a> {
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">public</span>:
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#2f208067a5e39c3b26c1234050a41e8f">operator()</a>( <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop ) = 0;
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;queue&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;eoEvalFunc.h&gt;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include "core/messaging.h"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include "peoAggEvalFunc.h"</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "peoNoAggEvalFunc.h"</span>
<a name="l00047"></a>00047
<a name="l00053"></a><a class="code" href="classpeoPopEval.html">00053</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoPopEval.html">peoPopEval</a> : <span class="keyword">public</span> <a class="code" href="classService.html">Service</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop_eval_func.html">eoPopEvalFunc</a>&lt;EOT&gt;
<a name="l00054"></a>00054 {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00056"></a>00056 <span class="keyword">public</span>:
<a name="l00057"></a>00057
<a name="l00062"></a>00062 <a class="code" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval</a>( <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc&lt; EOT &gt;</a>&amp; __eval_func );
<a name="l00063"></a>00063
<a name="l00068"></a>00068 <a class="code" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval</a>( <span class="keyword">const</span> std :: vector&lt; eoEvalFunc &lt; EOT &gt;* &gt;&amp; __funcs, <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; EOT &gt;</a>&amp; __merge_eval );
<a name="l00069"></a>00069
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">operator()</a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop);
<a name="l00074"></a>00074
<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">operator()</a>( <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __dummy, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop );
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#95351dcd81d1bf878d839e52a02a902d">packData</a>();
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#cb256d94000a47af06d3e8a3f7ab0eff">unpackData</a>();
<a name="l00087"></a>00087
<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#05a85a265971d4b12f2f0014d33f705c">execute</a>();
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#9d0d10865d677c1ec84f496bed62a8c6">packResult</a>();
<a name="l00094"></a>00094
<a name="l00097"></a>00097 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#f64aa1322e8e26f39143e1a6395206b6">unpackResult</a>();
<a name="l00098"></a>00098
<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#9708f67fc813d397de3d13830ed09820">notifySendingData</a>();
<a name="l00102"></a>00102
<a name="l00105"></a>00105 <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#b1e33394ba9797237cb8c7c1f410bd67">notifySendingAllResourceRequests</a>();
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keyword">private</span>:
<a name="l00108"></a>00108
<a name="l00119"></a><a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">00119</a> <span class="keyword">const</span> std :: vector&lt; eoEvalFunc &lt; EOT &gt;* &gt;&amp; <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>;
<a name="l00120"></a><a class="code" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">00120</a> std :: vector&lt; eoEvalFunc &lt; EOT &gt;* &gt; <a class="code" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">one_func</a>;
<a name="l00121"></a><a class="code" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">00121</a> <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">merge_eval</a>;
<a name="l00122"></a><a class="code" href="classpeoPopEval.html#8558f626aca54bdc3bbeb78c774ca4ef">00122</a> <a class="code" href="classpeoNoAggEvalFunc.html">peoNoAggEvalFunc&lt; EOT &gt;</a> <a class="code" href="classpeoPopEval.html#8558f626aca54bdc3bbeb78c774ca4ef">no_merge_eval</a>;
<a name="l00123"></a><a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">00123</a> std :: queue&lt; EOT* &gt;<a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>;
<a name="l00124"></a><a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">00124</a> std :: map&lt; EOT*, std :: pair&lt; unsigned, unsigned &gt; &gt; <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>;
<a name="l00125"></a><a class="code" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">00125</a> <span class="keywordtype">unsigned</span> <a class="code" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">num_func</a>;
<a name="l00126"></a><a class="code" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">00126</a> EOT <a class="code" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a>;
<a name="l00127"></a><a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">00127</a> EOT *<a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a>;
<a name="l00128"></a><a class="code" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">00128</a> <span class="keywordtype">unsigned</span> <a class="code" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a>;
<a name="l00129"></a>00129 };
<a name="l00130"></a>00130
<a name="l00131"></a>00131
<a name="l00132"></a><a class="code" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">00132</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <a class="code" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval&lt; EOT &gt; :: peoPopEval</a>( <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc&lt; EOT &gt;</a>&amp; __eval_func ) :
<a name="l00133"></a>00133
<a name="l00134"></a>00134 funcs( one_func ), merge_eval( no_merge_eval )
<a name="l00135"></a>00135 {
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <a class="code" href="classpeoPopEval.html#4c563a67b776d97b25a05013ddc99921">one_func</a>.push_back( &amp;__eval_func );
<a name="l00138"></a>00138 }
<a name="l00139"></a>00139
<a name="l00140"></a>00140
<a name="l00141"></a><a class="code" href="classpeoPopEval.html#088822da7a0c92bc21574358d2e5f87c">00141</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <a class="code" href="classpeoPopEval.html#878297ba0de14593bd9cc03b2daf52df">peoPopEval&lt; EOT &gt; :: peoPopEval</a>(
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="keyword">const</span> std :: vector&lt; <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc&lt; EOT &gt;</a>* &gt;&amp; __funcs,
<a name="l00144"></a>00144 <a class="code" href="classpeoAggEvalFunc.html">peoAggEvalFunc&lt; EOT &gt;</a>&amp; __merge_eval
<a name="l00145"></a>00145
<a name="l00146"></a>00146 ) : funcs( __funcs ), merge_eval( __merge_eval )
<a name="l00147"></a>00147 {}
<a name="l00148"></a>00148
<a name="l00149"></a><a class="code" href="classpeoPopEval.html#fd942c2b66f31c7d12a9ad48f1529a16">00149</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">peoPopEval&lt; EOT &gt;::operator()</a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __dummy, <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop )
<a name="l00150"></a>00150 {
<a name="l00151"></a>00151 this-&gt;<a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">operator()</a>(__pop);
<a name="l00152"></a>00152 }
<a name="l00153"></a>00153
<a name="l00154"></a><a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">00154</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#593dd60fc004edea8994d5575bf66e05">peoPopEval&lt; EOT &gt;::operator()</a>(<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop )
<a name="l00155"></a>00155 {
<a name="l00156"></a>00156 <span class="keywordflow">if</span> ( __pop.size() &amp;&amp; (<a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size() * __pop.size()) )
<a name="l00157"></a>00157 {
<a name="l00158"></a>00158 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> i = 0; i &lt; __pop.size(); i++ )
<a name="l00159"></a>00159 {
<a name="l00160"></a>00160 __pop[ i ].fitness(<span class="keyword">typename</span> EOT :: Fitness() );
<a name="l00161"></a>00161 <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>[ &amp;__pop[ i ] ].first = <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size() - 1;
<a name="l00162"></a>00162 <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>[ &amp;__pop[ i ] ].second = <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size();
<a name="l00163"></a>00163 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> j = 0; j &lt; <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size(); j++ )
<a name="l00164"></a>00164 {
<a name="l00165"></a>00165 <span class="comment">/* Queuing the 'invalid' solution and its associated owner */</span>
<a name="l00166"></a>00166 <a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>.push( &amp;__pop[ i ] );
<a name="l00167"></a>00167 }
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169 <a class="code" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a> = <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size() * __pop.size();
<a name="l00170"></a>00170 <a class="code" href="classService.html#7e2ae35a9070a05dcd46488df649896d">requestResourceRequest</a>( <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>.size() * __pop.size() );
<a name="l00171"></a>00171 <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>();
<a name="l00172"></a>00172 }
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00175"></a>00175
<a name="l00176"></a><a class="code" href="classpeoPopEval.html#95351dcd81d1bf878d839e52a02a902d">00176</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#95351dcd81d1bf878d839e52a02a902d">peoPopEval&lt; EOT &gt; :: packData</a>()
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178 <span class="comment">// printDebugMessage ("debut pakc data");</span>
<a name="l00179"></a>00179 pack( <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>[ <a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>.front() ].first-- );
<a name="l00180"></a>00180
<a name="l00181"></a>00181 <span class="comment">/* Packing the contents :-) of the solution */</span>
<a name="l00182"></a>00182 pack( *<a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>.front() );
<a name="l00183"></a>00183
<a name="l00184"></a>00184 <span class="comment">/* Packing the addresses of both the solution and the owner */</span>
<a name="l00185"></a>00185 pack( <a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>.front() );
<a name="l00186"></a>00186 <a class="code" href="classpeoPopEval.html#fc1e9fba1a220550c332c70250f775cc">tasks</a>.pop( );
<a name="l00187"></a>00187 }
<a name="l00188"></a>00188
<a name="l00189"></a>00189
<a name="l00190"></a><a class="code" href="classpeoPopEval.html#cb256d94000a47af06d3e8a3f7ab0eff">00190</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#cb256d94000a47af06d3e8a3f7ab0eff">peoPopEval&lt; EOT &gt; :: unpackData</a>()
<a name="l00191"></a>00191 {
<a name="l00192"></a>00192 unpack( <a class="code" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">num_func</a> );
<a name="l00193"></a>00193 <span class="comment">/* Unpacking the solution */</span>
<a name="l00194"></a>00194 unpack( <a class="code" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a> );
<a name="l00195"></a>00195 <span class="comment">/* Unpacking the @ of that one */</span>
<a name="l00196"></a>00196 unpack( <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> );
<a name="l00197"></a>00197 }
<a name="l00198"></a>00198
<a name="l00199"></a>00199
<a name="l00200"></a><a class="code" href="classpeoPopEval.html#05a85a265971d4b12f2f0014d33f705c">00200</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#05a85a265971d4b12f2f0014d33f705c">peoPopEval&lt; EOT &gt; :: execute</a>()
<a name="l00201"></a>00201 {
<a name="l00202"></a>00202
<a name="l00203"></a>00203 <span class="comment">/* Computing the fitness of the solution */</span>
<a name="l00204"></a>00204 <a class="code" href="classpeoPopEval.html#5862b3661c5b0531d55870b5f3881d1e">funcs</a>[ <a class="code" href="classpeoPopEval.html#a6753e36522ece615fb44f91b2986dc6">num_func</a> ]-&gt;operator()( <a class="code" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a> );
<a name="l00205"></a>00205 }
<a name="l00206"></a>00206
<a name="l00207"></a>00207
<a name="l00208"></a><a class="code" href="classpeoPopEval.html#9d0d10865d677c1ec84f496bed62a8c6">00208</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#9d0d10865d677c1ec84f496bed62a8c6">peoPopEval&lt; EOT &gt; :: packResult</a>()
<a name="l00209"></a>00209 {
<a name="l00210"></a>00210 <span class="comment">/* Packing the fitness of the solution */</span>
<a name="l00211"></a>00211 pack( <a class="code" href="classpeoPopEval.html#d2bb78c4092b2f57a70fa6f90354ea91">sol</a>.fitness() );
<a name="l00212"></a>00212 <span class="comment">/* Packing the @ of the individual */</span>
<a name="l00213"></a>00213 pack( <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> );
<a name="l00214"></a>00214 }
<a name="l00215"></a>00215
<a name="l00216"></a>00216
<a name="l00217"></a><a class="code" href="classpeoPopEval.html#f64aa1322e8e26f39143e1a6395206b6">00217</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#f64aa1322e8e26f39143e1a6395206b6">peoPopEval&lt; EOT &gt; :: unpackResult</a>()
<a name="l00218"></a>00218 {
<a name="l00219"></a>00219 <span class="keyword">typename</span> EOT :: Fitness fit;
<a name="l00220"></a>00220
<a name="l00221"></a>00221 <span class="comment">/* Unpacking the computed fitness */</span>
<a name="l00222"></a>00222 unpack( fit );
<a name="l00223"></a>00223
<a name="l00224"></a>00224 <span class="comment">/* Unpacking the @ of the associated individual */</span>
<a name="l00225"></a>00225 unpack( <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> );
<a name="l00226"></a>00226
<a name="l00227"></a>00227
<a name="l00228"></a>00228 <span class="comment">/* Associating the fitness the local solution */</span>
<a name="l00229"></a>00229 <a class="code" href="classpeoPopEval.html#765f1941fcb630b6ed5c4cf0e1e845f9">merge_eval</a>( *<a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a>, fit );
<a name="l00230"></a>00230
<a name="l00231"></a>00231 <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>[ <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> ].second--;
<a name="l00232"></a>00232
<a name="l00233"></a>00233 <span class="comment">/* Notifying the container of the termination of the evaluation */</span>
<a name="l00234"></a>00234 <span class="keywordflow">if</span> ( !<a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>[ <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> ].second )
<a name="l00235"></a>00235 {
<a name="l00236"></a>00236
<a name="l00237"></a>00237 <a class="code" href="classpeoPopEval.html#25646d6ec0df9f281b17d96956d2201f">progression</a>.erase( <a class="code" href="classpeoPopEval.html#140a0ffb2a481238dde05e7f0324d516">ad_sol</a> );
<a name="l00238"></a>00238 }
<a name="l00239"></a>00239
<a name="l00240"></a>00240 <a class="code" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a>--;
<a name="l00241"></a>00241 <span class="keywordflow">if</span> ( !<a class="code" href="classpeoPopEval.html#83b38d0977e5c8666c5aa5293c53bb3e">total</a> )
<a name="l00242"></a>00242 {
<a name="l00243"></a>00243
<a name="l00244"></a>00244 <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()-&gt;<a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>();
<a name="l00245"></a>00245 <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>();
<a name="l00246"></a>00246 }
<a name="l00247"></a>00247 }
<a name="l00248"></a>00248
<a name="l00249"></a>00249
<a name="l00250"></a><a class="code" href="classpeoPopEval.html#9708f67fc813d397de3d13830ed09820">00250</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#9708f67fc813d397de3d13830ed09820">peoPopEval&lt; EOT &gt; :: notifySendingData</a>()
<a name="l00251"></a>00251 {}
<a name="l00252"></a>00252
<a name="l00253"></a>00253
<a name="l00254"></a><a class="code" href="classpeoPopEval.html#b1e33394ba9797237cb8c7c1f410bd67">00254</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoPopEval.html#b1e33394ba9797237cb8c7c1f410bd67">peoPopEval&lt; EOT &gt; :: notifySendingAllResourceRequests</a>()
<a name="l00255"></a>00255 {
<a name="l00256"></a>00256 <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()-&gt;<a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>();
<a name="l00257"></a>00257 }
<a name="l00258"></a>00258
<a name="l00259"></a>00259
<a name="l00260"></a>00260 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoSyncIslandMig.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoSyncIslandMig.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoSyncIslandMig.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoSyncIslandMig.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoSyncIslandMig.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -73,172 +73,183 @@
<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;eoSelect.h&gt;</span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;eoReplacement.h&gt;</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &lt;eoPop.h&gt;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#include "core/topology.h"</span>
<a name="l00054"></a>00054 <span class="preprocessor">#include "core/thread.h"</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include "core/eoPop_comm.h"</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include "peoData.h"</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="preprocessor">#include "core/messaging.h"</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include "core/eoPop_mesg.h"</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include "core/eoVector_mesg.h"</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058
<a name="l00060"></a>00060
<a name="l00142"></a><a class="code" href="classpeoSyncIslandMig.html">00142</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> : <span class="keyword">public</span> <a class="code" href="classCooperative.html">Cooperative</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a> {
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="keyword">public</span>:
<a name="l00145"></a>00145
<a name="l00155"></a>00155 <a class="code" href="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">peoSyncIslandMig</a>(
<a name="l00156"></a>00156 <span class="keywordtype">unsigned</span> __frequency,
<a name="l00157"></a>00157 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; __select,
<a name="l00158"></a>00158 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; __replace,
<a name="l00159"></a>00159 <a class="code" href="classTopology.html">Topology</a>&amp; __topology,
<a name="l00160"></a>00160 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __source,
<a name="l00161"></a>00161 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __destination
<a name="l00162"></a>00162 );
<a name="l00163"></a>00163
<a name="l00168"></a>00168 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#178476fd276f78b73607b33d19522c36">operator()</a>();
<a name="l00169"></a>00169
<a name="l00171"></a>00171 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad">pack</a>();
<a name="l00173"></a>00173 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1">unpack</a>();
<a name="l00058"></a>00058 <span class="preprocessor">#include "core/topology.h"</span>
<a name="l00059"></a>00059 <span class="preprocessor">#include "core/thread.h"</span>
<a name="l00060"></a>00060 <span class="preprocessor">#include "core/cooperative.h"</span>
<a name="l00061"></a>00061 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#include "rmc/mpi/synchron.h"</span>
<a name="l00064"></a>00064
<a name="l00065"></a>00065
<a name="l00071"></a><a class="code" href="classpeoSyncIslandMig.html">00071</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keyword">class </span><a class="code" href="classpeoSyncIslandMig.html">peoSyncIslandMig</a> : <span class="keyword">public</span> <a class="code" href="classCooperative.html">Cooperative</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_updater.html">eoUpdater</a>
<a name="l00072"></a>00072 {
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">public</span>:
<a name="l00075"></a>00075
<a name="l00081"></a>00081 <a class="code" href="classpeoSyncIslandMig.html#24f4d1ea8bb63c09b9d6cd8476014082">peoSyncIslandMig</a>(
<a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> __frequency,
<a name="l00083"></a>00083 selector &lt;TYPESELECT&gt; &amp; __select,
<a name="l00084"></a>00084 replacement &lt;TYPEREPLACE&gt; &amp; __replace,
<a name="l00085"></a>00085 <a class="code" href="classTopology.html">Topology</a>&amp; __topology
<a name="l00086"></a>00086 );
<a name="l00087"></a>00087
<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#0fd5b3b4e467ee33ae0186c0ae9d58ef">operator()</a>();
<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88">pack</a>();
<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5">unpack</a>();
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#956f56110bccff8c8fae4b05aa804d32">packSynchronizeReq</a>();
<a name="l00097"></a>00097 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#5f403428cea887b07caf27ab265ebe03">notifySending</a>();
<a name="l00099"></a>00099 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#75aacd3f7ffbc302c69addc342f45b8f">notifyReceiving</a>();
<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#92fef53496f935fe450589f90aec7d72">notifySendingSyncReq</a>();
<a name="l00103"></a>00103 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#0abd0c5872195cea0cab4988f9a4ea4e">notifySynchronized</a>();
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keyword">private</span>:
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">emigrate</a>();
<a name="l00108"></a>00108 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">immigrate</a>();
<a name="l00109"></a>00109
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="keyword">private</span>:
<a name="l00124"></a><a class="code" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">00124</a> <a class="code" href="classeoSyncContinue.html">eoSyncContinue</a> <a class="code" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">cont</a>;
<a name="l00125"></a><a class="code" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">00125</a> selector &lt;TYPESELECT&gt; &amp; <a class="code" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">select</a>;
<a name="l00126"></a><a class="code" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">00126</a> replacement &lt;TYPEREPLACE&gt; &amp; <a class="code" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">replace</a>;
<a name="l00127"></a><a class="code" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">00127</a> <a class="code" href="classTopology.html">Topology</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">topology</a>;
<a name="l00128"></a><a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">00128</a> std :: queue&lt; TYPEREPLACE &gt; <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>;
<a name="l00129"></a><a class="code" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">00129</a> std :: queue&lt; TYPESELECT &gt; <a class="code" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</a>;
<a name="l00130"></a><a class="code" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">00130</a> std :: queue&lt; Cooperative* &gt; <a class="code" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</a>;
<a name="l00131"></a><a class="code" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">00131</a> sem_t <a class="code" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</a>;
<a name="l00132"></a><a class="code" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">00132</a> <span class="keywordtype">bool</span> <a class="code" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a>;
<a name="l00133"></a><a class="code" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">00133</a> <span class="keywordtype">bool</span> <a class="code" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a>;
<a name="l00134"></a><a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">00134</a> std :: vector&lt; Cooperative* &gt; <a class="code" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">in</a>, <a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a>, <a class="code" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">all</a>;
<a name="l00135"></a><a class="code" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">00135</a> <span class="keywordtype">unsigned</span> <a class="code" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a>;
<a name="l00136"></a>00136 };
<a name="l00137"></a>00137
<a name="l00138"></a>00138
<a name="l00139"></a><a class="code" href="classpeoSyncIslandMig.html#24f4d1ea8bb63c09b9d6cd8476014082">00139</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <a class="code" href="classpeoSyncIslandMig.html#24f4d1ea8bb63c09b9d6cd8476014082">peoSyncIslandMig&lt; TYPESELECT,TYPEREPLACE &gt; :: peoSyncIslandMig</a>(
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="keywordtype">unsigned</span> __frequency,
<a name="l00142"></a>00142 selector &lt;TYPESELECT&gt; &amp; __select,
<a name="l00143"></a>00143 replacement &lt;TYPEREPLACE&gt; &amp; __replace,
<a name="l00144"></a>00144 <a class="code" href="classTopology.html">Topology</a>&amp; __topology
<a name="l00145"></a>00145 ) : cont( __frequency ), select( __select ), replace( __replace ), topology( __topology )
<a name="l00146"></a>00146 {
<a name="l00147"></a>00147
<a name="l00148"></a>00148 __topology.<a class="code" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>( *<span class="keyword">this</span> );
<a name="l00149"></a>00149 sem_init( &amp;<a class="code" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</a>, 0, 0 );
<a name="l00150"></a>00150 }
<a name="l00151"></a>00151
<a name="l00152"></a>00152
<a name="l00153"></a><a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88">00153</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; :: pack</a>()
<a name="l00154"></a>00154 {<a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88"></a>
<a name="l00155"></a>00155 <a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88"> ::pack</a>( <a class="code" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</a>.front()-&gt;getKey() );<a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88"></a>
<a name="l00156"></a>00156 <a class="code" href="classpeoSyncIslandMig.html#2daadf9928b8075ea469ca3cc49ddc88"> ::pack</a>(<a class="code" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</a>.front());
<a name="l00157"></a>00157 <a class="code" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</a>.pop();
<a name="l00158"></a>00158 <a class="code" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</a>.pop();
<a name="l00159"></a>00159 }
<a name="l00160"></a>00160
<a name="l00161"></a><a class="code" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5">00161</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5">peoSyncIslandMig&lt; TYPESELECT, TYPEREPLACE &gt; :: unpack</a>()
<a name="l00162"></a>00162 {
<a name="l00163"></a>00163 TYPEREPLACE mig;<a class="code" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5"></a>
<a name="l00164"></a>00164 <a class="code" href="classpeoSyncIslandMig.html#25bc1a03cc49e17dda34b6647df1f9c5"> ::unpack</a>(mig);
<a name="l00165"></a>00165 <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>.push( mig );
<a name="l00166"></a>00166 <a class="code" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a> = <span class="keyword">true</span>;
<a name="l00167"></a>00167 }
<a name="l00168"></a>00168
<a name="l00169"></a><a class="code" href="classpeoSyncIslandMig.html#956f56110bccff8c8fae4b05aa804d32">00169</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#956f56110bccff8c8fae4b05aa804d32">peoSyncIslandMig&lt; TYPESELECT,TYPEREPLACE &gt; :: packSynchronizeReq</a>()
<a name="l00170"></a>00170 {
<a name="l00171"></a>00171
<a name="l00172"></a>00172 packSynchronRequest( <a class="code" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">all</a> );
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00176"></a>00176 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#8c427b3f91c19ff85f86930366b96008">notifySending</a>();
<a name="l00175"></a><a class="code" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">00175</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">peoSyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: emigrate</a>()
<a name="l00176"></a>00176 {
<a name="l00177"></a>00177
<a name="l00178"></a>00178
<a name="l00179"></a>00179 <span class="keyword">private</span>:
<a name="l00178"></a>00178 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> i = 0; i &lt; <a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a>.size(); i ++ )
<a name="l00179"></a>00179 {
<a name="l00180"></a>00180
<a name="l00181"></a>00181 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">emigrate</a>();
<a name="l00182"></a>00182 <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">immigrate</a>();
<a name="l00183"></a>00183
<a name="l00184"></a>00184
<a name="l00185"></a>00185 <span class="keyword">private</span>:
<a name="l00186"></a>00186
<a name="l00187"></a><a class="code" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">00187</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_periodic_continue.html">eoPeriodicContinue&lt; EOT &gt;</a> <a class="code" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">cont</a>;
<a name="l00188"></a><a class="code" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">00188</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">select</a>; <span class="comment">// selection strategy</span>
<a name="l00189"></a><a class="code" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">00189</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">replace</a>; <span class="comment">// replacement strategy</span>
<a name="l00190"></a><a class="code" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">00190</a> <a class="code" href="classTopology.html">Topology</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">topology</a>; <span class="comment">// neighboring topology</span>
<a name="l00191"></a>00191
<a name="l00192"></a>00192 <span class="comment">// source and target populations</span>
<a name="l00193"></a><a class="code" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">00193</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a>;
<a name="l00194"></a><a class="code" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">00194</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">destination</a>;
<a name="l00195"></a>00195
<a name="l00196"></a>00196 <span class="comment">// immigrants &amp; emigrants in the queue</span>
<a name="l00197"></a><a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">00197</a> std :: queue&lt; eoPop&lt; EOT &gt; &gt; <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>;
<a name="l00198"></a><a class="code" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">00198</a> std :: queue&lt; eoPop&lt; EOT &gt; &gt; <a class="code" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a>;
<a name="l00181"></a>00181 TYPESELECT mig;
<a name="l00182"></a>00182 <a class="code" href="classpeoSyncIslandMig.html#a399c2533598dc8018eb2ab2edabd6b9">select</a>( mig );
<a name="l00183"></a>00183 <a class="code" href="classpeoSyncIslandMig.html#b96f8caff26498798eb0e4c114ee5d9a">em</a>.push( mig );
<a name="l00184"></a>00184 <a class="code" href="classpeoSyncIslandMig.html#ad56e3475d8ea7a83007c2e32c7da6a8">coop_em</a>.push( <a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a>[ i ] );
<a name="l00185"></a>00185 <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>( <a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a>[ i ] );
<a name="l00186"></a>00186 printDebugMessage( <span class="stringliteral">"peoSyncIslandMig: sending some emigrants."</span> );
<a name="l00187"></a>00187 }
<a name="l00188"></a>00188 }
<a name="l00189"></a>00189
<a name="l00190"></a><a class="code" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">00190</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">peoSyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: immigrate</a>()
<a name="l00191"></a>00191 {
<a name="l00192"></a>00192 assert( <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>.size() );
<a name="l00193"></a>00193
<a name="l00194"></a>00194 <span class="keywordflow">while</span> ( <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>.size() )
<a name="l00195"></a>00195 {
<a name="l00196"></a>00196 <a class="code" href="classpeoSyncIslandMig.html#34b69e0a2fa12ef0f6101c7d04ebc3ef">replace</a>( <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>.front() ) ;
<a name="l00197"></a>00197 <a class="code" href="classpeoSyncIslandMig.html#4c734df065099cfd5693d35fae38ad29">imm</a>.pop();
<a name="l00198"></a>00198 }
<a name="l00199"></a>00199
<a name="l00200"></a><a class="code" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">00200</a> std :: queue&lt; Cooperative* &gt; <a class="code" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a>;
<a name="l00201"></a>00201
<a name="l00202"></a><a class="code" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">00202</a> sem_t <a class="code" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a>;
<a name="l00203"></a>00203 };
<a name="l00204"></a>00204
<a name="l00200"></a>00200 printDebugMessage( <span class="stringliteral">"peoSyncIslandMig: receiving some immigrants."</span> );
<a name="l00201"></a>00201 }
<a name="l00202"></a>00202
<a name="l00203"></a><a class="code" href="classpeoSyncIslandMig.html#0fd5b3b4e467ee33ae0186c0ae9d58ef">00203</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#0fd5b3b4e467ee33ae0186c0ae9d58ef">peoSyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: operator()</a>()
<a name="l00204"></a>00204 {
<a name="l00205"></a>00205
<a name="l00206"></a><a class="code" href="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">00206</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <a class="code" href="classpeoSyncIslandMig.html#96b7b6de20b5e318a8b1cde76842305c">peoSyncIslandMig&lt; EOT &gt; :: peoSyncIslandMig</a>(
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="keywordtype">unsigned</span> __frequency,
<a name="l00209"></a>00209 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_select.html">eoSelect&lt; EOT &gt;</a>&amp; __select,
<a name="l00210"></a>00210 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_replacement.html">eoReplacement&lt; EOT &gt;</a>&amp; __replace,
<a name="l00211"></a>00211 <a class="code" href="classTopology.html">Topology</a>&amp; __topology,
<a name="l00212"></a>00212 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __source,
<a name="l00213"></a>00213 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __destination
<a name="l00214"></a>00214
<a name="l00215"></a>00215 ) : cont( __frequency ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination )
<a name="l00216"></a>00216 {
<a name="l00217"></a>00217
<a name="l00218"></a>00218 __topology.<a class="code" href="classTopology.html#62bc46d8c20fdc71dad9e7c7a0d7aded">add</a>( *<span class="keyword">this</span> );
<a name="l00219"></a>00219 sem_init( &amp;<a class="code" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a>, 0, 0 );
<a name="l00220"></a>00220 }
<a name="l00221"></a>00221
<a name="l00222"></a>00222
<a name="l00223"></a><a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad">00223</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad">peoSyncIslandMig&lt; EOT &gt; :: pack</a>() {
<a name="l00206"></a>00206 <span class="keywordflow">if</span> (! <a class="code" href="classpeoSyncIslandMig.html#a64e7c9da149773c5d264d128a1ea37a">cont</a>.<a class="code" href="classeoSyncContinue.html#417078233f768debb14b5a90f6412b3c">check</a>() )
<a name="l00207"></a>00207 {
<a name="l00208"></a>00208 <a class="code" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a> = <a class="code" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a> = <span class="keyword">false</span>;
<a name="l00209"></a>00209 <a class="code" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">topology</a>.<a class="code" href="classTopology.html#86c006ad698649b2ba5016a5ddd619ce">setNeighbors</a>( <span class="keyword">this</span>, <a class="code" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">in</a>, <a class="code" href="classpeoSyncIslandMig.html#daae2fea2f447d35927e18a8f008a45d">out</a> );
<a name="l00210"></a>00210 <a class="code" href="classpeoSyncIslandMig.html#2760dde833d7141ca86affb4df0fb163">all</a> = <a class="code" href="classpeoSyncIslandMig.html#7376532c3a8bcab88a02601611db9f2f">topology</a>;
<a name="l00211"></a>00211 <a class="code" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a> = 0;
<a name="l00212"></a>00212 <a class="code" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a>();
<a name="l00213"></a>00213 <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>();
<a name="l00214"></a>00214 <span class="comment">// sending emigrants</span>
<a name="l00215"></a>00215 <a class="code" href="classpeoSyncIslandMig.html#3ab202cb311f67fdc827078b3bdfddf4">emigrate</a>();
<a name="l00216"></a>00216 <span class="comment">// synchronizing</span>
<a name="l00217"></a>00217 sem_wait( &amp;<a class="code" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</a> );
<a name="l00218"></a>00218 <span class="comment">// receiving immigrants</span>
<a name="l00219"></a>00219 <a class="code" href="classpeoSyncIslandMig.html#baed2215bf06f96aacf06b5abff79f28">immigrate</a>();
<a name="l00220"></a>00220 <a class="code" href="classCooperative.html#a08615f1fb5a71bb6eb8ea53ef7d1c69">synchronizeCoopEx</a>();
<a name="l00221"></a>00221 <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>();
<a name="l00222"></a>00222 }
<a name="l00223"></a>00223 }
<a name="l00224"></a>00224
<a name="l00225"></a>00225 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {<a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad"></a>
<a name="l00226"></a>00226 <a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad"></a>
<a name="l00227"></a>00227 <a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad"> :: pack</a>( <a class="code" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a>.front()-&gt;getKey() );<a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad"></a>
<a name="l00228"></a>00228 <a class="code" href="classpeoSyncIslandMig.html#e334188141eeba9f7b78bc6716f819ad"> :: pack</a>( <a class="code" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a>.front() );
<a name="l00229"></a>00229 <a class="code" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a>.pop();
<a name="l00230"></a>00230 <a class="code" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a>.pop();
<a name="l00231"></a>00231 }
<a name="l00232"></a>00232 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00233"></a>00233 }
<a name="l00234"></a>00234
<a name="l00235"></a>00235
<a name="l00236"></a><a class="code" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1">00236</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1">peoSyncIslandMig&lt; EOT &gt; :: unpack</a>() {
<a name="l00237"></a>00237
<a name="l00238"></a>00238 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {
<a name="l00239"></a>00239
<a name="l00240"></a>00240 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a> mig;<a class="code" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1"></a>
<a name="l00241"></a>00241 <a class="code" href="classpeoSyncIslandMig.html#85777bd9f709c5d4107799e8619948d1"> :: unpack</a>( mig );
<a name="l00242"></a>00242 <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>.push( mig );
<a name="l00243"></a>00243 }
<a name="l00244"></a>00244 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00245"></a>00245
<a name="l00246"></a>00246 sem_post( &amp;<a class="code" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a> );
<a name="l00247"></a>00247 }
<a name="l00248"></a>00248
<a name="l00249"></a>00249
<a name="l00250"></a><a class="code" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">00250</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">peoSyncIslandMig&lt; EOT &gt; :: emigrate</a>() {
<a name="l00251"></a>00251
<a name="l00252"></a>00252 std :: vector&lt; Cooperative* &gt; in, out;
<a name="l00253"></a>00253 <a class="code" href="classpeoSyncIslandMig.html#ebfe6edb6be16d46bf6d71cb233fcace">topology</a>.<a class="code" href="classTopology.html#86c006ad698649b2ba5016a5ddd619ce">setNeighbors</a>( <span class="keyword">this</span>, in, out );
<a name="l00254"></a>00254
<a name="l00255"></a>00255 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> i = 0; i &lt; out.size(); i ++ ) {
<a name="l00225"></a><a class="code" href="classpeoSyncIslandMig.html#5f403428cea887b07caf27ab265ebe03">00225</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#5f403428cea887b07caf27ab265ebe03">peoSyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: notifySending</a>()
<a name="l00226"></a>00226 {
<a name="l00227"></a>00227 <span class="keywordflow">if</span> ( !<a class="code" href="classpeoSyncIslandMig.html#253dfbfebfadad0b4f49e60bb811b1db">explicitPassive</a> ) <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>();
<a name="l00228"></a>00228 }
<a name="l00229"></a>00229
<a name="l00230"></a><a class="code" href="classpeoSyncIslandMig.html#75aacd3f7ffbc302c69addc342f45b8f">00230</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPEREPLACE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#75aacd3f7ffbc302c69addc342f45b8f">peoSyncIslandMig&lt; TYPESELECT , TYPEREPLACE &gt; :: notifyReceiving</a>()
<a name="l00231"></a>00231 {
<a name="l00232"></a>00232 <a class="code" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a>++;
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <span class="keywordflow">if</span> ( <a class="code" href="classpeoSyncIslandMig.html#cdd55a0ab14d659a2a68674a05ed8a1d">nbMigrations</a> == <a class="code" href="classpeoSyncIslandMig.html#6274e5185b6b7579dea71da3138d9d23">in</a>.size() )
<a name="l00235"></a>00235 {
<a name="l00236"></a>00236
<a name="l00237"></a>00237 <span class="keywordflow">if</span> ( <a class="code" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a> ) <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>();
<a name="l00238"></a>00238 sem_post( &amp;<a class="code" href="classpeoSyncIslandMig.html#9431b7e1d629f238cd5f990d02926480">sync</a> );
<a name="l00239"></a>00239 }
<a name="l00240"></a>00240 }
<a name="l00241"></a>00241
<a name="l00242"></a><a class="code" href="classpeoSyncIslandMig.html#92fef53496f935fe450589f90aec7d72">00242</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#92fef53496f935fe450589f90aec7d72">peoSyncIslandMig&lt; TYPESELECT, TYPE &gt; :: notifySendingSyncReq</a> ()
<a name="l00243"></a>00243 {
<a name="l00244"></a>00244
<a name="l00245"></a>00245 <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>();
<a name="l00246"></a>00246 }
<a name="l00247"></a>00247
<a name="l00248"></a><a class="code" href="classpeoSyncIslandMig.html#0abd0c5872195cea0cab4988f9a4ea4e">00248</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> TYPE<span class="keywordtype">SEL</span>ECT, <span class="keyword">class</span> TYPE &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#0abd0c5872195cea0cab4988f9a4ea4e">peoSyncIslandMig&lt; TYPESELECT, TYPE &gt; :: notifySynchronized</a> ()
<a name="l00249"></a>00249 {
<a name="l00250"></a>00250
<a name="l00251"></a>00251 <a class="code" href="classpeoSyncIslandMig.html#e5d64ff9718b746d2307379fb061ad96">standbyMigration</a> = <span class="keyword">true</span>;
<a name="l00252"></a>00252 <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>();
<a name="l00253"></a>00253 <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>();
<a name="l00254"></a>00254 }
<a name="l00255"></a>00255
<a name="l00256"></a>00256
<a name="l00257"></a>00257 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a> mig;
<a name="l00258"></a>00258 <a class="code" href="classpeoSyncIslandMig.html#5e9c9f5f65d6418ad46e647ee1804a3d">select</a>( <a class="code" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a>, mig );
<a name="l00259"></a>00259 <a class="code" href="classpeoSyncIslandMig.html#11d6dd3e4a6db710433f501af0988322">em</a>.push( mig );
<a name="l00260"></a>00260 <a class="code" href="classpeoSyncIslandMig.html#2f7ca18d67ab7fb47a9851ab3179eb7d">coop_em</a>.push( out[ i ] );
<a name="l00261"></a>00261 <a class="code" href="classCooperative.html#c609f2a1200da7d1ac96005602515fc6">send</a>( out[ i ] );
<a name="l00262"></a>00262 printDebugMessage( <span class="stringliteral">"sending some emigrants."</span> );
<a name="l00263"></a>00263 }
<a name="l00264"></a>00264 }
<a name="l00265"></a>00265
<a name="l00266"></a>00266
<a name="l00267"></a><a class="code" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">00267</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">peoSyncIslandMig&lt; EOT &gt; :: immigrate</a>() {
<a name="l00268"></a>00268
<a name="l00269"></a>00269 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {
<a name="l00270"></a>00270
<a name="l00271"></a>00271 assert( <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>.size() );
<a name="l00272"></a>00272 <a class="code" href="classpeoSyncIslandMig.html#cb6d2d909503a86415912900d6e1d891">replace</a>( <a class="code" href="classpeoSyncIslandMig.html#a9bf4612c7c04da6cf69245c6617e6a6">destination</a>, <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>.front() ) ;
<a name="l00273"></a>00273 <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>.pop();
<a name="l00274"></a>00274 printDebugMessage( <span class="stringliteral">"receiving some immigrants."</span> );
<a name="l00275"></a>00275 }
<a name="l00276"></a>00276 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00277"></a>00277 }
<a name="l00278"></a>00278
<a name="l00279"></a>00279
<a name="l00280"></a><a class="code" href="classpeoSyncIslandMig.html#178476fd276f78b73607b33d19522c36">00280</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#178476fd276f78b73607b33d19522c36">peoSyncIslandMig&lt; EOT &gt; :: operator()</a>() {
<a name="l00281"></a>00281
<a name="l00282"></a>00282 <span class="keywordflow">if</span> ( !<a class="code" href="classpeoSyncIslandMig.html#2d8ae9104376f3e073e0b250d9b425a2">cont</a>( <a class="code" href="classpeoSyncIslandMig.html#33fde1f09faf2a3f772d8b8f6a2615c6">source</a> ) ) {
<a name="l00283"></a>00283
<a name="l00284"></a>00284 <span class="comment">// sending emigrants</span>
<a name="l00285"></a>00285 <a class="code" href="classpeoSyncIslandMig.html#4c8416e3acce1a6e4c3b0a442d94b063">emigrate</a>();
<a name="l00286"></a>00286 <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>();
<a name="l00287"></a>00287
<a name="l00288"></a>00288 <span class="comment">// synchronizing</span>
<a name="l00289"></a>00289 sem_wait( &amp;<a class="code" href="classpeoSyncIslandMig.html#91e0e1ea59c2a6a66eb496bddd60a18f">sync</a> );
<a name="l00290"></a>00290 <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>();
<a name="l00291"></a>00291
<a name="l00292"></a>00292 <span class="comment">// receiving immigrants</span>
<a name="l00293"></a>00293 <a class="code" href="classpeoSyncIslandMig.html#38dd72312a3d16808af1aa7beb9ed4a7">immigrate</a>();
<a name="l00294"></a>00294 }
<a name="l00295"></a>00295 }
<a name="l00296"></a>00296
<a name="l00297"></a>00297
<a name="l00298"></a><a class="code" href="classpeoSyncIslandMig.html#8c427b3f91c19ff85f86930366b96008">00298</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoSyncIslandMig.html#8c427b3f91c19ff85f86930366b96008">peoSyncIslandMig&lt; EOT &gt; :: notifySending</a>() {
<a name="l00299"></a>00299
<a name="l00300"></a>00300 <a class="code" href="classCommunicable.html#e1f8bd1ee810fd73d44315c95998d19d">lock</a>(); {
<a name="l00301"></a>00301
<a name="l00302"></a>00302 <span class="keywordflow">if</span> ( <a class="code" href="classpeoSyncIslandMig.html#088c1623f32668dcd3683fceff9426c3">imm</a>.empty() ) {
<a name="l00303"></a>00303
<a name="l00304"></a>00304 printDebugMessage( <span class="stringliteral">"entering pasive mode\n"</span> );
<a name="l00305"></a>00305 <a class="code" href="classCooperative.html#4012b4e8329e87d26ee266491e1a883e">getOwner</a>()-&gt;<a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>();
<a name="l00306"></a>00306 }
<a name="l00307"></a>00307 }
<a name="l00308"></a>00308 <a class="code" href="classCommunicable.html#caa814847192e71f434fbf9479ede862">unlock</a>();
<a name="l00309"></a>00309
<a name="l00310"></a>00310 <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>();
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312
<a name="l00313"></a>00313
<a name="l00314"></a>00314 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00257"></a>00257 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peoTransform.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peoTransform.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peoTransform.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peoTransform.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peoTransform.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -61,18 +61,139 @@
<a name="l00037"></a>00037 <span class="preprocessor">#ifndef __peoTransform_h</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __peoTransform_h</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;eoTransform.h&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include "core/service.h"</span>
<a name="l00043"></a>00043
<a name="l00040"></a>00040 <span class="preprocessor">#include "core/thread.h"</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "core/messaging.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "core/peo_debug.h"</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "core/service.h"</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045
<a name="l00048"></a><a class="code" href="classpeoTransform.html">00048</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoTransform.html">peoTransform</a> : <span class="keyword">public</span> <a class="code" href="classService.html">Service</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html">eoTransform</a>&lt; EOT &gt; {
<a name="l00049"></a>00049
<a name="l00050"></a>00050 };
<a name="l00051"></a>00051
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00046"></a>00046 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNodeRank();
<a name="l00047"></a>00047
<a name="l00053"></a><a class="code" href="classpeoTransform.html">00053</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keyword">class </span><a class="code" href="classpeoTransform.html">peoTransform</a> : <span class="keyword">public</span> <a class="code" href="classService.html">Service</a>, <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_transform.html">eoTransform</a>&lt; EOT &gt;
<a name="l00054"></a>00054 {
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">public</span>:
<a name="l00057"></a>00057
<a name="l00063"></a>00063 <a class="code" href="classpeoTransform.html#755989a2d080903d0cade75643de0788">peoTransform</a>(
<a name="l00064"></a>00064 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp&lt; EOT &gt;</a>&amp; __cross,
<a name="l00065"></a>00065 <span class="keywordtype">double</span> __cross_rate,
<a name="l00066"></a>00066 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp&lt; EOT &gt;</a>&amp; __mut,
<a name="l00067"></a>00067 <span class="keywordtype">double</span> __mut_rate
<a name="l00068"></a>00068 );
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#9322aa28ad272289132e342624a0adb4">operator()</a>( <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>&amp; __pop );
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#c1101d10a36ce4255b874bcd9725021e">packData</a>();
<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#a804631492e08053162a196877587aef">unpackData</a>();
<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#85c2cbc76f803b2b5cb2bc8cbc214136">execute</a>();
<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#bdae056027406ba9f489e2bef115fd08">packResult</a>();
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#e0244425e846c5679c901b61e4252814">unpackResult</a>();
<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#77508f186476181ec2c6a8230961eede">notifySendingData</a>();
<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#19990af963b6604d1175290fe6725335">notifySendingAllResourceRequests</a>();
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">private</span>:
<a name="l00098"></a><a class="code" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">00098</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">cross</a>;
<a name="l00099"></a><a class="code" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">00099</a> <span class="keywordtype">double</span> <a class="code" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">cross_rate</a>;
<a name="l00100"></a><a class="code" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">00100</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp&lt; EOT &gt;</a>&amp; <a class="code" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">mut</a>;
<a name="l00101"></a><a class="code" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">00101</a> <span class="keywordtype">double</span> <a class="code" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">mut_rate</a>;
<a name="l00102"></a><a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">00102</a> <span class="keywordtype">unsigned</span> <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a>;
<a name="l00103"></a><a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">00103</a> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop&lt; EOT &gt;</a>* <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>;
<a name="l00104"></a><a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">00104</a> EOT <a class="code" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a>, <a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a>;
<a name="l00105"></a><a class="code" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">00105</a> <span class="keywordtype">unsigned</span> <a class="code" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a>;
<a name="l00106"></a>00106 };
<a name="l00107"></a>00107
<a name="l00108"></a><a class="code" href="classpeoTransform.html#755989a2d080903d0cade75643de0788">00108</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <a class="code" href="classpeoTransform.html#755989a2d080903d0cade75643de0788">peoTransform&lt; EOT &gt; :: peoTransform</a>(
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp&lt; EOT &gt;</a>&amp; __cross,
<a name="l00111"></a>00111 <span class="keywordtype">double</span> __cross_rate,
<a name="l00112"></a>00112 eoMonOp &lt; EOT &gt;&amp; __mut,
<a name="l00113"></a>00113 <span class="keywordtype">double</span> __mut_rate
<a name="l00114"></a>00114
<a name="l00115"></a>00115 ) : cross( __cross ), cross_rate( __cross_rate ), mut( __mut ), mut_rate( __mut_rate )
<a name="l00116"></a>00116 {}
<a name="l00117"></a>00117
<a name="l00118"></a>00118
<a name="l00119"></a><a class="code" href="classpeoTransform.html#c1101d10a36ce4255b874bcd9725021e">00119</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#c1101d10a36ce4255b874bcd9725021e">peoTransform&lt; EOT &gt; :: packData</a>()
<a name="l00120"></a>00120 {
<a name="l00121"></a>00121
<a name="l00122"></a>00122 pack( <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a> );
<a name="l00123"></a>00123 pack( <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>-&gt;operator[]( <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a>++ ) );
<a name="l00124"></a>00124 pack( <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>-&gt;operator[]( <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a>++ ) );
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
<a name="l00127"></a>00127
<a name="l00128"></a><a class="code" href="classpeoTransform.html#a804631492e08053162a196877587aef">00128</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#a804631492e08053162a196877587aef">peoTransform&lt; EOT &gt; :: unpackData</a>()
<a name="l00129"></a>00129 {
<a name="l00130"></a>00130
<a name="l00131"></a>00131 unpack( <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a> );
<a name="l00132"></a>00132 unpack( <a class="code" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a> );
<a name="l00133"></a>00133 unpack( <a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a> );
<a name="l00134"></a>00134 }
<a name="l00135"></a>00135
<a name="l00136"></a>00136
<a name="l00137"></a><a class="code" href="classpeoTransform.html#85c2cbc76f803b2b5cb2bc8cbc214136">00137</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#85c2cbc76f803b2b5cb2bc8cbc214136">peoTransform&lt; EOT &gt; :: execute</a>()
<a name="l00138"></a>00138 {
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="keywordflow">if</span> ( rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a>() &lt; <a class="code" href="classpeoTransform.html#3336251fb3433a8405ea75f3a8bed04d">cross_rate</a> ) <a class="code" href="classpeoTransform.html#d2fce5199b61f599fd89cf54d6fcd312">cross</a>( <a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a>, <a class="code" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a> );
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="keywordflow">if</span> ( rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a>() &lt; <a class="code" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">mut_rate</a> ) <a class="code" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">mut</a>( <a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a> );
<a name="l00143"></a>00143 <span class="keywordflow">if</span> ( rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a>() &lt; <a class="code" href="classpeoTransform.html#0b0802dfc4a3ec664c8fccf10bb1842a">mut_rate</a> ) <a class="code" href="classpeoTransform.html#3d1ea5c8a6aa95bf051051361908a9c6">mut</a>( <a class="code" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a> );
<a name="l00144"></a>00144 }
<a name="l00145"></a>00145
<a name="l00146"></a>00146
<a name="l00147"></a><a class="code" href="classpeoTransform.html#bdae056027406ba9f489e2bef115fd08">00147</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#bdae056027406ba9f489e2bef115fd08">peoTransform&lt; EOT &gt; :: packResult</a>()
<a name="l00148"></a>00148 {
<a name="l00149"></a>00149
<a name="l00150"></a>00150 pack( <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a> );
<a name="l00151"></a>00151 pack( <a class="code" href="classpeoTransform.html#88c563f77e5c25b70b6cb619ec97185f">father</a> );
<a name="l00152"></a>00152 pack( <a class="code" href="classpeoTransform.html#5c754343fa9a3580632d6b9e8f1bafaa">mother</a> );
<a name="l00153"></a>00153 }
<a name="l00154"></a>00154
<a name="l00155"></a>00155
<a name="l00156"></a><a class="code" href="classpeoTransform.html#e0244425e846c5679c901b61e4252814">00156</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#e0244425e846c5679c901b61e4252814">peoTransform&lt; EOT &gt; :: unpackResult</a>()
<a name="l00157"></a>00157 {
<a name="l00158"></a>00158
<a name="l00159"></a>00159 <span class="keywordtype">unsigned</span> sidx;
<a name="l00160"></a>00160
<a name="l00161"></a>00161 unpack( sidx );
<a name="l00162"></a>00162 unpack( <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>-&gt;operator[]( sidx++ ) );
<a name="l00163"></a>00163 unpack( <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>-&gt;operator[]( sidx ) );
<a name="l00164"></a>00164 <a class="code" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a> += 2;
<a name="l00165"></a>00165
<a name="l00166"></a>00166 <span class="comment">// Can be used with an odd size</span>
<a name="l00167"></a>00167 <span class="keywordflow">if</span> ( <a class="code" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a> == 2*(<a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a>-&gt;size()/2) )
<a name="l00168"></a>00168 {
<a name="l00169"></a>00169
<a name="l00170"></a>00170 <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()-&gt;<a class="code" href="classThread.html#e197c46f8f62ecce6d2a7fe95bdc5b38">setActive</a>();
<a name="l00171"></a>00171 <a class="code" href="classCommunicable.html#3306a9adb11a0ab5af342c0db9f7bb2a">resume</a>();
<a name="l00172"></a>00172 }
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00175"></a>00175
<a name="l00176"></a><a class="code" href="classpeoTransform.html#9322aa28ad272289132e342624a0adb4">00176</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#9322aa28ad272289132e342624a0adb4">peoTransform&lt; EOT &gt; :: operator()</a>( eoPop &lt; EOT &gt;&amp; __pop )
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178
<a name="l00179"></a>00179 printDebugMessage( <span class="stringliteral">"peoTransform: performing the parallel transformation step."</span> );
<a name="l00180"></a>00180 <a class="code" href="classpeoTransform.html#0916042d3500452082ad19fd5ce5e161">pop</a> = &amp;__pop;
<a name="l00181"></a>00181 <a class="code" href="classpeoTransform.html#0acac288337aec3d0d853565924a365d">idx</a> = 0;
<a name="l00182"></a>00182 <a class="code" href="classpeoTransform.html#6a02c2c2de16c5825058e06d146c5cd9">num_term</a> = 0;
<a name="l00183"></a>00183 <a class="code" href="classService.html#7e2ae35a9070a05dcd46488df649896d">requestResourceRequest</a>( __pop.size() / 2 );
<a name="l00184"></a>00184 <a class="code" href="classCommunicable.html#cb53e6534b947bc889aa181d9dbbd13b">stop</a>();
<a name="l00185"></a>00185 }
<a name="l00186"></a>00186
<a name="l00187"></a>00187
<a name="l00188"></a><a class="code" href="classpeoTransform.html#77508f186476181ec2c6a8230961eede">00188</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#77508f186476181ec2c6a8230961eede">peoTransform&lt; EOT &gt; :: notifySendingData</a>()
<a name="l00189"></a>00189 {}
<a name="l00190"></a>00190
<a name="l00191"></a>00191
<a name="l00192"></a><a class="code" href="classpeoTransform.html#19990af963b6604d1175290fe6725335">00192</a> <span class="keyword">template</span>&lt; <span class="keyword">class</span> EOT &gt; <span class="keywordtype">void</span> <a class="code" href="classpeoTransform.html#19990af963b6604d1175290fe6725335">peoTransform&lt; EOT &gt; :: notifySendingAllResourceRequests</a>()
<a name="l00193"></a>00193 {
<a name="l00194"></a>00194
<a name="l00195"></a>00195 <a class="code" href="classService.html#0dae00309c51a7b7069788142aed799f">getOwner</a>()-&gt;<a class="code" href="classThread.html#20632ffe9ddfa2a478afb0c84dc1096b">setPassive</a>();
<a name="l00196"></a>00196 }
<a name="l00197"></a>00197
<a name="l00198"></a>00198
<a name="l00199"></a>00199 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peo.h Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peo.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peo.h&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -63,33 +63,43 @@
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;eo&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;mo&gt;</span>
<a name="l00042"></a>00042
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;moeo&gt;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00319"></a>00319
<a name="l00320"></a>00320 <span class="preprocessor">#include "core/peo_init.h"</span>
<a name="l00321"></a>00321 <span class="preprocessor">#include "core/peo_run.h"</span>
<a name="l00322"></a>00322 <span class="preprocessor">#include "core/peo_fin.h"</span>
<a name="l00323"></a>00323
<a name="l00324"></a>00324 <span class="preprocessor">#include "core/eoVector_comm.h"</span>
<a name="l00325"></a>00325
<a name="l00326"></a>00326 <span class="preprocessor">#include "peoEA.h"</span>
<a name="l00324"></a>00324 <span class="preprocessor">#include "core/messaging.h"</span>
<a name="l00325"></a>00325 <span class="preprocessor">#include "core/eoPop_mesg.h"</span>
<a name="l00326"></a>00326 <span class="preprocessor">#include "core/eoVector_mesg.h"</span>
<a name="l00327"></a>00327
<a name="l00328"></a>00328 <span class="comment">/* Parallel steps of the E.A. */</span>
<a name="l00329"></a>00329 <span class="preprocessor">#include "peoSeqTransform.h"</span>
<a name="l00330"></a>00330 <span class="preprocessor">#include "peoParaSGATransform.h"</span>
<a name="l00331"></a>00331 <span class="preprocessor">#include "peoSeqPopEval.h"</span>
<a name="l00332"></a>00332 <span class="preprocessor">#include "peoParaPopEval.h"</span>
<a name="l00333"></a>00333
<a name="l00334"></a>00334 <span class="comment">/* Cooperative island model */</span>
<a name="l00335"></a>00335 <span class="preprocessor">#include "core/ring_topo.h"</span>
<a name="l00336"></a>00336 <span class="preprocessor">#include "peoAsyncIslandMig.h"</span>
<a name="l00337"></a>00337 <span class="preprocessor">#include "peoSyncIslandMig.h"</span>
<a name="l00338"></a>00338
<a name="l00339"></a>00339 <span class="comment">/* Synchronous multi-start model */</span>
<a name="l00340"></a>00340 <span class="preprocessor">#include "peoSyncMultiStart.h"</span>
<a name="l00341"></a>00341
<a name="l00342"></a>00342 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00328"></a>00328 <span class="preprocessor">#include "peoWrapper.h"</span>
<a name="l00329"></a>00329
<a name="l00330"></a>00330 <span class="comment">/* &lt;------- components for parallel algorithms -------&gt; */</span>
<a name="l00331"></a>00331 <span class="preprocessor">#include "peoTransform.h"</span>
<a name="l00332"></a>00332 <span class="preprocessor">#include "peoEvalFunc.h"</span>
<a name="l00333"></a>00333 <span class="preprocessor">#include "peoPopEval.h"</span>
<a name="l00334"></a>00334
<a name="l00335"></a>00335 <span class="comment">/* Cooperative island model */</span>
<a name="l00336"></a>00336 <span class="preprocessor">#include "core/ring_topo.h"</span>
<a name="l00337"></a>00337 <span class="preprocessor">#include "core/star_topo.h"</span>
<a name="l00338"></a>00338 <span class="preprocessor">#include "core/random_topo.h"</span>
<a name="l00339"></a>00339 <span class="preprocessor">#include "core/complete_topo.h"</span>
<a name="l00340"></a>00340 <span class="preprocessor">#include "peoData.h"</span>
<a name="l00341"></a>00341 <span class="preprocessor">#include "peoSyncIslandMig.h"</span>
<a name="l00342"></a>00342 <span class="preprocessor">#include "peoAsyncIslandMig.h"</span>
<a name="l00343"></a>00343
<a name="l00344"></a>00344 <span class="comment">/* Synchronous multi-start model */</span>
<a name="l00345"></a>00345 <span class="preprocessor">#include "peoMultiStart.h"</span>
<a name="l00346"></a>00346 <span class="comment">/* &lt;------- components for parallel algorithms -------&gt; */</span>
<a name="l00347"></a>00347
<a name="l00348"></a>00348 <span class="comment">/* Parallel PSO */</span>
<a name="l00349"></a>00349 <span class="preprocessor">#include "peoPSO.h"</span>
<a name="l00350"></a>00350
<a name="l00351"></a>00351 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEOMovingObjects: peo_debug.cpp Source File</title>
<title>ParadisEO-PEO-ParallelanddistributedEvolvingObjects: peo_debug.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -22,12 +22,12 @@
</form>
</li>
</ul></div>
<h1>peo_debug.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<h1>peo_debug.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">* &lt;peo_debug.cpp&gt;</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2007</span>
<a name="l00003"></a>00003 <span class="comment">* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008</span>
<a name="l00004"></a>00004 <span class="comment">* (C) OPAC Team, LIFL, 2002-2008</span>
<a name="l00005"></a>00005 <span class="comment">*</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar</span>
<a name="l00006"></a>00006 <span class="comment">* Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">* This software is governed by the CeCILL license under French law and</span>
<a name="l00009"></a>00009 <span class="comment">* abiding by the rules of distribution of free software. You can use,</span>
@ -74,60 +74,72 @@
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="preprocessor">#define DEBUG_PATH "./log/"</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>
<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keywordtype">bool</span> debug = <span class="keyword">true</span>;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keywordtype">char</span> host [MAX_BUFF_SIZE];
<a name="l00056"></a>00056
<a name="l00057"></a>00057 std :: vector &lt;FILE *&gt; files;
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keywordtype">void</span> setDebugMode (<span class="keywordtype">bool</span> __dbg) {
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keywordtype">bool</span> debug = <span class="keyword">false</span>;
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keywordtype">char</span> host [MAX_BUFF_SIZE];
<a name="l00057"></a>00057
<a name="l00058"></a>00058 std :: vector &lt;FILE *&gt; files;
<a name="l00059"></a>00059
<a name="l00060"></a>00060
<a name="l00061"></a>00061 debug = __dbg;
<a name="l00062"></a>00062 gethostname (host, MAX_BUFF_SIZE);
<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNodeRank ();
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keywordtype">void</span> initDebugging () {
<a name="l00068"></a>00068
<a name="l00069"></a>00069 mkdir (DEBUG_PATH, S_IRWXU);
<a name="l00070"></a>00070 <span class="comment">// files.push_back (stdout);</span>
<a name="l00071"></a>00071 <span class="keywordtype">char</span> buff [MAX_BUFF_SIZE];
<a name="l00072"></a>00072 sprintf (buff, <span class="stringliteral">"%s/%d"</span>, DEBUG_PATH, getNodeRank ());
<a name="l00073"></a>00073 files.push_back (fopen (buff, <span class="stringliteral">"w"</span>));
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">void</span> endDebugging () {
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++)
<a name="l00079"></a>00079 <span class="keywordflow">if</span> (files [i] != stdout)
<a name="l00080"></a>00080 fclose (files [i]);
<a name="l00081"></a>00081 }
<a name="l00061"></a>00061 <span class="keywordtype">void</span> setDebugMode (<span class="keywordtype">bool</span> __dbg)
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063
<a name="l00064"></a>00064 debug = __dbg;
<a name="l00065"></a>00065 gethostname (host, MAX_BUFF_SIZE);
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">extern</span> <span class="keywordtype">int</span> getNodeRank ();
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keywordtype">void</span> initDebugging ()
<a name="l00071"></a>00071 {
<a name="l00072"></a>00072
<a name="l00073"></a>00073 mkdir (DEBUG_PATH, S_IRWXU);
<a name="l00074"></a>00074 <span class="comment">// files.push_back (stdout);</span>
<a name="l00075"></a>00075 <span class="keywordtype">char</span> buff [MAX_BUFF_SIZE];
<a name="l00076"></a>00076 sprintf (buff, <span class="stringliteral">"%s/%d"</span>, DEBUG_PATH, getNodeRank ());
<a name="l00077"></a>00077 files.push_back (fopen (buff, <span class="stringliteral">"w"</span>));
<a name="l00078"></a>00078 }
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordtype">void</span> endDebugging ()
<a name="l00081"></a>00081 {
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keywordtype">void</span> printDebugMessage (<span class="keyword">const</span> <span class="keywordtype">char</span> * __mess) {
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keywordflow">if</span> (debug) {
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keywordtype">char</span> buff [MAX_BUFF_SIZE];
<a name="l00088"></a>00088 time_t t = time (0);
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="comment">/* Date */</span>
<a name="l00091"></a>00091 sprintf (buff, <span class="stringliteral">"[%s][%s: "</span>, host, ctime (&amp; t));
<a name="l00092"></a>00092 * strchr (buff, <span class="charliteral">'\n'</span>) = <span class="charliteral">']'</span>;
<a name="l00093"></a>00093 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++)
<a name="l00094"></a>00094 fprintf (files [i], buff);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="comment">/* Message */</span>
<a name="l00097"></a>00097 sprintf (buff, <span class="stringliteral">"%s"</span>, __mess);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++) {
<a name="l00100"></a>00100 fputs (buff, files [i]);
<a name="l00101"></a>00101 fputs (<span class="stringliteral">"\n"</span>, files [i]);
<a name="l00102"></a>00102 fflush (files [i]);
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104 }
<a name="l00105"></a>00105 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a name="l00083"></a>00083 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++)
<a name="l00084"></a>00084 <span class="keywordflow">if</span> (files [i] != stdout)
<a name="l00085"></a>00085 fclose (files [i]);
<a name="l00086"></a>00086 files.clear();
<a name="l00087"></a>00087 }
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keywordtype">void</span> printDebugMessage (<span class="keyword">const</span> <span class="keywordtype">char</span> * __mess)
<a name="l00090"></a>00090 {
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="keywordflow">if</span> (debug)
<a name="l00093"></a>00093 {
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="keywordtype">char</span> buff [MAX_BUFF_SIZE];
<a name="l00096"></a>00096 <span class="keywordtype">char</span> localTime [MAX_BUFF_SIZE];
<a name="l00097"></a>00097 time_t t = time (0);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">/* Date */</span>
<a name="l00100"></a>00100 strcpy( localTime, ctime (&amp; t) );
<a name="l00101"></a>00101 localTime[ strlen( localTime )-1 ] = <span class="charliteral">']'</span>;
<a name="l00102"></a>00102 sprintf (buff, <span class="stringliteral">"[%s][%s: "</span>, host, localTime );
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++)
<a name="l00105"></a>00105 fprintf (files [i], buff);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="comment">/* Message */</span>
<a name="l00108"></a>00108 sprintf (buff, <span class="stringliteral">"%s"</span>, __mess);
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size (); i ++)
<a name="l00111"></a>00111 {
<a name="l00112"></a>00112 fputs (buff, files [i]);
<a name="l00113"></a>00113 fputs (<span class="stringliteral">"\n"</span>, files [i]);
<a name="l00114"></a>00114 fflush (files [i]);
<a name="l00115"></a>00115 }
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117 }
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects 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>

Some files were not shown because too many files have changed in this diff Show more