Storm
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
 LabParser.cpp.
 
namespace  storm::settings
 

Macros

#define PPCAT_NX(A, B)   A##B
 
#define PPCAT(A, B)   PPCAT_NX(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,
 
)    PPCAT_NX(A, B)

Definition at line 104 of file ArgumentBuilder.h.

◆ PPCAT_NX

#define PPCAT_NX (   A,
 
)    A##B

Definition at line 103 of file ArgumentBuilder.h.