\hypertarget{classWorkerManager}{\section{\-Worker\-Manager \-Class \-Reference}
\label{classWorkerManager}\index{\-Worker\-Manager@{\-Worker\-Manager}}
}


{\ttfamily \#include $<$\-Worker\-Manager.\-h$>$}



\-Inheritance diagram for \-Worker\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=300pt]{classWorkerManager__inherit__graph}
\end{center}
\end{figure}


\-Collaboration diagram for \-Worker\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=300pt]{classWorkerManager__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classWorkerManager_1_1WorkerData}{\-Worker\-Data}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classWorkerManager_ad5d6c4be2f1bce3334e8084395683f3d}{\-Worker\-Manager} ()
\item 
\hyperlink{classWorkerManager_a9337259ef884db60d96ca3406d586ff2}{\-Worker\-Manager} (\hyperlink{classArbitrator_1_1Arbitrator}{\-Arbitrator\-::\-Arbitrator}$<$ \hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$, double $>$ $\ast$arbitrator)
\item 
void \hyperlink{classWorkerManager_a0625cacbcddc6093a091fde20aaee631}{set\-Base\-Manager} (\hyperlink{classBaseManager}{\-Base\-Manager} $\ast$base\-Manager)
\item 
void \hyperlink{classWorkerManager_aa05768bb4e3ab9c0bdad866e7c7a2b15}{set\-Build\-Order\-Manager} (\hyperlink{classBuildOrderManager}{\-Build\-Order\-Manager} $\ast$build\-Order\-Manager)
\item 
virtual void \hyperlink{classWorkerManager_a9a7af5ab984fc9538429fa03826f6e62}{on\-Offer} (std\-::set$<$ \hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$ $>$ units)
\item 
virtual void \hyperlink{classWorkerManager_abd7a133d0b23c9869a9b22e962fcd099}{on\-Revoke} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit, double bid)
\item 
virtual void \hyperlink{classWorkerManager_a3a7c0882cf94e12a61d8b6bfb03faa15}{update} ()
\item 
virtual std\-::string \hyperlink{classWorkerManager_a652b2e888f4b5b234dede5c21fa1c34e}{get\-Name} () const 
\item 
virtual std\-::string \hyperlink{classWorkerManager_a82e3794f9626f506cfe1d1031e124162}{get\-Short\-Name} () const 
\item 
void \hyperlink{classWorkerManager_ae9973454d98bc7515b204eed96d5ffd8}{on\-Remove\-Unit} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$unit)
\item 
void \hyperlink{classWorkerManager_ab9bde5abf0f0ec233e9f3292e67386ea}{set\-Workers\-Per\-Gas} (int count)
\item 
double \hyperlink{classWorkerManager_a16e3626694c37b8eca2300b784a6b6df}{get\-Mineral\-Rate} () const 
\item 
double \hyperlink{classWorkerManager_ac0520ac08ebe705a57574bf1fc723520}{get\-Gas\-Rate} () const 
\item 
int \hyperlink{classWorkerManager_aef83d4534f9b091863280253627c571c}{get\-Optimal\-Worker\-Count} () const 
\item 
void \hyperlink{classWorkerManager_a39e3e01f35a30a76de432818a6c0cbff}{enable\-Auto\-Build} ()
\item 
void \hyperlink{classWorkerManager_a9d0c3f63c6932cb1d57b8a1081fcd806}{disable\-Auto\-Build} ()
\item 
void \hyperlink{classWorkerManager_a5698c8b714f82d3def4fec89808cebf5}{set\-Auto\-Build\-Priority} (int priority)
\item 
void \hyperlink{classWorkerManager_ae9e1246a0f720303f8a9242bc384b37d}{set\-Destination\-Mineral} (\hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$)
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classWorkerManager_ad5d6c4be2f1bce3334e8084395683f3d}{\index{\-Worker\-Manager@{\-Worker\-Manager}!\-Worker\-Manager@{\-Worker\-Manager}}
\index{\-Worker\-Manager@{\-Worker\-Manager}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{\-Worker\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Worker\-Manager\-::\-Worker\-Manager} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_ad5d6c4be2f1bce3334e8084395683f3d}
\hypertarget{classWorkerManager_a9337259ef884db60d96ca3406d586ff2}{\index{\-Worker\-Manager@{\-Worker\-Manager}!\-Worker\-Manager@{\-Worker\-Manager}}
\index{\-Worker\-Manager@{\-Worker\-Manager}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{\-Worker\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Worker\-Manager\-::\-Worker\-Manager} (
\begin{DoxyParamCaption}
\item[{{\bf \-Arbitrator\-::\-Arbitrator}$<$ {\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$, double $>$ $\ast$}]{arbitrator}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_a9337259ef884db60d96ca3406d586ff2}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classWorkerManager_a9d0c3f63c6932cb1d57b8a1081fcd806}{\index{\-Worker\-Manager@{\-Worker\-Manager}!disable\-Auto\-Build@{disable\-Auto\-Build}}
\index{disable\-Auto\-Build@{disable\-Auto\-Build}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{disable\-Auto\-Build}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::disable\-Auto\-Build} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_a9d0c3f63c6932cb1d57b8a1081fcd806}
\hypertarget{classWorkerManager_a39e3e01f35a30a76de432818a6c0cbff}{\index{\-Worker\-Manager@{\-Worker\-Manager}!enable\-Auto\-Build@{enable\-Auto\-Build}}
\index{enable\-Auto\-Build@{enable\-Auto\-Build}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{enable\-Auto\-Build}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::enable\-Auto\-Build} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_a39e3e01f35a30a76de432818a6c0cbff}
\hypertarget{classWorkerManager_ac0520ac08ebe705a57574bf1fc723520}{\index{\-Worker\-Manager@{\-Worker\-Manager}!get\-Gas\-Rate@{get\-Gas\-Rate}}
\index{get\-Gas\-Rate@{get\-Gas\-Rate}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{get\-Gas\-Rate}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf \-Worker\-Manager\-::get\-Gas\-Rate} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classWorkerManager_ac0520ac08ebe705a57574bf1fc723520}
\hypertarget{classWorkerManager_a16e3626694c37b8eca2300b784a6b6df}{\index{\-Worker\-Manager@{\-Worker\-Manager}!get\-Mineral\-Rate@{get\-Mineral\-Rate}}
\index{get\-Mineral\-Rate@{get\-Mineral\-Rate}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{get\-Mineral\-Rate}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf \-Worker\-Manager\-::get\-Mineral\-Rate} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classWorkerManager_a16e3626694c37b8eca2300b784a6b6df}
\hypertarget{classWorkerManager_a652b2e888f4b5b234dede5c21fa1c34e}{\index{\-Worker\-Manager@{\-Worker\-Manager}!get\-Name@{get\-Name}}
\index{get\-Name@{get\-Name}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{get\-Name}]{\setlength{\rightskip}{0pt plus 5cm}string {\bf \-Worker\-Manager\-::get\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classWorkerManager_a652b2e888f4b5b234dede5c21fa1c34e}


\-Implements \hyperlink{classArbitrator_1_1Controller_a45cc1be65d1072e55573f730f74ac57c}{\-Arbitrator\-::\-Controller$<$ B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$}.

\hypertarget{classWorkerManager_aef83d4534f9b091863280253627c571c}{\index{\-Worker\-Manager@{\-Worker\-Manager}!get\-Optimal\-Worker\-Count@{get\-Optimal\-Worker\-Count}}
\index{get\-Optimal\-Worker\-Count@{get\-Optimal\-Worker\-Count}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{get\-Optimal\-Worker\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Worker\-Manager\-::get\-Optimal\-Worker\-Count} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classWorkerManager_aef83d4534f9b091863280253627c571c}
\hypertarget{classWorkerManager_a82e3794f9626f506cfe1d1031e124162}{\index{\-Worker\-Manager@{\-Worker\-Manager}!get\-Short\-Name@{get\-Short\-Name}}
\index{get\-Short\-Name@{get\-Short\-Name}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{get\-Short\-Name}]{\setlength{\rightskip}{0pt plus 5cm}string {\bf \-Worker\-Manager\-::get\-Short\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classWorkerManager_a82e3794f9626f506cfe1d1031e124162}


\-Reimplemented from \hyperlink{classArbitrator_1_1Controller_a967e48feecb2b3b0a333491302d92fe6}{\-Arbitrator\-::\-Controller$<$ B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$}.

\hypertarget{classWorkerManager_a9a7af5ab984fc9538429fa03826f6e62}{\index{\-Worker\-Manager@{\-Worker\-Manager}!on\-Offer@{on\-Offer}}
\index{on\-Offer@{on\-Offer}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{on\-Offer}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::on\-Offer} (
\begin{DoxyParamCaption}
\item[{std\-::set$<$ {\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$ $>$}]{units}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classWorkerManager_a9a7af5ab984fc9538429fa03826f6e62}


\-Implements \hyperlink{classArbitrator_1_1Controller_ad2281de6abeee9baa641e32d9c679d75}{\-Arbitrator\-::\-Controller$<$ B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$}.

\hypertarget{classWorkerManager_ae9973454d98bc7515b204eed96d5ffd8}{\index{\-Worker\-Manager@{\-Worker\-Manager}!on\-Remove\-Unit@{on\-Remove\-Unit}}
\index{on\-Remove\-Unit@{on\-Remove\-Unit}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{on\-Remove\-Unit}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::on\-Remove\-Unit} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_ae9973454d98bc7515b204eed96d5ffd8}


\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classWorkerManager_ae9973454d98bc7515b204eed96d5ffd8_cgraph}
\end{center}
\end{figure}


\hypertarget{classWorkerManager_abd7a133d0b23c9869a9b22e962fcd099}{\index{\-Worker\-Manager@{\-Worker\-Manager}!on\-Revoke@{on\-Revoke}}
\index{on\-Revoke@{on\-Revoke}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{on\-Revoke}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::on\-Revoke} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{unit, }
\item[{double}]{bid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classWorkerManager_abd7a133d0b23c9869a9b22e962fcd099}


\-Implements \hyperlink{classArbitrator_1_1Controller_ab501229508dba3084da78d656f40e174}{\-Arbitrator\-::\-Controller$<$ B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$}.

\hypertarget{classWorkerManager_a5698c8b714f82d3def4fec89808cebf5}{\index{\-Worker\-Manager@{\-Worker\-Manager}!set\-Auto\-Build\-Priority@{set\-Auto\-Build\-Priority}}
\index{set\-Auto\-Build\-Priority@{set\-Auto\-Build\-Priority}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{set\-Auto\-Build\-Priority}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::set\-Auto\-Build\-Priority} (
\begin{DoxyParamCaption}
\item[{int}]{priority}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_a5698c8b714f82d3def4fec89808cebf5}
\hypertarget{classWorkerManager_a0625cacbcddc6093a091fde20aaee631}{\index{\-Worker\-Manager@{\-Worker\-Manager}!set\-Base\-Manager@{set\-Base\-Manager}}
\index{set\-Base\-Manager@{set\-Base\-Manager}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{set\-Base\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::set\-Base\-Manager} (
\begin{DoxyParamCaption}
\item[{{\bf \-Base\-Manager} $\ast$}]{base\-Manager}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_a0625cacbcddc6093a091fde20aaee631}
\hypertarget{classWorkerManager_aa05768bb4e3ab9c0bdad866e7c7a2b15}{\index{\-Worker\-Manager@{\-Worker\-Manager}!set\-Build\-Order\-Manager@{set\-Build\-Order\-Manager}}
\index{set\-Build\-Order\-Manager@{set\-Build\-Order\-Manager}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{set\-Build\-Order\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::set\-Build\-Order\-Manager} (
\begin{DoxyParamCaption}
\item[{{\bf \-Build\-Order\-Manager} $\ast$}]{build\-Order\-Manager}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_aa05768bb4e3ab9c0bdad866e7c7a2b15}
\hypertarget{classWorkerManager_ae9e1246a0f720303f8a9242bc384b37d}{\index{\-Worker\-Manager@{\-Worker\-Manager}!set\-Destination\-Mineral@{set\-Destination\-Mineral}}
\index{set\-Destination\-Mineral@{set\-Destination\-Mineral}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{set\-Destination\-Mineral}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::set\-Destination\-Mineral} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit} $\ast$}]{destination\-Mineral}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_ae9e1246a0f720303f8a9242bc384b37d}
\hypertarget{classWorkerManager_ab9bde5abf0f0ec233e9f3292e67386ea}{\index{\-Worker\-Manager@{\-Worker\-Manager}!set\-Workers\-Per\-Gas@{set\-Workers\-Per\-Gas}}
\index{set\-Workers\-Per\-Gas@{set\-Workers\-Per\-Gas}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{set\-Workers\-Per\-Gas}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::set\-Workers\-Per\-Gas} (
\begin{DoxyParamCaption}
\item[{int}]{count}
\end{DoxyParamCaption}
)}}\label{classWorkerManager_ab9bde5abf0f0ec233e9f3292e67386ea}
\hypertarget{classWorkerManager_a3a7c0882cf94e12a61d8b6bfb03faa15}{\index{\-Worker\-Manager@{\-Worker\-Manager}!update@{update}}
\index{update@{update}!WorkerManager@{\-Worker\-Manager}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Worker\-Manager\-::update} (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classWorkerManager_a3a7c0882cf94e12a61d8b6bfb03faa15}


\-Implements \hyperlink{classArbitrator_1_1Controller_a378f0df1a79b5287ee41026d9c77f866}{\-Arbitrator\-::\-Controller$<$ B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$}.



\-Here is the call graph for this function\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classWorkerManager_a3a7c0882cf94e12a61d8b6bfb03faa15_cgraph}
\end{center}
\end{figure}




\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Aiur/include/\hyperlink{WorkerManager_8h}{\-Worker\-Manager.\-h}\item 
\-Aiur/src/\hyperlink{WorkerManager_8cpp}{\-Worker\-Manager.\-cpp}\end{DoxyCompactItemize}
