\hypertarget{classConfigTree}{
\section{ConfigTree Class Reference}
\label{classConfigTree}\index{ConfigTree@{ConfigTree}}
}
Inheritance diagram for ConfigTree:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classConfigTree}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classConfigTree_addf6cf4e0b82dc5b4c666a739dff0c4d}{
{\bfseries ConfigTree} (\hyperlink{classTemplateTree}{TemplateTree} $\ast$tt, bool verbose)}
\label{classConfigTree_addf6cf4e0b82dc5b4c666a739dff0c4d}

\item 
\hypertarget{classConfigTree_a3e97ce759e854a21e04702116add9ec4}{
bool {\bfseries parse} (const string \&configuration, const string \&config\_\-file, string \&error\_\-msg)}
\label{classConfigTree_a3e97ce759e854a21e04702116add9ec4}

\item 
\hypertarget{classConfigTree_a42e3f935978f5a6edcf990d9c39e24f7}{
void {\bfseries push\_\-path} ()}
\label{classConfigTree_a42e3f935978f5a6edcf990d9c39e24f7}

\item 
\hypertarget{classConfigTree_ab9d8095bf48e766713bc409ea2adcaa1}{
void {\bfseries extend\_\-path} (const string \&segment, int type, const \hyperlink{classConfigNodeId}{ConfigNodeId} \&node\_\-id)}
\label{classConfigTree_ab9d8095bf48e766713bc409ea2adcaa1}

\item 
\hypertarget{classConfigTree_a22d77fbfb9427f19ec75967c77c42760}{
void {\bfseries pop\_\-path} ()}
\label{classConfigTree_a22d77fbfb9427f19ec75967c77c42760}

\item 
\hypertarget{classConfigTree_a95f4822fbfe3661c1eb36355ba844867}{
void {\bfseries add\_\-node} (const string \&nodename, int type, const \hyperlink{classConfigNodeId}{ConfigNodeId} \&node\_\-id)  throw (ParseError)}
\label{classConfigTree_a95f4822fbfe3661c1eb36355ba844867}

\item 
\hypertarget{classConfigTree_a38a8206a2a45c6a916faa7f614b8f460}{
virtual \hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries create\_\-node} (const string \&segment, const string \&path, const \hyperlink{classTemplateTreeNode}{TemplateTreeNode} $\ast$ttn, \hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$parent\_\-node, const \hyperlink{classConfigNodeId}{ConfigNodeId} \&node\_\-id, uid\_\-t user\_\-id, bool verbose)=0}
\label{classConfigTree_a38a8206a2a45c6a916faa7f614b8f460}

\item 
\hypertarget{classConfigTree_a6457fcc1967e94b243e3890dd096b3a4}{
virtual \hyperlink{classConfigTree}{ConfigTree} $\ast$ {\bfseries create\_\-tree} (\hyperlink{classTemplateTree}{TemplateTree} $\ast$tt, bool verbose)=0}
\label{classConfigTree_a6457fcc1967e94b243e3890dd096b3a4}

\item 
\hypertarget{classConfigTree_abb938364210dcb76cf5f22d20535080d}{
void {\bfseries terminal\_\-value} (const string \&value, int type, ConfigOperator op)  throw (ParseError)}
\label{classConfigTree_abb938364210dcb76cf5f22d20535080d}

\item 
\hypertarget{classConfigTree_add13f1971cb0e81e7220309d729690d6}{
list$<$ \hyperlink{classConfPathSegment}{ConfPathSegment} $>$ {\bfseries path\_\-as\_\-segments} () const }
\label{classConfigTree_add13f1971cb0e81e7220309d729690d6}

\item 
\hypertarget{classConfigTree_ac4d746c299910275771ded3ee86458dd}{
const \hyperlink{classTemplateTreeNode}{TemplateTreeNode} $\ast$ {\bfseries find\_\-template} (const list$<$ string $>$ \&path\_\-segments) const }
\label{classConfigTree_ac4d746c299910275771ded3ee86458dd}

