\hypertarget{classMinHeap}{\section{\-Min\-Heap$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ \-Class \-Template \-Reference}
\label{classMinHeap}\index{\-Min\-Heap$<$ \-\_\-\-Tp, \-\_\-\-Val $>$@{\-Min\-Heap$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}}
}


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

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMinHeap_a3eecfcd4730bae8401982bcf1dd0afe4}{\-Min\-Heap} ()
\item 
\hyperlink{classMinHeap_a3be83ef092e921a71430f5fe6f8948aa}{\-Min\-Heap} (std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ x)
\item 
\hyperlink{classMinHeap_ac53a2ebe88163abd21830ef3654f16ab}{$\sim$\-Min\-Heap} ()
\item 
void \hyperlink{classMinHeap_adb5b084929d6fdbd2d2849b3d6907a13}{push} (std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ x)
\item 
void \hyperlink{classMinHeap_a8b785d0ea2a2fb65c0f81e8c039f7706}{pop} ()
\item 
const std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ \& \hyperlink{classMinHeap_a5d297bd5c0b5af45e02cf555dddbc9df}{top} () const 
\item 
bool \hyperlink{classMinHeap_aaa0889c131c71bf38b6335b86aa9a5c8}{set} (\-\_\-\-Tp \&x, \-\_\-\-Val \&v)
\item 
bool \hyperlink{classMinHeap_afbfbce0ecaf67f4fd7a1221c8b888163}{empty} () const 
\item 
int \hyperlink{classMinHeap_af41d4bfbe9b955df61a5db30b0f6759a}{size} () const 
\end{DoxyCompactItemize}
\subsubsection*{template$<$class \-\_\-\-Tp, class \-\_\-\-Val$>$ class Min\-Heap$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classMinHeap_a3eecfcd4730bae8401982bcf1dd0afe4}{\index{\-Min\-Heap@{\-Min\-Heap}!\-Min\-Heap@{\-Min\-Heap}}
\index{\-Min\-Heap@{\-Min\-Heap}!MinHeap@{\-Min\-Heap}}
\subsubsection[{\-Min\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf \-Min\-Heap} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classMinHeap_a3eecfcd4730bae8401982bcf1dd0afe4}
\hypertarget{classMinHeap_a3be83ef092e921a71430f5fe6f8948aa}{\index{\-Min\-Heap@{\-Min\-Heap}!\-Min\-Heap@{\-Min\-Heap}}
\index{\-Min\-Heap@{\-Min\-Heap}!MinHeap@{\-Min\-Heap}}
\subsubsection[{\-Min\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf \-Min\-Heap} (
\begin{DoxyParamCaption}
\item[{std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}]{x}
\end{DoxyParamCaption}
)}}\label{classMinHeap_a3be83ef092e921a71430f5fe6f8948aa}
\hypertarget{classMinHeap_ac53a2ebe88163abd21830ef3654f16ab}{\index{\-Min\-Heap@{\-Min\-Heap}!$\sim$\-Min\-Heap@{$\sim$\-Min\-Heap}}
\index{$\sim$\-Min\-Heap@{$\sim$\-Min\-Heap}!MinHeap@{\-Min\-Heap}}
\subsubsection[{$\sim$\-Min\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::$\sim${\bf \-Min\-Heap} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classMinHeap_ac53a2ebe88163abd21830ef3654f16ab}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classMinHeap_afbfbce0ecaf67f4fd7a1221c8b888163}{\index{\-Min\-Heap@{\-Min\-Heap}!empty@{empty}}
\index{empty@{empty}!MinHeap@{\-Min\-Heap}}
\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ bool {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf empty} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classMinHeap_afbfbce0ecaf67f4fd7a1221c8b888163}
\-Return the given object's value 
\begin{DoxyParams}{\-Parameters}
{\em object} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
value 
\end{DoxyReturn}
\hypertarget{classMinHeap_a8b785d0ea2a2fb65c0f81e8c039f7706}{\index{\-Min\-Heap@{\-Min\-Heap}!pop@{pop}}
\index{pop@{pop}!MinHeap@{\-Min\-Heap}}
\subsubsection[{pop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ void {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf pop} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMinHeap_a8b785d0ea2a2fb65c0f81e8c039f7706}
\hypertarget{classMinHeap_adb5b084929d6fdbd2d2849b3d6907a13}{\index{\-Min\-Heap@{\-Min\-Heap}!push@{push}}
\index{push@{push}!MinHeap@{\-Min\-Heap}}
\subsubsection[{push}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ void {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf push} (
\begin{DoxyParamCaption}
\item[{std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$}]{x}
\end{DoxyParamCaption}
)}}\label{classMinHeap_adb5b084929d6fdbd2d2849b3d6907a13}
\-Pushes an (object, value) onto the heap 
\begin{DoxyParams}{\-Parameters}
{\em the} & object-\/value pair to push onto the heap \\
\hline
\end{DoxyParams}
\hypertarget{classMinHeap_aaa0889c131c71bf38b6335b86aa9a5c8}{\index{\-Min\-Heap@{\-Min\-Heap}!set@{set}}
\index{set@{set}!MinHeap@{\-Min\-Heap}}
\subsubsection[{set}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ bool {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf set} (
\begin{DoxyParamCaption}
\item[{\-\_\-\-Tp \&}]{x, }
\item[{\-\_\-\-Val \&}]{v}
\end{DoxyParamCaption}
)}}\label{classMinHeap_aaa0889c131c71bf38b6335b86aa9a5c8}
\-Update the given object with the given value and moves the object \-Pushes the object if it doesn't exist 
\begin{DoxyParams}{\-Parameters}
{\em an} & object that exists in the heap \\
\hline
{\em the} & new value for that object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
boolean success 
\end{DoxyReturn}
\hypertarget{classMinHeap_af41d4bfbe9b955df61a5db30b0f6759a}{\index{\-Min\-Heap@{\-Min\-Heap}!size@{size}}
\index{size@{size}!MinHeap@{\-Min\-Heap}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ int {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf size} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classMinHeap_af41d4bfbe9b955df61a5db30b0f6759a}
\hypertarget{classMinHeap_a5d297bd5c0b5af45e02cf555dddbc9df}{\index{\-Min\-Heap@{\-Min\-Heap}!top@{top}}
\index{top@{top}!MinHeap@{\-Min\-Heap}}
\subsubsection[{top}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-\_\-\-Tp , class \-\_\-\-Val $>$ const std\-::pair$<$ \-\_\-\-Tp, \-\_\-\-Val $>$ \& {\bf \-Min\-Heap}$<$ \-\_\-\-Tp, \-\_\-\-Val $>$\-::{\bf top} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classMinHeap_a5d297bd5c0b5af45e02cf555dddbc9df}


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