.TH "kdb" 3elektra "Sun May 29 2016" "Version 0.8.14" "Elektra" \" -*- nroff -*- .ad l .nh .SH NAME kdb \- This is the main namespace for the C++ binding and libraries\&. .SH SYNOPSIS .br .PP .SS "Namespaces" .in +1c .ti -1c .RI " \fBtools\fP" .br .RI "\fIThis namespace is for the libtool library\&. \fP" .in -1c .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBCommand\fP" .br .RI "\fIUsed by contexts for callbacks (to run code using a mutex)\&. \fP" .ti -1c .RI "class \fBContext\fP" .br .RI "\fIProvides a context for configuration\&. \fP" .ti -1c .RI "class \fBContextPolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .ti -1c .RI "class \fBCoordinator\fP" .br .RI "\fIThread safe coordination of ThreadContext per Threads\&. \fP" .ti -1c .RI "class \fBDefaultGetPolicy\fP" .br .RI "\fIImplements lookup with spec\&. \fP" .ti -1c .RI "class \fBDefaultSetPolicy\fP" .br .RI "\fIImplements creating user/ key when key is not found\&. \fP" .ti -1c .RI "class \fBDiscriminator\fP" .br .RI "\fIThis technique with the PolicySelector and \fBDiscriminator\fP is taken from the book 'C++ Templates - The Complete Guide' by David Vandevoorde and Nicolai M\&. \fP" .ti -1c .RI "class \fBGetPolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .ti -1c .RI "class \fBKDB\fP" .br .RI "\fIConstructs a class \fBKDB\fP\&. \fP" .ti -1c .RI "class \fBKey\fP" .br .RI "\fI\fBKey\fP is an essential class that encapsulates key \fBname \fP, \fBvalue \fP and \fBmetainfo \fP\&. \fP" .ti -1c .RI "class \fBKeySet\fP" .br .RI "\fIA keyset holds together a set of keys\&. \fP" .ti -1c .RI "class \fBKeySetIterator\fP" .br .RI "\fIFor C++ forward Iteration over KeySets\&. \fP" .ti -1c .RI "class \fBKeySetReverseIterator\fP" .br .RI "\fIFor C++ reverse Iteration over KeySets\&. \fP" .ti -1c .RI "class \fBLayer\fP" .br .RI "\fIBase class for all layers\&. \fP" .ti -1c .RI "class \fBLockPolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .ti -1c .RI "class \fBNameIterator\fP" .br .RI "\fIFor C++ forward Iteration over Names\&. \fP" .ti -1c .RI "class \fBNameReverseIterator\fP" .br .RI "\fIFor C++ reverse Iteration over Names\&. \fP" .ti -1c .RI "class \fBnone_t\fP" .br .RI "\fIThis type is being used as bottom type that always fails\&. \fP" .ti -1c .RI "class \fBObserverPolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .ti -1c .RI "struct \fBPerContext\fP" .br .RI "\fIA data structure that is stored by context inside the \fBCoordinator\fP\&. \fP" .ti -1c .RI "class \fBSetPolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .ti -1c .RI "class \fBThreadSubject\fP" .br .RI "\fISubject from Observer pattern for ThreadContext\&. \fP" .ti -1c .RI "struct \fBVa\fP" .br .RI "\fINeeded to avoid constructor ambiguity\&. \fP" .ti -1c .RI "class \fBValueObserver\fP" .br .RI "\fIBase class for values to be observed\&. \fP" .ti -1c .RI "class \fBWritePolicyIs\fP" .br .RI "\fINeeded by the user to set one of the policies\&. \fP" .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef std::unordered_map< std::string, LayerAction > \fBLayerMap\fP" .br .RI "\fIA vector of layers\&. \fP" .in -1c .SS "Functions" .in +1c .ti -1c .RI "bool \fBoperator<\fP (\fBValueObserver\fP const &lhs, \fBValueObserver\fP const &rhs)" .br .RI "\fINeeded to put a \fBValueObserver\fP in a map\&. \fP" .ti -1c .RI "std::ostream & \fBoperator<<\fP (std::ostream &os, \fBkdb::Key\fP const &k)" .br .RI "\fIStream the name of a key\&. \fP" .ti -1c .RI "std::istream & \fBoperator>>\fP (std::istream &is, \fBkdb::Key\fP &k)" .br .RI "\fIReads a line with a keys name\&. \fP" .ti -1c .RI "std::ostream & \fBoperator<<\fP (std::ostream &os, \fBkdb::KeySet\fP const &cks)" .br .RI "\fIOutputs line per line the keynames\&. \fP" .ti -1c .RI "std::istream & \fBoperator>>\fP (std::istream &is, \fBkdb::KeySet\fP &ks)" .br .RI "\fIReads line per line key names and appends those keys to ks\&. \fP" .in -1c .SH "Detailed Description" .PP 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\&. .IP "\(bu" 2 \fBSee also:\fP .RS 4 \fBkdb::tools\fP .RE .PP .PP .SH "Function Documentation" .PP .SS "bool kdb::operator< (\fBValueObserver\fP const & lhs, \fBValueObserver\fP const & rhs)" .PP Needed to put a \fBValueObserver\fP in a map\&. .PP \fBReturns:\fP .RS 4 Comparision result .RE .PP .SS "std::ostream& kdb::operator<< (std::ostream & os, \fBkdb::Key\fP const & k)\fC [inline]\fP" .PP Stream the name of a key\&. If you also want to stream the value, use the plugin framework\&. .PP \fBParameters:\fP .RS 4 \fIos\fP the stream to write to .br \fIk\fP the key which name should be streamed .RE .PP \fBReturns:\fP .RS 4 the stream .RE .PP .SS "std::ostream& kdb::operator<< (std::ostream & os, \fBkdb::KeySet\fP const & cks)\fC [inline]\fP" .PP Outputs line per line the keynames\&. To output values you should use the plugin framework\&. .PP \fBParameters:\fP .RS 4 \fIos\fP the stream to write to .br \fIcks\fP the keyset which should be streamed .RE .PP Use unsetf(std::ios_base::skipws) or use noskipws iomanip on the stream if you want a null terminated sequence of key names\&. .PP Use setf(std::ios_base::unitbuf) on the stream if you want to flush the buffer after each key\&. .PP \fBReturns:\fP .RS 4 the stream .RE .PP .SS "std::istream& kdb::operator>> (std::istream & is, \fBkdb::Key\fP & k)\fC [inline]\fP" .PP Reads a line with a keys name\&. .PP \fBParameters:\fP .RS 4 \fIis\fP the stream to read from .br \fIk\fP the key whose name will be set .RE .PP Use unsetf(std::ios_base::skipws) on the stream if the keyname is terminated with an null character and not a newline\&. .PP \fBReturns:\fP .RS 4 the stream .RE .PP .SS "std::istream& kdb::operator>> (std::istream & is, \fBkdb::KeySet\fP & ks)\fC [inline]\fP" .PP Reads line per line key names and appends those keys to ks\&. To input values you need to use the plugin framework\&. .PP \fBParameters:\fP .RS 4 \fIis\fP the stream to read from .br \fIks\fP the keyset to append to .RE .PP \fBReturns:\fP .RS 4 the stream .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Elektra from the source code\&.