\hypertarget{classElemRefAny}{
\section{ElemRefAny$<$ T $>$ Class Template Reference}
\label{classElemRefAny}\index{ElemRefAny@{ElemRefAny}}
}
Inheritance diagram for ElemRefAny$<$ T $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classElemRefAny}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classElemRefAny_1_1ElemInitError}{ElemInitError}
\begin{DoxyCompactList}\small\item\em exception thrown if c-\/stype string initialization fails. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemRefAny_a6c299939b707935fd11d913b3c0fe485}{
{\bfseries ElemRefAny} (const T \&val)}
\label{classElemRefAny_a6c299939b707935fd11d913b3c0fe485}

\item 
\hypertarget{classElemRefAny_af239283b24ea6fc6acf4af553e91e80d}{
{\bfseries ElemRefAny} (const T \&val, bool f)}
\label{classElemRefAny_af239283b24ea6fc6acf4af553e91e80d}

\item 
\hyperlink{classElemRefAny_a9d9b9965b3ca66fbcd9d3f9532bcd496}{ElemRefAny} (const char $\ast$c\_\-str)
\begin{DoxyCompactList}\small\item\em If \hyperlink{protocolthe-p}{the} c-\/style constructor of \hyperlink{protocolthe-p}{the} wrapped class throws and exception, it is caught and an \hyperlink{classElemRefAny_1_1ElemInitError}{ElemInitError} exception is thrown. \item\end{DoxyCompactList}\item 
bool \hyperlink{classElemRefAny_aae6091ef956df03af12ee62ab164950c}{operator==} (const \hyperlink{classElemRefAny}{ElemRefAny}$<$ T $>$ \&rhs) const 
\begin{DoxyCompactList}\small\item\em Invokes \hyperlink{protocolthe-p}{the} == operator on \hyperlink{protocolthe-p}{the} actual classes being wrapped. \item\end{DoxyCompactList}\item 
bool \hyperlink{classElemRefAny_a25d07e235e0158a9afddf1525c86af58}{operator$<$} (const \hyperlink{classElemRefAny}{ElemRefAny}$<$ T $>$ \&rhs) const 
\begin{DoxyCompactList}\small\item\em Invoke \hyperlink{protocolthe-p}{the} $<$ operator in \hyperlink{protocolthe-p}{the} wrapped class. \item\end{DoxyCompactList}\item 
string \hyperlink{classElemRefAny_a34da94d225b1cbc264382cf080273356}{str} () const 
\begin{DoxyCompactList}\small\item\em Invokes \hyperlink{protocolthe-p}{the} \hyperlink{classElemRefAny_a34da94d225b1cbc264382cf080273356}{str()} method of \hyperlink{protocolthe-p}{the} actual class being wrapped. \item\end{DoxyCompactList}\item 
const T \& \hyperlink{classElemRefAny_a2c0920e1999a463a20ab1b70bbab1489}{val} () const 
\item 
const char $\ast$ \hyperlink{classElemRefAny_a8d8a6cc4080ccbfab1734c20762a5195}{type} () const 
\item 
\hypertarget{classElemRefAny_a4cbddbe053d2fc077aae468e84467573}{
{\bfseries ElemRefAny} (const \hyperlink{classElemRefAny}{ElemRefAny}$<$ T $>$ \&copy)}
\label{classElemRefAny_a4cbddbe053d2fc077aae468e84467573}

\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemRefAny_a5f2ead437099a110b539771ed0166e02}{
static const char $\ast$ {\bfseries id} = \char`\"{}ipv4\char`\"{}}
\label{classElemRefAny_a5f2ead437099a110b539771ed0166e02}

\item 
\hypertarget{classElemRefAny_a3c0bd3bd9a68b9fb87ed65700697f527}{
static Hash {\bfseries \_\-hash} = HASH\_\-ELEM\_\-IPV4}
\label{classElemRefAny_a3c0bd3bd9a68b9fb87ed65700697f527}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemRefAny_a804f8603c6ec238b00729fc9800034c2}{
\hyperlink{classElemRefAny}{ElemRefAny} \& {\bfseries operator=} (const \hyperlink{classElemRefAny}{ElemRefAny}$<$ T $>$ \&)}
\label{classElemRefAny_a804f8603c6ec238b00729fc9800034c2}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemRefAny_adddfd44165d88d85c22958aa59e82e37}{
const T $\ast$ {\bfseries \_\-val}}
\label{classElemRefAny_adddfd44165d88d85c22958aa59e82e37}

\item 
\hypertarget{classElemRefAny_ae513ec7a0bc4b1e6eb4f2f275757af0c}{
bool {\bfseries \_\-free}}
\label{classElemRefAny_ae513ec7a0bc4b1e6eb4f2f275757af0c}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class T$>$ class ElemRefAny$<$ T $>$}



