Provides a context for configuration.
More...
#include <kdbcontext.hpp>
Inherits kdb::Subject.
Inherited by kdb::ThreadContext.
|
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...
|
|
Provides a context for configuration.
Is a subject for observers.
Holds currently active layers and allows global/scoped activation of layers.
◆ 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: