Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ArgumentBuilder.h File Reference
#include <functional>
#include <iostream>
#include <list>
#include <memory>
#include <sstream>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
#include "storm/settings/Argument.h"
#include "storm/settings/ArgumentBase.h"
#include "storm/settings/ArgumentType.h"
#include "storm/settings/ArgumentValidators.h"
#include "storm/exceptions/IllegalArgumentTypeException.h"
#include "storm/exceptions/IllegalFunctionCallException.h"
#include "storm/utility/macros.h"
Include dependency graph for ArgumentBuilder.h:

Go to the source code of this file.

Classes

class  storm::settings::ArgumentBuilder
 This class serves as an API for creating arguments. More...

Namespaces

namespace  storm
namespace  storm::settings

Macros

#define PPCAT_NX(A, B)
#define PPCAT(A, B)
#define MACROaddValidator(funcName, funcType)
#define MACROsetDefaultValue(funcName, funcType)

Macro Definition Documentation

◆ MACROaddValidator

#define MACROaddValidator ( funcName,
funcType )
Value:
ArgumentBuilder& PPCAT(addValidator, funcName)(std::shared_ptr<ArgumentValidator<funcType>> && validator) { \
STORM_LOG_THROW(this->type == ArgumentType::funcName, storm::exceptions::IllegalFunctionCallException, \
"Illegal validation function for argument, because it takes arguments of different type."); \
(PPCAT(this->validators_, funcName)).emplace_back(validator); \
return *this; \
}
#define PPCAT(A, B)

Definition at line 105 of file ArgumentBuilder.h.

◆ MACROsetDefaultValue

#define MACROsetDefaultValue ( funcName,
funcType )
Value:
ArgumentBuilder& PPCAT(setDefaultValue, funcName)(funcType const& defaultValue) { \
STORM_LOG_THROW(this->type == ArgumentType::funcName, storm::exceptions::IllegalFunctionCallException, \
"Illegal default value for argument" << this->name << ", because it is of different type."); \
PPCAT(this->defaultValue_, funcName) = defaultValue; \
this->hasDefaultValue = true; \
return *this; \
}

◆ PPCAT

#define PPCAT ( A,
B )
Value:
PPCAT_NX(A, B)
#define PPCAT_NX(A, B)

Definition at line 104 of file ArgumentBuilder.h.

◆ PPCAT_NX

#define PPCAT_NX ( A,
B )
Value:
A##B

Definition at line 103 of file ArgumentBuilder.h.