\section{Data Structures}
Here are the data structures with brief descriptions\-:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{classkdb_1_1tools_1_1Backend}{kdb\-::tools\-::\-Backend} \\*A representation of the backend (= set of plugins) that can be mounted }{\pageref{classkdb_1_1tools_1_1Backend}}{}
\item\contentsline{section}{\hyperlink{structkdb_1_1tools_1_1BackendInfo}{kdb\-::tools\-::\-Backend\-Info} \\*Info about a backend }{\pageref{structkdb_1_1tools_1_1BackendInfo}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1tools_1_1Backends}{kdb\-::tools\-::\-Backends} \\*Allows one to list backends }{\pageref{classkdb_1_1tools_1_1Backends}}{}
\item\contentsline{section}{\hyperlink{structkdb_1_1Command}{kdb\-::\-Command} \\*Used by contexts for callbacks (to run code using a mutex) }{\pageref{structkdb_1_1Command}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1Context}{kdb\-::\-Context} \\*Provides a context for configuration }{\pageref{classkdb_1_1Context}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1ContextPolicyIs}{kdb\-::\-Context\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1ContextPolicyIs}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1Coordinator}{kdb\-::\-Coordinator} \\*Thread safe coordination of Thread\-Context per Threads }{\pageref{classkdb_1_1Coordinator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1DefaultGetPolicy}{kdb\-::\-Default\-Get\-Policy} \\*Implements lookup with spec }{\pageref{classkdb_1_1DefaultGetPolicy}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1DefaultSetPolicy}{kdb\-::\-Default\-Set\-Policy} \\*Implements creating user/ key when key is not found }{\pageref{classkdb_1_1DefaultSetPolicy}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1Discriminator}{kdb\-::\-Discriminator$<$ Base, D $>$} \\*This technique with the Policy\-Selector and \hyperlink{classkdb_1_1Discriminator}{Discriminator} is taken from the book \char`\"{}\-C++ Templates -\/ The Complete Guide\char`\"{} by David Vandevoorde and Nicolai M }{\pageref{classkdb_1_1Discriminator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1GetPolicyIs}{kdb\-::\-Get\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1GetPolicyIs}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1KDB}{kdb\-::\-K\-D\-B} \\*Constructs a class \hyperlink{classkdb_1_1KDB}{K\-D\-B}.  }{\pageref{classkdb_1_1KDB}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1Key}{kdb\-::\-Key} \\*Key is an essential class that encapsulates key \hyperlink{group__keyname}{name }, \hyperlink{group__keyvalue}{value } and \hyperlink{group__keymeta}{metainfo }.  }{\pageref{classkdb_1_1Key}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1KeySet}{kdb\-::\-Key\-Set} \\*A keyset holds together a set of keys }{\pageref{classkdb_1_1KeySet}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1KeySetIterator}{kdb\-::\-Key\-Set\-Iterator} \\*For C++ forward Iteration over Key\-Sets }{\pageref{classkdb_1_1KeySetIterator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1KeySetReverseIterator}{kdb\-::\-Key\-Set\-Reverse\-Iterator} \\*For C++ reverse Iteration over Key\-Sets }{\pageref{classkdb_1_1KeySetReverseIterator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1Layer}{kdb\-::\-Layer} \\*Base class for all layers }{\pageref{classkdb_1_1Layer}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1LockPolicyIs}{kdb\-::\-Lock\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1LockPolicyIs}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1tools_1_1Modules}{kdb\-::tools\-::\-Modules} \\*Allows one to load plugins }{\pageref{classkdb_1_1tools_1_1Modules}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1NameIterator}{kdb\-::\-Name\-Iterator} \\*For C++ forward Iteration over Names }{\pageref{classkdb_1_1NameIterator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1NameReverseIterator}{kdb\-::\-Name\-Reverse\-Iterator} \\*For C++ reverse Iteration over Names }{\pageref{classkdb_1_1NameReverseIterator}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1none__t}{kdb\-::none\-\_\-t} \\*This type is being used as bottom type that always fails }{\pageref{classkdb_1_1none__t}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1ObserverPolicyIs}{kdb\-::\-Observer\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1ObserverPolicyIs}}{}
\item\contentsline{section}{\hyperlink{structkdb_1_1PerContext}{kdb\-::\-Per\-Context} \\*A data structure that is stored by context inside the \hyperlink{classkdb_1_1Coordinator}{Coordinator} }{\pageref{structkdb_1_1PerContext}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1tools_1_1Plugin}{kdb\-::tools\-::\-Plugin} \\*This is a C++ representation of a plugin }{\pageref{classkdb_1_1tools_1_1Plugin}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1tools_1_1Plugins}{kdb\-::tools\-::\-Plugins} \\*A collection of plugins (either get, set or error) }{\pageref{classkdb_1_1tools_1_1Plugins}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1SetPolicyIs}{kdb\-::\-Set\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1SetPolicyIs}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1ThreadSubject}{kdb\-::\-Thread\-Subject} \\*Subject from Observer pattern for Thread\-Context }{\pageref{classkdb_1_1ThreadSubject}}{}
\item\contentsline{section}{\hyperlink{structkdb_1_1tools_1_1ToolException}{kdb\-::tools\-::\-Tool\-Exception} \\*All exceptions from the elektratools library are derived from this exception }{\pageref{structkdb_1_1tools_1_1ToolException}}{}
\item\contentsline{section}{\hyperlink{structkdb_1_1Va}{kdb\-::\-Va} \\*Needed to avoid constructor ambiguity }{\pageref{structkdb_1_1Va}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1ValueObserver}{kdb\-::\-Value\-Observer} \\*Base class for values to be observed }{\pageref{classkdb_1_1ValueObserver}}{}
\item\contentsline{section}{\hyperlink{classkdb_1_1WritePolicyIs}{kdb\-::\-Write\-Policy\-Is$<$ Policy $>$} \\*Needed by the user to set one of the policies }{\pageref{classkdb_1_1WritePolicyIs}}{}
\end{DoxyCompactList}
