\hypertarget{classeo_pop}{}\doxysection{eo\+Pop$<$ E\+OT $>$ Class Template Reference}
\label{classeo_pop}\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}


{\ttfamily \#include $<$eo\+Pop.\+h$>$}



Inheritance diagram for eo\+Pop$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_pop__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Pop$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_pop__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structeo_pop_1_1_cmp}{Cmp}}
\begin{DoxyCompactList}\small\item\em helper struct for comparing on pointers \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structeo_pop_1_1_cmp2}{Cmp2}}
\begin{DoxyCompactList}\small\item\em helper struct for comparing (EA or P\+SO) \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structeo_pop_1_1_get_fitness}{Get\+Fitness}}
\item 
struct \mbox{\hyperlink{structeo_pop_1_1_ref}{Ref}}
\begin{DoxyCompactList}\small\item\em helper struct for getting a pointer \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_pop_aa1f7b9eb75e6d683885c3b0b510a2db9}\label{classeo_pop_aa1f7b9eb75e6d683885c3b0b510a2db9}} 
typedef E\+O\+T\+::\+Fitness {\bfseries Fitness}
\item 
\mbox{\Hypertarget{classeo_pop_a542b1ff8c2d26b38ada3b0ee08fb7ba9}\label{classeo_pop_a542b1ff8c2d26b38ada3b0ee08fb7ba9}} 
typedef E\+O\+T\+::fitness\+\_\+traits {\bfseries fitness\+\_\+traits}
\item 
\mbox{\Hypertarget{classeo_pop_aa1f7b9eb75e6d683885c3b0b510a2db9}\label{classeo_pop_aa1f7b9eb75e6d683885c3b0b510a2db9}} 
typedef E\+O\+T\+::\+Fitness {\bfseries Fitness}
\item 
\mbox{\Hypertarget{classeo_pop_a542b1ff8c2d26b38ada3b0ee08fb7ba9}\label{classeo_pop_a542b1ff8c2d26b38ada3b0ee08fb7ba9}} 
typedef E\+O\+T\+::fitness\+\_\+traits {\bfseries fitness\+\_\+traits}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}{eo\+Pop}} ()
\item 
\mbox{\hyperlink{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}{eo\+Pop}} (unsigned \+\_\+pop\+Size, \mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+chrom\+Init)
\item 
void \mbox{\hyperlink{classeo_pop_af37a425b85894e44c25392ee5f6514fc}{append}} (unsigned \+\_\+new\+Pop\+Size, \mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+chrom\+Init)
\item 
\mbox{\hyperlink{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}{eo\+Pop}} (std\+::istream \&\+\_\+is)
\item 
virtual \mbox{\hyperlink{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}{$\sim$eo\+Pop}} ()
\item 
void \mbox{\hyperlink{classeo_pop_acee388e2a8d68da24040a9d440a36830}{sort}} (void)
\item 
void \mbox{\hyperlink{classeo_pop_a84518c9d85dec65f314ead50c55556d8}{sort}} (std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
void \mbox{\hyperlink{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}{shuffle}} (void)
\item 
void \mbox{\hyperlink{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}{shuffle}} (std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}{it\+\_\+best\+\_\+element}} ()
\item 
const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& \mbox{\hyperlink{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}{best\+\_\+element}} () const
\item 
const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& \mbox{\hyperlink{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}{worse\+\_\+element}} () const
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}{it\+\_\+worse\+\_\+element}} ()
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_a102853315e533fe5e977b8fe8c593658}{nth\+\_\+element}} (int nth)
\item 
Fitness \mbox{\hyperlink{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}{nth\+\_\+element\+\_\+fitness}} (int which) const
\item 
void \mbox{\hyperlink{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}{nth\+\_\+element}} (int which, std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
void \mbox{\hyperlink{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}{swap}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&other)
\item 
virtual void \mbox{\hyperlink{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}{sorted\+Print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
virtual void \mbox{\hyperlink{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}{print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
\mbox{\Hypertarget{classeo_pop_a5368d1de4074e4ec7586a304978b8779}\label{classeo_pop_a5368d1de4074e4ec7586a304978b8779}} 
void {\bfseries sort} ()
\item 
\mbox{\Hypertarget{classeo_pop_a3677b4f8523e0af644946e5e623abe5a}\label{classeo_pop_a3677b4f8523e0af644946e5e623abe5a}} 
void {\bfseries scale} ()
\item 
\mbox{\Hypertarget{classeo_pop_a926a97b56035bdf1b46979e8d5ecee3e}\label{classeo_pop_a926a97b56035bdf1b46979e8d5ecee3e}} 
void {\bfseries set\+Perf2\+Worth} (\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+p2w)
\item 
\mbox{\Hypertarget{classeo_pop_aaeaa666347d7966262f8147b45273a6b}\label{classeo_pop_aaeaa666347d7966262f8147b45273a6b}} 
void {\bfseries set\+Perf2\+Worth} (\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ $\ast$\+\_\+p2w)
\item 
\mbox{\Hypertarget{classeo_pop_a5236800b986f85c706d6462b6fe8f31f}\label{classeo_pop_a5236800b986f85c706d6462b6fe8f31f}} 
\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ $\ast$ {\bfseries get\+Perf2\+Worth} ()
\item 
\mbox{\Hypertarget{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}\label{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}} 
void {\bfseries swap} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&other)
\item 
\mbox{\hyperlink{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}{eo\+Pop}} ()
\item 
\mbox{\hyperlink{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}{eo\+Pop}} (unsigned \+\_\+pop\+Size, \mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+chrom\+Init)
\item 
void \mbox{\hyperlink{classeo_pop_af37a425b85894e44c25392ee5f6514fc}{append}} (unsigned \+\_\+new\+Pop\+Size, \mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+chrom\+Init)
\item 
\mbox{\hyperlink{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}{eo\+Pop}} (std\+::istream \&\+\_\+is)
\item 
virtual \mbox{\hyperlink{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}{$\sim$eo\+Pop}} ()
\item 
void \mbox{\hyperlink{classeo_pop_acee388e2a8d68da24040a9d440a36830}{sort}} (void)
\item 
void \mbox{\hyperlink{classeo_pop_a84518c9d85dec65f314ead50c55556d8}{sort}} (std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
void \mbox{\hyperlink{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}{shuffle}} (void)
\item 
void \mbox{\hyperlink{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}{shuffle}} (std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}{it\+\_\+best\+\_\+element}} ()
\item 
const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& \mbox{\hyperlink{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}{best\+\_\+element}} () const
\item 
const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& \mbox{\hyperlink{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}{worse\+\_\+element}} () const
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}{it\+\_\+worse\+\_\+element}} ()
\item 
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::iterator \mbox{\hyperlink{classeo_pop_a102853315e533fe5e977b8fe8c593658}{nth\+\_\+element}} (int nth)
\item 
Fitness \mbox{\hyperlink{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}{nth\+\_\+element\+\_\+fitness}} (int which) const
\item 
void \mbox{\hyperlink{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}{nth\+\_\+element}} (int which, std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&result) const
\item 
void \mbox{\hyperlink{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}{swap}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&other)
\item 
virtual void \mbox{\hyperlink{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}{sorted\+Print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
virtual void \mbox{\hyperlink{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}{print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
\mbox{\Hypertarget{classeo_pop_a5368d1de4074e4ec7586a304978b8779}\label{classeo_pop_a5368d1de4074e4ec7586a304978b8779}} 
void {\bfseries sort} ()
\item 
\mbox{\Hypertarget{classeo_pop_a3677b4f8523e0af644946e5e623abe5a}\label{classeo_pop_a3677b4f8523e0af644946e5e623abe5a}} 
void {\bfseries scale} ()
\item 
\mbox{\Hypertarget{classeo_pop_a926a97b56035bdf1b46979e8d5ecee3e}\label{classeo_pop_a926a97b56035bdf1b46979e8d5ecee3e}} 
void {\bfseries set\+Perf2\+Worth} (\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+p2w)
\item 
\mbox{\Hypertarget{classeo_pop_aaeaa666347d7966262f8147b45273a6b}\label{classeo_pop_aaeaa666347d7966262f8147b45273a6b}} 
void {\bfseries set\+Perf2\+Worth} (\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ $\ast$\+\_\+p2w)
\item 
\mbox{\Hypertarget{classeo_pop_a5236800b986f85c706d6462b6fe8f31f}\label{classeo_pop_a5236800b986f85c706d6462b6fe8f31f}} 
\mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ $\ast$ {\bfseries get\+Perf2\+Worth} ()
\item 
\mbox{\Hypertarget{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}\label{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}} 
void {\bfseries swap} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&other)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Methods from eo\+Object}\par
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}{read\+From}} (std\+::istream \&\+\_\+is)
\item 
virtual std\+::string \mbox{\hyperlink{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}{class\+Name}} () const
\item 
\mbox{\Hypertarget{classeo_pop_a94ff8afbb4bad67b48f04165b1170e67}\label{classeo_pop_a94ff8afbb4bad67b48f04165b1170e67}} 
virtual void {\bfseries invalidate} ()
\item 
virtual void \mbox{\hyperlink{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}{read\+From}} (std\+::istream \&\+\_\+is)
\item 
virtual std\+::string \mbox{\hyperlink{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}{class\+Name}} () const
\item 
virtual void \mbox{\hyperlink{classeo_pop_a94ff8afbb4bad67b48f04165b1170e67}{invalidate}} ()
\end{DoxyCompactItemize}
\end{Indent}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class E\+OT$>$\newline
class eo\+Pop$<$ E\+O\+T $>$}

A std\+::vector of \mbox{\hyperlink{class_e_o}{EO}} object, to be used in all algorithms (selectors, operators, replacements, ...).

We have no idea if a population can be some other thing that a std\+::vector, but if somebody thinks of it, this concrete implementation can be moved to \char`\"{}generic\char`\"{} and an abstract Population interface be provided.

The template can be instantiated with anything that accepts a \char`\"{}size\char`\"{} and \mbox{\hyperlink{classeo_init}{eo\+Init}} derived object. in the ctor. E\+OT must also have a copy ctor, since temporaries are created and then passed to the \mbox{\hyperlink{classeo_init}{eo\+Init}} object 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}\label{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default ctor. Creates empty pop \mbox{\Hypertarget{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}\label{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+pop\+Size,  }\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+chrom\+Init }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor for the initialization of chromosomes


\begin{DoxyParams}{Parameters}
{\em \+\_\+pop\+Size} & total population size \\
\hline
{\em \+\_\+chrom\+Init} & Initialization routine, produces \mbox{\hyperlink{class_e_o}{EO}}\textquotesingle{}s, needs to be an \mbox{\hyperlink{classeo_init}{eo\+Init}} \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}\label{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor from an std\+::istream; reads the population from a stream, each element should be in different lines 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & the stream \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}\label{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!````~eoPop@{$\sim$eoPop}}
\index{````~eoPop@{$\sim$eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$eoPop()}{~eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::$\sim$\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Empty Dtor \mbox{\Hypertarget{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}\label{classeo_pop_ab643687724fca7036769c7c5c0cdf5f2}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default ctor. Creates empty pop \mbox{\Hypertarget{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}\label{classeo_pop_a56dac0c179a2c7226197df6f5ce2b36a}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+pop\+Size,  }\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+chrom\+Init }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor for the initialization of chromosomes


\begin{DoxyParams}{Parameters}
{\em \+\_\+pop\+Size} & total population size \\
\hline
{\em \+\_\+chrom\+Init} & Initialization routine, produces \mbox{\hyperlink{class_e_o}{EO}}\textquotesingle{}s, needs to be an \mbox{\hyperlink{classeo_init}{eo\+Init}} \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}\label{classeo_pop_a4e8b1be3cf2f862f70315371d388ff0b}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!eoPop@{eoPop}}
\index{eoPop@{eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoPop()}{eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor from an std\+::istream; reads the population from a stream, each element should be in different lines 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & the stream \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}\label{classeo_pop_ad6a2ecffaab89a8c6d00858de7a54ef5}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!````~eoPop@{$\sim$eoPop}}
\index{````~eoPop@{$\sim$eoPop}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$eoPop()}{~eoPop()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::$\sim$\mbox{\hyperlink{classeo_pop}{eo\+Pop}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Empty Dtor 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_pop_af37a425b85894e44c25392ee5f6514fc}\label{classeo_pop_af37a425b85894e44c25392ee5f6514fc}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!append@{append}}
\index{append@{append}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{append()}{append()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::append (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+new\+Pop\+Size,  }\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+chrom\+Init }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

appends random guys at end of pop. Can be used to initialize it pop is empty


\begin{DoxyParams}{Parameters}
{\em \+\_\+new\+Pop\+Size} & total population size \\
\hline
{\em \+\_\+chrom\+Init} & Initialization routine, produces \mbox{\hyperlink{class_e_o}{EO}}\textquotesingle{}s, needs to be an \mbox{\hyperlink{classeo_init}{eo\+Init}} \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_af37a425b85894e44c25392ee5f6514fc}\label{classeo_pop_af37a425b85894e44c25392ee5f6514fc}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!append@{append}}
\index{append@{append}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{append()}{append()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::append (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+new\+Pop\+Size,  }\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+chrom\+Init }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

appends random guys at end of pop. Can be used to initialize it pop is empty


\begin{DoxyParams}{Parameters}
{\em \+\_\+new\+Pop\+Size} & total population size \\
\hline
{\em \+\_\+chrom\+Init} & Initialization routine, produces \mbox{\hyperlink{class_e_o}{EO}}\textquotesingle{}s, needs to be an \mbox{\hyperlink{classeo_init}{eo\+Init}} \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}\label{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!best\_element@{best\_element}}
\index{best\_element@{best\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{best\_element()}{best\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
const \mbox{\hyperlink{struct_dummy}{E\+OT}}\& \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::best\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the best individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}\label{classeo_pop_af49f88e89978e6ed6bff4f35c889d9c6}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!best\_element@{best\_element}}
\index{best\_element@{best\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{best\_element()}{best\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
const \mbox{\hyperlink{struct_dummy}{E\+OT}}\& \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::best\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the best individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}\label{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!className@{className}}
\index{className@{className}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual std\+::string \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Inherited from \mbox{\hyperlink{classeo_object}{eo\+Object}}. Returns the class name. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classeo_object}{eo\+Object}} 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{classeo_object_a1c02745db786e7bb46dea93b560fe685}{eo\+Object}}.

\mbox{\Hypertarget{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}\label{classeo_pop_a6c48ed2be422baf4fc914125e7a3a0e6}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!className@{className}}
\index{className@{className}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual std\+::string \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Inherited from \mbox{\hyperlink{classeo_object}{eo\+Object}}. Returns the class name. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classeo_object}{eo\+Object}} 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{classeo_object_a1c02745db786e7bb46dea93b560fe685}{eo\+Object}}.

