\hypertarget{classOspfVarRW}{
\section{OspfVarRW$<$ A $>$ Class Template Reference}
\label{classOspfVarRW}\index{OspfVarRW@{OspfVarRW}}
}
Inheritance diagram for OspfVarRW$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classOspfVarRW}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries VAR\_\-NETWORK} =  VAR\_\-PROTOCOL, 
{\bfseries VAR\_\-NEXTHOP}, 
{\bfseries VAR\_\-METRIC}, 
{\bfseries VAR\_\-EBIT}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOspfVarRW_a437e56d1ff97f2a0e230e27e23974ca5}{
{\bfseries OspfVarRW} (\hyperlink{classIPNet}{IPNet}$<$ A $>$ \&network, A \&nexthop, uint32\_\-t \&metric, bool \&e\_\-bit, uint32\_\-t \&tag, bool \&tag\_\-set, \hyperlink{classPolicyTags}{PolicyTags} \&policytags)}
\label{classOspfVarRW_a437e56d1ff97f2a0e230e27e23974ca5}

\item 
\hypertarget{classOspfVarRW_a95eba50d97b0c69d9648380738b903a8}{
void \hyperlink{classOspfVarRW_a95eba50d97b0c69d9648380738b903a8}{start\_\-read} ()}
\label{classOspfVarRW_a95eba50d97b0c69d9648380738b903a8}

\begin{DoxyCompactList}\small\item\em If any reads are performed, this is a marker which informs \hyperlink{protocolthe-p}{the} derived class that reads will now start. \item\end{DoxyCompactList}\item 
\hyperlink{classElement}{Element} $\ast$ \hyperlink{classOspfVarRW_abb7e7d7066d822731044cec3e9dd0481}{single\_\-read} (const Id \&id)
\begin{DoxyCompactList}\small\item\em Read of a variable. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspfVarRW_a26be3d06181650ebdf5038045ec09b5e}{single\_\-write} (const Id \&id, const \hyperlink{classElement}{Element} \&e)
\begin{DoxyCompactList}\small\item\em Write of a variable. \item\end{DoxyCompactList}\item 
\hypertarget{classOspfVarRW_aa37bc0d8d080f5d85edf2d1b71ff768f}{
{\footnotesize template$<$$>$ }\\void \hyperlink{classOspfVarRW_aa37bc0d8d080f5d85edf2d1b71ff768f}{start\_\-read} ()}
\label{classOspfVarRW_aa37bc0d8d080f5d85edf2d1b71ff768f}

\begin{DoxyCompactList}\small\item\em If any reads are performed, this is a marker which informs \hyperlink{protocolthe-p}{the} derived class that reads will now start. \item\end{DoxyCompactList}\item 
\hypertarget{classOspfVarRW_a1dc8f7a70eb7cb1ce42f485e5b6f3139}{
{\footnotesize template$<$$>$ }\\void \hyperlink{classOspfVarRW_a1dc8f7a70eb7cb1ce42f485e5b6f3139}{start\_\-read} ()}
\label{classOspfVarRW_a1dc8f7a70eb7cb1ce42f485e5b6f3139}

\begin{DoxyCompactList}\small\item\em If any reads are performed, this is a marker which informs \hyperlink{protocolthe-p}{the} derived class that reads will now start. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{classOspfVarRW_ac87984a9a725a415d57147b09f8b3cdf}{single\_\-write} (const Id \&id, const \hyperlink{classElement}{Element} \&e)
\begin{DoxyCompactList}\small\item\em Write of a variable. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{classOspfVarRW_ae91814c818ef6db0e5489566751526fa}{single\_\-write} (const Id \&id, const \hyperlink{classElement}{Element} \&e)
\begin{DoxyCompactList}\small\item\em Write of a variable. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOspfVarRW_a067e82e6511623dfd6d7ec187c98a2cb}{
void {\bfseries start\_\-read\_\-common} ()}
\label{classOspfVarRW_a067e82e6511623dfd6d7ec187c98a2cb}

\item 
\hypertarget{classOspfVarRW_ac263e073a95bce0e9c4dfe76e1afe260}{
void {\bfseries single\_\-write\_\-common} (const Id \&id, const \hyperlink{classElement}{Element} \&e)}
\label{classOspfVarRW_ac263e073a95bce0e9c4dfe76e1afe260}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOspfVarRW_a2aa9fde8d9ba7619b9810b0e7212495d}{
\hyperlink{classIPNet}{IPNet}$<$ A $>$ \& {\bfseries \_\-network}}
\label{classOspfVarRW_a2aa9fde8d9ba7619b9810b0e7212495d}

\item 
\hypertarget{classOspfVarRW_a0d3804bb82d5be6ef4a702931640b49f}{
A \& {\bfseries \_\-nexthop}}
\label{classOspfVarRW_a0d3804bb82d5be6ef4a702931640b49f}

\item 
\hypertarget{classOspfVarRW_a663a61e538ff6b242968f71c243130b2}{
uint32\_\-t \& {\bfseries \_\-metric}}
\label{classOspfVarRW_a663a61e538ff6b242968f71c243130b2}

\item 
\hypertarget{classOspfVarRW_ab3dbcb9f84bdd1fdb7adb063993bdb6b}{
bool \& {\bfseries \_\-e\_\-bit}}
\label{classOspfVarRW_ab3dbcb9f84bdd1fdb7adb063993bdb6b}

