\hypertarget{class_p_o}{}\doxysection{PO$<$ F $>$ Class Template Reference}
\label{class_p_o}\index{PO$<$ F $>$@{PO$<$ F $>$}}


{\ttfamily \#include $<$P\+O.\+h$>$}



Inheritance diagram for PO$<$ F $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=236pt]{class_p_o__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for PO$<$ F $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=236pt]{class_p_o__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_p_o_abba2c9ff41bea50ada9bd80ae92923a2}\label{class_p_o_abba2c9ff41bea50ada9bd80ae92923a2}} 
typedef \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::Fitness {\bfseries Fitness}
\item 
\mbox{\Hypertarget{class_p_o_abba2c9ff41bea50ada9bd80ae92923a2}\label{class_p_o_abba2c9ff41bea50ada9bd80ae92923a2}} 
typedef \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::Fitness {\bfseries Fitness}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}{PO}} ()
\item 
\mbox{\Hypertarget{class_p_o_abef276b33f6521e90693493e1f1c7b6d}\label{class_p_o_abef276b33f6521e90693493e1f1c7b6d}} 
Fitness \mbox{\hyperlink{class_p_o_abef276b33f6521e90693493e1f1c7b6d}{fitness}} () const
\begin{DoxyCompactList}\small\item\em Return fitness value. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}{fitness}} (const Fitness \&\+\_\+fitness)
\item 
Fitness \mbox{\hyperlink{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}{best}} () const
\item 
void \mbox{\hyperlink{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}{best}} (const Fitness \&\+\_\+best\+Fitness)
\item 
bool \mbox{\hyperlink{class_p_o_a414a140852b8b5572c5896ba64ac147d}{invalid}} () const
\item 
void \mbox{\hyperlink{class_p_o_a583c241250d5e44a9e4e873eaf96f524}{invalidate}} ()
\item 
bool \mbox{\hyperlink{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}{invalid\+Best}} () const
\item 
void \mbox{\hyperlink{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}{invalidate\+Best}} ()
\item 
virtual std\+::string \mbox{\hyperlink{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}{class\+Name}} () const
\item 
bool \mbox{\hyperlink{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}{operator$<$}} (const \mbox{\hyperlink{class_p_o}{PO}} \&\+\_\+po2) const
\item 
\mbox{\Hypertarget{class_p_o_a0c76a5451712d808f81de1ccad60db38}\label{class_p_o_a0c76a5451712d808f81de1ccad60db38}} 
bool {\bfseries operator$>$} (const \mbox{\hyperlink{class_p_o}{PO}} \&\+\_\+po2) const
\item 
virtual void \mbox{\hyperlink{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}{print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
virtual void \mbox{\hyperlink{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}{read\+From}} (std\+::istream \&\+\_\+is)
\item 
\mbox{\hyperlink{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}{PO}} ()
\item 
\mbox{\Hypertarget{class_p_o_abef276b33f6521e90693493e1f1c7b6d}\label{class_p_o_abef276b33f6521e90693493e1f1c7b6d}} 
Fitness \mbox{\hyperlink{class_p_o_abef276b33f6521e90693493e1f1c7b6d}{fitness}} () const
\begin{DoxyCompactList}\small\item\em Return fitness value. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}{fitness}} (const Fitness \&\+\_\+fitness)
\item 
Fitness \mbox{\hyperlink{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}{best}} () const
\item 
void \mbox{\hyperlink{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}{best}} (const Fitness \&\+\_\+best\+Fitness)
\item 
bool \mbox{\hyperlink{class_p_o_a414a140852b8b5572c5896ba64ac147d}{invalid}} () const
\item 
void \mbox{\hyperlink{class_p_o_a583c241250d5e44a9e4e873eaf96f524}{invalidate}} ()
\item 
bool \mbox{\hyperlink{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}{invalid\+Best}} () const
\item 
void \mbox{\hyperlink{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}{invalidate\+Best}} ()
\item 
virtual std\+::string \mbox{\hyperlink{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}{class\+Name}} () const
\item 
bool \mbox{\hyperlink{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}{operator$<$}} (const \mbox{\hyperlink{class_p_o}{PO}} \&\+\_\+po2) const
\item 
\mbox{\Hypertarget{class_p_o_a0c76a5451712d808f81de1ccad60db38}\label{class_p_o_a0c76a5451712d808f81de1ccad60db38}} 
bool {\bfseries operator$>$} (const \mbox{\hyperlink{class_p_o}{PO}} \&\+\_\+po2) const
\item 
virtual void \mbox{\hyperlink{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}{print\+On}} (std\+::ostream \&\+\_\+os) const
\item 
virtual void \mbox{\hyperlink{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}{read\+From}} (std\+::istream \&\+\_\+is)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class F$>$\newline
class P\+O$<$ F $>$}

