\hypertarget{classArbitrator_1_1Controller}{\section{\-Arbitrator\-:\-:\-Controller$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ \-Class \-Template \-Reference}
\label{classArbitrator_1_1Controller}\index{\-Arbitrator\-::\-Controller$<$ \-\_\-\-Tp, \-\_\-\-Val $>$@{\-Arbitrator\-::\-Controller$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}}
}


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

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classArbitrator_1_1Controller_ad2281de6abeee9baa641e32d9c679d75}{on\-Offer} (std\-::set$<$ \-\_\-\-Tp $>$ objects)=0
\item 
virtual void \hyperlink{classArbitrator_1_1Controller_ab501229508dba3084da78d656f40e174}{on\-Revoke} (\-\_\-\-Tp, \-\_\-\-Val bid)=0
\item 
virtual std\-::string \hyperlink{classArbitrator_1_1Controller_a45cc1be65d1072e55573f730f74ac57c}{get\-Name} () const =0
\item 
virtual std\-::string \hyperlink{classArbitrator_1_1Controller_a967e48feecb2b3b0a333491302d92fe6}{get\-Short\-Name} () const 
\item 
virtual void \hyperlink{classArbitrator_1_1Controller_a378f0df1a79b5287ee41026d9c77f866}{update} ()=0
\end{DoxyCompactItemize}
\subsubsection*{template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ class Arbitrator\-::\-Controller$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}



