\hypertarget{classeo_scalar_fitness}{}\doxysection{eo\+Scalar\+Fitness$<$ Scalar\+Type, Compare $>$ Class Template Reference} \label{classeo_scalar_fitness}\index{eoScalarFitness$<$ ScalarType, Compare $>$@{eoScalarFitness$<$ ScalarType, Compare $>$}} {\ttfamily \#include $<$eo\+Scalar\+Fitness.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_scalar_fitness_afc76b5bd4f27f9c3694d7d3553ff113e}\label{classeo_scalar_fitness_afc76b5bd4f27f9c3694d7d3553ff113e}} using {\bfseries Scalar\+Type} = S\+C\+A\+L\+AR \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_scalar_fitness_af6021c869e4b9fb76b5343132e3f2c8f}\label{classeo_scalar_fitness_af6021c869e4b9fb76b5343132e3f2c8f}} {\bfseries eo\+Scalar\+Fitness} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) \item \mbox{\Hypertarget{classeo_scalar_fitness_a4ec4d7443280341dd60424eff40db5c5}\label{classeo_scalar_fitness_a4ec4d7443280341dd60424eff40db5c5}} {\bfseries eo\+Scalar\+Fitness} (const Scalar\+Type \&v) \item \mbox{\Hypertarget{classeo_scalar_fitness_aaff832bc4690092965a17ee9556f1b9a}\label{classeo_scalar_fitness_aaff832bc4690092965a17ee9556f1b9a}} \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \& {\bfseries operator=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) \item \mbox{\Hypertarget{classeo_scalar_fitness_a7721fa980ddf22b926e1a60d6dd99e6b}\label{classeo_scalar_fitness_a7721fa980ddf22b926e1a60d6dd99e6b}} \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \& {\bfseries operator=} (const Scalar\+Type \&v) \item \mbox{\hyperlink{classeo_scalar_fitness_a29462d1ea710197bda92e41455314f6d}{operator Scalar\+Type}} (void) const \item \mbox{\Hypertarget{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}\label{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}} bool \mbox{\hyperlink{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}{operator$<$}} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) const \begin{DoxyCompactList}\small\item\em Comparison, using less by default. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_scalar_fitness_a7e49eac6ce3714b66f1257a180bb3bda}\label{classeo_scalar_fitness_a7e49eac6ce3714b66f1257a180bb3bda}} bool \mbox{\hyperlink{classeo_scalar_fitness_a7e49eac6ce3714b66f1257a180bb3bda}{operator$<$}} (const Scalar\+Type \&other) const \begin{DoxyCompactList}\small\item\em Comparison, using less by default. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_scalar_fitness_a18343bea27cd21166ffb09c1afff1cc6}\label{classeo_scalar_fitness_a18343bea27cd21166ffb09c1afff1cc6}} bool {\bfseries operator$>$} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ Scalar\+Type, Compare $>$ \&y) const \item \mbox{\Hypertarget{classeo_scalar_fitness_a39c687254a2228ecf913365d87afa430}\label{classeo_scalar_fitness_a39c687254a2228ecf913365d87afa430}} bool {\bfseries operator$<$=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ Scalar\+Type, Compare $>$ \&y) const \item \mbox{\Hypertarget{classeo_scalar_fitness_a0e5e602906a4c8f3f43d36a4f2708616}\label{classeo_scalar_fitness_a0e5e602906a4c8f3f43d36a4f2708616}} bool {\bfseries operator$>$=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ Scalar\+Type, Compare $>$ \&y) const \item \mbox{\Hypertarget{classeo_scalar_fitness_af6021c869e4b9fb76b5343132e3f2c8f}\label{classeo_scalar_fitness_af6021c869e4b9fb76b5343132e3f2c8f}} {\bfseries eo\+Scalar\+Fitness} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) \item \mbox{\Hypertarget{classeo_scalar_fitness_a7f53d671a645556b8a4bf762ade11e0d}\label{classeo_scalar_fitness_a7f53d671a645556b8a4bf762ade11e0d}} {\bfseries eo\+Scalar\+Fitness} (const S\+C\+A\+L\+AR \&v) \item \mbox{\Hypertarget{classeo_scalar_fitness_aaff832bc4690092965a17ee9556f1b9a}\label{classeo_scalar_fitness_aaff832bc4690092965a17ee9556f1b9a}} \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \& {\bfseries operator=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) \item \mbox{\Hypertarget{classeo_scalar_fitness_a939bbbe450a56911da629101b320a923}\label{classeo_scalar_fitness_a939bbbe450a56911da629101b320a923}} \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \& {\bfseries operator=} (const S\+C\+A\+L\+AR \&v) \item \mbox{\hyperlink{classeo_scalar_fitness_a95a14e3bbfcf56a4dce618bb43cecbcc}{operator S\+C\+A\+L\+AR}} (void) const \item \mbox{\Hypertarget{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}\label{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}} bool \mbox{\hyperlink{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}{operator$<$}} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} \&other) const \begin{DoxyCompactList}\small\item\em Comparison, using less by default. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_scalar_fitness_a839316f418ceeae49f06bc5aacadec04}\label{classeo_scalar_fitness_a839316f418ceeae49f06bc5aacadec04}} bool \mbox{\hyperlink{classeo_scalar_fitness_a839316f418ceeae49f06bc5aacadec04}{operator$<$}} (const S\+C\+A\+L\+AR \&other) const \begin{DoxyCompactList}\small\item\em Comparison, using less by default. \end{DoxyCompactList}\item \mbox{\Hypertarget{classeo_scalar_fitness_acef98dbf70d49f152f4bdfc455f67913}\label{classeo_scalar_fitness_acef98dbf70d49f152f4bdfc455f67913}} bool {\bfseries operator$>$} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ S\+C\+A\+L\+AR, C\+MP $>$ \&y) const \item \mbox{\Hypertarget{classeo_scalar_fitness_ad15af2de8d9dcf0511545c572e6db663}\label{classeo_scalar_fitness_ad15af2de8d9dcf0511545c572e6db663}} bool {\bfseries operator$<$=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ S\+C\+A\+L\+AR, C\+MP $>$ \&y) const \item \mbox{\Hypertarget{classeo_scalar_fitness_a4313c20272a46a97257cb4301d4c2f00}\label{classeo_scalar_fitness_a4313c20272a46a97257cb4301d4c2f00}} bool {\bfseries operator$>$=} (const \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ S\+C\+A\+L\+AR, C\+MP $>$ \&y) const \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Scalar\+Type, class Compare$>$\newline class eo\+Scalar\+Fitness$<$ Scalar\+Type, Compare $>$} Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less$<$\+Scalar\+Type$>$) or minimizing (using greater$<$\+Scalar\+Type$>$) It overrides \mbox{\hyperlink{classeo_scalar_fitness_ac38f3a5d24107c04e0d7bcc4e9524916}{operator$<$()}} to use the Compare template argument.~Thus, if you need to compare if an indiv1 is \char`\"{}better\char`\"{} than an indiv2, you can use\+: if( indiv1 $>$ indiv2 ) \{ // indiv1 is better \} else \{ // indiv2 is better \} Suitable constructors and assignments and casts are defined to work with this quantity as if it were a Scalar\+Type. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_scalar_fitness_a95a14e3bbfcf56a4dce618bb43cecbcc}\label{classeo_scalar_fitness_a95a14e3bbfcf56a4dce618bb43cecbcc}} \index{eoScalarFitness$<$ ScalarType, Compare $>$@{eoScalarFitness$<$ ScalarType, Compare $>$}!operator SCALAR@{operator SCALAR}} \index{operator SCALAR@{operator SCALAR}!eoScalarFitness$<$ ScalarType, Compare $>$@{eoScalarFitness$<$ ScalarType, Compare $>$}} \doxysubsubsection{\texorpdfstring{operator SCALAR()}{operator SCALAR()}} {\footnotesize\ttfamily template$<$class Scalar\+Type , class Compare $>$ \\ \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ Scalar\+Type, Compare $>$\+::operator S\+C\+A\+L\+AR (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} Conversion operator\+: it permits to use a fitness instance as its scalar type, if needed.~For example, this is possible\+: \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$double,std\+::less$<$double$>$ $>$ fit; double val = 1.\+0; fit = val; val = fit; \mbox{\Hypertarget{classeo_scalar_fitness_a29462d1ea710197bda92e41455314f6d}\label{classeo_scalar_fitness_a29462d1ea710197bda92e41455314f6d}} \index{eoScalarFitness$<$ ScalarType, Compare $>$@{eoScalarFitness$<$ ScalarType, Compare $>$}!operator ScalarType@{operator ScalarType}} \index{operator ScalarType@{operator ScalarType}!eoScalarFitness$<$ ScalarType, Compare $>$@{eoScalarFitness$<$ ScalarType, Compare $>$}} \doxysubsubsection{\texorpdfstring{operator ScalarType()}{operator ScalarType()}} {\footnotesize\ttfamily template$<$class Scalar\+Type , class Compare $>$ \\ \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$ Scalar\+Type, Compare $>$\+::operator Scalar\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} Conversion operator\+: it permits to use a fitness instance as its scalar type, if needed.~For example, this is possible\+: \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}}$<$double,std\+::less$<$double$>$ $>$ fit; double val = 1.\+0; fit = val; val = fit; The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+Scalar\+Fitness.\+h\end{DoxyCompactItemize}