\hypertarget{classeo_easy_e_a}{}\doxysection{eo\+Easy\+EA$<$ E\+OT $>$ Class Template Reference} \label{classeo_easy_e_a}\index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} {\ttfamily \#include $<$eo\+Easy\+E\+A.\+h$>$} Inheritance diagram for eo\+Easy\+EA$<$ E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=336pt]{classeo_easy_e_a__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Easy\+EA$<$ E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_easy_e_a__coll__graph} \end{center} \end{figure} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_eval}{eo\+Dummy\+Eval}} \item class \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_select}{eo\+Dummy\+Select}} \item class \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_transform}{eo\+Dummy\+Transform}} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \item \mbox{\hyperlink{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace, unsigned \+\_\+offspring\+Size) \item \mbox{\hyperlink{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \item \mbox{\Hypertarget{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}\label{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}} \mbox{\hyperlink{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}} and an eo\+Pop\+Eval. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}\label{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}} \mbox{\hyperlink{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_merge}{eo\+Merge}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+merge, \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+reduce) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_breed}{eo\+Breed}}, \mbox{\hyperlink{classeo_merge}{eo\+Merge}} and \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}\label{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}} \mbox{\hyperlink{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, and \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}\label{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}} \mbox{\hyperlink{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_merge}{eo\+Merge}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+merge, \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+reduce) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, \mbox{\hyperlink{classeo_merge}{eo\+Merge}} and \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}\label{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}} virtual void \mbox{\hyperlink{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}{operator()}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop) \begin{DoxyCompactList}\small\item\em Apply a few generation of evolution to the population. \end{DoxyCompactList}\item \mbox{\hyperlink{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \item \mbox{\hyperlink{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace, unsigned \+\_\+offspring\+Size) \item \mbox{\hyperlink{classeo_easy_e_a_a67773b3686a03b89c1e38f300dced4ad}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace, unsigned \+\_\+offspring\+Size) \begin{DoxyCompactList}\small\item\em Ctor allowing to specify which pop eval function we\textquotesingle{}re going to use. \end{DoxyCompactList}\item \mbox{\hyperlink{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \item \mbox{\Hypertarget{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}\label{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}} \mbox{\hyperlink{classeo_easy_e_a_a8de56d0f711ad51a52975c4461ac6b01}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}} and an eo\+Pop\+Eval. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}\label{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}} \mbox{\hyperlink{classeo_easy_e_a_adcf4e2fdf0bf11e3371a92923fc3a406}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+breed, \mbox{\hyperlink{classeo_merge}{eo\+Merge}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+merge, \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+reduce) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_breed}{eo\+Breed}}, \mbox{\hyperlink{classeo_merge}{eo\+Merge}} and \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}\label{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}} \mbox{\hyperlink{classeo_easy_e_a_a304d92a39557dba87cb6093611397d9e}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+replace) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, and \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}\label{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}} \mbox{\hyperlink{classeo_easy_e_a_a4b3b06cecb08c87c1452629460addef6}{eo\+Easy\+EA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_select}{eo\+Select}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+transform, \mbox{\hyperlink{classeo_merge}{eo\+Merge}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+merge, \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+reduce) \begin{DoxyCompactList}\small\item\em Ctor \mbox{\hyperlink{classeo_select}{eo\+Select}}, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}, \mbox{\hyperlink{classeo_merge}{eo\+Merge}} and \mbox{\hyperlink{classeo_reduce}{eo\+Reduce}}. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}\label{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}} virtual void \mbox{\hyperlink{classeo_easy_e_a_adf7e677ab5b3d493bdafb56c4bed21cd}{operator()}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop) \begin{DoxyCompactList}\small\item\em Apply a few generation of evolution to the population. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_easy_e_a_a6f4cb069b339d21cfe6205a6ece5a5e6}\label{classeo_easy_e_a_a6f4cb069b339d21cfe6205a6ece5a5e6}} \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_select}{eo\+Easy\+E\+A\+::eo\+Dummy\+Select}} {\bfseries dummy\+Select} \item \mbox{\Hypertarget{classeo_easy_e_a_ae6e337c2b0b96c36b5ea89655369016a}\label{classeo_easy_e_a_ae6e337c2b0b96c36b5ea89655369016a}} \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_transform}{eo\+Easy\+E\+A\+::eo\+Dummy\+Transform}} {\bfseries dummy\+Transform} \item \mbox{\Hypertarget{classeo_easy_e_a_a5a2e2d8aabd6f0b5b1a2231c7dfc7c65}\label{classeo_easy_e_a_a5a2e2d8aabd6f0b5b1a2231c7dfc7c65}} \mbox{\hyperlink{classeo_easy_e_a_1_1eo_dummy_eval}{eo\+Easy\+E\+A\+::eo\+Dummy\+Eval}} {\bfseries dummy\+Eval} \item \mbox{\Hypertarget{classeo_easy_e_a_a66ebe0befd8275dba6eef55e622e4bf7}\label{classeo_easy_e_a_a66ebe0befd8275dba6eef55e622e4bf7}} \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries continuator} \item \mbox{\Hypertarget{classeo_easy_e_a_a8c48a308f42d00d791c03a7391fc4f6d}\label{classeo_easy_e_a_a8c48a308f42d00d791c03a7391fc4f6d}} \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries eval} \item \mbox{\Hypertarget{classeo_easy_e_a_ab626311e116ec711463eddc4456f4757}\label{classeo_easy_e_a_ab626311e116ec711463eddc4456f4757}} \mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries loop\+Eval} \item \mbox{\Hypertarget{classeo_easy_e_a_a87f610de13cb378147ede8f6aa4243e6}\label{classeo_easy_e_a_a87f610de13cb378147ede8f6aa4243e6}} \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries pop\+Eval} \item \mbox{\Hypertarget{classeo_easy_e_a_a2aeaf40d3fce4f0113c02c071a89fa42}\label{classeo_easy_e_a_a2aeaf40d3fce4f0113c02c071a89fa42}} \mbox{\hyperlink{classeo_select_transform}{eo\+Select\+Transform}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries select\+Transform} \item \mbox{\Hypertarget{classeo_easy_e_a_aaf5836399054f4598a630db481ff06e1}\label{classeo_easy_e_a_aaf5836399054f4598a630db481ff06e1}} \mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries breed} \item \mbox{\Hypertarget{classeo_easy_e_a_a66129ab7723fc34044d4b49c4c45db88}\label{classeo_easy_e_a_a66129ab7723fc34044d4b49c4c45db88}} \mbox{\hyperlink{classeo_no_elitism}{eo\+No\+Elitism}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries dummy\+Merge} \item \mbox{\Hypertarget{classeo_easy_e_a_af7b9b459b30d6df44f0c4e745765cbfd}\label{classeo_easy_e_a_af7b9b459b30d6df44f0c4e745765cbfd}} \mbox{\hyperlink{classeo_truncate}{eo\+Truncate}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries dummy\+Reduce} \item \mbox{\Hypertarget{classeo_easy_e_a_ae7f0eb8931432ccbc4405ffdae4cdee2}\label{classeo_easy_e_a_ae7f0eb8931432ccbc4405ffdae4cdee2}} \mbox{\hyperlink{classeo_merge_reduce}{eo\+Merge\+Reduce}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries merge\+Reduce} \item \mbox{\Hypertarget{classeo_easy_e_a_ac6dd5138d620e87875f74ade929905c1}\label{classeo_easy_e_a_ac6dd5138d620e87875f74ade929905c1}} \mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries replace} \item \mbox{\Hypertarget{classeo_easy_e_a_adcd93019278fef2cf51b939df284cb84}\label{classeo_easy_e_a_adcd93019278fef2cf51b939df284cb84}} \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries offspring} \item \mbox{\Hypertarget{classeo_easy_e_a_a9bbf05c0bae30ba9dee33fd0aa42d3bd}\label{classeo_easy_e_a_a9bbf05c0bae30ba9dee33fd0aa42d3bd}} bool {\bfseries is\+First\+Call} \end{DoxyCompactItemize} \doxysubsection*{Friends} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_easy_e_a_a626bb908146e8aa96a3e0ca80fc18135}\label{classeo_easy_e_a_a626bb908146e8aa96a3e0ca80fc18135}} class {\bfseries eo\+Islands\+Easy\+E\+A$<$ E\+O\+T $>$} \item \mbox{\Hypertarget{classeo_easy_e_a_a286709316c3a9f5387c7befce89dad1d}\label{classeo_easy_e_a_a286709316c3a9f5387c7befce89dad1d}} class {\bfseries eo\+Dist\+Eval\+Easy\+E\+A$<$ E\+O\+T $>$} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class E\+OT$>$\newline class eo\+Easy\+E\+A$<$ E\+O\+T $>$} An easy-\/to-\/use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-\/algorithms Change (MS, July 3. 2001)\+: Replaced the \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}} by an \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}\+: this immediately allows many useful constructs, such as co-\/evolution (e.\+g. game players), parisian approach (the solution to the problem is the whole population) or simple distribution of evaluations on a cluster. In case an \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}} is passed, it is embedded on an \mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}} This makes things a little uglier (required an additional \char`\"{}dummy\char`\"{} member Note\+: it looks ugly only because we wanted to authorize many different constructors. Please only look at the operator() and there shall be light \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}\label{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor taking a breed and merge \mbox{\Hypertarget{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}\label{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace, }\item[{unsigned}]{\+\_\+offspring\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor taking a breed and merge, an overload of ctor to define an offspring size \mbox{\Hypertarget{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}\label{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} N\+EW Ctor taking a breed and merge and an eo\+Pop\+Eval \mbox{\Hypertarget{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}\label{classeo_easy_e_a_a387596dc06f9a3b59436fd66cbfda784}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor taking a breed and merge \mbox{\Hypertarget{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}\label{classeo_easy_e_a_ad01a911958908716d57e04459235e4e7}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace, }\item[{unsigned}]{\+\_\+offspring\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor taking a breed and merge, an overload of ctor to define an offspring size \mbox{\Hypertarget{classeo_easy_e_a_a67773b3686a03b89c1e38f300dced4ad}\label{classeo_easy_e_a_a67773b3686a03b89c1e38f300dced4ad}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+pop\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace, }\item[{unsigned}]{\+\_\+offspring\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor allowing to specify which pop eval function we\textquotesingle{}re going to use. Ctor taking a breed and merge, an overload of ctor to define an offspring size, and the pop eval function used. This allows to precise if we would like to use the parallel evaluation, for instance. \mbox{\Hypertarget{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}\label{classeo_easy_e_a_a742c826ae19b14edc56e526f25474f3f}} \index{eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}!eoEasyEA@{eoEasyEA}} \index{eoEasyEA@{eoEasyEA}!eoEasyEA$<$ EOT $>$@{eoEasyEA$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoEasyEA()}{eoEasyEA()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_easy_e_a}{eo\+Easy\+EA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+continuator, }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+eval, }\item[{\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+breed, }\item[{\mbox{\hyperlink{classeo_replacement}{eo\+Replacement}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+replace }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} N\+EW Ctor taking a breed and merge and an eo\+Pop\+Eval The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+Easy\+E\+A.\+h\end{DoxyCompactItemize}