LOG_THROW(argumentIterator!=this->argumentNameMap.end(),storm::exceptions::IllegalArgumentException,"Unable to retrieve argument with unknown name "<<argumentName<<".");
LOG_THROW(argumentIterator!=this->argumentNameMap.end(),storm::exceptions::IllegalArgumentException,"Unable to retrieve argument with unknown name '"<<argumentName<<"'.");
LOG_THROW(moduleIterator==this->modules.end(),storm::exceptions::IllegalFunctionCallException,"Unable to register module '"<<moduleSettings->getModuleName()<<"' because a module with the same name already exists.");
LOG_THROW(argumentCache.size()<=option->getArgumentCount(),storm::exceptions::OptionParserException,"Too many arguments for option '"<<optionName<<"'.");
// Now set the provided argument values one by one.
this->addOption(storm::settings::OptionBuilder(moduleName,helpOptionName,false,"Shows all available options, arguments and descriptions.").setShortName(helpOptionShortName)
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("module","The module for which to show the help or 'all' for all modules.").setDefaultValueString("all").build()).build());
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("hint","A regular expression to show help for all matching entities or 'all' for the complete help.").setDefaultValueString("all").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,verboseOptionName,false,"Enables more verbose output.").setShortName(verboseOptionShortName).build());
this->addOption(storm::settings::OptionBuilder(moduleName,precisionOptionName,false,"The internally used precision.").setShortName(precisionOptionShortName)
.addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("value","The precision to use.").setDefaultValueDouble(1e-06).addValidationFunctionDouble(storm::settings::ArgumentValidators::doubleRangeValidatorExcluding(0.0,1.0)).build()).build());