\mbox{\Hypertarget{classeo_pop_a94ff8afbb4bad67b48f04165b1170e67}\label{classeo_pop_a94ff8afbb4bad67b48f04165b1170e67}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{invalidate()}{invalidate()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::invalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Invalidate the whole population \mbox{\Hypertarget{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}\label{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!it\_best\_element@{it\_best\_element}}
\index{it\_best\_element@{it\_best\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{it\_best\_element()}{it\_best\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::it\+\_\+best\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the best individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}\label{classeo_pop_a92cdbaec5a1d66a9ac6322e1277b10b5}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!it\_best\_element@{it\_best\_element}}
\index{it\_best\_element@{it\_best\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{it\_best\_element()}{it\_best\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::it\+\_\+best\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the best individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}\label{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!it\_worse\_element@{it\_worse\_element}}
\index{it\_worse\_element@{it\_worse\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{it\_worse\_element()}{it\_worse\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::it\+\_\+worse\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the worse individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}\label{classeo_pop_ab2194ac46bdbe81812bbaea955c2dc35}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!it\_worse\_element@{it\_worse\_element}}
\index{it\_worse\_element@{it\_worse\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{it\_worse\_element()}{it\_worse\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::it\+\_\+worse\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

returns an iterator to the worse individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_a102853315e533fe5e977b8fe8c593658}\label{classeo_pop_a102853315e533fe5e977b8fe8c593658}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element@{nth\_element}}
\index{nth\_element@{nth\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element()}{nth\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{nth }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

slightly faster algorithm than sort to find all individuals that are better than the nth individual. I\+N\+D\+I\+V\+I\+D\+U\+A\+LS A\+RE M\+O\+V\+ED A\+R\+O\+U\+ND in the pop. \mbox{\Hypertarget{classeo_pop_a102853315e533fe5e977b8fe8c593658}\label{classeo_pop_a102853315e533fe5e977b8fe8c593658}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element@{nth\_element}}
\index{nth\_element@{nth\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element()}{nth\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\+::iterator \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{nth }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

slightly faster algorithm than sort to find all individuals that are better than the nth individual. I\+N\+D\+I\+V\+I\+D\+U\+A\+LS A\+RE M\+O\+V\+ED A\+R\+O\+U\+ND in the pop. \mbox{\Hypertarget{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}\label{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element@{nth\_element}}
\index{nth\_element@{nth\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element()}{nth\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{which,  }\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

const nth\+\_\+element function, returns pointers to sorted individuals up the the nth \mbox{\Hypertarget{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}\label{classeo_pop_a91ce000007f05122c1a7850440c7ed2f}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element@{nth\_element}}
\index{nth\_element@{nth\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element()}{nth\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{which,  }\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

const nth\+\_\+element function, returns pointers to sorted individuals up the the nth \mbox{\Hypertarget{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}\label{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element\_fitness@{nth\_element\_fitness}}
\index{nth\_element\_fitness@{nth\_element\_fitness}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element\_fitness()}{nth\_element\_fitness()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
Fitness \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element\+\_\+fitness (\begin{DoxyParamCaption}\item[{int}]{which }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns the fitness of the nth element \mbox{\Hypertarget{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}\label{classeo_pop_a63e21d52afcb0c1d62024cdc851e8f25}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!nth\_element\_fitness@{nth\_element\_fitness}}
\index{nth\_element\_fitness@{nth\_element\_fitness}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{nth\_element\_fitness()}{nth\_element\_fitness()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
Fitness \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::nth\+\_\+element\+\_\+fitness (\begin{DoxyParamCaption}\item[{int}]{which }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns the fitness of the nth element \mbox{\Hypertarget{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}\label{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!printOn@{printOn}}
\index{printOn@{printOn}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Write object. It\textquotesingle{}s called print\+On since it prints the object {\itshape on} a stream. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & A std\+::ostream. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_printable_a08ce136c0e66d3beaa091209871fcb74}{eo\+Printable}}.



Reimplemented in \mbox{\hyperlink{classeo_linear_topology_a4f847929fb8f1ac179c41151202cbfd4}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_ring_topology_aa0601c3f73d936beb5084ac0f6a5dcaf}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}\label{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!printOn@{printOn}}
\index{printOn@{printOn}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Write object. It\textquotesingle{}s called print\+On since it prints the object {\itshape on} a stream. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & A std\+::ostream. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_printable_a08ce136c0e66d3beaa091209871fcb74}{eo\+Printable}}.



Reimplemented in \mbox{\hyperlink{classeo_linear_topology_a4f847929fb8f1ac179c41151202cbfd4}{eo\+Linear\+Topology$<$ P\+O\+T $>$}}, and \mbox{\hyperlink{classeo_ring_topology_aa0601c3f73d936beb5084ac0f6a5dcaf}{eo\+Ring\+Topology$<$ P\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}\label{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::read\+From (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Read object. The E\+OT class must have a ctor from a stream; 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & A std\+::istream. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_persistent_af9ffb4fe25ffe2ca3009387ca74abf3a}{eo\+Persistent}}.

\mbox{\Hypertarget{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}\label{classeo_pop_a88d28926eb525f367ca9a19c0b69695a}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::read\+From (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Read object. The E\+OT class must have a ctor from a stream; 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & A std\+::istream. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_persistent_af9ffb4fe25ffe2ca3009387ca74abf3a}{eo\+Persistent}}.

\mbox{\Hypertarget{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}\label{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!shuffle@{shuffle}}
\index{shuffle@{shuffle}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{shuffle()}{shuffle()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::shuffle (\begin{DoxyParamCaption}\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

creates a std\+::vector$<$\+E\+O\+T$\ast$$>$ pointing to the individuals in random order \mbox{\Hypertarget{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}\label{classeo_pop_a4e3ef2c141d3e8efe25cfab6f114d8ca}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!shuffle@{shuffle}}
\index{shuffle@{shuffle}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{shuffle()}{shuffle()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::shuffle (\begin{DoxyParamCaption}\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

creates a std\+::vector$<$\+E\+O\+T$\ast$$>$ pointing to the individuals in random order \mbox{\Hypertarget{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}\label{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!shuffle@{shuffle}}
\index{shuffle@{shuffle}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{shuffle()}{shuffle()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::shuffle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

shuffle the population. Use this member to put the population in random order \mbox{\Hypertarget{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}\label{classeo_pop_ab65faec2bbc1217a9a94c240362fce63}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!shuffle@{shuffle}}
\index{shuffle@{shuffle}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{shuffle()}{shuffle()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::shuffle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

shuffle the population. Use this member to put the population in random order \mbox{\Hypertarget{classeo_pop_a84518c9d85dec65f314ead50c55556d8}\label{classeo_pop_a84518c9d85dec65f314ead50c55556d8}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sort@{sort}}
\index{sort@{sort}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sort (\begin{DoxyParamCaption}\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

creates a std\+::vector$<$\+E\+O\+T$\ast$$>$ pointing to the individuals in descending order \mbox{\Hypertarget{classeo_pop_a84518c9d85dec65f314ead50c55556d8}\label{classeo_pop_a84518c9d85dec65f314ead50c55556d8}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sort@{sort}}
\index{sort@{sort}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sort (\begin{DoxyParamCaption}\item[{std\+::vector$<$ const \mbox{\hyperlink{struct_dummy}{E\+OT}} $\ast$ $>$ \&}]{result }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

creates a std\+::vector$<$\+E\+O\+T$\ast$$>$ pointing to the individuals in descending order \mbox{\Hypertarget{classeo_pop_acee388e2a8d68da24040a9d440a36830}\label{classeo_pop_acee388e2a8d68da24040a9d440a36830}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sort@{sort}}
\index{sort@{sort}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sort (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

sort the population. Use this member to sort in order of descending Fitness, so the first individual is the best! \mbox{\Hypertarget{classeo_pop_acee388e2a8d68da24040a9d440a36830}\label{classeo_pop_acee388e2a8d68da24040a9d440a36830}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sort@{sort}}
\index{sort@{sort}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sort (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

sort the population. Use this member to sort in order of descending Fitness, so the first individual is the best! \mbox{\Hypertarget{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}\label{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sortedPrintOn@{sortedPrintOn}}
\index{sortedPrintOn@{sortedPrintOn}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sortedPrintOn()}{sortedPrintOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sorted\+Print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Prints sorted pop but does N\+OT modify it!


\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & A std\+::ostream. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}\label{classeo_pop_adb4c683919e3f7bc3cb1e9ece033abdd}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!sortedPrintOn@{sortedPrintOn}}
\index{sortedPrintOn@{sortedPrintOn}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{sortedPrintOn()}{sortedPrintOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::sorted\+Print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Prints sorted pop but does N\+OT modify it!


\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & A std\+::ostream. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}\label{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!swap@{swap}}
\index{swap@{swap}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{swap()}{swap()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

does S\+TL swap with other pop \mbox{\Hypertarget{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}\label{classeo_pop_a738202cf7d2c262a442c6c2ab8efa3f2}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!swap@{swap}}
\index{swap@{swap}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{swap()}{swap()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
void \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

does S\+TL swap with other pop \mbox{\Hypertarget{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}\label{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!worse\_element@{worse\_element}}
\index{worse\_element@{worse\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{worse\_element()}{worse\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
const \mbox{\hyperlink{struct_dummy}{E\+OT}}\& \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::worse\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns a const reference to the worse individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY \mbox{\Hypertarget{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}\label{classeo_pop_a2b8f0d9870ca26785c379b4e768c7a30}} 
\index{eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}!worse\_element@{worse\_element}}
\index{worse\_element@{worse\_element}!eoPop$<$ EOT $>$@{eoPop$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{worse\_element()}{worse\_element()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
const \mbox{\hyperlink{struct_dummy}{E\+OT}}\& \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::worse\+\_\+element (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

returns a const reference to the worse individual D\+O\+ES N\+OT M\+O\+VE A\+N\+Y\+B\+O\+DY 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/eo\+Pop.\+h\item 
deprecated/eo/test/fitness\+\_\+traits.\+cpp\end{DoxyCompactItemize}
