\hypertarget{classmoeo_quick_unbounded_archive_index}{}\doxysection{moeo\+Quick\+Unbounded\+Archive\+Index$<$ M\+O\+E\+OT $>$ Class Template Reference}
\label{classmoeo_quick_unbounded_archive_index}\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}


{\ttfamily \#include $<$moeo\+Quick\+Unbounded\+Archive\+Index.\+h$>$}



Inheritance diagram for moeo\+Quick\+Unbounded\+Archive\+Index$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=247pt]{classmoeo_quick_unbounded_archive_index__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for moeo\+Quick\+Unbounded\+Archive\+Index$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmoeo_quick_unbounded_archive_index__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_first}{Compare\+By\+First}}
\item 
struct \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{Compare\+By\+Last}}
\item 
struct \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last2}{Compare\+By\+Last2}}
\item 
struct \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1entree}{entree}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef M\+O\+E\+O\+T\+::\+Objective\+Vector \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_ac429192ddd76a2188b44f9dfef37b0a1}{Objective\+Vector}}
\item 
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a2010b2bd5f38ea4e16deaa5db4ff77c3}\label{classmoeo_quick_unbounded_archive_index_a2010b2bd5f38ea4e16deaa5db4ff77c3}} 
typedef \mbox{\hyperlink{classmoeo_archive_index}{moeo\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}} {\bfseries modif}
\item 
typedef std\+::set$<$ \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1entree}{entree}}, \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{Compare\+By\+Last}} $>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a5dfeaea971b98ecd4bee8fbf6e05f354}{M\+O\+E\+O\+T\+Index}}
\item 
typedef std\+::set$<$ \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1entree}{entree}}, \mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{Compare\+By\+Last}} $>$\+::iterator \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a514f8af5855749dd8bf53e1236f3bc67}{M\+O\+E\+O\+T\+Index\+Ite}}
\item 
typedef std\+::set$<$ M\+O\+E\+OT $>$\+::iterator \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a5dbd03db02227b62d8f436e28bc5ef07}{set\+\_\+ite}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a14284d90bdda5dbf625e50fbf86d8e79}{moeo\+Quick\+Unbounded\+Archive\+Index}} ()
\item 
bool \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a5718f28a259d9a28a7476b97ac4e4f40}{update}} (\mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}} \&\+\_\+update)
\item 
virtual std\+::pair$<$ bool, std\+::vector$<$ \mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}} $>$ $>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a427313cc26c9586713522ee496731beb}{operator()}} (const M\+O\+E\+OT \&\+\_\+moeo, bool \+\_\+insert=true)
\item 
virtual std\+::pair$<$ bool, std\+::vector$<$ \mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}} $>$ $>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_af02d8f4cfe7827ab9c8a4a5f292d3ba6}{insert}} (const M\+O\+E\+OT \&\+\_\+moeo, bool \+\_\+insert=true)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_ab761647e37b5f68d9ef1eb1f080b2637}\label{classmoeo_quick_unbounded_archive_index_ab761647e37b5f68d9ef1eb1f080b2637}} 
\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_first}{moeo\+Quick\+Unbounded\+Archive\+Index\+::\+Compare\+By\+First}} {\bfseries cbf}
\item 
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a53a7ce6fc062f5e8425bdab979d9fdcb}\label{classmoeo_quick_unbounded_archive_index_a53a7ce6fc062f5e8425bdab979d9fdcb}} 
\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{moeo\+Quick\+Unbounded\+Archive\+Index\+::\+Compare\+By\+Last}} {\bfseries cbl}
\item 
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_af9dc264c57e9d641ff81c11131a45952}\label{classmoeo_quick_unbounded_archive_index_af9dc264c57e9d641ff81c11131a45952}} 
\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last2}{moeo\+Quick\+Unbounded\+Archive\+Index\+::\+Compare\+By\+Last2}} {\bfseries cbl2}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class M\+O\+E\+OT$>$\newline
class moeo\+Quick\+Unbounded\+Archive\+Index$<$ M\+O\+E\+O\+T $>$}

Archive used for 2 dimension vectors which remove pareto dominated values the index is ordered following the first objective 

\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a5dfeaea971b98ecd4bee8fbf6e05f354}\label{classmoeo_quick_unbounded_archive_index_a5dfeaea971b98ecd4bee8fbf6e05f354}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!MOEOTIndex@{MOEOTIndex}}
\index{MOEOTIndex@{MOEOTIndex}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{MOEOTIndex}{MOEOTIndex}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
typedef std\+::set$<$\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1entree}{entree}},\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{Compare\+By\+Last}}$>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a5dfeaea971b98ecd4bee8fbf6e05f354}{M\+O\+E\+O\+T\+Index}}}

type for the index \mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a514f8af5855749dd8bf53e1236f3bc67}\label{classmoeo_quick_unbounded_archive_index_a514f8af5855749dd8bf53e1236f3bc67}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!MOEOTIndexIte@{MOEOTIndexIte}}
\index{MOEOTIndexIte@{MOEOTIndexIte}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{MOEOTIndexIte}{MOEOTIndexIte}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
typedef std\+::set$<$\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1entree}{entree}},\mbox{\hyperlink{structmoeo_quick_unbounded_archive_index_1_1_compare_by_last}{Compare\+By\+Last}}$>$\+::iterator \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a514f8af5855749dd8bf53e1236f3bc67}{M\+O\+E\+O\+T\+Index\+Ite}}}

