\section{moHCMoveLoopExpl$<$ M $>$ Class Template Reference}
\label{classmo_h_c_move_loop_expl}\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}}
Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c}.  


{\tt \#include $<$moHCMoveLoopExpl.h$>$}

Inheritance diagram for moHCMoveLoopExpl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_h_c_move_loop_expl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf moHCMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moMoveSelect}$<$ M $>$ \&\_\-move\_\-selection)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
void {\bf operator()} (const {\bf EOT} \&\_\-old\_\-solution, {\bf EOT} \&\_\-new\_\-solution)
\begin{CompactList}\small\item\em Procedure which launches the explorer. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item 
typedef M::EOType {\bf EOT}\label{classmo_h_c_move_loop_expl_077befd4106c201eafd3ea22bcea2fe9}

\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item 
typedef M::EOType::Fitness {\bf Fitness}\label{classmo_h_c_move_loop_expl_f24871224316d5549b9013a2d27ab465}

\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf moMoveInit}$<$ M $>$ \& {\bf move\_\-initializer}\label{classmo_h_c_move_loop_expl_17506f3f1172714f9adbfa4e8a15953a}

\begin{CompactList}\small\item\em Move initialiser. \item\end{CompactList}\item 
{\bf moNextMove}$<$ M $>$ \& {\bf next\_\-move\_\-generator}\label{classmo_h_c_move_loop_expl_fdc44d40d8859bae1d7b92e77f36aa30}

\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item 
{\bf moMoveIncrEval}$<$ M $>$ \& {\bf incremental\_\-evaluation}\label{classmo_h_c_move_loop_expl_a044b28f972d007a22736b646d86f265}

\begin{CompactList}\small\item\em (generally) Efficient evaluation. \item\end{CompactList}\item 
{\bf moMoveSelect}$<$ M $>$ \& {\bf move\_\-selection}\label{classmo_h_c_move_loop_expl_5f0532e0ee8ef8ecaeeb4e56342be443}

\begin{CompactList}\small\item\em Move selector. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class moHCMoveLoopExpl$<$ M $>$}

Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c}. 

Definition at line 47 of file moHCMoveLoopExpl.h.

\subsection{Constructor \& Destructor Documentation}
\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!moHCMoveLoopExpl@{moHCMoveLoopExpl}}
\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!moHCMoveLoopExpl@{moHCMoveLoopExpl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHCMoveLoopExpl}$<$ M $>$::{\bf moHCMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-move\_\-selection})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_h_c_move_loop_expl_fac2eb6695ba1b797ffab4f290d760b8}


Constructor. 

All the boxes have to be specified.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move\_\-initializer}]The move initialiser. \item[{\em \_\-next\_\-move\_\-generator}]The neighbourhood explorer. \item[{\em \_\-incremental\_\-evaluation}](generally) Efficient evaluation function. \item[{\em \_\-move\_\-selection}]The move selector. \end{description}
\end{Desc}


Definition at line 66 of file moHCMoveLoopExpl.h.

\subsection{Member Function Documentation}
\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!operator()@{operator()}}
\index{operator()@{operator()}!moHCMoveLoopExpl@{moHCMoveLoopExpl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moHCMoveLoopExpl}$<$ M $>$::operator() (const {\bf EOT} \& {\em \_\-old\_\-solution}, {\bf EOT} \& {\em \_\-new\_\-solution})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_h_c_move_loop_expl_fe9362c10d74a5e6ed09b56345396192}


Procedure which launches the explorer. 

The exploration starts from an old solution and provides a new solution.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-old\_\-solution}]The current solution. \item[{\em \_\-new\_\-solution}]The new solution (result of the procedure). \end{description}
\end{Desc}


Implements {\bf eoBF$<$ const M::EOType \&, M::EOType \&, void $>$}.

Definition at line 79 of file moHCMoveLoopExpl.h.

References moHCMoveLoopExpl$<$ M $>$::incremental\_\-evaluation, moHCMoveLoopExpl$<$ M $>$::move\_\-initializer, moHCMoveLoopExpl$<$ M $>$::move\_\-selection, and moHCMoveLoopExpl$<$ M $>$::next\_\-move\_\-generator.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
moHCMoveLoopExpl.h\end{CompactItemize}
