\hypertarget{rcache__rb__tree_8h}{\section{ompi/mca/rcache/rb/rcache\+\_\+rb\+\_\+tree.h File Reference}
\label{rcache__rb__tree_8h}\index{ompi/mca/rcache/rb/rcache\+\_\+rb\+\_\+tree.\+h@{ompi/mca/rcache/rb/rcache\+\_\+rb\+\_\+tree.\+h}}
}


Copyright (c) 2004-\/2005 The Trustees of Indiana University and Indiana University Research and Technology Corporation.  


{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/class/ompi\+\_\+free\+\_\+list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/mpool.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}rcache\+\_\+rb.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__rcache__rb__tree__key__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+key\+\_\+t}
\begin{DoxyCompactList}\small\item\em Holds the key for the tree. \end{DoxyCompactList}\item 
struct \hyperlink{structmca__rcache__rb__tree__item__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t}
\begin{DoxyCompactList}\small\item\em The item in the rb\+\_\+tree itself. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{rcache__rb__tree_8h_a888ffe398a28c6a6e8133407b01533f2}{typedef struct \\*
\hyperlink{structmca__rcache__rb__tree__key__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+key\+\_\+t} {\bfseries mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+key\+\_\+t}}\label{rcache__rb__tree_8h_a888ffe398a28c6a6e8133407b01533f2}

\item 
\hypertarget{rcache__rb__tree_8h_a1ac4fcf68d021586add75f13f067a512}{typedef struct \\*
\hyperlink{structmca__rcache__rb__tree__item__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t} {\bfseries mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t}}\label{rcache__rb__tree_8h_a1ac4fcf68d021586add75f13f067a512}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{rcache__rb__tree_8h_a332b1078e68bf2322c19327b7ce8805e}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C {\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+C\+L\+A\+R\+A\+T\+I\+O\+N} (\hyperlink{structmca__rcache__rb__tree__item__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t})}\label{rcache__rb__tree_8h_a332b1078e68bf2322c19327b7ce8805e}

\item 
\hypertarget{rcache__rb__tree_8h_a369ca7d2afde68e887a340e47c273c96}{int {\bfseries mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+init} (\hyperlink{structmca__rcache__rb__module__t}{mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$rcache)}\label{rcache__rb__tree_8h_a369ca7d2afde68e887a340e47c273c96}

\item 
\hyperlink{structmca__rcache__rb__tree__item__t}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t} $\ast$ \hyperlink{rcache__rb__tree_8h_ad2e32f984e02e80e5a196f068a5634d7}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find} (\hyperlink{structmca__rcache__rb__module__t}{mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$rcache, void $\ast$base)
\begin{DoxyCompactList}\small\item\em Returns the item in the rb tree. \end{DoxyCompactList}\item 
\hypertarget{rcache__rb__tree_8h_ad495e578d88838925934809fb88bb1f2}{int {\bfseries mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+insert} (\hyperlink{structmca__rcache__rb__module__t}{mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$rcache, \hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg)}\label{rcache__rb__tree_8h_ad495e578d88838925934809fb88bb1f2}

\item 
int \hyperlink{rcache__rb__tree_8h_aa45c39cf5c0d8ca3b630111358c4a6c7}{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete} (\hyperlink{structmca__rcache__rb__module__t}{mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$rcache, \hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg)
\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} to remove previously memory from the tree without freeing it. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Copyright (c) 2004-\/2005 The Trustees of Indiana University and Indiana University Research and Technology Corporation. 

All rights reserved. Copyright (c) 2004-\/2006 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. Copyright (c) 2004-\/2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. Copyright (c) 2004-\/2005 The Regents of the University of California. All rights reserved. \$\+C\+O\+P\+Y\+R\+I\+G\+H\+T\$

Additional copyrights may follow

\$\+H\+E\+A\+D\+E\+R\$

Description of the Registration Cache framework 

\subsection{Function Documentation}
\hypertarget{rcache__rb__tree_8h_aa45c39cf5c0d8ca3b630111358c4a6c7}{\index{rcache\+\_\+rb\+\_\+tree.\+h@{rcache\+\_\+rb\+\_\+tree.\+h}!mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete@{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete}}
\index{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete@{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete}!rcache\+\_\+rb\+\_\+tree.\+h@{rcache\+\_\+rb\+\_\+tree.\+h}}
\subsubsection[{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$}]{rb\+\_\+module, }
\item[{{\bf mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$}]{reg}
\end{DoxyParamCaption}
)}}\label{rcache__rb__tree_8h_aa45c39cf5c0d8ca3b630111358c4a6c7}


\hyperlink{structFunction}{Function} to remove previously memory from the tree without freeing it. 


\begin{DoxyParams}{Parameters}
{\em base} & pointer to the memory to free\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em O\+M\+P\+I\+\_\+\+S\+U\+C\+C\+E\+S\+S} & \\
\hline
{\em O\+M\+P\+I\+\_\+\+E\+R\+R\+\_\+\+B\+A\+D\+\_\+\+P\+A\+R\+A\+M} & if the passed base pointer was invalid \\
\hline
\end{DoxyRetVals}


References mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t\+::key, mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find(), ompi\+\_\+rb\+\_\+tree\+\_\+delete(), and mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t\+::reg.

\hypertarget{rcache__rb__tree_8h_ad2e32f984e02e80e5a196f068a5634d7}{\index{rcache\+\_\+rb\+\_\+tree.\+h@{rcache\+\_\+rb\+\_\+tree.\+h}!mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find@{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find}}
\index{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find@{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find}!rcache\+\_\+rb\+\_\+tree.\+h@{rcache\+\_\+rb\+\_\+tree.\+h}}
\subsubsection[{mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t}$\ast$ mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+find (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+rcache\+\_\+rb\+\_\+module\+\_\+t} $\ast$}]{rcache, }
\item[{void $\ast$}]{base}
\end{DoxyParamCaption}
)}}\label{rcache__rb__tree_8h_ad2e32f984e02e80e5a196f068a5634d7}


Returns the item in the rb tree. 

Returns the item in the rb tree.

If so it returns an array of mpools the memory is registered with.


\begin{DoxyParams}{Parameters}
{\em base} & pointer to the memory to lookup\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em N\+U\+L\+L} & if the memory is not in any mpool \\
\hline
{\em pointer} & to an array of type mca\+\_\+mpool\+\_\+base\+\_\+reg\+\_\+mpool\+\_\+t \\
\hline
\end{DoxyRetVals}


References mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+key\+\_\+t\+::base, mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+key\+\_\+t\+::bound, mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t\+::key, ompi\+\_\+rb\+\_\+tree\+\_\+find(), and mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+item\+\_\+t\+::reg.



Referenced by mca\+\_\+rcache\+\_\+rb\+\_\+tree\+\_\+delete().

