\hypertarget{classArbitrator}{\section{\-Arbitrator \-Class \-Reference}
\label{classArbitrator}\index{\-Arbitrator@{\-Arbitrator}}
}


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



\-Collaboration diagram for \-Arbitrator\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classArbitrator__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classArbitrator_ae2b168d299d196299026fcc6a1e6d5aa}{\-Arbitrator} (\hyperlink{classAgentPool}{\-Agent\-Pool} $\ast$p)
\item 
\hyperlink{classArbitrator_a6773b9e9c47d3c32724301b1aaf8a688}{$\sim$\-Arbitrator} ()
\item 
bool \hyperlink{classArbitrator_a8216b3ed6575252ab8bb4f4c9527b20d}{declare\-Intention} (\hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$g)
\item 
bool \hyperlink{classArbitrator_ad4e627934333a75c1092fee5731c51e6}{can\-Declare\-Intention} (int g)
\item 
void \hyperlink{classArbitrator_a622e365f7da66b0472d2f519a1fcce84}{perform\-Initial\-Arbitraton} ()
\item 
void \hyperlink{classArbitrator_a1a63249d3a1fb33c108c761b2b7d9613}{append\-Sub\-Set} (std\-::vector$<$ \hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ $>$ goals)
\item 
void \hyperlink{classArbitrator_ae626fb7ebc06e2fe0365b34fd5844cdd}{perform\-Arbitraton} ()
\item 
void \hyperlink{classArbitrator_a0b9ddf33ab3551659f1e9ef682b7d6aa}{clean\-Up} ()
\item 
std\-::pair$<$ int, int $>$ \hyperlink{classArbitrator_ac3f405051e1464842271d60f394c1571}{estimate\-Cost} (std\-::vector$<$ \hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ $>$ g)
\item 
std\-::vector$<$ \hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ $>$ \hyperlink{classArbitrator_af56ef2163b8524f85d2002c2b7526689}{get\-Executing\-Goals} ()
\item 
\hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ \hyperlink{classArbitrator_a713ff15b14d019a64fdd09ceb6b25360}{get\-Winner} ()
\item 
\hyperlink{classBidManager}{\-Bid\-Manager} $\ast$ \hyperlink{classArbitrator_a5d6fc980007fd61f033747e4a5148a1f}{get\-Bid\-Manager} ()
\item 
std\-::vector$<$ \hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ $>$ \hyperlink{classArbitrator_ac3ecb79803de9b8ded8b78e55e90ee31}{get\-Active\-Goals} ()
\item 
std\-::vector$<$ \hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ $>$ \hyperlink{classArbitrator_a7038f9687919802822623e504da1380e}{get\-Achievable\-Goals} ()
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classGoalDescriptor}{\-Goal\-Descriptor} $\ast$ \hyperlink{classArbitrator_a2223e46ed8bacee3b3689c840e3f6e6d}{winner}
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classArbitrator_ae2b168d299d196299026fcc6a1e6d5aa}{\index{\-Arbitrator@{\-Arbitrator}!\-Arbitrator@{\-Arbitrator}}
\index{\-Arbitrator@{\-Arbitrator}!Arbitrator@{\-Arbitrator}}
\subsubsection[{\-Arbitrator}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Arbitrator\-::\-Arbitrator} (
\begin{DoxyParamCaption}
\item[{{\bf \-Agent\-Pool} $\ast$}]{p}
\end{DoxyParamCaption}
)}}\label{classArbitrator_ae2b168d299d196299026fcc6a1e6d5aa}
\hypertarget{classArbitrator_a6773b9e9c47d3c32724301b1aaf8a688}{\index{\-Arbitrator@{\-Arbitrator}!$\sim$\-Arbitrator@{$\sim$\-Arbitrator}}
\index{$\sim$\-Arbitrator@{$\sim$\-Arbitrator}!Arbitrator@{\-Arbitrator}}
\subsubsection[{$\sim$\-Arbitrator}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Arbitrator\-::$\sim$\-Arbitrator} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a6773b9e9c47d3c32724301b1aaf8a688}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classArbitrator_a1a63249d3a1fb33c108c761b2b7d9613}{\index{\-Arbitrator@{\-Arbitrator}!append\-Sub\-Set@{append\-Sub\-Set}}
\index{append\-Sub\-Set@{append\-Sub\-Set}!Arbitrator@{\-Arbitrator}}
\subsubsection[{append\-Sub\-Set}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Arbitrator\-::append\-Sub\-Set} (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ {\bf \-Goal\-Descriptor} $\ast$ $>$}]{goals}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a1a63249d3a1fb33c108c761b2b7d9613}
\hypertarget{classArbitrator_ad4e627934333a75c1092fee5731c51e6}{\index{\-Arbitrator@{\-Arbitrator}!can\-Declare\-Intention@{can\-Declare\-Intention}}
\index{can\-Declare\-Intention@{can\-Declare\-Intention}!Arbitrator@{\-Arbitrator}}
\subsubsection[{can\-Declare\-Intention}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Arbitrator\-::can\-Declare\-Intention} (
\begin{DoxyParamCaption}
\item[{int}]{g}
\end{DoxyParamCaption}
)}}\label{classArbitrator_ad4e627934333a75c1092fee5731c51e6}
\hypertarget{classArbitrator_a0b9ddf33ab3551659f1e9ef682b7d6aa}{\index{\-Arbitrator@{\-Arbitrator}!clean\-Up@{clean\-Up}}
\index{clean\-Up@{clean\-Up}!Arbitrator@{\-Arbitrator}}
\subsubsection[{clean\-Up}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Arbitrator\-::clean\-Up} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a0b9ddf33ab3551659f1e9ef682b7d6aa}


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