\item 
\hypertarget{classOspfVarRW_af337da6ca70fd9bfabe61e8affe0784f}{
uint32\_\-t \& {\bfseries \_\-tag}}
\label{classOspfVarRW_af337da6ca70fd9bfabe61e8affe0784f}

\item 
\hypertarget{classOspfVarRW_aef5b2ed44601e7badcdd2824125e270c}{
bool \& {\bfseries \_\-tag\_\-set}}
\label{classOspfVarRW_aef5b2ed44601e7badcdd2824125e270c}

\item 
\hypertarget{classOspfVarRW_a20713ee7558cb6f49776117882b2173a}{
\hyperlink{classPolicyTags}{PolicyTags} \& {\bfseries \_\-policytags}}
\label{classOspfVarRW_a20713ee7558cb6f49776117882b2173a}

\item 
\hypertarget{classOspfVarRW_a093b8ee3bead57fefe0e86b517cb2dee}{
\hyperlink{classElementFactory}{ElementFactory} {\bfseries \_\-ef}}
\label{classOspfVarRW_a093b8ee3bead57fefe0e86b517cb2dee}

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



\subsection{Member Function Documentation}
\hypertarget{classOspfVarRW_abb7e7d7066d822731044cec3e9dd0481}{
\index{OspfVarRW@{OspfVarRW}!single\_\-read@{single\_\-read}}
\index{single\_\-read@{single\_\-read}!OspfVarRW@{OspfVarRW}}
\subsubsection[{single\_\-read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ {\bf Element} $\ast$ {\bf OspfVarRW}$<$ A $>$::single\_\-read (
\begin{DoxyParamCaption}
\item[{const Id \&}]{id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOspfVarRW_abb7e7d7066d822731044cec3e9dd0481}


Read of a variable. 

The \hyperlink{classVarRW}{VarRW} needs to read a particular element. This may return NULL indicating ElemNull-\/-\/-\/i.e. variable not present in THIS route.

\begin{DoxyReturn}{Returns}
variable requested. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em id} & \hyperlink{protocolthe-p}{the} id of \hyperlink{protocolthe-p}{the} variable. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classSingleVarRW_a54ef877baad0937b181563e8b5eef44a}{SingleVarRW}.

\hypertarget{classOspfVarRW_ac87984a9a725a415d57147b09f8b3cdf}{
\index{OspfVarRW@{OspfVarRW}!single\_\-write@{single\_\-write}}
\index{single\_\-write@{single\_\-write}!OspfVarRW@{OspfVarRW}}
\subsubsection[{single\_\-write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf OspfVarRW}$<$ {\bf IPv4} $>$::single\_\-write (
\begin{DoxyParamCaption}
\item[{const Id \&}]{id, }
\item[{const {\bf Element} \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOspfVarRW_ac87984a9a725a415d57147b09f8b3cdf}


Write of a variable. 

The write MUST be performed now, as \hyperlink{protocolthe-p}{the} element pointer may become invalid after this call. Also, a single write will be called for each modified element.


\begin{DoxyParams}{Parameters}
{\em id} & identifier of variable to be written to. \\
\hline
{\em e} & value of variable. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classSingleVarRW_a24cde180db3bac1e4554cafa1809ba7a}{SingleVarRW}.

\hypertarget{classOspfVarRW_ae91814c818ef6db0e5489566751526fa}{
\index{OspfVarRW@{OspfVarRW}!single\_\-write@{single\_\-write}}
\index{single\_\-write@{single\_\-write}!OspfVarRW@{OspfVarRW}}
\subsubsection[{single\_\-write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf OspfVarRW}$<$ {\bf IPv6} $>$::single\_\-write (
\begin{DoxyParamCaption}
\item[{const Id \&}]{id, }
\item[{const {\bf Element} \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOspfVarRW_ae91814c818ef6db0e5489566751526fa}


Write of a variable. 

The write MUST be performed now, as \hyperlink{protocolthe-p}{the} element pointer may become invalid after this call. Also, a single write will be called for each modified element.


\begin{DoxyParams}{Parameters}
{\em id} & identifier of variable to be written to. \\
\hline
{\em e} & value of variable. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classSingleVarRW_a24cde180db3bac1e4554cafa1809ba7a}{SingleVarRW}.

\hypertarget{classOspfVarRW_a26be3d06181650ebdf5038045ec09b5e}{
\index{OspfVarRW@{OspfVarRW}!single\_\-write@{single\_\-write}}
\index{single\_\-write@{single\_\-write}!OspfVarRW@{OspfVarRW}}
\subsubsection[{single\_\-write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf OspfVarRW}$<$ A $>$::single\_\-write (
\begin{DoxyParamCaption}
\item[{const Id \&}]{id, }
\item[{const {\bf Element} \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOspfVarRW_a26be3d06181650ebdf5038045ec09b5e}


Write of a variable. 

The write MUST be performed now, as \hyperlink{protocolthe-p}{the} element pointer may become invalid after this call. Also, a single write will be called for each modified element.


\begin{DoxyParams}{Parameters}
{\em id} & identifier of variable to be written to. \\
\hline
{\em e} & value of variable. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classSingleVarRW_a24cde180db3bac1e4554cafa1809ba7a}{SingleVarRW}.



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