Elektra  0.8.19
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. 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< Layeractivate (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

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: