\hypertarget{classmo_order_neighborhood}{}\doxysection{mo\+Order\+Neighborhood$<$ Neighbor $>$ Class Template Reference}
\label{classmo_order_neighborhood}\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}


{\ttfamily \#include $<$mo\+Order\+Neighborhood.\+h$>$}



Inheritance diagram for mo\+Order\+Neighborhood$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=247pt]{classmo_order_neighborhood__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for mo\+Order\+Neighborhood$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=247pt]{classmo_order_neighborhood__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} \mbox{\hyperlink{classmo_order_neighborhood_a8fdd7d5cd86385c030e7969ec77a6708}{E\+OT}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmo_order_neighborhood_adcc5e0aea2e9ad68dbd6bdf5ac726901}{mo\+Order\+Neighborhood}} ()
\item 
\mbox{\hyperlink{classmo_order_neighborhood_a58c079999ee422e303202218458b83c7}{mo\+Order\+Neighborhood}} (unsigned int \+\_\+neighborhood\+Size)
\item 
virtual bool \mbox{\hyperlink{classmo_order_neighborhood_af88e625841bf6afca233aecd749d429e}{has\+Neighbor}} (\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_order_neighborhood_a099483210086c09d0db613d03ae04ea8}{init}} (\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&\+\_\+solution, \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&\+\_\+neighbor)
\item 
virtual void \mbox{\hyperlink{classmo_order_neighborhood_a76fb021eeb26301935f749916daa5f91}{next}} (\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&\+\_\+solution, \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&\+\_\+neighbor)
\item 
virtual bool \mbox{\hyperlink{classmo_order_neighborhood_a203048ca52525df9918dcaa5414c4dcd}{cont}} (\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&\+\_\+solution)
\item 
unsigned int \mbox{\hyperlink{classmo_order_neighborhood_a18404196c1ee14c8557afb2a043e7a1d}{position}} () const
\item 
void \mbox{\hyperlink{classmo_order_neighborhood_afc5e48f79aa7d1b88b882335572b1f01}{set\+Position}} (unsigned int \+\_\+current\+Index)
\item 
virtual std\+::string \mbox{\hyperlink{classmo_order_neighborhood_a1140351010aa639792f49a2363db3acf}{class\+Name}} () const
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmo_order_neighborhood_a95a535f786741e4a9bcc5828bbbc6cbf}\label{classmo_order_neighborhood_a95a535f786741e4a9bcc5828bbbc6cbf}} 
unsigned int {\bfseries current\+Index}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class Neighbor$>$\newline
class mo\+Order\+Neighborhood$<$ Neighbor $>$}

An ordered Neighborhood 

\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{classmo_order_neighborhood_a8fdd7d5cd86385c030e7969ec77a6708}\label{classmo_order_neighborhood_a8fdd7d5cd86385c030e7969ec77a6708}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!EOT@{EOT}}
\index{EOT@{EOT}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{EOT}{EOT}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}}}

Define type of a solution corresponding to Neighbor 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmo_order_neighborhood_adcc5e0aea2e9ad68dbd6bdf5ac726901}\label{classmo_order_neighborhood_adcc5e0aea2e9ad68dbd6bdf5ac726901}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!moOrderNeighborhood@{moOrderNeighborhood}}
\index{moOrderNeighborhood@{moOrderNeighborhood}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{moOrderNeighborhood()}{moOrderNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Empty constructor \mbox{\Hypertarget{classmo_order_neighborhood_a58c079999ee422e303202218458b83c7}\label{classmo_order_neighborhood_a58c079999ee422e303202218458b83c7}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!moOrderNeighborhood@{moOrderNeighborhood}}
\index{moOrderNeighborhood@{moOrderNeighborhood}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{moOrderNeighborhood()}{moOrderNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}} (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+neighborhood\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor 
\begin{DoxyParams}{Parameters}
{\em \+\_\+neighborhood\+Size} & the size of the neighborhood \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmo_order_neighborhood_a1140351010aa639792f49a2363db3acf}\label{classmo_order_neighborhood_a1140351010aa639792f49a2363db3acf}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!className@{className}}
\index{className@{className}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual std\+::string \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class Name \begin{DoxyReturn}{Returns}
the class name as a std\+::string 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{classmo_index_neighborhood_a56936b46687cf0529bcd59aa7eebaeed}{mo\+Index\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_order_neighborhood_a203048ca52525df9918dcaa5414c4dcd}\label{classmo_order_neighborhood_a203048ca52525df9918dcaa5414c4dcd}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!cont@{cont}}
\index{cont@{cont}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{cont()}{cont()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::cont (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

test if all neighbors are explore or not,if false, there is no neighbor left to explore current\+Index is the index which have been used before, it is not the next neighbor which can be possibly evaluated


\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there is again a neighbor to explore 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmo_neighborhood_a4093914507138339f3756ff5edaf6531}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_order_neighborhood_af88e625841bf6afca233aecd749d429e}\label{classmo_order_neighborhood_af88e625841bf6afca233aecd749d429e}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!hasNeighbor@{hasNeighbor}}
\index{hasNeighbor@{hasNeighbor}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{hasNeighbor()}{hasNeighbor()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::has\+Neighbor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\hyperlink{struct_test}{Test}} if a neighbor exists 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if the neighborhood was not empty 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmo_neighborhood_a9a4b6ca2bcf76697145509eb35baf3be}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_order_neighborhood_a099483210086c09d0db613d03ae04ea8}\label{classmo_order_neighborhood_a099483210086c09d0db613d03ae04ea8}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!init@{init}}
\index{init@{init}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&}]{\+\_\+solution,  }\item[{\mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&}]{\+\_\+neighbor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Initialization of the neighborhood 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
{\em \+\_\+neighbor} & the first neighbor \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classmo_neighborhood_a0022065ea8d42fa00768896648badf5c}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_order_neighborhood_a76fb021eeb26301935f749916daa5f91}\label{classmo_order_neighborhood_a76fb021eeb26301935f749916daa5f91}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!next@{next}}
\index{next@{next}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{next()}{next()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_index_neighborhood_a0c7c82d0bc5cf6c39c66254f219b78a7}{E\+OT}} \&}]{\+\_\+solution,  }\item[{\mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&}]{\+\_\+neighbor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Give the next neighbor 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
{\em \+\_\+neighbor} & the next neighbor \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classmo_neighborhood_a984c484c44c9852d0f971856d12092ed}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_order_neighborhood_a18404196c1ee14c8557afb2a043e7a1d}\label{classmo_order_neighborhood_a18404196c1ee14c8557afb2a043e7a1d}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!position@{position}}
\index{position@{position}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{position()}{position()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
unsigned int \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Getter \begin{DoxyReturn}{Returns}
the position in the Neighborhood 
\end{DoxyReturn}
\mbox{\Hypertarget{classmo_order_neighborhood_afc5e48f79aa7d1b88b882335572b1f01}\label{classmo_order_neighborhood_afc5e48f79aa7d1b88b882335572b1f01}} 
\index{moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}!setPosition@{setPosition}}
\index{setPosition@{setPosition}!moOrderNeighborhood$<$ Neighbor $>$@{moOrderNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{setPosition()}{setPosition()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
void \mbox{\hyperlink{classmo_order_neighborhood}{mo\+Order\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::set\+Position (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+current\+Index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Setter the position in the Neighborhood 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
mo/src/neighborhood/mo\+Order\+Neighborhood.\+h\end{DoxyCompactItemize}