\mbox{\hyperlink{class_p_o}{PO}} inheriting from \mbox{\hyperlink{class_e_o}{EO}} is specially designed for particle swarm optimization particle.\+P\+Os have got a fitness, which at the same time needs to be only an object with the operation less than ($<$) defined. A best fitness also belongs to the particle.\+Fitness says how good is the particle for a current iteration whereas the best fitness can be saved for many iterations. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}\label{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!PO@{PO}}
\index{PO@{PO}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{PO()}{PO()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
\mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::\mbox{\hyperlink{class_p_o}{PO}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default constructor. Fitness must have a ctor which takes 0 as a value. Best fitness mush also have the same constructor. \mbox{\Hypertarget{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}\label{class_p_o_aa805ddf2403823c026a33a2ddda83e0f}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!PO@{PO}}
\index{PO@{PO}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{PO()}{PO()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
\mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::\mbox{\hyperlink{class_p_o}{PO}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default constructor. Fitness must have a ctor which takes 0 as a value. Best fitness mush also have the same constructor. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}\label{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!best@{best}}
\index{best@{best}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
Fitness \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return the best fitness. \begin{DoxyReturn}{Returns}
best\+Fitness 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}\label{class_p_o_a7d5ab515bdbeaf32b89477a166aaebf3}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!best@{best}}
\index{best@{best}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
Fitness \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return the best fitness. \begin{DoxyReturn}{Returns}
best\+Fitness 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}\label{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!best@{best}}
\index{best@{best}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::best (\begin{DoxyParamCaption}\item[{const Fitness \&}]{\+\_\+best\+Fitness }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set the best fitness. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+best\+Fitness} & New best fitness found for the particle. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}\label{class_p_o_aa05e4fe2a8b14d79968508d8f4ddfaa4}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!best@{best}}
\index{best@{best}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::best (\begin{DoxyParamCaption}\item[{const Fitness \&}]{\+\_\+best\+Fitness }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set the best fitness. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+best\+Fitness} & New best fitness found for the particle. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}\label{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!className@{className}}
\index{className@{className}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual std\+::string \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id. \begin{DoxyReturn}{Returns}
the class name as a std\+::string 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_e_o_a86cb81888403705d8b73ad054bc8d3ba}{E\+O$<$ F $>$}}.

\mbox{\Hypertarget{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}\label{class_p_o_a3423ce2f64b4fe6f94862f6beaada435}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!className@{className}}
\index{className@{className}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual std\+::string \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id. \begin{DoxyReturn}{Returns}
the class name as a std\+::string 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_e_o_a86cb81888403705d8b73ad054bc8d3ba}{E\+O$<$ F $>$}}.

\mbox{\Hypertarget{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}\label{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!fitness@{fitness}}
\index{fitness@{fitness}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{fitness()}{fitness()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::fitness (\begin{DoxyParamCaption}\item[{const Fitness \&}]{\+\_\+fitness }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set fitness. At the same time, validates it. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+fitness} & New fitness value. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}\label{class_p_o_ad5159a5b4efa5d2bf4845eda6fc5049c}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!fitness@{fitness}}
\index{fitness@{fitness}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{fitness()}{fitness()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::fitness (\begin{DoxyParamCaption}\item[{const Fitness \&}]{\+\_\+fitness }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set fitness. At the same time, validates it. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+fitness} & New fitness value. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_p_o_a414a140852b8b5572c5896ba64ac147d}\label{class_p_o_a414a140852b8b5572c5896ba64ac147d}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalid@{invalid}}
\index{invalid@{invalid}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalid()}{invalid()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalid (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return true If fitness value is invalid, false otherwise. \begin{DoxyReturn}{Returns}
true If fitness is invalid. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a414a140852b8b5572c5896ba64ac147d}\label{class_p_o_a414a140852b8b5572c5896ba64ac147d}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalid@{invalid}}
\index{invalid@{invalid}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalid()}{invalid()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalid (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return true If fitness value is invalid, false otherwise. \begin{DoxyReturn}{Returns}
true If fitness is invalid. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a583c241250d5e44a9e4e873eaf96f524}\label{class_p_o_a583c241250d5e44a9e4e873eaf96f524}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidate()}{invalidate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Invalidate the fitness. \begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a583c241250d5e44a9e4e873eaf96f524}\label{class_p_o_a583c241250d5e44a9e4e873eaf96f524}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidate()}{invalidate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Invalidate the fitness. \begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}\label{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidateBest@{invalidateBest}}
\index{invalidateBest@{invalidateBest}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidateBest()}{invalidateBest()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalidate\+Best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Invalidate the best fitness. \begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}\label{class_p_o_ad6c1c6b8ffc7b6a2b9ab6d2e6d384057}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidateBest@{invalidateBest}}
\index{invalidateBest@{invalidateBest}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidateBest()}{invalidateBest()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalidate\+Best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Invalidate the best fitness. \begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}\label{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidBest@{invalidBest}}
\index{invalidBest@{invalidBest}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidBest()}{invalidBest()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalid\+Best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return true If the best fitness value is invalid, false otherwise. \begin{DoxyReturn}{Returns}
true If the bestfitness is invalid. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}\label{class_p_o_a1b02066ab5a75a46bc81a04e38b1ce5f}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!invalidBest@{invalidBest}}
\index{invalidBest@{invalidBest}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{invalidBest()}{invalidBest()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::invalid\+Best (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Return true If the best fitness value is invalid, false otherwise. \begin{DoxyReturn}{Returns}
true If the bestfitness is invalid. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}\label{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$ \&}]{\+\_\+po2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns true if \begin{DoxyReturn}{Returns}
true if the fitness is higher 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}\label{class_p_o_a18858fa49bedc9eb079d43ca5f8ab9a6}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
bool \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$ \&}]{\+\_\+po2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns true if \begin{DoxyReturn}{Returns}
true if the fitness is higher 
\end{DoxyReturn}
\mbox{\Hypertarget{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}\label{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!printOn@{printOn}}
\index{printOn@{printOn}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

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


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



Reimplemented in \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, Position\+Type, Velocity\+Type $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, double, double $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, bool, double $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, Position\+Type, Velocity\+Type $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, double, double $>$}}, and \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, bool, double $>$}}.

