\section{moItRandNextMove$<$ M $>$ Class Template Reference}
\label{classmo_it_rand_next_move}\index{moItRandNextMove@{moItRandNextMove}}
One of the possible \doxyref{moNextMove}{p.}{classmo_next_move}.  


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

Inheritance diagram for moItRandNextMove$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_it_rand_next_move}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf moItRandNextMove} ({\bf moRandMove}$<$ M $>$ \&\_\-random\_\-move\_\-generator, unsigned int \_\-iteration\_\-maximum\_\-number)
\begin{CompactList}\small\item\em The constructor. \item\end{CompactList}\item 
bool {\bf operator()} (M \&\_\-move, const {\bf EOT} \&\_\-solution)
\begin{CompactList}\small\item\em Generation of a new move. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item 
typedef M::EOType {\bf EOT}\label{classmo_it_rand_next_move_ee666007fc494bf4a5f0cd065e5671cf}

\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf moRandMove}$<$ M $>$ \& {\bf random\_\-move\_\-generator}\label{classmo_it_rand_next_move_92601819402ad00d01933113d0bcf40d}

\begin{CompactList}\small\item\em A move generator (generally randomly). \item\end{CompactList}\item 
unsigned int {\bf iteration\_\-maximum\_\-number}\label{classmo_it_rand_next_move_1b06067aee7a78f8a255563391514d2d}

\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item 
unsigned int {\bf iteration\_\-number}\label{classmo_it_rand_next_move_2f8d52c88d6c002be518091cc52beca1}

\begin{CompactList}\small\item\em Iteration current number. \item\end{CompactList}\end{CompactItemize}


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

One of the possible \doxyref{moNextMove}{p.}{classmo_next_move}. 

This class is a move (\doxyref{moMove}{p.}{classmo_move}) generator with a bound for the maximum number of iterations. 

Definition at line 47 of file moItRandNextMove.h.

\subsection{Constructor \& Destructor Documentation}
\index{moItRandNextMove@{moItRandNextMove}!moItRandNextMove@{moItRandNextMove}}
\index{moItRandNextMove@{moItRandNextMove}!moItRandNextMove@{moItRandNextMove}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moItRandNextMove}$<$ M $>$::{\bf moItRandNextMove} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-random\_\-move\_\-generator}, unsigned int {\em \_\-iteration\_\-maximum\_\-number})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_it_rand_next_move_c27b1fb0d64d4862dd886f7a59419b8c}


The constructor. 

{\bf Parameters} only for initialising the attributes.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-random\_\-move\_\-generator}]The random move generator. \item[{\em \_\-iteration\_\-maximum\_\-number}]The iteration maximum number. \end{description}
\end{Desc}


Definition at line 61 of file moItRandNextMove.h.

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


Generation of a new move. 

If the maximum number is not already reached, the current move is forgotten and remplaced by another one.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move}]the current move. \item[{\em \_\-solution}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]false if the maximum number of iteration is reached, else true. \end{Desc}


Definition at line 73 of file moItRandNextMove.h.

References moItRandNextMove$<$ M $>$::iteration\_\-maximum\_\-number, moItRandNextMove$<$ M $>$::iteration\_\-number, and moItRandNextMove$<$ M $>$::random\_\-move\_\-generator.

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