LOG_THROW(this->getHasBeenSet(),storm::exceptions::IllegalFunctionCallException,"Unable to retrieve value of argument, because it was not set.");
returnthis->argumentValue;
LOG_THROW(this->getHasBeenSet()||this->getHasDefaultValue(),storm::exceptions::IllegalFunctionCallException,"Unable to retrieve value of argument, because it was neither set nor specifies a default value.");
LOG_THROW(this->validate(newDefault),storm::exceptions::IllegalArgumentValueException,"The default value for the argument did not pass all validation functions.");
LOG_THROW(this->hasDefaultValue,storm::exceptions::IllegalFunctionCallException,"Unable to make argument '"<<this->name<<"' optional without default value.");
LOG_THROW(this->type==ArgumentType::funcName,storm::exceptions::IllegalFunctionCallException,"Illegal validation function for argument, because it takes arguments of different type.")\
LOG_THROW(this->type==ArgumentType::funcName,storm::exceptions::IllegalFunctionCallException,"Illegal validation function for argument, because it takes arguments of different type.");\
LOG_THROW(this->type==ArgumentType::funcName,storm::exceptions::IllegalFunctionCallException,"Illegal default value for argument"<<this->name<<", because it is of different type.")\
LOG_THROW(this->type==ArgumentType::funcName,storm::exceptions::IllegalFunctionCallException,"Illegal default value for argument"<<this->name<<", because it is of different type.");\
LOG_THROW(argumentType==ArgumentType::UnsignedInteger,storm::exceptions::InternalTypeErrorException,"Unable to infer integer from non-integer argument.");
LOG_THROW(argumentType==ArgumentType::UnsignedInteger,storm::exceptions::InternalTypeErrorException,"Unable to infer double from non-double argument.");
std::cout<<"unifying "<<*this<<" and "<<other<<std::endl;
LOG_THROW(this->getArgumentCount()==other.getArgumentCount(),storm::exceptions::OptionUnificationException,"Unable to unify two options, because their argument count differs.");
this->addOption(storm::settings::OptionBuilder(moduleName,minimalCommandSetOptionName,true,"Computes a counterexample for the given model in terms of a minimal command set. Note that this requires the model to be given in a symbolic format.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","The file containing the properties for which counterexamples are to be generated.").addValidationFunctionString(storm::settings::ArgumentValidators::existingReadableFileValidator()).build())
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("method","Sets which technique is used to derive the counterexample. Available are {milp, maxsat}").setDefaultValueString("maxsat").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(techniques)).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,restartOptionName,true,"The number of iteration until restarted methods are actually restarted.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The number of iterations.").setDefaultValueUnsignedInteger(50).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,true,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").setDefaultValueUnsignedInteger(10000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,true,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").setDefaultValueUnsignedInteger(20000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,precisionOptionName,true,"The precision used for detecting convergence of iterative methods.").addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("value","The precision to achieve.").setDefaultValueDouble(1e-06).addValidationFunctionDouble(storm::settings::ArgumentValidators::doubleRangeValidatorExcluding(0.0,1.0)).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,techniqueOptionName,true,"The method to be used for solving linear equation systems with the native engine. Available are: { jacobi }.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the method to use.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(methods)).setDefaultValueString("jacobi").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,true,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").setDefaultValueUnsignedInteger(10000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,true,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").setDefaultValueUnsignedInteger(20000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,precisionOptionName,true,"The precision used for detecting convergence of iterative methods.").addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("value","The precision to achieve.").setDefaultValueDouble(1e-06).addValidationFunctionDouble(storm::settings::ArgumentValidators::doubleRangeValidatorExcluding(0.0,1.0)).build()).build());