Elektra  0.8.12
Public Member Functions
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.
size_t size () const
void attachByName (std::string const &key_name, ValueObserver &observer)
 Attach observer using to all events given by its specification (name)
std::string evaluate (std::string const &key_name) const
 Evaluate a specification (name) and return a key name under current context.
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.
template<typename T , typename... Args>
std::shared_ptr< Layeractivate (Args &&...args)
 Globally activate the layer.

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

template<typename T , typename... Args>
std::shared_ptr<Layer> kdb::Context::activate ( Args &&...  args) [inline]

Globally activate the layer.

Template Parameters:
Tthe layer to activate
Argsthe types for the arguments to pass to layer construction
Parameters:
argsthe arguments to pass to layer construction
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_namethe name with placeholders to be used for attaching
observerthe observer to attach to
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_namethe name with placeholders to be evaluated
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_namethe keyname with placeholders to evaluate
on_layerthe function to be called for every placeholder found
on_layer is called for every layer in the
specification.
Returns:
the evaluated string
std::string kdb::Context::operator[] ( std::string const &  layer) const [inline]

Lookup value for a current active layer.

Parameters:
layerthe name of the requested layer
Returns:
the layer
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: