\hypertarget{classmoeo_vector}{}\doxysection{moeo\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$ Class Template Reference} \label{classmoeo_vector}\index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} {\ttfamily \#include $<$moeo\+Vector.\+h$>$} Inheritance diagram for moeo\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_vector__inherit__graph} \end{center} \end{figure} Collaboration diagram for moeo\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_vector__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item typedef Gene\+Type \mbox{\hyperlink{classmoeo_vector_a2319e69df9adf49e153e6ee74c70355e}{Atom\+Type}} \item typedef std\+::vector$<$ Gene\+Type $>$ \mbox{\hyperlink{classmoeo_vector_a226491bbf07c9fe9a9162b325e8ca4c4}{Container\+Type}} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classmoeo_vector_a4fbce95d874794a69012e58d6d78ae3e}{moeo\+Vector}} (unsigned int \+\_\+size=0, Gene\+Type \+\_\+value=Gene\+Type()) \item void \mbox{\hyperlink{classmoeo_vector_a6f145848509452564b461a3523cea6f1}{value}} (const std\+::vector$<$ Gene\+Type $>$ \&\+\_\+v) \item bool \mbox{\hyperlink{classmoeo_vector_a914b63b2863bb29ba9e56fa05142afea}{operator$<$}} (const \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$ \&\+\_\+moeo) const \item virtual void \mbox{\hyperlink{classmoeo_vector_afd95fb4226c67d61285ed12463bbca53}{print\+On}} (std\+::ostream \&\+\_\+os) const \item virtual void \mbox{\hyperlink{classmoeo_vector_aa1826d283c0bcf5140f629ba1d9a14bc}{read\+From}} (std\+::istream \&\+\_\+is) \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class M\+O\+E\+O\+Objective\+Vector, class Gene\+Type, class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$\newline class moeo\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$} Base class for fixed length chromosomes, just derives from \mbox{\hyperlink{class_m_o_e_o}{M\+O\+EO}} and std\+::vector and redirects the smaller than operator to \mbox{\hyperlink{class_m_o_e_o}{M\+O\+EO}} (objective vector based comparison). Gene\+Type must have the following methods\+: void ctor (needed for the std\+::vector$<$$>$), copy ctor. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{classmoeo_vector_a2319e69df9adf49e153e6ee74c70355e}\label{classmoeo_vector_a2319e69df9adf49e153e6ee74c70355e}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!AtomType@{AtomType}} \index{AtomType@{AtomType}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{AtomType}{AtomType}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ typedef Gene\+Type \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::\mbox{\hyperlink{classmoeo_vector_a2319e69df9adf49e153e6ee74c70355e}{Atom\+Type}}} the atomic type \mbox{\Hypertarget{classmoeo_vector_a226491bbf07c9fe9a9162b325e8ca4c4}\label{classmoeo_vector_a226491bbf07c9fe9a9162b325e8ca4c4}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!ContainerType@{ContainerType}} \index{ContainerType@{ContainerType}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{ContainerType}{ContainerType}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ typedef std\+::vector$<$ Gene\+Type $>$ \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::\mbox{\hyperlink{classmoeo_vector_a226491bbf07c9fe9a9162b325e8ca4c4}{Container\+Type}}} the container type \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classmoeo_vector_a4fbce95d874794a69012e58d6d78ae3e}\label{classmoeo_vector_a4fbce95d874794a69012e58d6d78ae3e}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!moeoVector@{moeoVector}} \index{moeoVector@{moeoVector}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{moeoVector()}{moeoVector()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::\mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}} (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+size = {\ttfamily 0}, }\item[{Gene\+Type}]{\+\_\+value = {\ttfamily GeneType()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Default ctor. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & Length of vector (default is 0) \\ \hline {\em \+\_\+value} & Initial value of all elements (default is default value of type Gene\+Type) \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classmoeo_vector_a914b63b2863bb29ba9e56fa05142afea}\label{classmoeo_vector_a914b63b2863bb29ba9e56fa05142afea}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ bool \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$ \&}]{\+\_\+moeo }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} To avoid conflicts between \mbox{\hyperlink{class_m_o_e_o_ad38eef435511ba3a5a310712a608f4ab}{M\+O\+E\+O\+::operator$<$}} and std\+::vector$<$\+Gene\+Type$>$\+::operator$<$ \begin{DoxyParams}{Parameters} {\em \+\_\+moeo} & the object to compare with \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_vector_afd95fb4226c67d61285ed12463bbca53}\label{classmoeo_vector_afd95fb4226c67d61285ed12463bbca53}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!printOn@{printOn}} \index{printOn@{printOn}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ virtual void \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Writing object \begin{DoxyParams}{Parameters} {\em \+\_\+os} & output stream \\ \hline \end{DoxyParams} Reimplemented from \mbox{\hyperlink{class_m_o_e_o_a99e3dbc645fd2c23a82e9303683a05c5}{M\+O\+E\+O$<$ M\+O\+E\+O\+Objective\+Vector, double, double $>$}}. Reimplemented in \mbox{\hyperlink{classmoeo_bit_vector_ae54c36ce64b849a6846953a25247a861}{moeo\+Bit\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$}}. \mbox{\Hypertarget{classmoeo_vector_aa1826d283c0bcf5140f629ba1d9a14bc}\label{classmoeo_vector_aa1826d283c0bcf5140f629ba1d9a14bc}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!readFrom@{readFrom}} \index{readFrom@{readFrom}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{readFrom()}{readFrom()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ virtual void \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::read\+From (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Reading object \begin{DoxyParams}{Parameters} {\em \+\_\+is} & input stream \\ \hline \end{DoxyParams} Reimplemented from \mbox{\hyperlink{class_m_o_e_o_a1bbd9cb1a7709592bf4bc29dff8c5273}{M\+O\+E\+O$<$ M\+O\+E\+O\+Objective\+Vector, double, double $>$}}. Reimplemented in \mbox{\hyperlink{classmoeo_bit_vector_a31cd3f894615d0a27dd116a5c8082521}{moeo\+Bit\+Vector$<$ M\+O\+E\+O\+Objective\+Vector, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$}}. \mbox{\Hypertarget{classmoeo_vector_a6f145848509452564b461a3523cea6f1}\label{classmoeo_vector_a6f145848509452564b461a3523cea6f1}} \index{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}!value@{value}} \index{value@{value}!moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$@{moeoVector$<$ MOEOObjectiveVector, GeneType, MOEOFitness, MOEODiversity $>$}} \doxysubsubsection{\texorpdfstring{value()}{value()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+O\+Objective\+Vector , class Gene\+Type , class M\+O\+E\+O\+Fitness = double, class M\+O\+E\+O\+Diversity = double$>$ \\ void \mbox{\hyperlink{classmoeo_vector}{moeo\+Vector}}$<$ M\+O\+E\+O\+Objective\+Vector, Gene\+Type, M\+O\+E\+O\+Fitness, M\+O\+E\+O\+Diversity $>$\+::value (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ Gene\+Type $>$ \&}]{\+\_\+v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} We can\textquotesingle{}t have a Ctor from a std\+::vector as it would create ambiguity with the copy Ctor. \begin{DoxyParams}{Parameters} {\em \+\_\+v} & a vector of Gene\+Type \\ \hline \end{DoxyParams} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item moeo/src/core/moeo\+Vector.\+h\end{DoxyCompactItemize}