\hypertarget{mpool__base__tree_8c}{\section{ompi/mca/mpool/base/mpool\+\_\+base\+\_\+tree.c File Reference}
\label{mpool__base__tree_8c}\index{ompi/mca/mpool/base/mpool\+\_\+base\+\_\+tree.\+c@{ompi/mca/mpool/base/mpool\+\_\+base\+\_\+tree.\+c}}
}


Description of the Registration Cache framework.  


{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/show\+\_\+help.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/name\+\_\+fns.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/util/proc\+\_\+info.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/runtime/orte\+\_\+globals.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/runtime/params.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/class/ompi\+\_\+free\+\_\+list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/class/ompi\+\_\+rb\+\_\+tree.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}mpool\+\_\+base\+\_\+tree.\+h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{mpool__base__tree_8c_a7cde4b725ef64c3523628e476ad1605c}{static int {\bfseries condition} (void $\ast$value)}\label{mpool__base__tree_8c_a7cde4b725ef64c3523628e476ad1605c}

\item 
\hypertarget{mpool__base__tree_8c_ae45b9061ed22d55e9c722e435acee87c}{static void {\bfseries action} (void $\ast$key, void $\ast$value)}\label{mpool__base__tree_8c_ae45b9061ed22d55e9c722e435acee87c}

\item 
\hypertarget{mpool__base__tree_8c_ac202bcbf6e37860275d8be0a2bde4c95}{{\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+I\+N\+S\+T\+A\+N\+C\+E} (\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t}, \hyperlink{structompi__free__list__item__t}{ompi\+\_\+free\+\_\+list\+\_\+item\+\_\+t}, N\+U\+L\+L, N\+U\+L\+L)}\label{mpool__base__tree_8c_ac202bcbf6e37860275d8be0a2bde4c95}

\item 
int \hyperlink{mpool__base__tree_8c_a31aa280296cc8c36cd88e584a2dbf78c}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare} (void $\ast$key1, void $\ast$key2)
\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} for the red black tree to compare 2 keys. \end{DoxyCompactList}\item 
\hypertarget{mpool__base__tree_8c_a058cb6abeaba573e2d22af6f695dd01d}{int {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+init} (void)}\label{mpool__base__tree_8c_a058cb6abeaba573e2d22af6f695dd01d}

\item 
\hypertarget{mpool__base__tree_8c_a2dfc800827a27a0944f93e3a7b7245b6}{int {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+insert} (\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t} $\ast$item)}\label{mpool__base__tree_8c_a2dfc800827a27a0944f93e3a7b7245b6}

\item 
\hypertarget{mpool__base__tree_8c_a73aedda37573df7d5e3c57fd01e971fa}{int {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+delete} (\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t} $\ast$item)}\label{mpool__base__tree_8c_a73aedda37573df7d5e3c57fd01e971fa}

\item 
\hypertarget{mpool__base__tree_8c_ac2d2db9e92036bf71cd7c10d058c0188}{\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t} $\ast$ \hyperlink{mpool__base__tree_8c_ac2d2db9e92036bf71cd7c10d058c0188}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+find} (void $\ast$base)}\label{mpool__base__tree_8c_ac2d2db9e92036bf71cd7c10d058c0188}

\begin{DoxyCompactList}\small\item\em find the item in the rb tree \end{DoxyCompactList}\item 
\hypertarget{mpool__base__tree_8c_ade7bf85793046826dfc2eef2bdcaa8e6}{\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t} $\ast$ {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+get} (void)}\label{mpool__base__tree_8c_ade7bf85793046826dfc2eef2bdcaa8e6}

\item 
\hypertarget{mpool__base__tree_8c_a7a8ac904259670609c51c0e2223f051c}{void {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+put} (\hyperlink{structmca__mpool__base__tree__item__t}{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+t} $\ast$item)}\label{mpool__base__tree_8c_a7a8ac904259670609c51c0e2223f051c}

\item 
\hypertarget{mpool__base__tree_8c_a39aac4ea35d80ea60dd3201880aada1a}{void {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+print} (void)}\label{mpool__base__tree_8c_a39aac4ea35d80ea60dd3201880aada1a}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{mpool__base__tree_8c_a0a969e46eeb00f7750047136cdeae90e}{static int {\bfseries num\+\_\+leaks} = 0}\label{mpool__base__tree_8c_a0a969e46eeb00f7750047136cdeae90e}

\item 
\hypertarget{mpool__base__tree_8c_ae8fdab3cfd81c1377c56ddf3bafb4897}{static char $\ast$ {\bfseries leak\+\_\+msg} = N\+U\+L\+L}\label{mpool__base__tree_8c_ae8fdab3cfd81c1377c56ddf3bafb4897}

\item 
\hypertarget{mpool__base__tree_8c_aa6be2f44c59d525964198f5717f71880}{\hyperlink{structompi__rb__tree__t}{ompi\+\_\+rb\+\_\+tree\+\_\+t} {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree}}\label{mpool__base__tree_8c_aa6be2f44c59d525964198f5717f71880}

\item 
\hypertarget{mpool__base__tree_8c_a2b898a656dcefda76eae0da327ff2c12}{\hyperlink{structompi__free__list__t}{ompi\+\_\+free\+\_\+list\+\_\+t} {\bfseries mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+item\+\_\+free\+\_\+list}}\label{mpool__base__tree_8c_a2b898a656dcefda76eae0da327ff2c12}

\item 
\hypertarget{mpool__base__tree_8c_a9cff1f9062dcff0bbbb3565bc9e44344}{static \hyperlink{structopal__mutex__t}{opal\+\_\+mutex\+\_\+t} {\bfseries tree\+\_\+lock}}\label{mpool__base__tree_8c_a9cff1f9062dcff0bbbb3565bc9e44344}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Description of the Registration Cache framework. 



\subsection{Function Documentation}
\hypertarget{mpool__base__tree_8c_a31aa280296cc8c36cd88e584a2dbf78c}{\index{mpool\+\_\+base\+\_\+tree.\+c@{mpool\+\_\+base\+\_\+tree.\+c}!mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare@{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare}}
\index{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare@{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare}!mpool\+\_\+base\+\_\+tree.\+c@{mpool\+\_\+base\+\_\+tree.\+c}}
\subsubsection[{mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+mpool\+\_\+base\+\_\+tree\+\_\+node\+\_\+compare (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{key1, }
\item[{void $\ast$}]{key2}
\end{DoxyParamCaption}
)}}\label{mpool__base__tree_8c_a31aa280296cc8c36cd88e584a2dbf78c}


\hyperlink{structFunction}{Function} for the red black tree to compare 2 keys. 


\begin{DoxyParams}{Parameters}
{\em key1} & a pointer to the 1st key \\
\hline
{\em key2} & a pointer to the second key\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em -\/1} & if key1 is below key2 \\
\hline
{\em 1} & if key 1 is above key2 \\
\hline
{\em 0} & if the keys are the same \\
\hline
\end{DoxyRetVals}
