\hypertarget{classXrlAtomList}{
\section{XrlAtomList Class Reference}
\label{classXrlAtomList}\index{XrlAtomList@{XrlAtomList}}
}


List class to contain XrlAtom's of one type.  




{\ttfamily \#include $<$xrl\_\-atom\_\-list.hh$>$}

\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structXrlAtomList_1_1BadAtomType}{BadAtomType}
\item 
struct \hyperlink{structXrlAtomList_1_1InvalidIndex}{InvalidIndex}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classXrlAtomList_a3635e8b2684f0b513fa67d38b89e19ab}{prepend} (const \hyperlink{classXrlAtom}{XrlAtom} \&xa)  throw (BadAtomType)
\begin{DoxyCompactList}\small\item\em Insert an \hyperlink{classXrlAtom}{XrlAtom} at \hyperlink{protocolthe-p}{the} front of \hyperlink{protocolthe-p}{the} list. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlAtomList_aacfc20f3115749e9c61293ca351f3de2}{append} (const \hyperlink{classXrlAtom}{XrlAtom} \&xa)  throw (BadAtomType)
\begin{DoxyCompactList}\small\item\em Insert an \hyperlink{classXrlAtom}{XrlAtom} at \hyperlink{protocolthe-p}{the} tail of \hyperlink{protocolthe-p}{the} list. \item\end{DoxyCompactList}\item 
const \hyperlink{classXrlAtom}{XrlAtom} \& \hyperlink{classXrlAtomList_a87ee26bef31c297e1ecc840c453d06a0}{get} (size\_\-t itemno) const   throw (InvalidIndex)
\begin{DoxyCompactList}\small\item\em Retrieve an \hyperlink{classXrlAtom}{XrlAtom} from list. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlAtomList_a4f31622a110328be5f76b23cc16d103c}{remove} (size\_\-t itemno)  throw (InvalidIndex)
\begin{DoxyCompactList}\small\item\em Removes an \hyperlink{classXrlAtom}{XrlAtom} from list. \item\end{DoxyCompactList}\item 
size\_\-t \hyperlink{classXrlAtomList_aba741ef67cc607a7a4f413a82965ffde}{size} () const 
\item 
bool \hyperlink{classXrlAtomList_a4846f9f34f17af95179df752fbaf31e4}{operator==} (const \hyperlink{classXrlAtomList}{XrlAtomList} \&x) const 
\begin{DoxyCompactList}\small\item\em Test equality of with another \hyperlink{classXrlAtomList}{XrlAtomList}. \item\end{DoxyCompactList}\item 
string \hyperlink{classXrlAtomList_af229b605c44d14170898337cd8397615}{str} () const 
\item 
\hypertarget{classXrlAtomList_ae2f8b774d845dd2741be049f9ca82201}{
\hyperlink{classXrlAtomList_ae2f8b774d845dd2741be049f9ca82201}{XrlAtomList} (const string \&s)}
\label{classXrlAtomList_ae2f8b774d845dd2741be049f9ca82201}

\begin{DoxyCompactList}\small\item\em Construct from human-\/readable representation. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlAtomList_ae85c899457aa7fb36fe3276b0982e124}{
size\_\-t {\bfseries modify} (size\_\-t item, const uint8\_\-t $\ast$buf, size\_\-t len)}
\label{classXrlAtomList_ae85c899457aa7fb36fe3276b0982e124}

\item 
\hypertarget{classXrlAtomList_aa5593ea651bd11b2190bce783b6d3d39}{
void {\bfseries set\_\-size} (size\_\-t size)}
\label{classXrlAtomList_aa5593ea651bd11b2190bce783b6d3d39}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlAtomList_ac9e2f075f6ed68f75be6c8fa5f60cae4}{
void {\bfseries check\_\-type} (const \hyperlink{classXrlAtom}{XrlAtom} \&xa)  throw (BadAtomType)}
\label{classXrlAtomList_ac9e2f075f6ed68f75be6c8fa5f60cae4}

\item 
\hypertarget{classXrlAtomList_afc023579deb04676ce40af88028eccdb}{
void {\bfseries do\_\-append} (const \hyperlink{classXrlAtom}{XrlAtom} \&xa)}
\label{classXrlAtomList_afc023579deb04676ce40af88028eccdb}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlAtomList_aa39c8aa7fa5f6b39cc8f641669881281}{
list$<$ \hyperlink{classXrlAtom}{XrlAtom} $>$ {\bfseries \_\-list}}
\label{classXrlAtomList_aa39c8aa7fa5f6b39cc8f641669881281}