\subsection{Constructor \& Destructor Documentation}
\hypertarget{classElemRefAny_a9d9b9965b3ca66fbcd9d3f9532bcd496}{
\index{ElemRefAny@{ElemRefAny}!ElemRefAny@{ElemRefAny}}
\index{ElemRefAny@{ElemRefAny}!ElemRefAny@{ElemRefAny}}
\subsubsection[{ElemRefAny}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf ElemRefAny}$<$ T $>$::{\bf ElemRefAny} (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{c\_\-str}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classElemRefAny_a9d9b9965b3ca66fbcd9d3f9532bcd496}


If \hyperlink{protocolthe-p}{the} c-\/style constructor of \hyperlink{protocolthe-p}{the} wrapped class throws and exception, it is caught and an \hyperlink{classElemRefAny_1_1ElemInitError}{ElemInitError} exception is thrown. 

The original exception is lost. 

\subsection{Member Function Documentation}
\hypertarget{classElemRefAny_a25d07e235e0158a9afddf1525c86af58}{
\index{ElemRefAny@{ElemRefAny}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!ElemRefAny@{ElemRefAny}}
\subsubsection[{operator$<$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ bool {\bf ElemRefAny}$<$ T $>$::operator$<$ (
\begin{DoxyParamCaption}
\item[{const {\bf ElemRefAny}$<$ T $>$ \&}]{rhs}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classElemRefAny_a25d07e235e0158a9afddf1525c86af58}


Invoke \hyperlink{protocolthe-p}{the} $<$ operator in \hyperlink{protocolthe-p}{the} wrapped class. 

\begin{DoxyReturn}{Returns}
whether this is less than argument. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em rhs} & element to compare with. \\
\hline
\end{DoxyParams}
\hypertarget{classElemRefAny_aae6091ef956df03af12ee62ab164950c}{
\index{ElemRefAny@{ElemRefAny}!operator==@{operator==}}
\index{operator==@{operator==}!ElemRefAny@{ElemRefAny}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ bool {\bf ElemRefAny}$<$ T $>$::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf ElemRefAny}$<$ T $>$ \&}]{rhs}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classElemRefAny_aae6091ef956df03af12ee62ab164950c}


Invokes \hyperlink{protocolthe-p}{the} == operator on \hyperlink{protocolthe-p}{the} actual classes being wrapped. 

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} two values are equal. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em rhs} & element to compare with. \\
\hline
\end{DoxyParams}
\hypertarget{classElemRefAny_a34da94d225b1cbc264382cf080273356}{
\index{ElemRefAny@{ElemRefAny}!str@{str}}
\index{str@{str}!ElemRefAny@{ElemRefAny}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ string {\bf ElemRefAny}$<$ T $>$::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classElemRefAny_a34da94d225b1cbc264382cf080273356}


Invokes \hyperlink{protocolthe-p}{the} \hyperlink{classElemRefAny_a34da94d225b1cbc264382cf080273356}{str()} method of \hyperlink{protocolthe-p}{the} actual class being wrapped. 

\begin{DoxyReturn}{Returns}
string representation of element. 
\end{DoxyReturn}


Implements \hyperlink{classElement_a1acf1c63bbe1374c574bf19e3a000552}{Element}.

\hypertarget{classElemRefAny_a8d8a6cc4080ccbfab1734c20762a5195}{
\index{ElemRefAny@{ElemRefAny}!type@{type}}
\index{type@{type}!ElemRefAny@{ElemRefAny}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ const char$\ast$ {\bf ElemRefAny}$<$ T $>$::type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classElemRefAny_a8d8a6cc4080ccbfab1734c20762a5195}
\begin{DoxyReturn}{Returns}
string representation of element type. 
\end{DoxyReturn}


Implements \hyperlink{classElement_a17396c7d64fd4fc15713d3d803b57a56}{Element}.

\hypertarget{classElemRefAny_a2c0920e1999a463a20ab1b70bbab1489}{
\index{ElemRefAny@{ElemRefAny}!val@{val}}
\index{val@{val}!ElemRefAny@{ElemRefAny}}
\subsubsection[{val}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ const T\& {\bf ElemRefAny}$<$ T $>$::val (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classElemRefAny_a2c0920e1999a463a20ab1b70bbab1489}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} actual object of \hyperlink{protocolthe-p}{the} class being wrapped. 
\end{DoxyReturn}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/policy/common/element.hh\item 
/home/greearb/git/xorp.ct.github/xorp/policy/common/element.cc\end{DoxyCompactItemize}
