\hypertarget{classTechManager}{\section{\-Tech\-Manager \-Class \-Reference}
\label{classTechManager}\index{\-Tech\-Manager@{\-Tech\-Manager}}
}


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



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


\-Collaboration diagram for \-Tech\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classTechManager__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classTechManager_a6c8e82273e5b4a99052561055d0326e6}{\-Tech\-Manager} (\hyperlink{classArbitrator_1_1Arbitrator}{\-Arbitrator\-::\-Arbitrator}$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$ $\ast$\hyperlink{classTechManager_af49990ef01692513dfe14e3174068cdc}{arbitrator})
\item 
void \hyperlink{classTechManager_a0aedc055ca79aef82e6cd4d870ad7a8b}{set\-Building\-Placer} (\hyperlink{classBuildingPlacer}{\-Building\-Placer} $\ast$\hyperlink{classTechManager_a8b4acdf8c6a640999e721ad58f481046}{placer})
\item 
virtual void \hyperlink{classTechManager_acd26294d4faec509aab0e7099b4bd830}{on\-Offer} (std\-::set$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$ $>$ units)
\item 
virtual void \hyperlink{classTechManager_a2a5ad9d2c35d37749e7db451ac12e6ab}{on\-Revoke} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit, double bid)
\item 
virtual void \hyperlink{classTechManager_a4fb7bd950b0c8def0e6ad89bceea211b}{update} ()
\item 
virtual std\-::string \hyperlink{classTechManager_a826f41e7f4113441d5cf36383aaa5f08}{get\-Name} () const 
\item 
void \hyperlink{classTechManager_a411d37cbf745c551cae2ba66044b3485}{on\-Remove\-Unit} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\item 
bool \hyperlink{classTechManager_a89fe635bd9015f44789c8207bce9367b}{research} (\-B\-W\-A\-P\-I\-::\-Tech\-Type type)
\item 
bool \hyperlink{classTechManager_ab6b74cceed35a08e681f0d06fb5bb029}{planned} (\-B\-W\-A\-P\-I\-::\-Tech\-Type type) const 
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classArbitrator_1_1Arbitrator}{\-Arbitrator\-::\-Arbitrator}\*
$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$, double $>$ $\ast$ \hyperlink{classTechManager_af49990ef01692513dfe14e3174068cdc}{arbitrator}
\item 
\hyperlink{classBuildingPlacer}{\-Building\-Placer} $\ast$ \hyperlink{classTechManager_a8b4acdf8c6a640999e721ad58f481046}{placer}
\item 
std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, \*
std\-::list$<$ \-B\-W\-A\-P\-I\-::\-Tech\-Type $>$ $>$ \hyperlink{classTechManager_aabfb749a14654ba4964b200cdcd9164d}{research\-Queues}
\item 
std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Tech\-Type $>$ \hyperlink{classTechManager_a92c90077551a99ea2d512c249e856659}{researching\-Units}
\item 
std\-::set$<$ \-B\-W\-A\-P\-I\-::\-Tech\-Type $>$ \hyperlink{classTechManager_a85b56375defdd4a4e45ce3a2d52e74f6}{planned\-Tech}
\end{DoxyCompactItemize}


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


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classTechManager_a826f41e7f4113441d5cf36383aaa5f08}{\index{\-Tech\-Manager@{\-Tech\-Manager}!get\-Name@{get\-Name}}
\index{get\-Name@{get\-Name}!TechManager@{\-Tech\-Manager}}
\subsubsection[{get\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string {\bf \-Tech\-Manager\-::get\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classTechManager_a826f41e7f4113441d5cf36383aaa5f08}


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

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


\-Implements \hyperlink{classArbitrator_1_1Controller_ad2281de6abeee9baa641e32d9c679d75}{\-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]{classTechManager_acd26294d4faec509aab0e7099b4bd830_cgraph}
\end{center}
\end{figure}


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


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


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


\-Implements \hyperlink{classArbitrator_1_1Controller_ab501229508dba3084da78d656f40e174}{\-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]{classTechManager_a2a5ad9d2c35d37749e7db451ac12e6ab_cgraph}
\end{center}
\end{figure}


\hypertarget{classTechManager_ab6b74cceed35a08e681f0d06fb5bb029}{\index{\-Tech\-Manager@{\-Tech\-Manager}!planned@{planned}}
\index{planned@{planned}!TechManager@{\-Tech\-Manager}}
\subsubsection[{planned}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Tech\-Manager\-::planned} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Tech\-Type}]{type}
\end{DoxyParamCaption}
) const}}\label{classTechManager_ab6b74cceed35a08e681f0d06fb5bb029}
\hypertarget{classTechManager_a89fe635bd9015f44789c8207bce9367b}{\index{\-Tech\-Manager@{\-Tech\-Manager}!research@{research}}
\index{research@{research}!TechManager@{\-Tech\-Manager}}
\subsubsection[{research}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Tech\-Manager\-::research} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Tech\-Type}]{type}
\end{DoxyParamCaption}
)}}\label{classTechManager_a89fe635bd9015f44789c8207bce9367b}
\hypertarget{classTechManager_a0aedc055ca79aef82e6cd4d870ad7a8b}{\index{\-Tech\-Manager@{\-Tech\-Manager}!set\-Building\-Placer@{set\-Building\-Placer}}
\index{set\-Building\-Placer@{set\-Building\-Placer}!TechManager@{\-Tech\-Manager}}
\subsubsection[{set\-Building\-Placer}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Tech\-Manager\-::set\-Building\-Placer} (
\begin{DoxyParamCaption}
\item[{{\bf \-Building\-Placer} $\ast$}]{placer}
\end{DoxyParamCaption}
)}}\label{classTechManager_a0aedc055ca79aef82e6cd4d870ad7a8b}
\hypertarget{classTechManager_a4fb7bd950b0c8def0e6ad89bceea211b}{\index{\-Tech\-Manager@{\-Tech\-Manager}!update@{update}}
\index{update@{update}!TechManager@{\-Tech\-Manager}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Tech\-Manager\-::update} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}\label{classTechManager_a4fb7bd950b0c8def0e6ad89bceea211b}


