Elektra
0.8.12
|
This is the main namespace for the C++ binding and libraries. More...
Namespaces | |
namespace | tools |
This namespace is for the libtool library. | |
Data Structures | |
class | KDB |
Constructs a class KDB. More... | |
class | Context |
Provides a context for configuration. More... | |
class | ThreadSubject |
Subject from Observer pattern for ThreadContext. More... | |
struct | PerContext |
A data structure that is stored by context inside the Coordinator. More... | |
class | Coordinator |
Thread safe coordination of ThreadContext per Threads. More... | |
class | none_t |
This type is being used as bottom type that always fails. More... | |
class | Layer |
Base class for all layers. More... | |
class | ValueObserver |
Base class for values to be observed. More... | |
struct | Command |
Used by contexts for callbacks (to run code using a mutex). More... | |
class | DefaultGetPolicy |
Implements lookup with spec. More... | |
class | DefaultSetPolicy |
Implements creating user/ key when key is not found. More... | |
class | Discriminator |
This technique with the PolicySelector and Discriminator is taken from the book "C++ Templates - The Complete Guide" by David Vandevoorde and Nicolai M. More... | |
class | GetPolicyIs |
Needed by the user to set one of the policies. More... | |
class | SetPolicyIs |
Needed by the user to set one of the policies. More... | |
class | ContextPolicyIs |
Needed by the user to set one of the policies. More... | |
class | WritePolicyIs |
Needed by the user to set one of the policies. More... | |
class | ObserverPolicyIs |
Needed by the user to set one of the policies. More... | |
class | LockPolicyIs |
Needed by the user to set one of the policies. More... | |
class | Key |
Key is an essential class that encapsulates key name , value and metainfo . More... | |
class | NameIterator |
For C++ forward Iteration over Names. More... | |
class | NameReverseIterator |
For C++ reverse Iteration over Names. More... | |
struct | Va |
Needed to avoid constructor ambiguity. More... | |
class | KeySet |
A keyset holds together a set of keys. More... | |
class | KeySetIterator |
For C++ forward Iteration over KeySets. More... | |
class | KeySetReverseIterator |
For C++ reverse Iteration over KeySets. More... | |
Typedefs | |
typedef std::unordered_map < std::string, LayerAction > | LayerMap |
A vector of layers. | |
Functions | |
bool | operator< (ValueObserver const &lhs, ValueObserver const &rhs) |
Needed to put a ValueObserver in a map. | |
std::ostream & | operator<< (std::ostream &os, kdb::Key const &k) |
Stream the name of a key. | |
std::istream & | operator>> (std::istream &is, kdb::Key &k) |
Reads a line with a keys name. | |
std::ostream & | operator<< (std::ostream &os, kdb::KeySet const &cks) |
Outputs line per line the keynames. | |
std::istream & | operator>> (std::istream &is, kdb::KeySet &ks) |
Reads line per line key names and appends those keys to ks. | |
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.
bool kdb::operator< | ( | ValueObserver const & | lhs, |
ValueObserver const & | rhs | ||
) |
Needed to put a ValueObserver in a map.
|
inline |
Stream the name of a key.
If you also want to stream the value, use the plugin framework.
os | the stream to write to |
k | the key which name should be streamed |
|
inline |
Outputs line per line the keynames.
To output values you should use the plugin framework.
os | the stream to write to |
cks | the keyset which should be streamed |
Use unsetf(std::ios_base::skipws) or use noskipws iomanip on the stream if you want a null terminated sequence of key names.
Use setf(std::ios_base::unitbuf) on the stream if you want to flush the buffer after each key.
|
inline |
Reads a line with a keys name.
is | the stream to read from |
k | the key whose name will be set |
Use unsetf(std::ios_base::skipws) on the stream if the keyname is terminated with an null character and not a newline.
|
inline |
Reads line per line key names and appends those keys to ks.
To input values you need to use the plugin framework.
is | the stream to read from |
ks | the keyset to append to |