\hypertarget{classRefTriePreOrderIterator}{
\section{RefTriePreOrderIterator$<$ A, Payload $>$ Class Template Reference}
\label{classRefTriePreOrderIterator}\index{RefTriePreOrderIterator@{RefTriePreOrderIterator}}
}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRefTriePreOrderIterator_abb84c9d9881a8248223c63ea85e25f3c}{
typedef \hyperlink{classIPNet}{IPNet}$<$ A $>$ {\bfseries Key}}
\label{classRefTriePreOrderIterator_abb84c9d9881a8248223c63ea85e25f3c}

\item 
\hypertarget{classRefTriePreOrderIterator_aa26fb27fd68430970ee3068d34748f03}{
typedef ::RefTrie$<$ A, Payload $>$ {\bfseries RefTrie}}
\label{classRefTriePreOrderIterator_aa26fb27fd68430970ee3068d34748f03}

\item 
\hypertarget{classRefTriePreOrderIterator_a3dc89c7e477659e100092f77db7d432b}{
typedef \hyperlink{classRefTrieNode}{RefTrieNode}$<$ A, Payload $>$ {\bfseries Node}}
\label{classRefTriePreOrderIterator_a3dc89c7e477659e100092f77db7d432b}

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

\begin{DoxyCompactList}\small\item\em Constructors. \item\end{DoxyCompactList}\item 
\hypertarget{classRefTriePreOrderIterator_a23184d5990eca860254890c6c4f4ce88}{
\hyperlink{classRefTriePreOrderIterator_a23184d5990eca860254890c6c4f4ce88}{RefTriePreOrderIterator} (const RefTrie $\ast$trie, \hyperlink{classRefTrieNode}{Node} $\ast$n)}
\label{classRefTriePreOrderIterator_a23184d5990eca860254890c6c4f4ce88}

\begin{DoxyCompactList}\small\item\em constructor for exact searches: both \hyperlink{protocolthe-p}{the} current node and \hyperlink{protocolthe-p}{the} search key are taken from n, so \hyperlink{protocolthe-p}{the} iterator will only loop once. \item\end{DoxyCompactList}\item 
\hypertarget{classRefTriePreOrderIterator_ad2591bbbe05ec4edbf615f94163de01c}{
\hyperlink{classRefTriePreOrderIterator_ad2591bbbe05ec4edbf615f94163de01c}{RefTriePreOrderIterator} (const RefTrie $\ast$trie, \hyperlink{classRefTrieNode}{Node} $\ast$n, const \hyperlink{classIPNet}{Key} \&k)}
\label{classRefTriePreOrderIterator_ad2591bbbe05ec4edbf615f94163de01c}

\begin{DoxyCompactList}\small\item\em construct for subtree scanning: \hyperlink{protocolthe-p}{the} root key is set explicitly, and \hyperlink{protocolthe-p}{the} current node is set according to \hyperlink{protocolthe-p}{the} search order. \item\end{DoxyCompactList}\item 
\hypertarget{classRefTriePreOrderIterator_aff043ea43b736e76e99aaca03e88b2b0}{
{\bfseries RefTriePreOrderIterator} (const \hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \&x)}
\label{classRefTriePreOrderIterator_aff043ea43b736e76e99aaca03e88b2b0}

\item 
\hypertarget{classRefTriePreOrderIterator_a085b7c32912b2613c6e2b2b95950d19a}{
\hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} $\ast$ \hyperlink{classRefTriePreOrderIterator_a085b7c32912b2613c6e2b2b95950d19a}{begin} ()}
\label{classRefTriePreOrderIterator_a085b7c32912b2613c6e2b2b95950d19a}

\begin{DoxyCompactList}\small\item\em move to \hyperlink{protocolthe-p}{the} starting position according to \hyperlink{protocolthe-p}{the} visiting order \item\end{DoxyCompactList}\item 
\hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \hyperlink{classRefTriePreOrderIterator_aaf8904a992289dd11408449919e78b8d}{operator++} (int)
\begin{DoxyCompactList}\small\item\em Postfix increment. \item\end{DoxyCompactList}\item 
\hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \& \hyperlink{classRefTriePreOrderIterator_a0b8883df5eb4ceb26ee641067a0f095c}{operator++} ()
\begin{DoxyCompactList}\small\item\em Prefix increment. \item\end{DoxyCompactList}\item 
\hyperlink{classRefTriePreOrderIterator_af5da8e4efa71819c3d498e3ed91c758d}{operator RefTriePostOrderIterator$<$ A, Payload $>$} () const 
\begin{DoxyCompactList}\small\item\em Conversion operator. \item\end{DoxyCompactList}\item 
\hypertarget{classRefTriePreOrderIterator_aef47506ea59d21f80d280602b71dcedc}{
void {\bfseries next} () const }
\label{classRefTriePreOrderIterator_aef47506ea59d21f80d280602b71dcedc}

\item 
\hypertarget{classRefTriePreOrderIterator_a4c79876f3b1ea5710cde6194fce9a2fd}{
void {\bfseries force\_\-valid} () const }
\label{classRefTriePreOrderIterator_a4c79876f3b1ea5710cde6194fce9a2fd}

\item 
\hypertarget{classRefTriePreOrderIterator_ad0a074285b2df61a31b88fee127f81b8}{
\hyperlink{classRefTrieNode}{Node} $\ast$ {\bfseries cur} () const }
\label{classRefTriePreOrderIterator_ad0a074285b2df61a31b88fee127f81b8}

\item 
\hypertarget{classRefTriePreOrderIterator_ac8b5e28ec7fd3ebfa5c91a95a18098b8}{
bool {\bfseries operator==} (const \hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \&x) const }
\label{classRefTriePreOrderIterator_ac8b5e28ec7fd3ebfa5c91a95a18098b8}