\subsection{\-Member \-Function \-Documentation}
\hypertarget{classArbitrator_1_1Controller_a45cc1be65d1072e55573f730f74ac57c}{\index{\-Arbitrator\-::\-Controller@{\-Arbitrator\-::\-Controller}!get\-Name@{get\-Name}}
\index{get\-Name@{get\-Name}!Arbitrator::Controller@{\-Arbitrator\-::\-Controller}}
\subsubsection[{get\-Name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ virtual std\-::string {\bf \-Arbitrator\-::\-Controller}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf get\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}\label{classArbitrator_1_1Controller_a45cc1be65d1072e55573f730f74ac57c}


\-Implemented in \hyperlink{classTask_af2659bb81ca9c511e46c2c174db78504}{\-Task}, \hyperlink{classGoal_af661f1076f59b49a100a11d4b5cd225c}{\-Goal}, \hyperlink{classProducer_aedb4d16de76fdea1436f31c8dec42421}{\-Producer}, \hyperlink{classTask_af2659bb81ca9c511e46c2c174db78504}{\-Task}, \hyperlink{classScoutManager_a7f43fd162cf83d95a8ebc7178132e4d4}{\-Scout\-Manager}, \hyperlink{classDefendGoal_a3f3a3ef8665934bcd74237b26ea6f395}{\-Defend\-Goal}, \hyperlink{classFirstScoutGoal_a2f51bc52e8bdd8d5328dd00a6ce9d299}{\-First\-Scout\-Goal}, \hyperlink{classDefenseManager_a0f1205f761b0f6104c9c8ab42ab2e551}{\-Defense\-Manager}, \hyperlink{classConstructionManager_a7595acfd66d7f9fa17d0a0d55e6f047c}{\-Construction\-Manager}, \hyperlink{classWarManager_a67a4bf9dc01c44d0947614a05e489a53}{\-War\-Manager}, \hyperlink{classWorkerManager_a652b2e888f4b5b234dede5c21fa1c34e}{\-Worker\-Manager}, \hyperlink{classFirstScoutController_aee10873bb07c49941019852284195191}{\-First\-Scout\-Controller}, \hyperlink{classUpgradeManager_aa92b2f76a0f168b80292b38f9dbb9c2d}{\-Upgrade\-Manager}, \hyperlink{classMorphManager_a5b4560073d741646c3ee50f279caea59}{\-Morph\-Manager}, \hyperlink{classTechManager_a826f41e7f4113441d5cf36383aaa5f08}{\-Tech\-Manager}, and \hyperlink{classProductionManager_a4cc8a0e5dc13d89ae68c3bb24a6b472c}{\-Production\-Manager}.



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


\hypertarget{classArbitrator_1_1Controller_a967e48feecb2b3b0a333491302d92fe6}{\index{\-Arbitrator\-::\-Controller@{\-Arbitrator\-::\-Controller}!get\-Short\-Name@{get\-Short\-Name}}
\index{get\-Short\-Name@{get\-Short\-Name}!Arbitrator::Controller@{\-Arbitrator\-::\-Controller}}
\subsubsection[{get\-Short\-Name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ virtual std\-::string {\bf \-Arbitrator\-::\-Controller}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf get\-Short\-Name} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}\label{classArbitrator_1_1Controller_a967e48feecb2b3b0a333491302d92fe6}


\-Reimplemented in \hyperlink{classGoal_a9f347ffd9f7defbe670b5c1ba66fd133}{\-Goal}, \hyperlink{classTask_aac27c5a14cb291c7dc96a3ce5cb64eca}{\-Task}, \hyperlink{classScoutManager_ac85fc4fb54c3c5d03a1fa4b59fe8edcc}{\-Scout\-Manager}, \hyperlink{classDefendGoal_a3fc60a8a936140204ed0019db6353eed}{\-Defend\-Goal}, \hyperlink{classDefenseManager_ad85f1ee28197457bd036c889b6e4c66e}{\-Defense\-Manager}, \hyperlink{classConstructionManager_a64647b9bd092c06945f74fa79d38a46a}{\-Construction\-Manager}, \hyperlink{classWorkerManager_a82e3794f9626f506cfe1d1031e124162}{\-Worker\-Manager}, \hyperlink{classMorphManager_addcd5668b1a930ae706c7902d855bc87}{\-Morph\-Manager}, and \hyperlink{classProductionManager_a805d890305ee8169bae90b6dfa9b52f5}{\-Production\-Manager}.

\hypertarget{classArbitrator_1_1Controller_ad2281de6abeee9baa641e32d9c679d75}{\index{\-Arbitrator\-::\-Controller@{\-Arbitrator\-::\-Controller}!on\-Offer@{on\-Offer}}
\index{on\-Offer@{on\-Offer}!Arbitrator::Controller@{\-Arbitrator\-::\-Controller}}
\subsubsection[{on\-Offer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ virtual void {\bf \-Arbitrator\-::\-Controller}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf on\-Offer} (
\begin{DoxyParamCaption}
\item[{std\-::set$<$ \-\_\-\-Tp $>$}]{objects}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}\label{classArbitrator_1_1Controller_ad2281de6abeee9baa641e32d9c679d75}


\-Implemented in \hyperlink{classGoal_ac3abb186e0c949c29b1cd85dd724d87e}{\-Goal}, \hyperlink{classProducer_a8e1a50c201c956b848c875bd99db38de}{\-Producer}, \hyperlink{classFirstScoutGoal_a23683701f2026b73798b5f7ae633149d}{\-First\-Scout\-Goal}, \hyperlink{classTask_a2543785a4d04e234f817a8d434aff94d}{\-Task}, \hyperlink{classDefendGoal_a6c077759f7742dc3ae30f50ca208bca0}{\-Defend\-Goal}, \hyperlink{classScoutManager_a4c50577d5b83034f0c8043a905334da6}{\-Scout\-Manager}, \hyperlink{classDefenseManager_a1f3a96d5b42d54692ecc5715f91b9b7a}{\-Defense\-Manager}, \hyperlink{classWarManager_ac5288ebaf0a016242b24447f2fe16a18}{\-War\-Manager}, \hyperlink{classFirstScoutController_af715cb87ef28446ca924154032661685}{\-First\-Scout\-Controller}, \hyperlink{classConstructionManager_afdd47408756a0ba2fba48e4fc3bd1a36}{\-Construction\-Manager}, \hyperlink{classWorkerManager_a9a7af5ab984fc9538429fa03826f6e62}{\-Worker\-Manager}, \hyperlink{classExploreGoal_ac404fb2c77c5ca0c216794f8f9efdeb3}{\-Explore\-Goal}, \hyperlink{classUpgradeManager_afa9b32575a63c909637d70ca4acd98a7}{\-Upgrade\-Manager}, and \hyperlink{classTechManager_acd26294d4faec509aab0e7099b4bd830}{\-Tech\-Manager}.

\hypertarget{classArbitrator_1_1Controller_ab501229508dba3084da78d656f40e174}{\index{\-Arbitrator\-::\-Controller@{\-Arbitrator\-::\-Controller}!on\-Revoke@{on\-Revoke}}
\index{on\-Revoke@{on\-Revoke}!Arbitrator::Controller@{\-Arbitrator\-::\-Controller}}
\subsubsection[{on\-Revoke}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ virtual void {\bf \-Arbitrator\-::\-Controller}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf on\-Revoke} (
\begin{DoxyParamCaption}
\item[{\-\_\-\-Tp}]{, }
\item[{\-\_\-\-Val}]{bid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}\label{classArbitrator_1_1Controller_ab501229508dba3084da78d656f40e174}


\-Implemented in \hyperlink{classGoal_ab95679406f830e0b04279753361a2c91}{\-Goal}, \hyperlink{classProducer_ad5fd40b78b1bfe084bf0f5e3b5e6f4ee}{\-Producer}, \hyperlink{classTask_afc227cfebaafcb8017bb8f6008d7c9c5}{\-Task}, \hyperlink{classDefendGoal_a5574565992974ae2118e7283f2282979}{\-Defend\-Goal}, \hyperlink{classScoutManager_a5b4f2ea789d97cfa02ac5743706fd250}{\-Scout\-Manager}, \hyperlink{classDefenseManager_a9f4f8d848157a7a13edda8db87affcff}{\-Defense\-Manager}, \hyperlink{classWarManager_a631dcc592432e88849c7b2a3c7a94896}{\-War\-Manager}, \hyperlink{classFirstScoutController_afcaa19ac8cda623301a5f982b0a3bc54}{\-First\-Scout\-Controller}, \hyperlink{classConstructionManager_a8a17ccc70224a936fd2a8e41b16da464}{\-Construction\-Manager}, \hyperlink{classWorkerManager_abd7a133d0b23c9869a9b22e962fcd099}{\-Worker\-Manager}, \hyperlink{classUpgradeManager_a92a6406cb4cc161f1ddb788662e6cfdd}{\-Upgrade\-Manager}, \hyperlink{classMorphManager_a526f095b4a9015d7dd82a32cb25ba7b2}{\-Morph\-Manager}, \hyperlink{classTechManager_a2a5ad9d2c35d37749e7db451ac12e6ab}{\-Tech\-Manager}, and \hyperlink{classProductionManager_a62ddc69b60ad1474a145aba430dd65f0}{\-Production\-Manager}.

\hypertarget{classArbitrator_1_1Controller_a378f0df1a79b5287ee41026d9c77f866}{\index{\-Arbitrator\-::\-Controller@{\-Arbitrator\-::\-Controller}!update@{update}}
\index{update@{update}!Arbitrator::Controller@{\-Arbitrator\-::\-Controller}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ virtual void {\bf \-Arbitrator\-::\-Controller}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf update} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}\label{classArbitrator_1_1Controller_a378f0df1a79b5287ee41026d9c77f866}


\-Implemented in \hyperlink{classGoal_ad0422ecd69f128c0bf13e5ae9d451ddf}{\-Goal}, \hyperlink{classTask_a4ceb4bba9ac808a61e346031a6beac89}{\-Task}, \hyperlink{classProducer_a9c917f9f89be228d81acc173a455020c}{\-Producer}, \hyperlink{classDefendGoal_a0fc47338fd9ecd3a19cbb9dd6cc61c16}{\-Defend\-Goal}, \hyperlink{classScoutManager_a818a4ab598271fb046251b7f20688c18}{\-Scout\-Manager}, \hyperlink{classDefenseManager_a6a919ffc8702bd634f6f9a8628ea204d}{\-Defense\-Manager}, \hyperlink{classWarManager_ac89c9205278185790b364c160206fea9}{\-War\-Manager}, \hyperlink{classConstructionManager_a8791292ab6d05b5a4599228a05871d0a}{\-Construction\-Manager}, \hyperlink{classWorkerManager_a3a7c0882cf94e12a61d8b6bfb03faa15}{\-Worker\-Manager}, \hyperlink{classFirstScoutController_ae1ab147a4a1a8fdf4a1b823623da5d83}{\-First\-Scout\-Controller}, \hyperlink{classUpgradeManager_aeb9b67731093c560e171f43caf164c3d}{\-Upgrade\-Manager}, \hyperlink{classMorphManager_a0474e0743803891b0f673dc58cddef72}{\-Morph\-Manager}, \hyperlink{classTechManager_a4fb7bd950b0c8def0e6ad89bceea211b}{\-Tech\-Manager}, and \hyperlink{classProductionManager_a02f06ab7dd2229769aebc3d9e2417968}{\-Production\-Manager}.



\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\-Arbitrator/\hyperlink{Controller_8h}{\-Controller.\-h}\end{DoxyCompactItemize}
