\hypertarget{classMrt}{
\section{Mrt$<$ E $>$ Class Template Reference}
\label{classMrt}\index{Mrt@{Mrt}}
}


Template class for Multicast \hyperlink{classRouting}{Routing} Table.  




{\ttfamily \#include $<$mrt.hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMrt_aaa5977a188470db83cfa3c4253e76b2d}{
typedef map$<$ \hyperlink{classMreSgKey}{MreSgKey}, E $\ast$ $>$ {\bfseries SgMap}}
\label{classMrt_aaa5977a188470db83cfa3c4253e76b2d}

\item 
\hypertarget{classMrt_a36336dcbfbadb1bff98e1eb78f04bda1}{
typedef map$<$ \hyperlink{classMreGsKey}{MreGsKey}, E $\ast$ $>$ {\bfseries GsMap}}
\label{classMrt_a36336dcbfbadb1bff98e1eb78f04bda1}

\item 
\hypertarget{classMrt_a2d5a9a30bc1d707b066dd539c004e23b}{
typedef SgMap::iterator {\bfseries sg\_\-iterator}}
\label{classMrt_a2d5a9a30bc1d707b066dd539c004e23b}

\item 
\hypertarget{classMrt_a00b53b6a26de07ac9839d988f929c4ae}{
typedef GsMap::iterator {\bfseries gs\_\-iterator}}
\label{classMrt_a00b53b6a26de07ac9839d988f929c4ae}

\item 
\hypertarget{classMrt_a38c877edfd455910bc6fad6354b3382f}{
typedef SgMap::const\_\-iterator {\bfseries const\_\-sg\_\-iterator}}
\label{classMrt_a38c877edfd455910bc6fad6354b3382f}

\item 
\hypertarget{classMrt_ae159e8420fc323576bbb2096480c0b1e}{
typedef GsMap::const\_\-iterator {\bfseries const\_\-gs\_\-iterator}}
\label{classMrt_ae159e8420fc323576bbb2096480c0b1e}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMrt_a78b51d870f25c50d59dbfe188a204e34}{
\hyperlink{classMrt_a78b51d870f25c50d59dbfe188a204e34}{Mrt} ()}
\label{classMrt_a78b51d870f25c50d59dbfe188a204e34}

\begin{DoxyCompactList}\small\item\em Default constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classMrt_a5270d834d8833694afea234494463a1a}{
virtual \hyperlink{classMrt_a5270d834d8833694afea234494463a1a}{$\sim$Mrt} ()}
\label{classMrt_a5270d834d8833694afea234494463a1a}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
void \hyperlink{classMrt_acbac437cbd9f02319fc8fa9a55877129}{clear} ()
\begin{DoxyCompactList}\small\item\em Remove all multicast routing entries from \hyperlink{protocolthe-p}{the} table. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_a23c244d1ddbe64b7a067440279d081e5}{insert} (E $\ast$mre)
\begin{DoxyCompactList}\small\item\em Insert a multicast routing entry that was already created. \item\end{DoxyCompactList}\item 
int \hyperlink{classMrt_ac43dbfc304de66eeb50273d4f67c1def}{remove} (E $\ast$mre)
\begin{DoxyCompactList}\small\item\em Remove a multicast routing entry from \hyperlink{protocolthe-p}{the} table. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_a24ea0218a72b93abf76f6d6916e813db}{find} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find a multicast routing entry from \hyperlink{protocolthe-p}{the} table. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_ae7edbf3fb786a3a28b819e2a49fc7466}{find\_\-source} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_aa71b7c469c4c1f3d3c13a3878a60883d}{find\_\-group} (const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_a66d9381d59e220d569210bd93dcf75c5}{find\_\-source\_\-by\_\-prefix} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-s) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address prefix. \item\end{DoxyCompactList}\item 
E $\ast$ \hyperlink{classMrt_adeb56f87fe1c58dda2cdb88492043423}{find\_\-group\_\-by\_\-prefix} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-g) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address prefix. \item\end{DoxyCompactList}\item 
size\_\-t \hyperlink{classMrt_a02d4bf799fa3433858dbc0c4a2603d43}{size} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} number of multicast routing entries in \hyperlink{protocolthe-p}{the} table. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_a40f884286e4c6902a03adad077d9fbf3}{sg\_\-begin} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} source-\/group table. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_a26b154080dc79d27fd8b07b13ecbc63f}{gs\_\-begin} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} group-\/source table. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_a9074488a1fbc70617889dee88428ef42}{sg\_\-end} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} source-\/group table. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_a323240a08b1f5bdc128e9073e798d221}{gs\_\-end} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} group-\/source table. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_a1bc0ddc9a20ea230c9cf1c09781b2933}{source\_\-by\_\-prefix\_\-begin} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-s) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address prefix. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_a9e523805cc9e7c2430149d9894e4ae0e}{source\_\-by\_\-prefix\_\-end} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-s) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a source address prefix. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_a42b13e8fb494ecf9f56c4688b5d53e9b}{group\_\-by\_\-prefix\_\-begin} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-g) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address prefix. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_af1748a84fc8861ee0204540b0decdfe3}{group\_\-by\_\-prefix\_\-end} (const \hyperlink{classIPvXNet}{IPvXNet} \&prefix\_\-g) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a group address prefix. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_af975539ccebfb3b3a5639a87458bf47b}{source\_\-by\_\-addr\_\-begin} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_a674c1815805344585500873a651d5730}{source\_\-by\_\-addr\_\-end} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a source address. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_a92a621255c1258494f7799624f466e24}{group\_\-by\_\-addr\_\-begin} (const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_aa0f343d1dec9428dade2685af7cb1636}{group\_\-by\_\-addr\_\-end} (const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a group address. \item\end{DoxyCompactList}\item 
const\_\-gs\_\-iterator \hyperlink{classMrt_a2616e98ddfcee3e6f3820fe14885687a}{group\_\-source\_\-by\_\-addr\_\-begin} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} multicast routing entry for a source and a group address. \item\end{DoxyCompactList}\item 
const\_\-sg\_\-iterator \hyperlink{classMrt_afb733d11bd289dbbeb3c1f5d91f9deb4}{source\_\-group\_\-by\_\-addr\_\-begin} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr) const 
\begin{DoxyCompactList}\small\item\em Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} multicast routing entry for a source and a group address. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMrt_a08ac83c6723bbd20e4fed0a0bf3c05d5}{
SgMap {\bfseries \_\-sg\_\-table}}
\label{classMrt_a08ac83c6723bbd20e4fed0a0bf3c05d5}