\item 
\hypertarget{classConfigTree_a58acbd82ac5feebc0f5be3fabdef657e}{
const \hyperlink{classTemplateTreeNode}{TemplateTreeNode} $\ast$ {\bfseries find\_\-template\_\-by\_\-type} (const list$<$ \hyperlink{classConfPathSegment}{ConfPathSegment} $>$ \&path\_\-segments) const }
\label{classConfigTree_a58acbd82ac5feebc0f5be3fabdef657e}

\item 
\hypertarget{classConfigTree_aaaf0b9082c478786a3c4c11615eba336}{
virtual \hyperlink{classConfigTreeNode}{ConfigTreeNode} \& {\bfseries root\_\-node} ()=0}
\label{classConfigTree_aaaf0b9082c478786a3c4c11615eba336}

\item 
\hypertarget{classConfigTree_a2736b22948f9a4fd25f35ae4f376f8ed}{
virtual const \hyperlink{classConfigTreeNode}{ConfigTreeNode} \& {\bfseries const\_\-root\_\-node} () const =0}
\label{classConfigTree_a2736b22948f9a4fd25f35ae4f376f8ed}

\item 
\hypertarget{classConfigTree_a0a6c4067a50a422cd3724f23c3d2fd51}{
\hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries find\_\-node} (const list$<$ string $>$ \&path)}
\label{classConfigTree_a0a6c4067a50a422cd3724f23c3d2fd51}

\item 
\hypertarget{classConfigTree_a380a0b67314599e024e34e51d7484952}{
const \hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries find\_\-const\_\-node} (const list$<$ string $>$ \&path) const }
\label{classConfigTree_a380a0b67314599e024e34e51d7484952}

\item 
\hypertarget{classConfigTree_a36127fda0cc52dbba432e4324a93923b}{
\hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries find\_\-config\_\-module} (const string \&module\_\-name)}
\label{classConfigTree_a36127fda0cc52dbba432e4324a93923b}

\item 
\hypertarget{classConfigTree_a087e1995ede7159295b96ba57b8861f8}{
string {\bfseries show\_\-subtree} (bool show\_\-top, const list$<$ string $>$ \&path\_\-segments, bool numbered, bool suppress\_\-default\_\-values) const }
\label{classConfigTree_a087e1995ede7159295b96ba57b8861f8}

\item 
\hypertarget{classConfigTree_a01474259211f641dead2ef6302c47c95}{
string {\bfseries show\_\-tree} (bool numbered) const }
\label{classConfigTree_a01474259211f641dead2ef6302c47c95}

\item 
\hypertarget{classConfigTree_aacdb18b2c65d1cf21fa4eb1903a30db0}{
string {\bfseries show\_\-unannotated\_\-tree} (bool numbered) const }
\label{classConfigTree_aacdb18b2c65d1cf21fa4eb1903a30db0}

\item 
\hypertarget{classConfigTree_a6404d88b903928e7bb47879be585c4c4}{
string {\bfseries tree\_\-str} () const }
\label{classConfigTree_a6404d88b903928e7bb47879be585c4c4}

\item 
\hypertarget{classConfigTree_a1d17a0e82e517ffcf449894dc94c14bf}{
bool {\bfseries apply\_\-deltas} (uid\_\-t user\_\-id, const string \&deltas, bool provisional\_\-change, bool preserve\_\-node\_\-id, string \&response)}
\label{classConfigTree_a1d17a0e82e517ffcf449894dc94c14bf}

\item 
\hypertarget{classConfigTree_a61117877892dc22bf16d10f98c8a6c37}{
bool {\bfseries apply\_\-deletions} (uid\_\-t user\_\-id, const string \&deletions, bool provisional\_\-change, string \&response)}
\label{classConfigTree_a61117877892dc22bf16d10f98c8a6c37}

\item 
\hypertarget{classConfigTree_a24c5c2fd6477e26159cb48438617d70a}{
void {\bfseries retain\_\-different\_\-nodes} (const \hyperlink{classConfigTree}{ConfigTree} \&them, bool retain\_\-changed\_\-values)}
\label{classConfigTree_a24c5c2fd6477e26159cb48438617d70a}

