\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}
