\hypertarget{classeo_one_max}{}\doxysection{eo\+One\+Max$<$ FitT $>$ Class Template Reference}
\label{classeo_one_max}\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}


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



Inheritance diagram for eo\+One\+Max$<$ FitT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=236pt]{classeo_one_max__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+One\+Max$<$ FitT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=236pt]{classeo_one_max__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}{eo\+One\+Max}} ()
\item 
virtual string \mbox{\hyperlink{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}{class\+Name}} () const
\item 
void \mbox{\hyperlink{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}{print\+On}} (ostream \&\+\_\+os) const
\item 
void \mbox{\hyperlink{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}{read\+From}} (istream \&\+\_\+is)
\item 
\mbox{\Hypertarget{classeo_one_max_a8991b93c5a671c86f615e5452448eccd}\label{classeo_one_max_a8991b93c5a671c86f615e5452448eccd}} 
void {\bfseries setB} (vector$<$ bool $>$ \&\+\_\+b)
\item 
\mbox{\Hypertarget{classeo_one_max_a5bb5de2911520ed005f3b16b5ed85a36}\label{classeo_one_max_a5bb5de2911520ed005f3b16b5ed85a36}} 
const vector$<$ bool $>$ \& {\bfseries B} ()
\item 
\mbox{\hyperlink{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}{eo\+One\+Max}} ()
\item 
virtual string \mbox{\hyperlink{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}{class\+Name}} () const
\item 
void \mbox{\hyperlink{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}{print\+On}} (ostream \&\+\_\+os) const
\item 
void \mbox{\hyperlink{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}{read\+From}} (istream \&\+\_\+is)
\item 
\mbox{\Hypertarget{classeo_one_max_a8991b93c5a671c86f615e5452448eccd}\label{classeo_one_max_a8991b93c5a671c86f615e5452448eccd}} 
void {\bfseries setB} (vector$<$ bool $>$ \&\+\_\+b)
\item 
\mbox{\Hypertarget{classeo_one_max_a5bb5de2911520ed005f3b16b5ed85a36}\label{classeo_one_max_a5bb5de2911520ed005f3b16b5ed85a36}} 
const vector$<$ bool $>$ \& {\bfseries B} ()
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class FitT$>$\newline
class eo\+One\+Max$<$ Fit\+T $>$}

-\/$\ast$-\/ mode\+: c++; c-\/indent-\/level\+: 4; c++-\/member-\/init-\/indent\+: 8; comment-\/column\+: 35; -\/$\ast$-\/

The above line is usefulin Emacs-\/like editors Always write a comment in this format before class definition if you want the class to be documented by Doxygen

Note that you M\+U\+ST derive your structure from E\+O$<$fit\+T$>$ but you M\+AY use some other already prepared class in the hierarchy like \mbox{\hyperlink{classeo_vector}{eo\+Vector}} for instance, if you handle a vector of something....

If you create a structure from scratch, the only thing you need to provide are a default constructor IO routines print\+On and read\+From

Note that operator$<$$<$ and operator$>$$>$ are defined at \mbox{\hyperlink{class_e_o}{EO}} level using these routines 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}\label{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!eoOneMax@{eoOneMax}}
\index{eoOneMax@{eoOneMax}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{eoOneMax()}{eoOneMax()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
\mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::\mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor\+: you M\+U\+ST provide a default ctor. though such individuals will generally be processed by some \mbox{\hyperlink{classeo_init}{eo\+Init}} object \mbox{\Hypertarget{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}\label{classeo_one_max_ace2fe561e40a97bfa6f9a4b1b9f1e323}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!eoOneMax@{eoOneMax}}
\index{eoOneMax@{eoOneMax}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{eoOneMax()}{eoOneMax()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
\mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::\mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor\+: you M\+U\+ST provide a default ctor. though such individuals will generally be processed by some \mbox{\hyperlink{classeo_init}{eo\+Init}} object 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}\label{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!className@{className}}
\index{className@{className}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
virtual string \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id. This should be redefined in each class. Only \char`\"{}leaf\char`\"{} classes can be non-\/virtual.

Maarten\+: removed the default implementation as this proved to be too error-\/prone\+: I found several classes that had a typo in class\+Name (like classname), which would print \mbox{\hyperlink{classeo_object}{eo\+Object}} instead of their own. Having it pure will force the implementor to provide a name. 

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

\mbox{\Hypertarget{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}\label{classeo_one_max_aa87dc6621f1b93e3e24b4b499e8c6ee9}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!className@{className}}
\index{className@{className}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
virtual string \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id. This should be redefined in each class. Only \char`\"{}leaf\char`\"{} classes can be non-\/virtual.

Maarten\+: removed the default implementation as this proved to be too error-\/prone\+: I found several classes that had a typo in class\+Name (like classname), which would print \mbox{\hyperlink{classeo_object}{eo\+Object}} instead of their own. Having it pure will force the implementor to provide a name. 

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

\mbox{\Hypertarget{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}\label{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!printOn@{printOn}}
\index{printOn@{printOn}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
void \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::print\+On (\begin{DoxyParamCaption}\item[{ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

printing... H\+I\+N\+TS in \mbox{\hyperlink{class_e_o}{EO}} we systematically write the sizes of things before the things so read\+From is easier to code (see below)

Reimplemented from \mbox{\hyperlink{class_e_o_a3a022b10acf3d67e61c253caf1d76356}{E\+O$<$ Fit\+T $>$}}.

\mbox{\Hypertarget{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}\label{classeo_one_max_a7ad518d0ecbba1c1dc8638f1713d218d}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!printOn@{printOn}}
\index{printOn@{printOn}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
void \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::print\+On (\begin{DoxyParamCaption}\item[{ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

printing... H\+I\+N\+TS in \mbox{\hyperlink{class_e_o}{EO}} we systematically write the sizes of things before the things so read\+From is easier to code (see below)

Reimplemented from \mbox{\hyperlink{class_e_o_a3a022b10acf3d67e61c253caf1d76356}{E\+O$<$ Fit\+T $>$}}.

\mbox{\Hypertarget{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}\label{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
void \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::read\+From (\begin{DoxyParamCaption}\item[{istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

reading... of course, your read\+From must be able to read what print\+On writes!!! H\+I\+N\+TS remember the \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}} object will come from the default ctor this is why having the sizes written out is useful\mbox{\Hypertarget{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}\label{classeo_one_max_aac2b444ad0233687d6ec3e1dcbc367fa}} 
\index{eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!eoOneMax$<$ FitT $>$@{eoOneMax$<$ FitT $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class FitT $>$ \\
void \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}} $>$\+::read\+From (\begin{DoxyParamCaption}\item[{istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

reading... of course, your read\+From must be able to read what print\+On writes!!! H\+I\+N\+TS remember the \mbox{\hyperlink{classeo_one_max}{eo\+One\+Max}} object will come from the default ctor this is why having the sizes written out is useful

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/tutorial/\+Lesson5/eo\+One\+Max.\+h\end{DoxyCompactItemize}
