kdb::Context(3) Provides a context for configuration.

SYNOPSIS


#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< Layer > activate (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:

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

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

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

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

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_t kdb::Context::size () const [inline]

Returns:

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

Author

Generated automatically by Doxygen for Elektra from the source code.