102 constrainType{ constrainType },
105 required{ required },
125 bool required =
false;
ParamConstraint AddTypeSafety(DATA_TYPE requiredType, bool constrainType=true)
Daisychain-method.
ParamConstraint AddRequire(const std::initializer_list< std::string > &defaultValue={}, bool required=true)
Daisychain-method.
static ParamConstraint Incompatibility(const std::string &incompatibleParameters)
Constructs an incompatibility constraint.
ParamConstraint AddIncompatibilities(const std::string &incompatibleParameters)
Daisychain-method.
std::vector< std::string > incompatibleParameters
Parameters that are incompatible with this parameter.
std::vector< std::string > defaultValue
The default value for this parameter.
ParamConstraint AddIncompatibilities(const std::initializer_list< std::string > &incompatibleParameters)
Daisychain-method.
DATA_TYPE requiredType
Constrain the parameter to this value. Requires constrainType to be set to true.
static ParamConstraint Require(const std::initializer_list< std::string > &defaultValue={}, bool required=true)
Constructs a require constraint.
static ParamConstraint Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)
Constructs an incompatibility constraint.
bool required
If set to true, and no default value set, an error will be produced if this parameter is not supplied...
ParamConstraint()=default
Empty constructor.
static ParamConstraint TypeSafety(DATA_TYPE requiredType, bool constrainType=true)
Constructs a type-safety constraint.
ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)
Whole constructor.
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ty...
DATA_TYPE
The different data types a paramater can be.
The main class to interface with.