\hypertarget{classElemNet}{
\section{ElemNet$<$ A $>$ Class Template Reference}
\label{classElemNet}\index{ElemNet@{ElemNet}}
}
Inheritance diagram for ElemNet$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classElemNet}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum {\bfseries Mod} \{ \par
{\bfseries MOD\_\-NONE}, 
{\bfseries MOD\_\-EXACT}, 
{\bfseries MOD\_\-SHORTER}, 
{\bfseries MOD\_\-ORSHORTER}, 
\par
{\bfseries MOD\_\-LONGER}, 
{\bfseries MOD\_\-ORLONGER}, 
{\bfseries MOD\_\-NOT}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemNet_a358ae59b5eb22f0aa53dc308c90ebf1e}{
{\bfseries ElemNet} (const char $\ast$)}
\label{classElemNet_a358ae59b5eb22f0aa53dc308c90ebf1e}

\item 
\hypertarget{classElemNet_a1db744adbd945a5fabad3acc0988cf44}{
{\bfseries ElemNet} (const A \&)}
\label{classElemNet_a1db744adbd945a5fabad3acc0988cf44}

\item 
\hypertarget{classElemNet_a43a9573afee9ddf4ceff02998a61ef81}{
{\bfseries ElemNet} (const \hyperlink{classElemNet}{ElemNet}$<$ A $>$ \&)}
\label{classElemNet_a43a9573afee9ddf4ceff02998a61ef81}

\item 
string \hyperlink{classElemNet_afc9bb5d9e0e0f11611b11cccefb0420f}{str} () const 
\begin{DoxyCompactList}\small\item\em Every element must be representable by a string. \item\end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{classElemNet_a2541e27108e01ffeafb08122e24a0e62}{type} () const 
\item 
\hypertarget{classElemNet_a39d35681d06c2b142729850ebd6a7422}{
const A \& {\bfseries val} () const }
\label{classElemNet_a39d35681d06c2b142729850ebd6a7422}

\item 
\hypertarget{classElemNet_aeb404555cbf80c7aa30dc418e52e0cce}{
\hyperlink{classBinOper}{BinOper} \& {\bfseries op} () const }
\label{classElemNet_aeb404555cbf80c7aa30dc418e52e0cce}

\item 
\hypertarget{classElemNet_a1f3deaf438df461500f453179598e76e}{
bool {\bfseries operator$<$} (const \hyperlink{classElemNet}{ElemNet}$<$ A $>$ \&rhs) const }
\label{classElemNet_a1f3deaf438df461500f453179598e76e}

\item 
\hypertarget{classElemNet_aa26d408041eef1c535dae0937dbe86c8}{
bool {\bfseries operator==} (const \hyperlink{classElemNet}{ElemNet}$<$ A $>$ \&rhs) const }
\label{classElemNet_aa26d408041eef1c535dae0937dbe86c8}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemNet_ac13b6431a4a09019a9e06ec29f424171}{
static Mod {\bfseries str\_\-to\_\-mod} (const char $\ast$p)}
\label{classElemNet_ac13b6431a4a09019a9e06ec29f424171}

\item 
\hypertarget{classElemNet_ae10cfab60d7c5e57d8265c38e804ddcc}{
static string {\bfseries mod\_\-to\_\-str} (Mod mod)}
\label{classElemNet_ae10cfab60d7c5e57d8265c38e804ddcc}

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

\item 
\hypertarget{classElemNet_a5318954e54b116dac931018faa22a84a}{
static Hash {\bfseries \_\-hash} = HASH\_\-ELEM\_\-IPV4NET}
\label{classElemNet_a5318954e54b116dac931018faa22a84a}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemNet_ae3ffefb8970b960d503d974cd3544fe9}{
\hyperlink{classElemNet}{ElemNet} \& {\bfseries operator=} (const \hyperlink{classElemNet}{ElemNet}$<$ A $>$ \&)}
\label{classElemNet_ae3ffefb8970b960d503d974cd3544fe9}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classElemNet_a8aad4d0804318cafe4df4009c76a029c}{
const A $\ast$ {\bfseries \_\-net}}
\label{classElemNet_a8aad4d0804318cafe4df4009c76a029c}

\item 
\hypertarget{classElemNet_acff79faafce0cc7fb62e5f641b114e11}{
Mod {\bfseries \_\-mod}}
\label{classElemNet_acff79faafce0cc7fb62e5f641b114e11}

\item 
\hypertarget{classElemNet_a5d97ee80db23416ce6d83b63a741cac0}{
\hyperlink{classBinOper}{BinOper} $\ast$ {\bfseries \_\-op}}
\label{classElemNet_a5d97ee80db23416ce6d83b63a741cac0}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class A$>$ class ElemNet$<$ A $>$}



\subsection{Member Function Documentation}
\hypertarget{classElemNet_afc9bb5d9e0e0f11611b11cccefb0420f}{
\index{ElemNet@{ElemNet}!str@{str}}
\index{str@{str}!ElemNet@{ElemNet}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ string {\bf ElemNet}$<$ A $>$::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classElemNet_afc9bb5d9e0e0f11611b11cccefb0420f}


Every element must be representable by a string. 

This is a requirement to enable \hyperlink{protocolthe-p}{the} policy manager to send elements to \hyperlink{protocolthe-p}{the} backend filters via XRL calls for example.

\begin{DoxyReturn}{Returns}
string representation of \hyperlink{protocolthe-p}{the} element. 
\end{DoxyReturn}


Implements \hyperlink{classElement_a1acf1c63bbe1374c574bf19e3a000552}{Element}.

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


Implements \hyperlink{classElement_a17396c7d64fd4fc15713d3d803b57a56}{Element}.



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}
