\hypertarget{namespacekdb}{\section{kdb Namespace Reference}
\label{namespacekdb}\index{kdb@{kdb}}
}


This is the main namespace for the C++ binding and libraries.  


\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \hyperlink{namespacekdb_1_1tools}{tools}
\begin{DoxyCompactList}\small\item\em This namespace is for the libtool library. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classkdb_1_1Context}{Context}
\begin{DoxyCompactList}\small\item\em Provides a context for configuration. \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1DefaultGetPolicy}{Default\-Get\-Policy}
\begin{DoxyCompactList}\small\item\em simply lookup without spec \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1DefaultSetPolicy}{Default\-Set\-Policy}
\begin{DoxyCompactList}\small\item\em Implements update when key is not found. \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1Discriminator}{Discriminator}
\item 
class \hyperlink{classkdb_1_1GetPolicyIs}{Get\-Policy\-Is}
\item 
class \hyperlink{classkdb_1_1SetPolicyIs}{Set\-Policy\-Is}
\item 
class \hyperlink{classkdb_1_1KDB}{K\-D\-B}
\begin{DoxyCompactList}\small\item\em Opens the session with the \hyperlink{classkdb_1_1Key}{Key} database.   \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1Key}{Key}
\begin{DoxyCompactList}\small\item\em A Key is the essential class that encapsulates key \hyperlink{group__keyname}{name }, \hyperlink{group__keyvalue}{value } and \hyperlink{group__keymeta}{metainfo }.  \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1KeySet}{Key\-Set}
\begin{DoxyCompactList}\small\item\em A keyset holds together a set of keys. \end{DoxyCompactList}\item 
class \hyperlink{classkdb_1_1KeySetIterator}{Key\-Set\-Iterator}
\item 
class \hyperlink{classkdb_1_1KeySetReverseIterator}{Key\-Set\-Reverse\-Iterator}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
std\-::ostream \& \hyperlink{namespacekdb_ac004b5ba79154cbba02d5e5d83337e47}{operator$<$$<$} (std\-::ostream \&os, \hyperlink{classkdb_1_1Key}{kdb\-::\-Key} const \&k)
\begin{DoxyCompactList}\small\item\em Stream the name of a key. \end{DoxyCompactList}\item 
std\-::istream \& \hyperlink{namespacekdb_a66342865d6cdbb19075f52d92e7a61b1}{operator$>$$>$} (std\-::istream \&is, \hyperlink{classkdb_1_1Key}{kdb\-::\-Key} \&k)
\begin{DoxyCompactList}\small\item\em Reads a line with a keys name. \end{DoxyCompactList}\item 
std\-::ostream \& \hyperlink{namespacekdb_afd28754a48d420d2f2a41c5d8242f3fb}{operator$<$$<$} (std\-::ostream \&os, \hyperlink{classkdb_1_1KeySet}{kdb\-::\-Key\-Set} const \&cks)
\begin{DoxyCompactList}\small\item\em Outputs line per line the keynames. \end{DoxyCompactList}\item 
std\-::istream \& \hyperlink{namespacekdb_ac4479a9f39ed65ffd251161bcaf8ea89}{operator$>$$>$} (std\-::istream \&is, \hyperlink{classkdb_1_1KeySet}{kdb\-::\-Key\-Set} \&ks)
\begin{DoxyCompactList}\small\item\em Reads line per line key names and appends those keys to ks. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This is the main namespace for the C++ binding and libraries. Classes or Functions directly below this namespace are header-\/only. Sub namespaces are intended for libraries and you need to link the library if you want to use them.
\begin{DoxyItemize}
\item \begin{DoxySeeAlso}{See Also}
\hyperlink{namespacekdb_1_1tools}{kdb\-::tools} 
\end{DoxySeeAlso}

\end{DoxyItemize}

\subsection{Function Documentation}
\hypertarget{namespacekdb_ac004b5ba79154cbba02d5e5d83337e47}{\index{kdb@{kdb}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!kdb@{kdb}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& kdb\-::operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{os, }
\item[{{\bf kdb\-::\-Key} const \&}]{k}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacekdb_ac004b5ba79154cbba02d5e5d83337e47}


Stream the name of a key. 

If you also want to stream the value, use the plugin framework.


\begin{DoxyParams}{Parameters}
{\em os} & the stream to write to \\
\hline
{\em k} & the key which name should be streamed\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the stream 
\end{DoxyReturn}
\hypertarget{namespacekdb_afd28754a48d420d2f2a41c5d8242f3fb}{\index{kdb@{kdb}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!kdb@{kdb}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& kdb\-::operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{os, }
\item[{{\bf kdb\-::\-Key\-Set} const \&}]{cks}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacekdb_afd28754a48d420d2f2a41c5d8242f3fb}


Outputs line per line the keynames. 

To output values you should use the plugin framework.


\begin{DoxyParams}{Parameters}
{\em os} & the stream to write to \\
\hline
{\em cks} & the keyset which should be streamed\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the stream 
\end{DoxyReturn}
\hypertarget{namespacekdb_a66342865d6cdbb19075f52d92e7a61b1}{\index{kdb@{kdb}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!kdb@{kdb}}
\subsubsection[{operator$>$$>$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::istream\& kdb\-::operator$>$$>$ (
\begin{DoxyParamCaption}
\item[{std\-::istream \&}]{is, }
\item[{{\bf kdb\-::\-Key} \&}]{k}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacekdb_a66342865d6cdbb19075f52d92e7a61b1}


Reads a line with a keys name. 


\begin{DoxyParams}{Parameters}
{\em is} & the stream to read from \\
\hline
{\em k} & the key whose name will be set\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the stream 
\end{DoxyReturn}
\hypertarget{namespacekdb_ac4479a9f39ed65ffd251161bcaf8ea89}{\index{kdb@{kdb}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!kdb@{kdb}}
\subsubsection[{operator$>$$>$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::istream\& kdb\-::operator$>$$>$ (
\begin{DoxyParamCaption}
\item[{std\-::istream \&}]{is, }
\item[{{\bf kdb\-::\-Key\-Set} \&}]{ks}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacekdb_ac4479a9f39ed65ffd251161bcaf8ea89}


Reads line per line key names and appends those keys to ks. 

To input values you need to use the plugin framework.


\begin{DoxyParams}{Parameters}
{\em is} & the stream to read from \\
\hline
{\em ks} & the keyset to append to\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the stream 
\end{DoxyReturn}
