23#include "ElementsKernel/Exception.h"
33 <<
"for configuration registration";
41template <
typename T1,
typename T2>
47 <<
"for dependency registration";
57 <<
"uninitialized manager with id '" <<
m_id <<
"'";
60 throw Elements::Exception() <<
"No configuration with type " <<
typeid(T).name() <<
" has been registered (manager with id '"
void registerConfiguration()
Registers a Configuration to the manager.
void registerDependency()
Registers a dependency between two configurations.
std::map< std::type_index, std::unique_ptr< Configuration > > m_config_dictionary
T & getConfiguration()
Returns a reference to the requested configuration.
std::map< std::type_index, std::set< std::type_index > > m_dependency_map
Superclass of all configuration classes.