Elektra: kdb Namespace Reference

Elektra 0.8.14

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Namespace List
- Namespace Members

Data Structures | Typedefs | Functions
kdb Namespace Reference

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

## Data Structures
struct | Command
| Used by contexts for callbacks (to run code using a mutex). More...
class | Context
| Provides a context for configuration. More...
class | ContextPolicyIs
| Needed by the user to set one of the policies. More...
class | Coordinator
| Thread safe coordination of ThreadContext per Threads. 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 | KDB
| Constructs a class KDB. More...
class | Key
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...
class | Layer
| Base class for all layers. More...
class | LockPolicyIs
| Needed by the user to set one of the policies. More...
class | NameIterator
| For C++ forward Iteration over Names. More...
class | NameReverseIterator
| For C++ reverse Iteration over Names. More...
class | none_t
| This type is being used as bottom type that always fails. More...
class | ObserverPolicyIs
| Needed by the user to set one of the policies. More...
struct | PerContext
| A data structure that is stored by context inside the Coordinator. More...
class | SetPolicyIs
| Needed by the user to set one of the policies. More...
class | ThreadSubject
| Subject from Observer pattern for ThreadContext. More...
struct | Va
| Needed to avoid constructor ambiguity. More...
class | ValueObserver
| Base class for values to be observed. More...
class | WritePolicyIs
| Needed by the user to set one of the policies. 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. More...
std::ostream & | operator<< (std::ostream &os, kdb::Key const &k)
| Stream the name of a key. More...
std::istream & | operator>> (std::istream &is, kdb::Key &k)
| Reads a line with a keys name. More...
std::ostream & | operator<< (std::ostream &os, kdb::KeySet const &cks)
| Outputs line per line the keynames. More...
std::istream & | operator>> (std::istream &is, kdb::KeySet &ks)
| Reads line per line key names and appends those keys to ks. More...

## 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.

- See also
    kdb::tools

## Function Documentation

bool kdb::operator< | ( | ValueObserver const & | lhs,
|  | ValueObserver const & | rhs
| ) |  |

Needed to put a ValueObserver in a map.

Returns
  Comparision result

std::ostream& kdb::operator<< | ( | std::ostream & | os,
|  | kdb::Key const & | k
| ) |  |
| inline

Stream the name of a key.

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

Parameters

  os | the stream to write to
  k | the key which name should be streamed

Returns
  the stream

std::ostream& kdb::operator<< | ( | std::ostream & | os,
|  | kdb::KeySet const & | cks
| ) |  |
| inline

Outputs line per line the keynames.

To output values you should use the plugin framework.

Parameters

  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.

Returns
  the stream

std::istream& kdb::operator>> | ( | std::istream & | is,
|  | kdb::Key & | k
| ) |  |
| inline

Reads a line with a keys name.

Parameters

  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.

Returns
  the stream

std::istream& kdb::operator>> | ( | std::istream & | is,
|  | kdb::KeySet & | ks
| ) |  |
| inline

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

To input values you need to use the plugin framework.

Parameters

  is | the stream to read from
  ks | the keyset to append to

Returns
  the stream