@ -271,7 +271,7 @@ namespace storm {
return moduleIterator - > second - > getPrintLengthOfLongestOption ( ) ;
}
void SettingsManager : : addModule ( std : : unique_ptr < modules : : ModuleSettings > & & moduleSettings ) {
void SettingsManager : : addModule ( std : : unique_ptr < modules : : ModuleSettings > & & moduleSettings , bool doRegister ) {
auto moduleIterator = this - > modules . find ( moduleSettings - > getModuleName ( ) ) ;
STORM_LOG_THROW ( moduleIterator = = this - > modules . end ( ) , storm : : exceptions : : IllegalFunctionCallException , " Unable to register module ' " < < moduleSettings - > getModuleName ( ) < < " ' because a module with the same name already exists. " ) ;
@ -282,6 +282,7 @@ namespace storm {
auto iterator = this - > modules . find ( moduleName ) ;
std : : unique_ptr < modules : : ModuleSettings > const & settings = iterator - > second ;
if ( doRegister ) {
// Now register the options of the module.
this - > moduleOptions . emplace ( moduleName , std : : vector < std : : shared_ptr < Option > > ( ) ) ;
for ( auto const & option : settings - > getOptions ( ) ) {
@ -289,6 +290,8 @@ namespace storm {
}
}
}
void SettingsManager : : addOption ( std : : shared_ptr < Option > const & option ) {
// First, we register to which module the given option belongs.
auto moduleOptionIterator = this - > moduleOptions . find ( option - > getModuleName ( ) ) ;