\hypertarget{classArbitrator_a8216b3ed6575252ab8bb4f4c9527b20d}{\index{\-Arbitrator@{\-Arbitrator}!declare\-Intention@{declare\-Intention}}
\index{declare\-Intention@{declare\-Intention}!Arbitrator@{\-Arbitrator}}
\subsubsection[{declare\-Intention}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Arbitrator\-::declare\-Intention} (
\begin{DoxyParamCaption}
\item[{{\bf \-Goal\-Descriptor} $\ast$}]{g}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a8216b3ed6575252ab8bb4f4c9527b20d}


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




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


\hypertarget{classArbitrator_ac3f405051e1464842271d60f394c1571}{\index{\-Arbitrator@{\-Arbitrator}!estimate\-Cost@{estimate\-Cost}}
\index{estimate\-Cost@{estimate\-Cost}!Arbitrator@{\-Arbitrator}}
\subsubsection[{estimate\-Cost}]{\setlength{\rightskip}{0pt plus 5cm}std\-::pair$<$ int, int $>$ {\bf \-Arbitrator\-::estimate\-Cost} (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ {\bf \-Goal\-Descriptor} $\ast$ $>$}]{g}
\end{DoxyParamCaption}
)}}\label{classArbitrator_ac3f405051e1464842271d60f394c1571}


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


