52 lines
2.2 KiB

#include "src/settings/modules/ModuleSettings.h"
namespace storm {
namespace settings {
namespace modules {
ModuleSettings::ModuleSettings(storm::settings::SettingsManager& settingsManager, std::string const& moduleName) : settingsManager(settingsManager), moduleName(moduleName) {
// Intentionally left empty.
}
bool ModuleSettings::check() const {
return true;
}
storm::settings::SettingsManager const& ModuleSettings::getSettingsManager() const {
return this->settingsManager;
}
void ModuleSettings::set(std::string const& name) {
return this->getOption(name).setHasOptionBeenSet();
}
void ModuleSettings::unset(std::string const& name) {
return this->getOption(name).setHasOptionBeenSet(false);
}
std::vector<std::shared_ptr<Option>> ModuleSettings::getOptions() const {
std::vector<std::shared_ptr<Option>> result;
result.reserve(this->options.size());
for (auto const& option : this->options) {
result.push_back(option.second);
}
return result;
}
Option const& ModuleSettings::getOption(std::string const& longName) const {
auto optionIterator = this->options.find(longName);
LOG_THROW(optionIterator != this->options.end(), storm::exceptions::IllegalFunctionCallException, "Cannot retrieve unknown option '" << longName << "'.");
return *optionIterator->second;
}
Option& ModuleSettings::getOption(std::string const& longName) {
auto optionIterator = this->options.find(longName);
LOG_THROW(optionIterator != this->options.end(), storm::exceptions::IllegalFunctionCallException, "Cannot retrieve unknown option '" << longName << "'.");
return *optionIterator->second;
}
} // namespace modules
} // namespace settings
} // namespace storm