\item 
\hypertarget{classRefTriePreOrderIterator_aca499e943de245fbd3795ac920d76885}{
bool {\bfseries operator!=} (const \hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \&x) const }
\label{classRefTriePreOrderIterator_aca499e943de245fbd3795ac920d76885}

\item 
\hypertarget{classRefTriePreOrderIterator_a30037eda45e358293e966a72c9acff67}{
Payload \& {\bfseries payload} ()}
\label{classRefTriePreOrderIterator_a30037eda45e358293e966a72c9acff67}

\item 
\hypertarget{classRefTriePreOrderIterator_a59becc640154c0738549ddcb40e3b175}{
const \hyperlink{classIPNet}{Key} \& {\bfseries key} () const }
\label{classRefTriePreOrderIterator_a59becc640154c0738549ddcb40e3b175}

\item 
\hypertarget{classRefTriePreOrderIterator_a6ca2b37c7e21ed09b8a67bc505fb9976}{
\hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \& {\bfseries operator=} (const \hyperlink{classRefTriePreOrderIterator}{RefTriePreOrderIterator} \&x)}
\label{classRefTriePreOrderIterator_a6ca2b37c7e21ed09b8a67bc505fb9976}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRefTriePreOrderIterator_a7679969cb8d7a194b4be897f1aae2570}{
bool {\bfseries node\_\-is\_\-right} (\hyperlink{classRefTrieNode}{Node} $\ast$n) const }
\label{classRefTriePreOrderIterator_a7679969cb8d7a194b4be897f1aae2570}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRefTriePreOrderIterator_a07b5086852f38490dfd659819210003a}{
\hyperlink{classRefTrieNode}{Node} $\ast$ {\bfseries \_\-cur}}
\label{classRefTriePreOrderIterator_a07b5086852f38490dfd659819210003a}

\item 
\hypertarget{classRefTriePreOrderIterator_ac1bd37ec0120d18b6b4d7f50adf0979a}{
\hyperlink{classIPNet}{Key} {\bfseries \_\-root}}
\label{classRefTriePreOrderIterator_ac1bd37ec0120d18b6b4d7f50adf0979a}

\item 
\hypertarget{classRefTriePreOrderIterator_abe03b0d7a41ae0b107e5b1c38cd9e40c}{
const RefTrie $\ast$ {\bfseries \_\-trie}}
\label{classRefTriePreOrderIterator_abe03b0d7a41ae0b107e5b1c38cd9e40c}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRefTriePreOrderIterator_a85fd04e4c0167269cac23e1079e65ad8}{
class \hyperlink{classRefTriePreOrderIterator_a85fd04e4c0167269cac23e1079e65ad8}{RefTriePostOrderIterator$<$ A, Payload $>$}}
\label{classRefTriePreOrderIterator_a85fd04e4c0167269cac23e1079e65ad8}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class A, class Payload$>$ class RefTriePreOrderIterator$<$ A, Payload $>$}



\subsection{Member Function Documentation}
\hypertarget{classRefTriePreOrderIterator_af5da8e4efa71819c3d498e3ed91c758d}{
\index{RefTriePreOrderIterator@{RefTriePreOrderIterator}!operator RefTriePostOrderIterator$<$ A, Payload $>$@{operator RefTriePostOrderIterator$<$ A, Payload $>$}}
\index{operator RefTriePostOrderIterator$<$ A, Payload $>$@{operator RefTriePostOrderIterator$<$ A, Payload $>$}!RefTriePreOrderIterator@{RefTriePreOrderIterator}}
\subsubsection[{operator RefTriePostOrderIterator$<$ A, Payload $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A, class Payload$>$ {\bf RefTriePreOrderIterator}$<$ A, Payload $>$::operator {\bf RefTriePostOrderIterator}$<$ A, Payload $>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classRefTriePreOrderIterator_af5da8e4efa71819c3d498e3ed91c758d}


Conversion operator. 

Converts into a PostOrderIterator \hypertarget{classRefTriePreOrderIterator_a0b8883df5eb4ceb26ee641067a0f095c}{
\index{RefTriePreOrderIterator@{RefTriePreOrderIterator}!operator++@{operator++}}
\index{operator++@{operator++}!RefTriePreOrderIterator@{RefTriePreOrderIterator}}
\subsubsection[{operator++}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A, class Payload$>$ {\bf RefTriePreOrderIterator}\& {\bf RefTriePreOrderIterator}$<$ A, Payload $>$::operator++ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classRefTriePreOrderIterator_a0b8883df5eb4ceb26ee641067a0f095c}


Prefix increment. 

Updates position of iterator in tree. \begin{DoxyReturn}{Returns}
position of iterator after increment. 
\end{DoxyReturn}
\hypertarget{classRefTriePreOrderIterator_aaf8904a992289dd11408449919e78b8d}{
\index{RefTriePreOrderIterator@{RefTriePreOrderIterator}!operator++@{operator++}}
\index{operator++@{operator++}!RefTriePreOrderIterator@{RefTriePreOrderIterator}}
\subsubsection[{operator++}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A, class Payload$>$ {\bf RefTriePreOrderIterator} {\bf RefTriePreOrderIterator}$<$ A, Payload $>$::operator++ (
\begin{DoxyParamCaption}
\item[{int}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classRefTriePreOrderIterator_aaf8904a992289dd11408449919e78b8d}


Postfix increment. 

Updates position of iterator in tree. \begin{DoxyReturn}{Returns}
position of iterator before increment. 
\end{DoxyReturn}


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