\hypertarget{classmoeo_objective_vector}{}\doxysection{moeo\+Objective\+Vector$<$ Objective\+Vector\+Traits, Objective\+Vector\+Type $>$ Class Template Reference} \label{classmoeo_objective_vector}\index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} {\ttfamily \#include $<$moeo\+Objective\+Vector.\+h$>$} Inheritance diagram for moeo\+Objective\+Vector$<$ Objective\+Vector\+Traits, Objective\+Vector\+Type $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=237pt]{classmoeo_objective_vector__inherit__graph} \end{center} \end{figure} Collaboration diagram for moeo\+Objective\+Vector$<$ Objective\+Vector\+Traits, Objective\+Vector\+Type $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=237pt]{classmoeo_objective_vector__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item typedef \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}} \mbox{\hyperlink{classmoeo_objective_vector_a21ee0475420b613951b96a550e814fbb}{Traits}} \item typedef Objective\+Vector\+Type \mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classmoeo_objective_vector_a084e9d2cecbf9ea66e4b68537457109f}{moeo\+Objective\+Vector}} (\mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}} \+\_\+value=\mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}}()) \item \mbox{\hyperlink{classmoeo_objective_vector_ac504cb6a2086a80aaaf41978032c8ce7}{moeo\+Objective\+Vector}} (std\+::vector$<$ \mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}} $>$ \&\+\_\+v) \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static void \mbox{\hyperlink{classmoeo_objective_vector_a0593e2d91be697d9b255513236cb207f}{setup}} (unsigned int \+\_\+n\+Objectives, std\+::vector$<$ bool $>$ \&\+\_\+b\+Objectives) \item static unsigned int \mbox{\hyperlink{classmoeo_objective_vector_a4c9a17116e0a95b4e3191f299e10fc9d}{n\+Objectives}} () \item static bool \mbox{\hyperlink{classmoeo_objective_vector_adecaf6e3b9a9ac97461d2b271facfc5f}{minimizing}} (unsigned int \+\_\+i) \item static bool \mbox{\hyperlink{classmoeo_objective_vector_ab62231b0e1c6bb6bab43d6d058871ce3}{maximizing}} (unsigned int \+\_\+i) \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Objective\+Vector\+Traits, class Objective\+Vector\+Type$>$\newline class moeo\+Objective\+Vector$<$ Objective\+Vector\+Traits, Objective\+Vector\+Type $>$} Abstract class allowing to represent a solution in the objective space (phenotypic representation). The template argument \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}} defaults to \mbox{\hyperlink{classmoeo_objective_vector_traits}{moeo\+Objective\+Vector\+Traits}}, but it can be replaced at will by any other class that implements the static functions defined therein. Some static funtions to access to the traits characteristics are re-\/defined in order not to write a lot of typedef\textquotesingle{}s. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{classmoeo_objective_vector_a21ee0475420b613951b96a550e814fbb}\label{classmoeo_objective_vector_a21ee0475420b613951b96a550e814fbb}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!Traits@{Traits}} \index{Traits@{Traits}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{Traits}{Traits}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ typedef \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}} \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_a21ee0475420b613951b96a550e814fbb}{Traits}}} The traits of objective vectors \mbox{\Hypertarget{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}\label{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!Type@{Type}} \index{Type@{Type}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{Type}{Type}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ typedef Objective\+Vector\+Type \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}}} The type of an objective value \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classmoeo_objective_vector_a084e9d2cecbf9ea66e4b68537457109f}\label{classmoeo_objective_vector_a084e9d2cecbf9ea66e4b68537457109f}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!moeoObjectiveVector@{moeoObjectiveVector}} \index{moeoObjectiveVector@{moeoObjectiveVector}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVector()}{moeoObjectiveVector()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::\mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}}}]{\+\_\+value = {\ttfamily \mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}}()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor \mbox{\Hypertarget{classmoeo_objective_vector_ac504cb6a2086a80aaaf41978032c8ce7}\label{classmoeo_objective_vector_ac504cb6a2086a80aaaf41978032c8ce7}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!moeoObjectiveVector@{moeoObjectiveVector}} \index{moeoObjectiveVector@{moeoObjectiveVector}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVector()}{moeoObjectiveVector()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::\mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}} (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \mbox{\hyperlink{classmoeo_objective_vector_ae86f199692cae43bc346be63130eb993}{Type}} $>$ \&}]{\+\_\+v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor from a vector of Type \begin{DoxyParams}{Parameters} {\em \+\_\+v} & the std\+::vector $<$ Type $>$ \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classmoeo_objective_vector_ab62231b0e1c6bb6bab43d6d058871ce3}\label{classmoeo_objective_vector_ab62231b0e1c6bb6bab43d6d058871ce3}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!maximizing@{maximizing}} \index{maximizing@{maximizing}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{maximizing()}{maximizing()}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ static bool \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::maximizing (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Returns true if the \+\_\+ith objective have to be maximized \begin{DoxyParams}{Parameters} {\em \+\_\+i} & the index \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_adecaf6e3b9a9ac97461d2b271facfc5f}\label{classmoeo_objective_vector_adecaf6e3b9a9ac97461d2b271facfc5f}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!minimizing@{minimizing}} \index{minimizing@{minimizing}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{minimizing()}{minimizing()}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ static bool \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::minimizing (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Returns true if the \+\_\+ith objective have to be minimized \begin{DoxyParams}{Parameters} {\em \+\_\+i} & the index \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_a4c9a17116e0a95b4e3191f299e10fc9d}\label{classmoeo_objective_vector_a4c9a17116e0a95b4e3191f299e10fc9d}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!nObjectives@{nObjectives}} \index{nObjectives@{nObjectives}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{nObjectives()}{nObjectives()}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ static unsigned int \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::n\+Objectives (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Returns the number of objectives \mbox{\Hypertarget{classmoeo_objective_vector_a0593e2d91be697d9b255513236cb207f}\label{classmoeo_objective_vector_a0593e2d91be697d9b255513236cb207f}} \index{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}!setup@{setup}} \index{setup@{setup}!moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$@{moeoObjectiveVector$<$ ObjectiveVectorTraits, ObjectiveVectorType $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}} {\footnotesize\ttfamily template$<$class Objective\+Vector\+Traits , class Objective\+Vector\+Type $>$ \\ static void \mbox{\hyperlink{classmoeo_objective_vector}{moeo\+Objective\+Vector}}$<$ \mbox{\hyperlink{class_objective_vector_traits}{Objective\+Vector\+Traits}}, Objective\+Vector\+Type $>$\+::setup (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+n\+Objectives, }\item[{std\+::vector$<$ bool $>$ \&}]{\+\_\+b\+Objectives }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{struct_parameters}{Parameters}} setting (for the objective vector of any solution) \begin{DoxyParams}{Parameters} {\em \+\_\+n\+Objectives} & the number of objectives \\ \hline {\em \+\_\+b\+Objectives} & the min/max vector (true = min / false = max) \\ \hline \end{DoxyParams} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item moeo/src/core/moeo\+Objective\+Vector.\+h\end{DoxyCompactItemize}