22#ifndef _CONFIGURATION_CONFIGURATION_H
23#define _CONFIGURATION_CONFIGURATION_H
25#include <boost/program_options.hpp>
33namespace Configuration {
149 template <
typename T>
163 template <
typename T>
166 template <
typename T>
Superclass of all configuration classes.
void declareDependency()
Declares a Configuration as dependency.
virtual void initialize(const UserValues &args)
Method which is called during the initialization phase.
Configuration(long manager_id)
Constructs a new Configuration instance.
std::set< std::type_index > m_dependencies
virtual void preInitialize(const UserValues &args)
Method which is called before the initialization phase.
State & getCurrentState()
Returns the current state of the configuration.
const T & getDependency() const
State
Defines the different states the configuration object can be in.
@ CONSTRUCTED
The object has just been constructed.
T & getDependency()
Returns a dependency.
virtual std::map< std::string, OptionDescriptionList > getProgramOptions()
Returns the program options defined by a specific configuration.
const std::set< std::type_index > & getDependencies()
Returns the dependencies of the configuration.
virtual void postInitialize(const UserValues &args)
Method which is called after the initialization phase.
virtual ~Configuration()=default
Destructor.