From f1b8ca757523eecb05bc2e4c93034e96d78368c9 Mon Sep 17 00:00:00 2001 From: atantar Date: Sun, 7 Jan 2007 22:29:08 +0000 Subject: [PATCH] git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@136 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-peo/docs/images/peoEA.png | Bin 0 -> 37640 bytes .../docs/paradiseo-peo-lsn-shared.doxytag | 253 +++ .../docs/paradiseo-peo-lsn.doxytag | 3 + .../paradiseo-peo/docs/paradiseo-peo.doxytag | 1516 +++++++++++++++++ 4 files changed, 1772 insertions(+) create mode 100644 trunk/paradiseo-peo/docs/images/peoEA.png create mode 100644 trunk/paradiseo-peo/docs/paradiseo-peo-lsn-shared.doxytag create mode 100644 trunk/paradiseo-peo/docs/paradiseo-peo-lsn.doxytag create mode 100644 trunk/paradiseo-peo/docs/paradiseo-peo.doxytag diff --git a/trunk/paradiseo-peo/docs/images/peoEA.png b/trunk/paradiseo-peo/docs/images/peoEA.png new file mode 100644 index 0000000000000000000000000000000000000000..01a237838e3d5b5f4734e908e6824c847d476636 GIT binary patch literal 37640 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 vQ;9(kDPn}7g$BZm$G;Mos3O$|J + + + CitySwap + classCitySwap.html + + bool + operator() + classCitySwap.html + 7e6958b62048c89604cbf046b86bdf2d + (Route &__route) + + + + DisplayBestRoute + classDisplayBestRoute.html + + + DisplayBestRoute + classDisplayBestRoute.html + db263e38f1e82174f811bf62f323f87f + (eoPop< Route > &__pop) + + + void + operator() + classDisplayBestRoute.html + ee879344a6d8b81a04d4eabbed2c7a04 + () + + + eoPop< Route > & + pop + classDisplayBestRoute.html + 5270aabbf294d2deca9878934216eb89 + + + + + EdgeXover + classEdgeXover.html + + bool + operator() + classEdgeXover.html + cb1c0a103106a4d3319540cb23163a79 + (Route &__route1, Route &__route2) + + + void + cross + classEdgeXover.html + 88c2d4c9a878454a32d56010f3dddc27 + (const Route &__par1, const Route &__par2, Route &__child) + + + void + remove_entry + classEdgeXover.html + 1b3a4c75dd9a034c81af6d89d85d30f5 + (unsigned __vertex, std::vector< std::set< unsigned > > &__map) + + + void + build_map + classEdgeXover.html + 04de96aa1016836e0ba5f4b952a5fa16 + (const Route &__par1, const Route &__par2) + + + void + add_vertex + classEdgeXover.html + 2d3045ef503d8b16a27e11fdc23ca11c + (unsigned __vertex, Route &__child) + + + std::vector< std::set< unsigned > > + _map + classEdgeXover.html + d41399c6effb54ee48c722f1e19cb3c3 + + + + std::vector< bool > + visited + classEdgeXover.html + 46d4d4724cf6d660b1a7ab4a346573d4 + + + + + MergeRouteEval + classMergeRouteEval.html + peoAggEvalFunc + + void + operator() + classMergeRouteEval.html + 29cb0028ac0df4b2cee3a809c8f35dea + (Route &__route, const int &__part_fit) + + + + OrderXover + classOrderXover.html + + bool + operator() + classOrderXover.html + 0ff6aada669eb8173322ed68cda1ac61 + (Route &__route1, Route &__route2) + + + void + cross + classOrderXover.html + d2bf90b5f46ac4a344777e17bc5f364d + (const Route &__par1, const Route &__par2, Route &__child) + + + + PartialMappedXover + classPartialMappedXover.html + + bool + operator() + classPartialMappedXover.html + 1cda6ea86ca36e5de0125f4ba5cfc695 + (Route &__route1, Route &__route2) + + + void + repair + classPartialMappedXover.html + b6d4035544aff3b2b3fe4b0eeea185a2 + (Route &__route, unsigned __cut1, unsigned __cut2) + + + + PartRouteEval + classPartRouteEval.html + + + PartRouteEval + classPartRouteEval.html + a331566b29bc3227f377004232f05491 + (float __from, float __to) + + + void + operator() + classPartRouteEval.html + 965fab875fb601f17934a6ece761beae + (Route &__route) + + + float + from + classPartRouteEval.html + 5bde722e66378b2570ae6c4b4f8df58e + + + + float + to + classPartRouteEval.html + de53cc919faa498663f327b72c357da3 + + + + + RouteEval + classRouteEval.html + + void + operator() + classRouteEval.html + e10bbe6f792e6f44405953de4f703901 + (Route &__route) + + + + RouteInit + classRouteInit.html + + void + operator() + classRouteInit.html + b65a7137e114458faadb6a5510c001f7 + (Route &__route) + + + + TwoOpt + classTwoOpt.html + moMove + + void + operator() + classTwoOpt.html + ff87d1649a33d42a6d64e8d314ed1af0 + (Route &__route) + + + + TwoOptIncrEval + classTwoOptIncrEval.html + moMoveIncrEval< TwoOpt > + + int + operator() + classTwoOptIncrEval.html + 48500077e651c4c6152daef8a396be39 + (const TwoOpt &__move, const Route &__route) + + + + TwoOptInit + classTwoOptInit.html + moMoveInit< TwoOpt > + + void + operator() + classTwoOptInit.html + 5bf6af064d37ebd955ffb5a623e78e1b + (TwoOpt &__move, const Route &__route) + + + + TwoOptNext + classTwoOptNext.html + moNextMove< TwoOpt > + + bool + operator() + classTwoOptNext.html + baf229b2e056f39ab971cf2ac66a833e + (TwoOpt &__move, const Route &__route) + + + + TwoOptRand + classTwoOptRand.html + + void + operator() + classTwoOptRand.html + e2f362f359517c027f6f22fba0aab375 + (TwoOpt &__move, const Route &__route) + + + diff --git a/trunk/paradiseo-peo/docs/paradiseo-peo-lsn.doxytag b/trunk/paradiseo-peo/docs/paradiseo-peo-lsn.doxytag new file mode 100644 index 000000000..c15d20393 --- /dev/null +++ b/trunk/paradiseo-peo/docs/paradiseo-peo-lsn.doxytag @@ -0,0 +1,3 @@ + + + diff --git a/trunk/paradiseo-peo/docs/paradiseo-peo.doxytag b/trunk/paradiseo-peo/docs/paradiseo-peo.doxytag new file mode 100644 index 000000000..61462c615 --- /dev/null +++ b/trunk/paradiseo-peo/docs/paradiseo-peo.doxytag @@ -0,0 +1,1516 @@ + + + + main + The ParadisEO-PEO Framework + main + parallel_local_searches + parallel_metaheuristics + paradiseo_goals + hybridization + tutorials + intro + parallel_distributed + parallel_ls + architecture + local_searches + motivation + + + Communicable + classCommunicable.html + + + Communicable + classCommunicable.html + 8ae1827ecf7569b3db1ed386c7d8ad78 + () + + + virtual + ~Communicable + classCommunicable.html + 2280b0dfa0d3a515fccf62c2a9fd5f41 + () + + + COMM_ID + getKey + classCommunicable.html + db4307b69b9ccacff55fdbf84b8f50e4 + () + + + void + lock + classCommunicable.html + e1f8bd1ee810fd73d44315c95998d19d + () + + + void + unlock + classCommunicable.html + caa814847192e71f434fbf9479ede862 + () + + + void + stop + classCommunicable.html + cb53e6534b947bc889aa181d9dbbd13b + () + + + void + resume + classCommunicable.html + 3306a9adb11a0ab5af342c0db9f7bb2a + () + + + COMM_ID + key + classCommunicable.html + 605b0efeffe81326f216c9903f5bbf4c + + + + sem_t + sem_lock + classCommunicable.html + cf9639312f71a2f348bc1e7789ccbd9d + + + + sem_t + sem_stop + classCommunicable.html + 29c53b9191348e0505e3bcba6d8b82b1 + + + + static unsigned + num_comm + classCommunicable.html + 7a6acfdc781a67c9c0ec4f17893f86c3 + + + + + Communicator + classCommunicator.html + ReactiveThread + + + Communicator + classCommunicator.html + 7c9dce4ea92bd04d01d53f80c0ef08ee + (int *__argc, char ***__argv) + + + void + start + classCommunicator.html + 142fae13b16b166519315f248a513c62 + () + + + + Cooperative + classCooperative.html + Communicable + + Runner * + getOwner + classCooperative.html + 4012b4e8329e87d26ee266491e1a883e + () + + + void + setOwner + classCooperative.html + fe7b022567174c8305bc78d8c5749b12 + (Runner &__runner) + + + void + send + classCooperative.html + c609f2a1200da7d1ac96005602515fc6 + (Cooperative *__coop) + + + virtual void + notifySending + classCooperative.html + 4439ddeaa1246a2e44c003bfb781739b + () + + + Runner * + owner + classCooperative.html + 7604f094479d08154ede4996a45bf79e + + + + + Node + structNode.html + + RANK_ID + rk + structNode.html + 7de6f254b6b8c3f9f8287af0bb742e9b + + + + std::string + name + structNode.html + 3c4318d71ca9a44fe33edcf8b7f26863 + + + + unsigned + num_workers + structNode.html + 01fec86d75332858b158c810d57caee3 + + + + int + rk_sched + structNode.html + 98deed2036c3dd8fc0f4fe8dacf56a92 + + + + std::vector< RUNNER_ID > + id_run + structNode.html + a90013b890888d3d252a71cb4fe48934 + + + + + peoAggEvalFunc + classpeoAggEvalFunc.html + EOT + + + peoAsyncIslandMig + classpeoAsyncIslandMig.html + EOT + Cooperative + + + peoAsyncIslandMig + classpeoAsyncIslandMig.html + e0f706cbf4148d3ca327227a5c7a9fdf + (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination) + + + void + operator() + classpeoAsyncIslandMig.html + 13581e54425727a7f785ca8a6df527b5 + () + + + void + pack + classpeoAsyncIslandMig.html + 6d790a5d0b6ac510cac4f61a1c0d8f16 + () + + + void + unpack + classpeoAsyncIslandMig.html + 455501aee5db2bbfbae15779c8429369 + () + + + void + emigrate + classpeoAsyncIslandMig.html + 87a4ef7d4bd30d349a801bf0f9e87c82 + () + + + void + immigrate + classpeoAsyncIslandMig.html + 5a9a64ba51a696e45f91b362c39c9a64 + () + + + eoContinue< EOT > & + cont + classpeoAsyncIslandMig.html + 2fc077d02ef9ea4595cfe883af0d4f83 + + + + eoSelect< EOT > & + select + classpeoAsyncIslandMig.html + b1fa045094c8a411323e75b5820c80c2 + + + + eoReplacement< EOT > & + replace + classpeoAsyncIslandMig.html + b761dbd880ee32e170741ecd78da6f48 + + + + Topology & + topology + classpeoAsyncIslandMig.html + e45e5a808a96f0853ab6ba42339fe679 + + + + eoPop< EOT > & + source + classpeoAsyncIslandMig.html + 8a502d82c773033e274dca932fc2d4ee + + + + eoPop< EOT > & + destination + classpeoAsyncIslandMig.html + e407f411d08ae7d96992603c145a7e43 + + + + std::queue< eoPop< EOT > > + imm + classpeoAsyncIslandMig.html + b8c76d98d9ae99dd930a77c12860519a + + + + std::queue< eoPop< EOT > > + em + classpeoAsyncIslandMig.html + a9cc0e2d61cac6e11647b141962adc89 + + + + std::queue< Cooperative * > + coop_em + classpeoAsyncIslandMig.html + 1a2c0004d23bc303420af137a8c8bd27 + + + + + peoEA + classpeoEA.html + EOT + Runner + + + peoEA + classpeoEA.html + dbfc4f8907bef234602149229f132371 + (eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace) + + + void + run + classpeoEA.html + 6ab8c321d29350634143a2a01cf2ad24 + () + + + void + operator() + classpeoEA.html + 3c709e3b2491147d26fee36138644613 + (eoPop< EOT > &__pop) + + + eoContinue< EOT > & + cont + classpeoEA.html + 5f015eebf42f176b9fe322488c446c2a + + + + peoPopEval< EOT > & + pop_eval + classpeoEA.html + 9140259f50c9186edcb062b023624c96 + + + + eoSelect< EOT > & + select + classpeoEA.html + 2d8428d69fdd6aefefbaf543fdd46d19 + + + + peoTransform< EOT > & + trans + classpeoEA.html + 713c77935eb8aafebfb9488cfaa4a363 + + + + eoReplacement< EOT > & + replace + classpeoEA.html + 9bd2d4356cf7e69e3141dc269213aa8a + + + + eoPop< EOT > * + pop + classpeoEA.html + c0b110e410bc16283e8339f24b733772 + + + + + peoNoAggEvalFunc + classpeoNoAggEvalFunc.html + EOT + peoAggEvalFunc + + void + operator() + classpeoNoAggEvalFunc.html + 1a69ee1af8745ac75c864bf884436de5 + (EOT &__sol, const typename EOT::Fitness &__fit) + + + + peoParaPopEval + classpeoParaPopEval.html + EOT + peoPopEval + + + peoParaPopEval + classpeoParaPopEval.html + bcb540510a7038520bec41a7af332daf + (eoEvalFunc< EOT > &__eval_func) + + + + peoParaPopEval + classpeoParaPopEval.html + 1cc13a1ec366f95d219d682eccb455bc + (const std::vector< eoEvalFunc< EOT > * > &__funcs, peoAggEvalFunc< EOT > &__merge_eval) + + + void + operator() + classpeoParaPopEval.html + aeaa4fca4f8650e453e308838b4a2cb5 + (eoPop< EOT > &__pop) + + + void + packData + classpeoParaPopEval.html + fea632bd645ab11182782fd3c038d6d8 + () + + + void + unpackData + classpeoParaPopEval.html + 410bf4c173e2f36df82251cb16ce1b05 + () + + + void + execute + classpeoParaPopEval.html + 3af76378611eac5a36da9a0a00aeeb6c + () + + + void + packResult + classpeoParaPopEval.html + 24bb4ae84b0b9f64e7170e3d2b0e1223 + () + + + void + unpackResult + classpeoParaPopEval.html + fd7f0afe9cba30be39269d16097e190e + () + + + void + notifySendingData + classpeoParaPopEval.html + 1f78c3cec2940af08a059cc1aa96a9c8 + () + + + void + notifySendingAllResourceRequests + classpeoParaPopEval.html + b77031fc4807921ffaf7cf6b669a7665 + () + + + const std::vector< eoEvalFunc< EOT > * > & + funcs + classpeoParaPopEval.html + 6d69b8f73c0b5d72baf75d6e53f025b7 + + + + std::vector< eoEvalFunc< EOT > * > + one_func + classpeoParaPopEval.html + f0e8af3ee442d2b6baf0bd122226be3c + + + + peoAggEvalFunc< EOT > & + merge_eval + classpeoParaPopEval.html + b48bcd4e9f92f364118304535c089456 + + + + peoNoAggEvalFunc< EOT > + no_merge_eval + classpeoParaPopEval.html + bf255dd5861e27108c2abae7309d7690 + + + + std::queue< EOT * > + tasks + classpeoParaPopEval.html + af76cd18368a0f6185878f37f0b5f272 + + + + std::map< EOT *, std::pair< unsigned, unsigned > > + progression + classpeoParaPopEval.html + 80e7e34bb1bb2d12f1f2eed3feac6ecf + + + + unsigned + num_func + classpeoParaPopEval.html + 87abb090c0de39f0ccc36af1f07cca0c + + + + EOT + sol + classpeoParaPopEval.html + fb6941e0455515a908eb82342b995163 + + + + EOT * + ad_sol + classpeoParaPopEval.html + 60cafeab376262af675fdff43434c8d8 + + + + unsigned + total + classpeoParaPopEval.html + b528ad9dd9006c3dd57f149a3843e57d + + + + + peoParaSGATransform + classpeoParaSGATransform.html + EOT + peoTransform + + + peoParaSGATransform + classpeoParaSGATransform.html + 2052bca82fbbfe5455bf6f69246d4dbf + (eoQuadOp< EOT > &__cross, double __cross_rate, eoMonOp< EOT > &__mut, double __mut_rate) + + + void + operator() + classpeoParaSGATransform.html + 669de7f7c6316fa745a15b909efb6527 + (eoPop< EOT > &__pop) + + + void + packData + classpeoParaSGATransform.html + fd278bcde58d29c9a343d5cbead81a1e + () + + + void + unpackData + classpeoParaSGATransform.html + a43a487a6e81791c8bbf6ce30f4336ab + () + + + void + execute + classpeoParaSGATransform.html + c9de2100fb897177a401c634002f6dd9 + () + + + void + packResult + classpeoParaSGATransform.html + ba08e224ceaa4149e8e1a88694a2ccf2 + () + + + void + unpackResult + classpeoParaSGATransform.html + 257663dcdc6cc95b6183d472ffba1b2f + () + + + void + notifySendingData + classpeoParaSGATransform.html + 4e19dfc22b6f69fa8b93537226551866 + () + + + void + notifySendingAllResourceRequests + classpeoParaSGATransform.html + 8a0316e33897c395a81787f59ea7a1c8 + () + + + eoQuadOp< EOT > & + cross + classpeoParaSGATransform.html + c6f97deabe7502c84f5b6c479013f6dc + + + + double + cross_rate + classpeoParaSGATransform.html + dfcf216e2df05016db4d57a5ffb0b0e2 + + + + eoMonOp< EOT > & + mut + classpeoParaSGATransform.html + 34ff5f9d285ca4879cf8865fb425a311 + + + + double + mut_rate + classpeoParaSGATransform.html + b9d3a2094737d0bbd034aac942cc53e3 + + + + unsigned + idx + classpeoParaSGATransform.html + 03972feadc86626e58fe60bd4061b57e + + + + eoPop< EOT > * + pop + classpeoParaSGATransform.html + 94e10a1285e128aba6e71517c941f961 + + + + EOT + father + classpeoParaSGATransform.html + 9ef60190e2e3bd5961a93d1b52cb275d + + + + EOT + mother + classpeoParaSGATransform.html + e991ad2af6d116afd855de2db46e1d27 + + + + unsigned + num_term + classpeoParaSGATransform.html + 589ea7cd72d522ae51a07de4d8ffbf11 + + + + + peoPopEval + classpeoPopEval.html + EOT + Service + + virtual void + operator() + classpeoPopEval.html + 2f208067a5e39c3b26c1234050a41e8f + (eoPop< EOT > &__pop)=0 + + + + peoSeqPopEval + classpeoSeqPopEval.html + EOT + peoPopEval + + + peoSeqPopEval + classpeoSeqPopEval.html + a41f91ab4b2aeb325ff75feb66d4e003 + (eoEvalFunc< EOT > &__eval) + + + void + operator() + classpeoSeqPopEval.html + b2c88b9a3ad9091949acf741844eb02f + (eoPop< EOT > &__pop) + + + eoEvalFunc< EOT > & + eval + classpeoSeqPopEval.html + 5465f31386c6b96bc8f7fb9393a28a2f + + + + + peoSeqTransform + classpeoSeqTransform.html + EOT + peoTransform + + + peoSeqTransform + classpeoSeqTransform.html + 3b8e4ed19d9458938eb669d83a53c626 + (eoTransform< EOT > &__trans) + + + void + operator() + classpeoSeqTransform.html + 1ba63536abb6c4e1c369e0b7e066872e + (eoPop< EOT > &__pop) + + + virtual void + packData + classpeoSeqTransform.html + c4bf2724e9f6055f12bd169fad893be3 + () + + + virtual void + unpackData + classpeoSeqTransform.html + 24e6cf15ef230ed538031b522ddd4ae6 + () + + + virtual void + execute + classpeoSeqTransform.html + 0294a2f9d6b44ec74d22eaceccdffc2b + () + + + virtual void + packResult + classpeoSeqTransform.html + 4861c61f9e46d83964ea8a156a9a3ee0 + () + + + virtual void + unpackResult + classpeoSeqTransform.html + 5dd029fc011eb2a810ca1140025129b1 + () + + + eoTransform< EOT > & + trans + classpeoSeqTransform.html + ad3e16c59dd6c46dfc1baf7b88af30cf + + + + + peoSyncIslandMig + classpeoSyncIslandMig.html + EOT + Cooperative + + + peoSyncIslandMig + classpeoSyncIslandMig.html + 96b7b6de20b5e318a8b1cde76842305c + (unsigned __frequency, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination) + + + void + operator() + classpeoSyncIslandMig.html + 178476fd276f78b73607b33d19522c36 + () + + + void + pack + classpeoSyncIslandMig.html + e334188141eeba9f7b78bc6716f819ad + () + + + void + unpack + classpeoSyncIslandMig.html + 85777bd9f709c5d4107799e8619948d1 + () + + + void + notifySending + classpeoSyncIslandMig.html + 8c427b3f91c19ff85f86930366b96008 + () + + + void + emigrate + classpeoSyncIslandMig.html + 4c8416e3acce1a6e4c3b0a442d94b063 + () + + + void + immigrate + classpeoSyncIslandMig.html + 38dd72312a3d16808af1aa7beb9ed4a7 + () + + + eoPeriodicContinue< EOT > + cont + classpeoSyncIslandMig.html + 2d8ae9104376f3e073e0b250d9b425a2 + + + + eoSelect< EOT > & + select + classpeoSyncIslandMig.html + 5e9c9f5f65d6418ad46e647ee1804a3d + + + + eoReplacement< EOT > & + replace + classpeoSyncIslandMig.html + cb6d2d909503a86415912900d6e1d891 + + + + Topology & + topology + classpeoSyncIslandMig.html + ebfe6edb6be16d46bf6d71cb233fcace + + + + eoPop< EOT > & + source + classpeoSyncIslandMig.html + 33fde1f09faf2a3f772d8b8f6a2615c6 + + + + eoPop< EOT > & + destination + classpeoSyncIslandMig.html + a9bf4612c7c04da6cf69245c6617e6a6 + + + + std::queue< eoPop< EOT > > + imm + classpeoSyncIslandMig.html + 088c1623f32668dcd3683fceff9426c3 + + + + std::queue< eoPop< EOT > > + em + classpeoSyncIslandMig.html + 11d6dd3e4a6db710433f501af0988322 + + + + std::queue< Cooperative * > + coop_em + classpeoSyncIslandMig.html + 2f7ca18d67ab7fb47a9851ab3179eb7d + + + + sem_t + sync + classpeoSyncIslandMig.html + 91e0e1ea59c2a6a66eb496bddd60a18f + + + + + peoSyncMultiStart + classpeoSyncMultiStart.html + EOT + Service + + + peoSyncMultiStart + classpeoSyncMultiStart.html + d29f94aad3c1f443bfffc8b6aee0704c + (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, moAlgo< EOT > &__ls, eoPop< EOT > &__pop) + + + void + operator() + classpeoSyncMultiStart.html + 76385b33fe514f91cb83f0fbecbeb3c2 + () + + + void + packData + classpeoSyncMultiStart.html + 8becfab1922b64708dca5a53e2932a5a + () + + + void + unpackData + classpeoSyncMultiStart.html + 2903a441b77cded266b5fb651e17a5b5 + () + + + void + execute + classpeoSyncMultiStart.html + a4d1c2943c290de540800087b54dc49b + () + + + void + packResult + classpeoSyncMultiStart.html + 6c48eb0dae741cff7203b65e226f9616 + () + + + void + unpackResult + classpeoSyncMultiStart.html + c3cbd1f10a89d1915c5ccf82a2c34a1d + () + + + void + notifySendingData + classpeoSyncMultiStart.html + 32ec0d01d3fd8a9932abd68f4781fc94 + () + + + void + notifySendingAllResourceRequests + classpeoSyncMultiStart.html + fc90282cc4e93cdea8f82fd52dd78fb0 + () + + + eoContinue< EOT > & + cont + classpeoSyncMultiStart.html + 43f4fa9b125baef6fc8b968dfd16f437 + + + + eoSelect< EOT > & + select + classpeoSyncMultiStart.html + 8fc9a3d046023ddd077defec3c23ab3b + + + + eoReplacement< EOT > & + replace + classpeoSyncMultiStart.html + a375ccea98e9bf2a0854dac27df4522f + + + + moAlgo< EOT > & + ls + classpeoSyncMultiStart.html + 4d317966de767dcc87eee0286ea7f95d + + + + eoPop< EOT > & + pop + classpeoSyncMultiStart.html + 391178bd6b8a97a08ab4e345f070e967 + + + + eoPop< EOT > + sel + classpeoSyncMultiStart.html + dbcc1a069ec72ecd8d40c392640d84b3 + + + + eoPop< EOT > + impr_sel + classpeoSyncMultiStart.html + ca10f6d258105e3c4f0d1660db5b7679 + + + + EOT + sol + classpeoSyncMultiStart.html + 2c2ebe46470d1425f0409897deab435b + + + + unsigned + idx + classpeoSyncMultiStart.html + 64191ef79b7b589964ac9c3e23ae6718 + + + + unsigned + num_term + classpeoSyncMultiStart.html + 773eb9097550d9444f25ca8f48997a30 + + + + + peoTransform + classpeoTransform.html + EOT + Service + + + ReactiveThread + classReactiveThread.html + Thread + + + ReactiveThread + classReactiveThread.html + 77381649429941c99a3e3d568113d6cf + () + + + void + sleep + classReactiveThread.html + 8263c2a32d8c99a49a05f1a7717d4262 + () + + + void + wakeUp + classReactiveThread.html + a724a54575de10f09cc03ab7aa4e59ce + () + + + sem_t + sem + classReactiveThread.html + 915e5a42dc8cb1bcf6738d5fe883a4e7 + + + + + RingTopology + classRingTopology.html + Topology + + void + setNeighbors + classRingTopology.html + 292a7746993788f96042f2f628cfcbc5 + (Cooperative *__mig, std::vector< Cooperative * > &__from, std::vector< Cooperative * > &__to) + + + + Runner + classRunner.html + Communicable + Thread + + + Runner + classRunner.html + 7acb8258c21da9daa62f9a177a2e5acd + () + + + void + start + classRunner.html + 7dc4419051fcc5cc9dadd54ecc9cd47d + () + + + void + waitStarting + classRunner.html + 5bc239db2be753b77369fa9a038769fd + () + + + bool + isLocal + classRunner.html + 40adbfb7d6944189b4fff60b02e669ca + () + + + void + terminate + classRunner.html + 0f133e75c28fb8264549814f80608e68 + () + + + RUNNER_ID + getID + classRunner.html + 5026c74eec184e3a15cb3c0ec4200a57 + () + + + void + packTermination + classRunner.html + 2ad6d199d684d6f34347fc202ffe2fa3 + () + + + void + notifySendingTermination + classRunner.html + 3591be473e0fcee1105fb57319b529aa + () + + + sem_t + sem_start + classRunner.html + 4b0827d5df2df632db4ab71dd55e81b2 + + + + unsigned + id + classRunner.html + 1989c1f8e0b0b54ad2e60a341007e59d + + + + + SEND_REQUEST + structSEND__REQUEST.html + + Communicable * + comm + structSEND__REQUEST.html + 1ad8f7233fa3ff13262e783a9153920f + + + + int + to + structSEND__REQUEST.html + 93e2a6a71d2a91aa2b7bdd050ee59b4d + + + + int + tag + structSEND__REQUEST.html + 3126b3ef9d6533d3086760e413a7f23f + + + + + Service + classService.html + Communicable + + void + setOwner + classService.html + 33b149b98498c0e7e401b0f0839d7f0d + (Thread &__owner) + + + Thread * + getOwner + classService.html + 0dae00309c51a7b7069788142aed799f + () + + + void + requestResourceRequest + classService.html + 7e2ae35a9070a05dcd46488df649896d + (unsigned __how_many=1) + + + void + packResourceRequest + classService.html + c4289f98d1cd9ed53e850efbb6a947bd + () + + + virtual void + packData + classService.html + aea4b8f7f8fb88e83862ee4bfd9ab207 + () + + + virtual void + unpackData + classService.html + 3bd87b444710813d30fd754d4d0b4df3 + () + + + virtual void + execute + classService.html + e4f2894e6121e60f38d41cfbd7447ae4 + () + + + virtual void + packResult + classService.html + e5e4f90b2315e15c2a2913bd370f4cf5 + () + + + virtual void + unpackResult + classService.html + 45c06344edbfa482b91f68e2035a6099 + () + + + virtual void + notifySendingData + classService.html + 81ad4d6ebb50045b8977e2ab74826f30 + () + + + virtual void + notifySendingResourceRequest + classService.html + 94e2012e76aaae3aa8199250f558d503 + () + + + virtual void + notifySendingAllResourceRequests + classService.html + f94cc8a5c2665d4574041737e61e9ffc + () + + + Thread * + owner + classService.html + 8b615c65c876f342fe8209eb7e36d7b2 + + + + unsigned + num_sent_rr + classService.html + a5b2ad9520bb3710b54348b99acebd58 + + + + + Thread + classThread.html + + + Thread + classThread.html + 95c703fb8f2f27cb64f475a8c940864a + () + + + virtual + ~Thread + classThread.html + 37d9edd3a1a776cbc27dedff949c9726 + () + + + void + setActive + classThread.html + e197c46f8f62ecce6d2a7fe95bdc5b38 + () + + + void + setPassive + classThread.html + 20632ffe9ddfa2a478afb0c84dc1096b + () + + + bool + act + classThread.html + 1b155d63bca3096ac4a1d039aea83c7c + + + + + Topology + classTopology.html + + virtual + ~Topology + classTopology.html + 3e447669757c8311c7f6f8edc705abf2 + () + + + void + add + classTopology.html + 62bc46d8c20fdc71dad9e7c7a0d7aded + (Cooperative &__mig) + + + std::vector< Cooperative * > + mig + classTopology.html + 247a2faa8568b678f0b7b11e62c7812c + + + + + Worker + classWorker.html + Communicable + ReactiveThread + + + Worker + classWorker.html + 3754817df06ffe220f7f0d903c78ccac + () + + + void + start + classWorker.html + abcbbace05c6113f1959c494b3577291 + () + + + void + packResult + classWorker.html + 83780920118e6c2b67d9477bdf8be248 + () + + + void + unpackData + classWorker.html + bff2bdcd64fe5400156cc78704c64953 + () + + + void + packTaskDone + classWorker.html + 60d2e8eba85b9ef403d94be54c391640 + () + + + void + notifySendingResult + classWorker.html + e2f487014766a73c5788bdcfd58ad863 + () + + + void + notifySendingTaskDone + classWorker.html + 13efd6a8e275745329a4a8e23a0eb0bb + () + + + void + setSource + classWorker.html + 5dab4ea663546b5a49d9398d7a624d27 + (int __rank) + + + WORKER_ID + id + classWorker.html + b5ffcb995e12fa71b9551e91729d6972 + + + + SERVICE_ID + serv_id + classWorker.html + d7dc76e301fd2bcf5d3a2088a59f1378 + + + + Service * + serv + classWorker.html + 454e1764ed165af733cc44a73e395692 + + + + int + src + classWorker.html + 895c3ebc198018ea3391c09bc802d2f6 + + + + bool + toto + classWorker.html + 7ba5a18b2918cf9e704536b763be37f7 + + + + + peo + namespacepeo.html + + void + finalize + namespacepeo.html + f90478489cc92d1e6abb222179163a30 + () + + + void + init + namespacepeo.html + 8184c3b1f7eecc68f69bb8e8b872a7d3 + (int &__argc, char **&__argv) + + + void + loadParameters + namespacepeo.html + 2b496ee9b81d9ae322ae6edb9a93dc71 + (int &__argc, char **&__argv) + + + void + run + namespacepeo.html + 10819b2d60b37477c6a89b60c595c67c + () + + + int * + argc + namespacepeo.html + 18a3998ce8b39c4e1143914fdd07b3d2 + + + + char *** + argv + namespacepeo.html + d07043237d4d923125e38860ba9bbe20 + + + + int * + argc + namespacepeo.html + 18a3998ce8b39c4e1143914fdd07b3d2 + + + + char *** + argv + namespacepeo.html + d07043237d4d923125e38860ba9bbe20 + + + +