\item 
\hypertarget{classXrlAtomList_a933253f76aec2204d4d5b8f0b168a61e}{
size\_\-t {\bfseries \_\-size}}
\label{classXrlAtomList_a933253f76aec2204d4d5b8f0b168a61e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
List class to contain XrlAtom's of one type. The \hyperlink{classXrlAtomList}{XrlAtomList} class is used to pass lists of XrlAtoms of a given type in \hyperlink{classXrl}{Xrl} calls. The \hyperlink{classXrlAtom}{XrlAtom} type that \hyperlink{protocolthe-p}{the} list supports is determined by \hyperlink{protocolthe-p}{the} first \hyperlink{classXrlAtom}{XrlAtom} added to \hyperlink{protocolthe-p}{the} list via \hyperlink{protocolthe-p}{the} \hyperlink{classXrlAtomList_a3635e8b2684f0b513fa67d38b89e19ab}{prepend()} and \hyperlink{classXrlAtomList_aacfc20f3115749e9c61293ca351f3de2}{append()} methods. 

\subsection{Member Function Documentation}
\hypertarget{classXrlAtomList_aacfc20f3115749e9c61293ca351f3de2}{
\index{XrlAtomList@{XrlAtomList}!append@{append}}
\index{append@{append}!XrlAtomList@{XrlAtomList}}
\subsubsection[{append}]{\setlength{\rightskip}{0pt plus 5cm}void XrlAtomList::append (
\begin{DoxyParamCaption}
\item[{const {\bf XrlAtom} \&}]{xa}
\end{DoxyParamCaption}
)  throw ({\bf BadAtomType})}}
\label{classXrlAtomList_aacfc20f3115749e9c61293ca351f3de2}


Insert an \hyperlink{classXrlAtom}{XrlAtom} at \hyperlink{protocolthe-p}{the} tail of \hyperlink{protocolthe-p}{the} list. 


\begin{DoxyParams}{Parameters}
{\em xa} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrlAtom}{XrlAtom} to be inserted. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlAtomList_a87ee26bef31c297e1ecc840c453d06a0}{
\index{XrlAtomList@{XrlAtomList}!get@{get}}
\index{get@{get}!XrlAtomList@{XrlAtomList}}
\subsubsection[{get}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf XrlAtom} \& XrlAtomList::get (
\begin{DoxyParamCaption}
\item[{size\_\-t}]{itemno}
\end{DoxyParamCaption}
) const  throw ({\bf InvalidIndex})}}
\label{classXrlAtomList_a87ee26bef31c297e1ecc840c453d06a0}


Retrieve an \hyperlink{classXrlAtom}{XrlAtom} from list. 


\begin{DoxyParams}{Parameters}
{\em itemno} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} atom in \hyperlink{protocolthe-p}{the} list. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} itemno -\/ 1 \hyperlink{classXrlAtom}{XrlAtom} in \hyperlink{protocolthe-p}{the} list. 
\end{DoxyReturn}
\hypertarget{classXrlAtomList_a4846f9f34f17af95179df752fbaf31e4}{
\index{XrlAtomList@{XrlAtomList}!operator==@{operator==}}
\index{operator==@{operator==}!XrlAtomList@{XrlAtomList}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlAtomList::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf XrlAtomList} \&}]{x}
\end{DoxyParamCaption}
) const}}
\label{classXrlAtomList_a4846f9f34f17af95179df752fbaf31e4}


Test equality of with another \hyperlink{classXrlAtomList}{XrlAtomList}. 

\begin{DoxyReturn}{Returns}
true if XrlAtomList's are \hyperlink{protocolthe-p}{the} same. 
\end{DoxyReturn}
\hypertarget{classXrlAtomList_a3635e8b2684f0b513fa67d38b89e19ab}{
\index{XrlAtomList@{XrlAtomList}!prepend@{prepend}}
\index{prepend@{prepend}!XrlAtomList@{XrlAtomList}}
\subsubsection[{prepend}]{\setlength{\rightskip}{0pt plus 5cm}void XrlAtomList::prepend (
\begin{DoxyParamCaption}
\item[{const {\bf XrlAtom} \&}]{xa}
\end{DoxyParamCaption}
)  throw ({\bf BadAtomType})}}
\label{classXrlAtomList_a3635e8b2684f0b513fa67d38b89e19ab}


Insert an \hyperlink{classXrlAtom}{XrlAtom} at \hyperlink{protocolthe-p}{the} front of \hyperlink{protocolthe-p}{the} list. 


\begin{DoxyParams}{Parameters}
{\em xa} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrlAtom}{XrlAtom} to be inserted. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlAtomList_a4f31622a110328be5f76b23cc16d103c}{
\index{XrlAtomList@{XrlAtomList}!remove@{remove}}
\index{remove@{remove}!XrlAtomList@{XrlAtomList}}
\subsubsection[{remove}]{\setlength{\rightskip}{0pt plus 5cm}void XrlAtomList::remove (
\begin{DoxyParamCaption}
\item[{size\_\-t}]{itemno}
\end{DoxyParamCaption}
)  throw ({\bf InvalidIndex})}}
\label{classXrlAtomList_a4f31622a110328be5f76b23cc16d103c}


Removes an \hyperlink{classXrlAtom}{XrlAtom} from list. 


\begin{DoxyParams}{Parameters}
{\em itemno} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} atom in \hyperlink{protocolthe-p}{the} list to be removed. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlAtomList_aba741ef67cc607a7a4f413a82965ffde}{
\index{XrlAtomList@{XrlAtomList}!size@{size}}
\index{size@{size}!XrlAtomList@{XrlAtomList}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t XrlAtomList::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlAtomList_aba741ef67cc607a7a4f413a82965ffde}
\begin{DoxyReturn}{Returns}
number of XrlAtoms in \hyperlink{protocolthe-p}{the} list. 
\end{DoxyReturn}
\hypertarget{classXrlAtomList_af229b605c44d14170898337cd8397615}{
\index{XrlAtomList@{XrlAtomList}!str@{str}}
\index{str@{str}!XrlAtomList@{XrlAtomList}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}string XrlAtomList::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classXrlAtomList_af229b605c44d14170898337cd8397615}
\begin{DoxyReturn}{Returns}
a C++ string with \hyperlink{protocolthe-p}{the} human-\/readable representation of \hyperlink{protocolthe-p}{the} list. 
\end{DoxyReturn}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/xrl\_\-atom\_\-list.hh\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/xrl\_\-atom\_\-list.cc\end{DoxyCompactItemize}
