\hypertarget{BuildOrderManager_8cpp}{\section{\-Aiur/src/\-Build\-Order\-Manager.cpp \-File \-Reference}
\label{BuildOrderManager_8cpp}\index{\-Aiur/src/\-Build\-Order\-Manager.\-cpp@{\-Aiur/src/\-Build\-Order\-Manager.\-cpp}}
}
{\ttfamily \#include $<$\-Build\-Order\-Manager.\-h$>$}\*
{\ttfamily \#include $<$\-Build\-Manager.\-h$>$}\*
{\ttfamily \#include $<$\-Tech\-Manager.\-h$>$}\*
{\ttfamily \#include $<$\-Upgrade\-Manager.\-h$>$}\*
{\ttfamily \#include $<$\-Worker\-Manager.\-h$>$}\*
{\ttfamily \#include $<$\-Supply\-Manager.\-h$>$}\*
{\ttfamily \#include $<$algorithm$>$}\*
{\ttfamily \#include $<$stdarg.\-h$>$}\*
{\ttfamily \#include $<$\-Unit\-Group\-Manager.\-h$>$}\*
\-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$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, int $>$ \&a, const pair$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, int $>$ \&b)
\item 
\hyperlink{classBWAPI_1_1UnitType}{\-Unit\-Type} \hyperlink{BuildOrderManager_8cpp_af85531850dae40cc6fec3d4e9406b853}{get\-Unit\-Type} (set$<$ \hyperlink{classBWAPI_1_1UnitType}{\-Unit\-Type} $>$ \&valid\-Unit\-Types, vector$<$ pair$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, int $>$ $>$ \&unit\-Counts)
\item 
pair$<$ \hyperlink{classBWAPI_1_1TechType}{\-Tech\-Type}, \hyperlink{classBWAPI_1_1UpgradeType}{\-Upgrade\-Type} $>$ \hyperlink{BuildOrderManager_8cpp_afced81937d5993be4652b33856a530a3}{get\-Tech\-Or\-Upgrade\-Type} (set$<$ \hyperlink{classBWAPI_1_1TechType}{\-Tech\-Type} $>$ \&valid\-Tech\-Types, set$<$ \hyperlink{classBWAPI_1_1UpgradeType}{\-Upgrade\-Type} $>$ \&valid\-Upgrade\-Types, list$<$ \hyperlink{classTechItem}{\-Tech\-Item} $>$ \&remaining\-Tech)
\item 
bool \hyperlink{BuildOrderManager_8cpp_a31c8fe1b3e7c7c345e27e2f618af41a7}{factory\-Compare} (const \hyperlink{classBuildOrderManager_1_1MetaUnit}{\-Build\-Order\-Manager\-::\-Meta\-Unit} $\ast$a, const \hyperlink{classBuildOrderManager_1_1MetaUnit}{\-Build\-Order\-Manager\-::\-Meta\-Unit} $\ast$b)
\end{DoxyCompactItemize}
\subsection*{\-Variables}
\begin{DoxyCompactItemize}
\item 
map$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, map\*
$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, \hyperlink{classUnitItem}{\-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 \hyperlink{classBWAPI_1_1Unit}{\-B\-W\-A\-P\-I\-::\-Unit} $\ast$, int $>$ \hyperlink{BuildOrderManager_8cpp_a04c3f1b2bc99594bbe23ac5b9644ef1c}{next\-Free\-Time\-Data}
\item 
map$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, set\*
$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type} $>$ $>$ \hyperlink{BuildOrderManager_8cpp_acc8b7577e4dba14b900f5de3f13e5d5e}{makes}
\item 
map$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, set\*
$<$ \hyperlink{classBWAPI_1_1TechType}{\-B\-W\-A\-P\-I\-::\-Tech\-Type} $>$ $>$ \hyperlink{BuildOrderManager_8cpp_a0b5b65e209883001e923eec0eee2d50c}{researches}
\item 
map$<$ \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type}, set\*
$<$ \hyperlink{classBWAPI_1_1UpgradeType}{\-B\-W\-A\-P\-I\-::\-Upgrade\-Type} $>$ $>$ \hyperlink{BuildOrderManager_8cpp_aec84355d995881332ad080528b995dda}{upgrades}
\item 
\hyperlink{classBuildOrderManager}{\-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 {\bf \-Build\-Order\-Manager\-::\-Meta\-Unit} $\ast$}]{a, }
\item[{const {\bf \-Build\-Order\-Manager\-::\-Meta\-Unit} $\ast$}]{b}
\end{DoxyParamCaption}
)}}\label{BuildOrderManager_8cpp_a31c8fe1b3e7c7c345e27e2f618af41a7}


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


\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$<${\bf \-Tech\-Type},{\bf \-Upgrade\-Type}$>$ {\bf get\-Tech\-Or\-Upgrade\-Type} (
\begin{DoxyParamCaption}
\item[{set$<$ {\bf \-Tech\-Type} $>$ \&}]{valid\-Tech\-Types, }
\item[{set$<$ {\bf \-Upgrade\-Type} $>$ \&}]{valid\-Upgrade\-Types, }
\item[{list$<$ {\bf \-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}{\bf \-Unit\-Type} {\bf get\-Unit\-Type} (
\begin{DoxyParamCaption}
\item[{set$<$ {\bf \-Unit\-Type} $>$ \&}]{valid\-Unit\-Types, }
\item[{vector$<$ pair$<$ {\bf \-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$<$ {\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, int $>$ \&}]{a, }
\item[{const pair$<$ {\bf \-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}{\bf \-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$<${\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, map$<${\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, {\bf \-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$<${\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, set$<${\bf \-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 {\bf \-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$<${\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, set$<${\bf \-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$<${\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}, set$<${\bf \-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}
