\hypertarget{structeo_eval_func_ptr}{}\doxysection{eo\+Eval\+Func\+Ptr$<$ E\+OT, FitT, Function\+Arg $>$ Struct Template Reference}
\label{structeo_eval_func_ptr}\index{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$@{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$}}


{\ttfamily \#include $<$eo\+Eval\+Func\+Ptr.\+h$>$}



Inheritance diagram for eo\+Eval\+Func\+Ptr$<$ E\+OT, FitT, Function\+Arg $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{structeo_eval_func_ptr__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Eval\+Func\+Ptr$<$ E\+OT, FitT, Function\+Arg $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{structeo_eval_func_ptr__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}{eo\+Eval\+Func\+Ptr}} (\mbox{\hyperlink{classeo_scalar_fitness}{FitT}}($\ast$\+\_\+eval)(Function\+Arg))
\item 
\mbox{\Hypertarget{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}\label{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}} 
virtual void \mbox{\hyperlink{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
\begin{DoxyCompactList}\small\item\em Effectively applies the evaluation function to an \mbox{\hyperlink{class_e_o}{EO}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}{eo\+Eval\+Func\+Ptr}} (\mbox{\hyperlink{classeo_scalar_fitness}{FitT}}($\ast$\+\_\+eval)(Function\+Arg))
\item 
\mbox{\Hypertarget{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}\label{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}} 
virtual void \mbox{\hyperlink{structeo_eval_func_ptr_aea3dbddb89d1aa3f64c18357cd23ca4f}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
\begin{DoxyCompactList}\small\item\em Effectively applies the evaluation function to an \mbox{\hyperlink{class_e_o}{EO}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class E\+OT, class FitT = typename E\+O\+T\+::\+Fitness, class Function\+Arg = const E\+O\+T\&$>$\newline
struct eo\+Eval\+Func\+Ptr$<$ E\+O\+T, Fit\+T, Function\+Arg $>$}

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

\DoxyHorRuler{0}
 eo\+Eval\+Func\+Ptr.\+h Converts a classical C fitness evaluation function into a fitness evaluation object

(c) Ge\+Neura Team, 2000

This library is free software; you can redistribute it and/or modify it under the terms of the G\+NU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Lesser General Public License for more details.

You should have received a copy of the G\+NU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-\/1307 U\+SA

Contact\+: \href{mailto:todos@geneura.ugr.es}{\texttt{ todos@geneura.\+ugr.\+es}}, \href{http://geneura.ugr.es}{\texttt{ http\+://geneura.\+ugr.\+es}} E\+O\+Eval\+Func\+Ptr\+: This class takes an existing function pointer and converts it into a evaluation function class. That way, old style C or C++ functions can be adapted to \mbox{\hyperlink{class_e_o}{EO}} function classes. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}\label{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}} 
\index{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$@{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$}!eoEvalFuncPtr@{eoEvalFuncPtr}}
\index{eoEvalFuncPtr@{eoEvalFuncPtr}!eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$@{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$}}
\doxysubsubsection{\texorpdfstring{eoEvalFuncPtr()}{eoEvalFuncPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT , class FitT  = typename E\+O\+T\+::\+Fitness, class Function\+Arg  = const E\+O\+T\&$>$ \\
\mbox{\hyperlink{structeo_eval_func_ptr}{eo\+Eval\+Func\+Ptr}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}}, \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Function\+Arg $>$\+::\mbox{\hyperlink{structeo_eval_func_ptr}{eo\+Eval\+Func\+Ptr}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_scalar_fitness}{FitT}}($\ast$)(Function\+Arg)}]{\+\_\+eval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Applies the function to the chromosome and sets the fitness of the \mbox{\hyperlink{class_chrom}{Chrom}}. Thus, the evaluation function need not be worried about that. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+eval} & pointer to the evaluation function, takes a E\+OT as an argument and returns the fitness \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the evaluated fitness for that object. 
\end{DoxyReturn}
\mbox{\Hypertarget{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}\label{structeo_eval_func_ptr_ac67cf28cf812a01dd5851a4983e57ec4}} 
\index{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$@{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$}!eoEvalFuncPtr@{eoEvalFuncPtr}}
\index{eoEvalFuncPtr@{eoEvalFuncPtr}!eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$@{eoEvalFuncPtr$<$ EOT, FitT, FunctionArg $>$}}
\doxysubsubsection{\texorpdfstring{eoEvalFuncPtr()}{eoEvalFuncPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT , class FitT  = typename E\+O\+T\+::\+Fitness, class Function\+Arg  = const E\+O\+T\&$>$ \\
\mbox{\hyperlink{structeo_eval_func_ptr}{eo\+Eval\+Func\+Ptr}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}}, \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Function\+Arg $>$\+::\mbox{\hyperlink{structeo_eval_func_ptr}{eo\+Eval\+Func\+Ptr}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_scalar_fitness}{FitT}}($\ast$)(Function\+Arg)}]{\+\_\+eval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Applies the function to the chromosome and sets the fitness of the \mbox{\hyperlink{class_chrom}{Chrom}}. Thus, the evaluation function need not be worried about that. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+eval} & pointer to the evaluation function, takes a E\+OT as an argument and returns the fitness \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the evaluated fitness for that object. 
\end{DoxyReturn}


The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/eo\+Eval\+Func\+Ptr.\+h\end{DoxyCompactItemize}
