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.