\item 
\hypertarget{classMrt_a83cf90a9b6a74f0b3cbec13537e50883}{
GsMap {\bfseries \_\-gs\_\-table}}
\label{classMrt_a83cf90a9b6a74f0b3cbec13537e50883}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class E$>$ class Mrt$<$ E $>$}

Template class for Multicast \hyperlink{classRouting}{Routing} Table. 

\subsection{Member Function Documentation}
\hypertarget{classMrt_acbac437cbd9f02319fc8fa9a55877129}{
\index{Mrt@{Mrt}!clear@{clear}}
\index{clear@{clear}!Mrt@{Mrt}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ void {\bf Mrt}$<$ E $>$::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_acbac437cbd9f02319fc8fa9a55877129}


Remove all multicast routing entries from \hyperlink{protocolthe-p}{the} table. 

Note that \hyperlink{protocolthe-p}{the} entries themselves are also deleted. \hypertarget{classMrt_a24ea0218a72b93abf76f6d6916e813db}{
\index{Mrt@{Mrt}!find@{find}}
\index{find@{find}!Mrt@{Mrt}}
\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::find (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a24ea0218a72b93abf76f6d6916e813db}


Find a multicast routing entry from \hyperlink{protocolthe-p}{the} table. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} multicast routing entry for source source\_\-addr and group group\_\-addr if found, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_aa71b7c469c4c1f3d3c13a3878a60883d}{
\index{Mrt@{Mrt}!find\_\-group@{find\_\-group}}
\index{find\_\-group@{find\_\-group}!Mrt@{Mrt}}
\subsubsection[{find\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::find\_\-group (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_aa71b7c469c4c1f3d3c13a3878a60883d}


Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address. 


\begin{DoxyParams}{Parameters}
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} first multicast routing entry for group group\_\-addr if found, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_adeb56f87fe1c58dda2cdb88492043423}{
\index{Mrt@{Mrt}!find\_\-group\_\-by\_\-prefix@{find\_\-group\_\-by\_\-prefix}}
\index{find\_\-group\_\-by\_\-prefix@{find\_\-group\_\-by\_\-prefix}!Mrt@{Mrt}}
\subsubsection[{find\_\-group\_\-by\_\-prefix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::find\_\-group\_\-by\_\-prefix (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-g}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_adeb56f87fe1c58dda2cdb88492043423}


Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-g} & \hyperlink{protocolthe-p}{the} group address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} first multicast routing entry for group address prefix prefix\_\-g if found, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_ae7edbf3fb786a3a28b819e2a49fc7466}{
\index{Mrt@{Mrt}!find\_\-source@{find\_\-source}}
\index{find\_\-source@{find\_\-source}!Mrt@{Mrt}}
\subsubsection[{find\_\-source}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::find\_\-source (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_ae7edbf3fb786a3a28b819e2a49fc7466}


Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} first multicast routing entry for source source\_\-addr if found, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_a66d9381d59e220d569210bd93dcf75c5}{
\index{Mrt@{Mrt}!find\_\-source\_\-by\_\-prefix@{find\_\-source\_\-by\_\-prefix}}
\index{find\_\-source\_\-by\_\-prefix@{find\_\-source\_\-by\_\-prefix}!Mrt@{Mrt}}
\subsubsection[{find\_\-source\_\-by\_\-prefix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::find\_\-source\_\-by\_\-prefix (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-s}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a66d9381d59e220d569210bd93dcf75c5}


Find \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-s} & \hyperlink{protocolthe-p}{the} source address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} first multicast routing entry for source address prefix prefix\_\-s if found, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_a92a621255c1258494f7799624f466e24}{
\index{Mrt@{Mrt}!group\_\-by\_\-addr\_\-begin@{group\_\-by\_\-addr\_\-begin}}
\index{group\_\-by\_\-addr\_\-begin@{group\_\-by\_\-addr\_\-begin}!Mrt@{Mrt}}
\subsubsection[{group\_\-by\_\-addr\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::group\_\-by\_\-addr\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a92a621255c1258494f7799624f466e24}


Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address. 


\begin{DoxyParams}{Parameters}
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for first entry with group address that matches group\_\-addr. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_aa0f343d1dec9428dade2685af7cb1636}{group\_\-by\_\-addr\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_aa0f343d1dec9428dade2685af7cb1636}{
\index{Mrt@{Mrt}!group\_\-by\_\-addr\_\-end@{group\_\-by\_\-addr\_\-end}}
\index{group\_\-by\_\-addr\_\-end@{group\_\-by\_\-addr\_\-end}!Mrt@{Mrt}}
\subsubsection[{group\_\-by\_\-addr\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::group\_\-by\_\-addr\_\-end (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_aa0f343d1dec9428dade2685af7cb1636}


Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a group address. 


\begin{DoxyParams}{Parameters}
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for one-\/after-\/the-\/last entry with group address that matches group\_\-addr. If no such entry exists, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a323240a08b1f5bdc128e9073e798d221}{gs\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_a42b13e8fb494ecf9f56c4688b5d53e9b}{
\index{Mrt@{Mrt}!group\_\-by\_\-prefix\_\-begin@{group\_\-by\_\-prefix\_\-begin}}
\index{group\_\-by\_\-prefix\_\-begin@{group\_\-by\_\-prefix\_\-begin}!Mrt@{Mrt}}
\subsubsection[{group\_\-by\_\-prefix\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::group\_\-by\_\-prefix\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-g}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a42b13e8fb494ecf9f56c4688b5d53e9b}


Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a group address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-g} & \hyperlink{protocolthe-p}{the} group address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for first entry with group address that matches prefix\_\-g. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_af1748a84fc8861ee0204540b0decdfe3}{group\_\-by\_\-prefix\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_af1748a84fc8861ee0204540b0decdfe3}{
\index{Mrt@{Mrt}!group\_\-by\_\-prefix\_\-end@{group\_\-by\_\-prefix\_\-end}}
\index{group\_\-by\_\-prefix\_\-end@{group\_\-by\_\-prefix\_\-end}!Mrt@{Mrt}}
\subsubsection[{group\_\-by\_\-prefix\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::group\_\-by\_\-prefix\_\-end (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-g}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_af1748a84fc8861ee0204540b0decdfe3}


Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a group address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-g} & \hyperlink{protocolthe-p}{the} group address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for one-\/after-\/the-\/last entry with group address that matches prefix\_\-g. If no such entry exists, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a323240a08b1f5bdc128e9073e798d221}{gs\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_a2616e98ddfcee3e6f3820fe14885687a}{
\index{Mrt@{Mrt}!group\_\-source\_\-by\_\-addr\_\-begin@{group\_\-source\_\-by\_\-addr\_\-begin}}
\index{group\_\-source\_\-by\_\-addr\_\-begin@{group\_\-source\_\-by\_\-addr\_\-begin}!Mrt@{Mrt}}
\subsubsection[{group\_\-source\_\-by\_\-addr\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::group\_\-source\_\-by\_\-addr\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a2616e98ddfcee3e6f3820fe14885687a}


Find \hyperlink{protocolthe-p}{the} group iterator for \hyperlink{protocolthe-p}{the} multicast routing entry for a source and a group address. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for entry with source and group address that matches source\_\-addr and group\_\-addr. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{protocolthe-p}{the} next entry. 
\end{DoxyReturn}
\hypertarget{classMrt_a26b154080dc79d27fd8b07b13ecbc63f}{
\index{Mrt@{Mrt}!gs\_\-begin@{gs\_\-begin}}
\index{gs\_\-begin@{gs\_\-begin}!Mrt@{Mrt}}
\subsubsection[{gs\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::gs\_\-begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a26b154080dc79d27fd8b07b13ecbc63f}


Get an iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} group-\/source table. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} group-\/source table. 
\end{DoxyReturn}
\hypertarget{classMrt_a323240a08b1f5bdc128e9073e798d221}{
\index{Mrt@{Mrt}!gs\_\-end@{gs\_\-end}}
\index{gs\_\-end@{gs\_\-end}!Mrt@{Mrt}}
\subsubsection[{gs\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-gs\_\-iterator {\bf Mrt}$<$ E $>$::gs\_\-end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a323240a08b1f5bdc128e9073e798d221}


Get an iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} group-\/source table. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} group-\/source table. 
\end{DoxyReturn}
\hypertarget{classMrt_a23c244d1ddbe64b7a067440279d081e5}{
\index{Mrt@{Mrt}!insert@{insert}}
\index{insert@{insert}!Mrt@{Mrt}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ E$\ast$ {\bf Mrt}$<$ E $>$::insert (
\begin{DoxyParamCaption}
\item[{E $\ast$}]{mre}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a23c244d1ddbe64b7a067440279d081e5}


Insert a multicast routing entry that was already created. 

Note that we insert a pointer to \hyperlink{protocolthe-p}{the} mre, hence mre should not be deleted without removing it first from \hyperlink{protocolthe-p}{the} table.


\begin{DoxyParams}{Parameters}
{\em mre} & \hyperlink{protocolthe-p}{the} multicast routing entry to insert. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} multicast routing entry that was inserted on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMrt_ac43dbfc304de66eeb50273d4f67c1def}{
\index{Mrt@{Mrt}!remove@{remove}}
\index{remove@{remove}!Mrt@{Mrt}}
\subsubsection[{remove}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ int {\bf Mrt}$<$ E $>$::remove (
\begin{DoxyParamCaption}
\item[{E $\ast$}]{mre}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_ac43dbfc304de66eeb50273d4f67c1def}


Remove a multicast routing entry from \hyperlink{protocolthe-p}{the} table. 

Note that \hyperlink{protocolthe-p}{the} entry itself is not deleted.


\begin{DoxyParams}{Parameters}
{\em mre} & \hyperlink{protocolthe-p}{the} multicast routing entry to delete from \hyperlink{protocolthe-p}{the} table. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK if \hyperlink{protocolthe-p}{the} entry was in \hyperlink{protocolthe-p}{the} table and was successfully removed, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classMrt_a40f884286e4c6902a03adad077d9fbf3}{
\index{Mrt@{Mrt}!sg\_\-begin@{sg\_\-begin}}
\index{sg\_\-begin@{sg\_\-begin}!Mrt@{Mrt}}
\subsubsection[{sg\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::sg\_\-begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a40f884286e4c6902a03adad077d9fbf3}


Get an iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} source-\/group table. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for \hyperlink{protocolthe-p}{the} first element in \hyperlink{protocolthe-p}{the} source-\/group table. 
\end{DoxyReturn}
\hypertarget{classMrt_a9074488a1fbc70617889dee88428ef42}{
\index{Mrt@{Mrt}!sg\_\-end@{sg\_\-end}}
\index{sg\_\-end@{sg\_\-end}!Mrt@{Mrt}}
\subsubsection[{sg\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::sg\_\-end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a9074488a1fbc70617889dee88428ef42}


Get an iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} source-\/group table. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for \hyperlink{protocolthe-p}{the} last element in \hyperlink{protocolthe-p}{the} source-\/group table. 
\end{DoxyReturn}
\hypertarget{classMrt_a02d4bf799fa3433858dbc0c4a2603d43}{
\index{Mrt@{Mrt}!size@{size}}
\index{size@{size}!Mrt@{Mrt}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ size\_\-t {\bf Mrt}$<$ E $>$::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a02d4bf799fa3433858dbc0c4a2603d43}


Get \hyperlink{protocolthe-p}{the} number of multicast routing entries in \hyperlink{protocolthe-p}{the} table. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} number of multicast routing entries. 
\end{DoxyReturn}
\hypertarget{classMrt_af975539ccebfb3b3a5639a87458bf47b}{
\index{Mrt@{Mrt}!source\_\-by\_\-addr\_\-begin@{source\_\-by\_\-addr\_\-begin}}
\index{source\_\-by\_\-addr\_\-begin@{source\_\-by\_\-addr\_\-begin}!Mrt@{Mrt}}
\subsubsection[{source\_\-by\_\-addr\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::source\_\-by\_\-addr\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_af975539ccebfb3b3a5639a87458bf47b}


Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for first entry with source address that matches source\_\-addr. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a674c1815805344585500873a651d5730}{source\_\-by\_\-addr\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_a674c1815805344585500873a651d5730}{
\index{Mrt@{Mrt}!source\_\-by\_\-addr\_\-end@{source\_\-by\_\-addr\_\-end}}
\index{source\_\-by\_\-addr\_\-end@{source\_\-by\_\-addr\_\-end}!Mrt@{Mrt}}
\subsubsection[{source\_\-by\_\-addr\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::source\_\-by\_\-addr\_\-end (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a674c1815805344585500873a651d5730}


Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a source address. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for one-\/after-\/the-\/last entry with source address that matches source\_\-addr. If no such entry exists, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a9074488a1fbc70617889dee88428ef42}{sg\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_a1bc0ddc9a20ea230c9cf1c09781b2933}{
\index{Mrt@{Mrt}!source\_\-by\_\-prefix\_\-begin@{source\_\-by\_\-prefix\_\-begin}}
\index{source\_\-by\_\-prefix\_\-begin@{source\_\-by\_\-prefix\_\-begin}!Mrt@{Mrt}}
\subsubsection[{source\_\-by\_\-prefix\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::source\_\-by\_\-prefix\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-s}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a1bc0ddc9a20ea230c9cf1c09781b2933}


Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} first multicast routing entry for a source address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-s} & \hyperlink{protocolthe-p}{the} source address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for first entry with source address that matches prefix\_\-s. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a9e523805cc9e7c2430149d9894e4ae0e}{source\_\-by\_\-prefix\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_a9e523805cc9e7c2430149d9894e4ae0e}{
\index{Mrt@{Mrt}!source\_\-by\_\-prefix\_\-end@{source\_\-by\_\-prefix\_\-end}}
\index{source\_\-by\_\-prefix\_\-end@{source\_\-by\_\-prefix\_\-end}!Mrt@{Mrt}}
\subsubsection[{source\_\-by\_\-prefix\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::source\_\-by\_\-prefix\_\-end (
\begin{DoxyParamCaption}
\item[{const {\bf IPvXNet} \&}]{prefix\_\-s}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_a9e523805cc9e7c2430149d9894e4ae0e}


Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} one-\/after-\/the-\/last multicast routing entry for a source address prefix. 


\begin{DoxyParams}{Parameters}
{\em prefix\_\-s} & \hyperlink{protocolthe-p}{the} source address prefix to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for one-\/after-\/the-\/last entry with source address that matches prefix\_\-s. If no such entry exists, \hyperlink{protocolthe-p}{the} return value is \hyperlink{classMrt_a9074488a1fbc70617889dee88428ef42}{sg\_\-end()}. 
\end{DoxyReturn}
\hypertarget{classMrt_afb733d11bd289dbbeb3c1f5d91f9deb4}{
\index{Mrt@{Mrt}!source\_\-group\_\-by\_\-addr\_\-begin@{source\_\-group\_\-by\_\-addr\_\-begin}}
\index{source\_\-group\_\-by\_\-addr\_\-begin@{source\_\-group\_\-by\_\-addr\_\-begin}!Mrt@{Mrt}}
\subsubsection[{source\_\-group\_\-by\_\-addr\_\-begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class E$>$ const\_\-sg\_\-iterator {\bf Mrt}$<$ E $>$::source\_\-group\_\-by\_\-addr\_\-begin (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMrt_afb733d11bd289dbbeb3c1f5d91f9deb4}


Find \hyperlink{protocolthe-p}{the} source iterator for \hyperlink{protocolthe-p}{the} multicast routing entry for a source and a group address. 


\begin{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address to search for. \\
\hline
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address to search for. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} iterator for entry with source and group address that matches source\_\-addr and group\_\-addr. If no matching entry is found, \hyperlink{protocolthe-p}{the} return value is \hyperlink{protocolthe-p}{the} next entry. 
\end{DoxyReturn}


The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/mrt/mrt.hh\end{DoxyCompactItemize}