\-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]{classTechManager_a4fb7bd950b0c8def0e6ad89bceea211b_cgraph}
\end{center}
\end{figure}




\subsection{\-Member \-Data \-Documentation}
\hypertarget{classTechManager_af49990ef01692513dfe14e3174068cdc}{\index{\-Tech\-Manager@{\-Tech\-Manager}!arbitrator@{arbitrator}}
\index{arbitrator@{arbitrator}!TechManager@{\-Tech\-Manager}}
\subsubsection[{arbitrator}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Arbitrator\-::\-Arbitrator}$<$\-B\-W\-A\-P\-I\-::\-Unit$\ast$,double$>$$\ast$ {\bf \-Tech\-Manager\-::arbitrator}}}\label{classTechManager_af49990ef01692513dfe14e3174068cdc}
\hypertarget{classTechManager_a8b4acdf8c6a640999e721ad58f481046}{\index{\-Tech\-Manager@{\-Tech\-Manager}!placer@{placer}}
\index{placer@{placer}!TechManager@{\-Tech\-Manager}}
\subsubsection[{placer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Building\-Placer}$\ast$ {\bf \-Tech\-Manager\-::placer}}}\label{classTechManager_a8b4acdf8c6a640999e721ad58f481046}
\hypertarget{classTechManager_a85b56375defdd4a4e45ce3a2d52e74f6}{\index{\-Tech\-Manager@{\-Tech\-Manager}!planned\-Tech@{planned\-Tech}}
\index{planned\-Tech@{planned\-Tech}!TechManager@{\-Tech\-Manager}}
\subsubsection[{planned\-Tech}]{\setlength{\rightskip}{0pt plus 5cm}std\-::set$<$\-B\-W\-A\-P\-I\-::\-Tech\-Type$>$ {\bf \-Tech\-Manager\-::planned\-Tech}}}\label{classTechManager_a85b56375defdd4a4e45ce3a2d52e74f6}
\hypertarget{classTechManager_a92c90077551a99ea2d512c249e856659}{\index{\-Tech\-Manager@{\-Tech\-Manager}!researching\-Units@{researching\-Units}}
\index{researching\-Units@{researching\-Units}!TechManager@{\-Tech\-Manager}}
\subsubsection[{researching\-Units}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-A\-P\-I\-::\-Unit$\ast$,\-B\-W\-A\-P\-I\-::\-Tech\-Type$>$ {\bf \-Tech\-Manager\-::researching\-Units}}}\label{classTechManager_a92c90077551a99ea2d512c249e856659}
\hypertarget{classTechManager_aabfb749a14654ba4964b200cdcd9164d}{\index{\-Tech\-Manager@{\-Tech\-Manager}!research\-Queues@{research\-Queues}}
\index{research\-Queues@{research\-Queues}!TechManager@{\-Tech\-Manager}}
\subsubsection[{research\-Queues}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type,std\-::list$<$\-B\-W\-A\-P\-I\-::\-Tech\-Type$>$ $>$ {\bf \-Tech\-Manager\-::research\-Queues}}}\label{classTechManager_aabfb749a14654ba4964b200cdcd9164d}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\hyperlink{TechManager_8h}{\-Tech\-Manager.\-h}\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\hyperlink{TechManager_8cpp}{\-Tech\-Manager.\-cpp}\end{DoxyCompactItemize}