\mbox{\Hypertarget{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}\label{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!printOn@{printOn}}
\index{printOn@{printOn}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

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


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



Reimplemented in \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, Position\+Type, Velocity\+Type $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, double, double $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, bool, double $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, Position\+Type, Velocity\+Type $>$}}, \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, double, double $>$}}, and \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{eo\+Vector\+Particle$<$ Fit\+T, bool, double $>$}}.

\mbox{\Hypertarget{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}\label{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::read\+From (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Read object.\textbackslash{} Calls base class, just in case that one had something to do. The read and print methods should be compatible and have the same format. In principle, format is \char`\"{}plain\char`\"{}\+: they just print a number 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & a std\+::istream. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em runtime\+\_\+std\+::exception} & If a valid object can\textquotesingle{}t be read. \\
\hline
\end{DoxyExceptions}


Reimplemented from \mbox{\hyperlink{class_e_o_a8d98b330d6a8c2b4e3371eae2b2d7e48}{E\+O$<$ F $>$}}.

\mbox{\Hypertarget{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}\label{class_p_o_a2ccb6c62ba4284688628b604753cdf3a}} 
\index{PO$<$ F $>$@{PO$<$ F $>$}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!PO$<$ F $>$@{PO$<$ F $>$}}
\doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class F $>$ \\
virtual void \mbox{\hyperlink{class_p_o}{PO}}$<$ F $>$\+::read\+From (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Read object.\textbackslash{} Calls base class, just in case that one had something to do. The read and print methods should be compatible and have the same format. In principle, format is \char`\"{}plain\char`\"{}\+: they just print a number 
\begin{DoxyParams}{Parameters}
{\em \+\_\+is} & a std\+::istream. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em runtime\+\_\+std\+::exception} & If a valid object can\textquotesingle{}t be read. \\
\hline
\end{DoxyExceptions}


Reimplemented from \mbox{\hyperlink{class_e_o_a8d98b330d6a8c2b4e3371eae2b2d7e48}{E\+O$<$ F $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/P\+O.\+h\end{DoxyCompactItemize}
