bindFlag(T& value, const char* name, const char* description,
F callback)
{
- declareFlag(name, description, value,
- std::function<void(const T&)>([&value, callback](const T& val) {
- if (not callback(val))
- throw std::range_error("invalid value.");
- value = std::move(val);
- })
- );
+ declareFlag(name, description, value, std::function<void(const T&)>([&value, callback](const T& val) {
+ if (not callback(val))
+ throw std::range_error("invalid value.");
+ value = std::move(val);
+ }));
}
/** A variable bound to a CLI option
simgrid::config::bindFlag(value_, name, desc);
}
+ /** Constructor taking an array of aliases as name */
+ Flag(std::initializer_list<const char*> names, const char* desc, T value) : value_(value)
+ {
+ simgrid::config::bindFlag(value_, names, desc);
+ }
+
/* A constructor accepting a callback that will be passed the parameter.
* It can either return a boolean (informing whether the parameter is valid), or returning void.
*/