\hypertarget{BuildOrderManager_8cpp}{\section{\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\-Build\-Order\-Manager.cpp \-File \-Reference}
\label{BuildOrderManager_8cpp}\index{\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\-Build\-Order\-Manager.\-cpp@{\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\-Build\-Order\-Manager.\-cpp}}
}
{\ttfamily \#include $<$\-Precompiled\-Header.\-h$>$}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Build\-Order\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Build\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Tech\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Upgrade\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Worker\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Supply\-Manager.\-h\char`\"{}}\*
{\ttfamily \#include $<$algorithm$>$}\*
{\ttfamily \#include $<$stdarg.\-h$>$}\*
{\ttfamily \#include \char`\"{}\-Macro/\-Unit\-Group\-Manager.\-h\char`\"{}}\*
\-Include dependency graph for \-Build\-Order\-Manager.\-cpp\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{BuildOrderManager_8cpp__incl}
\end{center}
\end{figure}
\subsection*{\-Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{BuildOrderManager_8cpp_a366fdb89a63168946decd9569c590040}{unit\-Type\-Order\-Compare} (const pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ \&a, const pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ \&b)
\item 
\-Unit\-Type \hyperlink{BuildOrderManager_8cpp_af85531850dae40cc6fec3d4e9406b853}{get\-Unit\-Type} (set$<$ \-Unit\-Type $>$ \&valid\-Unit\-Types, vector$<$ pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ $>$ \&unit\-Counts)
\item 
pair$<$ \-Tech\-Type, \-Upgrade\-Type $>$ \hyperlink{BuildOrderManager_8cpp_afced81937d5993be4652b33856a530a3}{get\-Tech\-Or\-Upgrade\-Type} (set$<$ \-Tech\-Type $>$ \&valid\-Tech\-Types, set$<$ \-Upgrade\-Type $>$ \&valid\-Upgrade\-Types, list$<$ \-Tech\-Item $>$ \&remaining\-Tech)
\item 
bool \hyperlink{BuildOrderManager_8cpp_a31c8fe1b3e7c7c345e27e2f618af41a7}{factory\-Compare} (const \-Build\-Order\-Manager\-::\-Meta\-Unit $\ast$a, const \-Build\-Order\-Manager\-::\-Meta\-Unit $\ast$b)
\end{DoxyCompactItemize}
\subsection*{\-Variables}
\begin{DoxyCompactItemize}
\item 
map$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, map\*
$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, \-Unit\-Item $\ast$ $>$ $>$ $\ast$ \hyperlink{BuildOrderManager_8cpp_a21c851d2842b6a587801b9b399250927}{global\-Unit\-Set}
\item 
int \hyperlink{BuildOrderManager_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{y}
\item 
int \hyperlink{BuildOrderManager_8cpp_a1227fa4b575ee8d089e907dd4ddf64c4}{current\-Priority}
\item 
map$<$ const \-B\-W\-A\-P\-I\-::\-Unit $\ast$, int $>$ \hyperlink{BuildOrderManager_8cpp_a04c3f1b2bc99594bbe23ac5b9644ef1c}{next\-Free\-Time\-Data}
\item 
map$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, set\*
$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type $>$ $>$ \hyperlink{BuildOrderManager_8cpp_acc8b7577e4dba14b900f5de3f13e5d5e}{makes}
\item 
map$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, set\*
$<$ \-B\-W\-A\-P\-I\-::\-Tech\-Type $>$ $>$ \hyperlink{BuildOrderManager_8cpp_a0b5b65e209883001e923eec0eee2d50c}{researches}
\item 
map$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, set\*
$<$ \-B\-W\-A\-P\-I\-::\-Upgrade\-Type $>$ $>$ \hyperlink{BuildOrderManager_8cpp_aec84355d995881332ad080528b995dda}{upgrades}
\item 
\-Build\-Order\-Manager $\ast$ \hyperlink{BuildOrderManager_8cpp_a27671e24b58ca909e7809b173f40b339}{build\-Order\-Manager}
\end{DoxyCompactItemize}


\subsection{\-Function \-Documentation}
\hypertarget{BuildOrderManager_8cpp_a31c8fe1b3e7c7c345e27e2f618af41a7}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!factory\-Compare@{factory\-Compare}}
\index{factory\-Compare@{factory\-Compare}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{factory\-Compare}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf factory\-Compare} (
\begin{DoxyParamCaption}
\item[{const \-Build\-Order\-Manager\-::\-Meta\-Unit $\ast$}]{a, }
\item[{const \-Build\-Order\-Manager\-::\-Meta\-Unit $\ast$}]{b}
\end{DoxyParamCaption}
)}}\label{BuildOrderManager_8cpp_a31c8fe1b3e7c7c345e27e2f618af41a7}
\hypertarget{BuildOrderManager_8cpp_afced81937d5993be4652b33856a530a3}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!get\-Tech\-Or\-Upgrade\-Type@{get\-Tech\-Or\-Upgrade\-Type}}
\index{get\-Tech\-Or\-Upgrade\-Type@{get\-Tech\-Or\-Upgrade\-Type}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{get\-Tech\-Or\-Upgrade\-Type}]{\setlength{\rightskip}{0pt plus 5cm}pair$<$\-Tech\-Type,\-Upgrade\-Type$>$ {\bf get\-Tech\-Or\-Upgrade\-Type} (
\begin{DoxyParamCaption}
\item[{set$<$ \-Tech\-Type $>$ \&}]{valid\-Tech\-Types, }
\item[{set$<$ \-Upgrade\-Type $>$ \&}]{valid\-Upgrade\-Types, }
\item[{list$<$ \-Tech\-Item $>$ \&}]{remaining\-Tech}
\end{DoxyParamCaption}
)}}\label{BuildOrderManager_8cpp_afced81937d5993be4652b33856a530a3}
\hypertarget{BuildOrderManager_8cpp_af85531850dae40cc6fec3d4e9406b853}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!get\-Unit\-Type@{get\-Unit\-Type}}
\index{get\-Unit\-Type@{get\-Unit\-Type}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{get\-Unit\-Type}]{\setlength{\rightskip}{0pt plus 5cm}\-Unit\-Type {\bf get\-Unit\-Type} (
\begin{DoxyParamCaption}
\item[{set$<$ \-Unit\-Type $>$ \&}]{valid\-Unit\-Types, }
\item[{vector$<$ pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ $>$ \&}]{unit\-Counts}
\end{DoxyParamCaption}
)}}\label{BuildOrderManager_8cpp_af85531850dae40cc6fec3d4e9406b853}


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


