12#ifndef _NETWORK_CONFIGURATION_H_
13#define _NETWORK_CONFIGURATION_H_
20template <
typename Time = Types::time_type>
74 simulatorConfig.SetConfiguration(key, value);
78 simulatorConfig.SetConfiguration(key, value);
82 simulatorConfig.SetConfiguration(key, value);
93 bool IsSet(
const std::string& key)
const {
return simulatorConfig.IsSet(key); }
104 return simulatorConfig.GetConfiguration(key);
108 return simulatorConfig.GetConfigurationAsInt(key);
112 return simulatorConfig.GetConfigurationAsDouble(key);
116 return simulatorConfig.CanBeAppliedOnInitializedSimulator(key);
120 simulatorConfig = config;
124 const std::shared_ptr<Simulators::IState>& simulator)
const {
125 simulatorConfig.ApplyConfigurationToSimulator(simulator);
129 const std::shared_ptr<Simulators::IState>& simulator) {
130 simulatorConfig.ApplyConfigurationFromSimulator(simulator);
135 if (!network)
return;
136 ApplyConfigurationFromMap(network->GetConfigMap());
141 for (
const auto& [key, value] : simulatorConfig.GetConfigMap())
142 network->Configure(key.c_str(), value.c_str());
145 const std::unordered_map<std::string, std::string>&
GetConfigMap()
const {
146 return simulatorConfig.GetConfigMap();
149 bool WasApplied(
const std::string& key,
const std::string& value)
const {
150 return simulatorConfig.WasApplied(key, value);
std::string GetConfiguration(const std::string &key) const
Get a configuration value.
void SetSimulatorConfiguration(const Simulators::Configuration &config)
void ApplyConfigurationFromSimulator(const std::shared_ptr< Simulators::IState > &simulator)
bool IsSet(const std::string &key) const
Check if a configuration value is set.
virtual ~Configuration()=default
The destructor.
void SetConfiguration(const std::string &key, long long int value)
Configuration & operator=(Configuration &&)=default
The move assignment operator.
bool CanBeAppliedOnInitializedSimulator(const std::string &key) const
Configuration(const Configuration &)=default
The copy constructor.
void ApplyConfigurationFromNetwork(const std::shared_ptr< INetwork< Time > > &network)
double GetConfigurationAsDouble(const std::string &key) const
Configuration()=default
The constructor.
long long int GetConfigurationAsInt(const std::string &key) const
void ApplyConfigurationToSimulator(const std::shared_ptr< Simulators::IState > &simulator) const
void ApplyConfigurationToNetwork(const std::shared_ptr< INetwork< Time > > &network) const
bool WasApplied(const std::string &key, const std::string &value) const
Configuration & operator=(const Configuration &)=default
The copy assignment operator.
Configuration(Configuration &&)=default
The move constructor.
const std::unordered_map< std::string, std::string > & GetConfigMap() const
void SetConfiguration(const std::string &key, double value)
void SetConfiguration(const std::string &key, const std::string &value)
Set a configuration value.