\item 
\hypertarget{classConfigTree_a334c6f8de79b92725a900de5132f86da}{
void {\bfseries retain\_\-deletion\_\-nodes} (const \hyperlink{classConfigTree}{ConfigTree} \&them, bool retain\_\-value\_\-changed)}
\label{classConfigTree_a334c6f8de79b92725a900de5132f86da}

\item 
\hypertarget{classConfigTree_aafdf7fad1e5ebcf51f40c2f0084858ac}{
void {\bfseries retain\_\-common\_\-nodes} (const \hyperlink{classConfigTree}{ConfigTree} \&them)}
\label{classConfigTree_aafdf7fad1e5ebcf51f40c2f0084858ac}

\item 
\hypertarget{classConfigTree_a03543b3bf62b17bcd532099af5440e59}{
void {\bfseries add\_\-default\_\-children} ()}
\label{classConfigTree_a03543b3bf62b17bcd532099af5440e59}

\item 
\hypertarget{classConfigTree_a048fb667a1cccea8b38405b314cd2fd0}{
void {\bfseries expand\_\-varname\_\-to\_\-matchlist} (const string \&varname, list$<$ string $>$ \&matches) const }
\label{classConfigTree_a048fb667a1cccea8b38405b314cd2fd0}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classConfigTree_a62177ee42bf7c51239f3f14cb07c6b2d}{
string {\bfseries path\_\-as\_\-string} (const list$<$ string $>$ \&path\_\-segments) const }
\label{classConfigTree_a62177ee42bf7c51239f3f14cb07c6b2d}

\item 
\hypertarget{classConfigTree_af87b15fecb9498531293cb3d1319da73}{
string {\bfseries current\_\-path\_\-as\_\-string} () const }
\label{classConfigTree_af87b15fecb9498531293cb3d1319da73}

\item 
\hypertarget{classConfigTree_a7cbda0f7c60d1dc18568d5b38a9fea0f}{
const \hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries find\_\-config\_\-node} (const list$<$ string $>$ \&path\_\-segments) const }
\label{classConfigTree_a7cbda0f7c60d1dc18568d5b38a9fea0f}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classConfigTree_a2e5747d837fc1bb713041e317d33e17b}{
string {\bfseries \_\-config\_\-file}}
\label{classConfigTree_a2e5747d837fc1bb713041e317d33e17b}

\item 
\hypertarget{classConfigTree_af4421e190db3487a37e200bed90770b6}{
\hyperlink{classTemplateTree}{TemplateTree} $\ast$ {\bfseries \_\-template\_\-tree}}
\label{classConfigTree_af4421e190db3487a37e200bed90770b6}

\item 
\hypertarget{classConfigTree_a1d0e27175d1e8c96e347746be010bfa9}{
\hyperlink{classConfigTreeNode}{ConfigTreeNode} $\ast$ {\bfseries \_\-current\_\-node}}
\label{classConfigTree_a1d0e27175d1e8c96e347746be010bfa9}

\item 
\hypertarget{classConfigTree_a7c7ed26c55a825b469d4fa78aeb73fa9}{
list$<$ \hyperlink{classConfPathSegment}{ConfPathSegment} $>$ {\bfseries \_\-path\_\-segments}}
\label{classConfigTree_a7c7ed26c55a825b469d4fa78aeb73fa9}

\item 
\hypertarget{classConfigTree_a95b0e3916f3779772f7085ea2642734d}{
list$<$ size\_\-t $>$ {\bfseries \_\-segment\_\-lengths}}
\label{classConfigTree_a95b0e3916f3779772f7085ea2642734d}

\item 
\hypertarget{classConfigTree_a7bd0a91baff393bfc60cd11e672bc249}{
bool {\bfseries \_\-verbose}}
\label{classConfigTree_a7bd0a91baff393bfc60cd11e672bc249}

\end{DoxyCompactItemize}


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