\hypertarget{classArbitrator_a7038f9687919802822623e504da1380e}{\index{\-Arbitrator@{\-Arbitrator}!get\-Achievable\-Goals@{get\-Achievable\-Goals}}
\index{get\-Achievable\-Goals@{get\-Achievable\-Goals}!Arbitrator@{\-Arbitrator}}
\subsubsection[{get\-Achievable\-Goals}]{\setlength{\rightskip}{0pt plus 5cm}std\-::vector$<$ {\bf \-Goal\-Descriptor} $\ast$ $>$ {\bf \-Arbitrator\-::get\-Achievable\-Goals} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a7038f9687919802822623e504da1380e}


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


\hypertarget{classArbitrator_ac3ecb79803de9b8ded8b78e55e90ee31}{\index{\-Arbitrator@{\-Arbitrator}!get\-Active\-Goals@{get\-Active\-Goals}}
\index{get\-Active\-Goals@{get\-Active\-Goals}!Arbitrator@{\-Arbitrator}}
\subsubsection[{get\-Active\-Goals}]{\setlength{\rightskip}{0pt plus 5cm}std\-::vector$<$ {\bf \-Goal\-Descriptor} $\ast$ $>$ {\bf \-Arbitrator\-::get\-Active\-Goals} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_ac3ecb79803de9b8ded8b78e55e90ee31}
\hypertarget{classArbitrator_a5d6fc980007fd61f033747e4a5148a1f}{\index{\-Arbitrator@{\-Arbitrator}!get\-Bid\-Manager@{get\-Bid\-Manager}}
\index{get\-Bid\-Manager@{get\-Bid\-Manager}!Arbitrator@{\-Arbitrator}}
\subsubsection[{get\-Bid\-Manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Bid\-Manager} $\ast$ {\bf \-Arbitrator\-::get\-Bid\-Manager} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a5d6fc980007fd61f033747e4a5148a1f}


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


\hypertarget{classArbitrator_af56ef2163b8524f85d2002c2b7526689}{\index{\-Arbitrator@{\-Arbitrator}!get\-Executing\-Goals@{get\-Executing\-Goals}}
\index{get\-Executing\-Goals@{get\-Executing\-Goals}!Arbitrator@{\-Arbitrator}}
\subsubsection[{get\-Executing\-Goals}]{\setlength{\rightskip}{0pt plus 5cm}std\-::vector$<$ {\bf \-Goal\-Descriptor} $\ast$ $>$ {\bf \-Arbitrator\-::get\-Executing\-Goals} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_af56ef2163b8524f85d2002c2b7526689}
\hypertarget{classArbitrator_a713ff15b14d019a64fdd09ceb6b25360}{\index{\-Arbitrator@{\-Arbitrator}!get\-Winner@{get\-Winner}}
\index{get\-Winner@{get\-Winner}!Arbitrator@{\-Arbitrator}}
\subsubsection[{get\-Winner}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Goal\-Descriptor}$\ast$ {\bf \-Arbitrator\-::get\-Winner} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a713ff15b14d019a64fdd09ceb6b25360}
\hypertarget{classArbitrator_ae626fb7ebc06e2fe0365b34fd5844cdd}{\index{\-Arbitrator@{\-Arbitrator}!perform\-Arbitraton@{perform\-Arbitraton}}
\index{perform\-Arbitraton@{perform\-Arbitraton}!Arbitrator@{\-Arbitrator}}
\subsubsection[{perform\-Arbitraton}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Arbitrator\-::perform\-Arbitraton} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_ae626fb7ebc06e2fe0365b34fd5844cdd}


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




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


\hypertarget{classArbitrator_a622e365f7da66b0472d2f519a1fcce84}{\index{\-Arbitrator@{\-Arbitrator}!perform\-Initial\-Arbitraton@{perform\-Initial\-Arbitraton}}
\index{perform\-Initial\-Arbitraton@{perform\-Initial\-Arbitraton}!Arbitrator@{\-Arbitrator}}
\subsubsection[{perform\-Initial\-Arbitraton}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Arbitrator\-::perform\-Initial\-Arbitraton} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classArbitrator_a622e365f7da66b0472d2f519a1fcce84}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classArbitrator_a2223e46ed8bacee3b3689c840e3f6e6d}{\index{\-Arbitrator@{\-Arbitrator}!winner@{winner}}
\index{winner@{winner}!Arbitrator@{\-Arbitrator}}
\subsubsection[{winner}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Goal\-Descriptor}$\ast$ {\bf \-Arbitrator\-::winner}}}\label{classArbitrator_a2223e46ed8bacee3b3689c840e3f6e6d}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
quorum/\-Example\-A\-I\-Module/\hyperlink{Arbitrator_8h}{\-Arbitrator.\-h}\item 
quorum/\-Example\-A\-I\-Module/\hyperlink{Arbitrator_8cpp}{\-Arbitrator.\-cpp}\end{DoxyCompactItemize}