\hypertarget{BuildOrderManager_8cpp_a366fdb89a63168946decd9569c590040}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!unit\-Type\-Order\-Compare@{unit\-Type\-Order\-Compare}}
\index{unit\-Type\-Order\-Compare@{unit\-Type\-Order\-Compare}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{unit\-Type\-Order\-Compare}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf unit\-Type\-Order\-Compare} (
\begin{DoxyParamCaption}
\item[{const pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ \&}]{a, }
\item[{const pair$<$ \-B\-W\-A\-P\-I\-::\-Unit\-Type, int $>$ \&}]{b}
\end{DoxyParamCaption}
)}}\label{BuildOrderManager_8cpp_a366fdb89a63168946decd9569c590040}


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




\subsection{\-Variable \-Documentation}
\hypertarget{BuildOrderManager_8cpp_a27671e24b58ca909e7809b173f40b339}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!build\-Order\-Manager@{build\-Order\-Manager}}
\index{build\-Order\-Manager@{build\-Order\-Manager}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{build\-Order\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}\-Build\-Order\-Manager$\ast$ {\bf build\-Order\-Manager}}}\label{BuildOrderManager_8cpp_a27671e24b58ca909e7809b173f40b339}
\hypertarget{BuildOrderManager_8cpp_a1227fa4b575ee8d089e907dd4ddf64c4}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!current\-Priority@{current\-Priority}}
\index{current\-Priority@{current\-Priority}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{current\-Priority}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf current\-Priority}}}\label{BuildOrderManager_8cpp_a1227fa4b575ee8d089e907dd4ddf64c4}
\hypertarget{BuildOrderManager_8cpp_a21c851d2842b6a587801b9b399250927}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!global\-Unit\-Set@{global\-Unit\-Set}}
\index{global\-Unit\-Set@{global\-Unit\-Set}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{global\-Unit\-Set}]{\setlength{\rightskip}{0pt plus 5cm}map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type, map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type, \-Unit\-Item$\ast$ $>$ $>$$\ast$ {\bf global\-Unit\-Set}}}\label{BuildOrderManager_8cpp_a21c851d2842b6a587801b9b399250927}
\hypertarget{BuildOrderManager_8cpp_acc8b7577e4dba14b900f5de3f13e5d5e}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!makes@{makes}}
\index{makes@{makes}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{makes}]{\setlength{\rightskip}{0pt plus 5cm}map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type, set$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type$>$ $>$ {\bf makes}}}\label{BuildOrderManager_8cpp_acc8b7577e4dba14b900f5de3f13e5d5e}
\hypertarget{BuildOrderManager_8cpp_a04c3f1b2bc99594bbe23ac5b9644ef1c}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!next\-Free\-Time\-Data@{next\-Free\-Time\-Data}}
\index{next\-Free\-Time\-Data@{next\-Free\-Time\-Data}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{next\-Free\-Time\-Data}]{\setlength{\rightskip}{0pt plus 5cm}map$<$const \-B\-W\-A\-P\-I\-::\-Unit$\ast$,int$>$ {\bf next\-Free\-Time\-Data}}}\label{BuildOrderManager_8cpp_a04c3f1b2bc99594bbe23ac5b9644ef1c}
\hypertarget{BuildOrderManager_8cpp_a0b5b65e209883001e923eec0eee2d50c}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!researches@{researches}}
\index{researches@{researches}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{researches}]{\setlength{\rightskip}{0pt plus 5cm}map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type, set$<$\-B\-W\-A\-P\-I\-::\-Tech\-Type$>$ $>$ {\bf researches}}}\label{BuildOrderManager_8cpp_a0b5b65e209883001e923eec0eee2d50c}
\hypertarget{BuildOrderManager_8cpp_aec84355d995881332ad080528b995dda}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!upgrades@{upgrades}}
\index{upgrades@{upgrades}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{upgrades}]{\setlength{\rightskip}{0pt plus 5cm}map$<$\-B\-W\-A\-P\-I\-::\-Unit\-Type, set$<$\-B\-W\-A\-P\-I\-::\-Upgrade\-Type$>$ $>$ {\bf upgrades}}}\label{BuildOrderManager_8cpp_aec84355d995881332ad080528b995dda}
\hypertarget{BuildOrderManager_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{\index{\-Build\-Order\-Manager.\-cpp@{\-Build\-Order\-Manager.\-cpp}!y@{y}}
\index{y@{y}!BuildOrderManager.cpp@{\-Build\-Order\-Manager.\-cpp}}
\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf y}}}\label{BuildOrderManager_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}
