Elektra: kdb::Context Class Reference

Elektra 0.8.24

Public Member Functions | List of all members
kdb::Context Class Reference

Provides a context for configuration. More...

`#include <kdbcontext.hpp>`

Inherits kdb::Subject.

Inherited by kdb::ThreadContext.

## Public Member Functions
std::string | operator[] (std::string const &layer) const
| Lookup value for a current active layer. More...
size_t | size () const
void | attachByName (std::string const &key_name, ValueObserver &observer)
| Attach observer using to all events given by its specification (name) More...
std::string | evaluate (std::string const &key_name) const
| Evaluate a specification (name) and return a key name under current context. More...
std::string | evaluate (std::string const &key_name, std::function< bool(std::string const &, std::string &, bool in_group)> const &on_layer) const
| Evaluate specification with this context. More...
template<typename T , typename... Args>
std::shared_ptr< Layer > | activate (Args &&... args)
| Globally activate the layer. More...

## Detailed Description

Provides a context for configuration.

Is a subject for observers.

Holds currently active layers and allows global/scoped activation of layers.

## Member Function Documentation

## ◆ activate()

template<typename T , typename... Args>

std::shared_ptr<Layer> kdb::Context::activate | ( | Args &&... | args | ) |
| inline

Globally activate the layer.

Template Parameters

  T | the layer to activate
  Args | the types for the arguments to pass to layer construction

Parameters

  args | the arguments to pass to layer construction

## ◆ attachByName()

void kdb::Context::attachByName | ( | std::string const & | key_name,
|  | ValueObserver & | observer
| ) |  |
| inline

Attach observer using to all events given by its specification (name)

Parameters

  key_name | the name with placeholders to be used for attaching
  observer | the observer to attach to

## ◆ evaluate() [1/2]

std::string kdb::Context::evaluate | ( | std::string const & | key_name | ) | const
| inline

Evaluate a specification (name) and return a key name under current context.

Parameters

  key_name | the name with placeholders to be evaluated

## ◆ evaluate() [2/2]

std::string kdb::Context::evaluate | ( | std::string const & | key_name,
|  | std::function< bool(std::string const &, std::string &, bool in_group)> const & | on_layer
| ) |  | const
| inline

Evaluate specification with this context.

Parameters

  key_name | the keyname with placeholders to evaluate
  on_layer | the function to be called for every placeholder found

on_layer is called for every layer in the
  specification.

Returns
  the evaluated string

## ◆ operator[]()

std::string kdb::Context::operator[] | ( | std::string const & | layer | ) | const
| inline

Lookup value for a current active layer.

Parameters

  layer | the name of the requested layer

Returns
  the layer

## ◆ size()

size_t kdb::Context::size | ( |  | ) | const
| inline

Returns
  size of all current layers (to be used with operator[])

The documentation for this class was generated from the following file:

- kdbcontext.hpp