---
name: "kdb"
section: "3elektra"
platform: "linux"
package: "elektra-doc"
version: "0.8.7-4"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/kdb/3elektra"
---

# kdb(3elektra)

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

## NAME

kdb -

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

## SYNOPSIS

### Namespaces

 **tools**\
 *This namespace is for the libtool library.*

### Data Structures

class **Context**\
 *Provides a context for configuration.*  class **KDB**\
 *Opens the session with the* **Key** *database.*  class **Key**\
 *A* **Key** *is the essential class that encapsulates key* **name** *,* **value**  *and* **metainfo** *.*  class **KeySet**\
 *A keyset holds together a set of keys.*  class **KeySetIterator**\
 class **KeySetReverseIterator**\

### Functions

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

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

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

**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

**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

## Author

Generated automatically by Doxygen for Elektra from the source code.