iterator from the index \mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_ac429192ddd76a2188b44f9dfef37b0a1}\label{classmoeo_quick_unbounded_archive_index_ac429192ddd76a2188b44f9dfef37b0a1}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!ObjectiveVector@{ObjectiveVector}}
\index{ObjectiveVector@{ObjectiveVector}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{ObjectiveVector}{ObjectiveVector}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
typedef M\+O\+E\+O\+T\+::\+Objective\+Vector \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_ac429192ddd76a2188b44f9dfef37b0a1}{Objective\+Vector}}}

The type of an objective vector for a solution \mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a5dbd03db02227b62d8f436e28bc5ef07}\label{classmoeo_quick_unbounded_archive_index_a5dbd03db02227b62d8f436e28bc5ef07}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!set\_ite@{set\_ite}}
\index{set\_ite@{set\_ite}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{set\_ite}{set\_ite}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
typedef std\+::set$<$M\+O\+E\+OT$>$\+::iterator \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index_a5dbd03db02227b62d8f436e28bc5ef07}{set\+\_\+ite}}}

iterator for gcc stop being annoying 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a14284d90bdda5dbf625e50fbf86d8e79}\label{classmoeo_quick_unbounded_archive_index_a14284d90bdda5dbf625e50fbf86d8e79}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!moeoQuickUnboundedArchiveIndex@{moeoQuickUnboundedArchiveIndex}}
\index{moeoQuickUnboundedArchiveIndex@{moeoQuickUnboundedArchiveIndex}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoQuickUnboundedArchiveIndex()}{moeoQuickUnboundedArchiveIndex()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default ctor. Pareto !!!! The \mbox{\hyperlink{classmoeo_objective_vector_comparator}{moeo\+Objective\+Vector\+Comparator}} used to compare solutions is based on Pareto dominance 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_af02d8f4cfe7827ab9c8a4a5f292d3ba6}\label{classmoeo_quick_unbounded_archive_index_af02d8f4cfe7827ab9c8a4a5f292d3ba6}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!insert@{insert}}
\index{insert@{insert}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{insert()}{insert()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
virtual std\+::pair$<$bool,std\+::vector$<$\mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}}$>$ $>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::insert (\begin{DoxyParamCaption}\item[{const M\+O\+E\+OT \&}]{\+\_\+moeo,  }\item[{bool}]{\+\_\+insert = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

inserts a \+\_\+moeo in the index 
\begin{DoxyParams}{Parameters}
{\em \+\_\+moeo} & the M\+O\+E\+OT to insert \\
\hline
{\em \+\_\+insert} & if \+\_\+insert is false we only ask the index, and dont modify it \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pair composed by a boolean indicating if the moeot can be inserted, and a list of modif to do so 
\end{DoxyReturn}
\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a427313cc26c9586713522ee496731beb}\label{classmoeo_quick_unbounded_archive_index_a427313cc26c9586713522ee496731beb}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
virtual std\+::pair$<$bool,std\+::vector$<$\mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}}$>$ $>$ \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{const M\+O\+E\+OT \&}]{\+\_\+moeot,  }\item[{bool}]{\+\_\+insert = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

principal method for the index, add a moeot to the index 
\begin{DoxyParams}{Parameters}
{\em \+\_\+moeot} & the M\+O\+E\+OT we try to insert \\
\hline
{\em \+\_\+insert} & should we really insert the moeot, or just check if we have to \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pair, the first is a boolean indicating if the insertion can occur, the second a vector of modification 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmoeo_archive_index_a2116be26ea339f2529399fef888f35fe}{moeo\+Archive\+Index$<$ M\+O\+E\+O\+T $>$}}.

\mbox{\Hypertarget{classmoeo_quick_unbounded_archive_index_a5718f28a259d9a28a7476b97ac4e4f40}\label{classmoeo_quick_unbounded_archive_index_a5718f28a259d9a28a7476b97ac4e4f40}} 
\index{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}!update@{update}}
\index{update@{update}!moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$@{moeoQuickUnboundedArchiveIndex$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{update()}{update()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
bool \mbox{\hyperlink{classmoeo_quick_unbounded_archive_index}{moeo\+Quick\+Unbounded\+Archive\+Index}}$<$ M\+O\+E\+OT $>$\+::update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structmoeo_archive_index_1_1modif}{modif}} \&}]{\+\_\+update }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

updates the index following a modif 
\begin{DoxyParams}{Parameters}
{\em \+\_\+update} & the modification to apply \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
false 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmoeo_archive_index_acd5461f54caadb53754ff66fb37ef06e}{moeo\+Archive\+Index$<$ M\+O\+E\+O\+T $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
moeo/src/scalar\+Stuffs/archive/moeo\+Quick\+Unbounded\+Archive\+Index.\+h\end{DoxyCompactItemize}
