The program_option type is a wrapper that implements a useful subset of Boost's Program Options utility. More...
Public Member Functions | |
bool | has_value () const |
Return whether the option was set. | |
operator ValueType () const | |
Get the value, which must exist. | |
template<class F = decltype((default_check))> | |
program_option (const char *name, const char *help, size_t count, F &&check=default_check) | |
Construct a positional program option. | |
template<class F = decltype((default_check))> | |
program_option (const char *section, const char *flag, const char *help, std::initializer_list< initializer_value > values={}, F &&check=default_check) | |
Construct a program option. | |
ValueType | value () const |
Get the value, which must exist. | |
The program_option type is a wrapper that implements a useful subset of Boost's Program Options utility.
Creating an instance of this type at namespace scope will add a program option that can be queried after the initialize
function is called.
A validation function can have the signature bool(ValueType,std::stringstream&)
or bool(flecsi::any,std::stringstream&)
. An error message may be written to the stream. In the latter, deprecated case, use option_value
to obtain the ValueType
.
program_option | ( | const char * | section, |
const char * | flag, | ||
const char * | help, | ||
std::initializer_list< initializer_value > | values = {} , |
||
F && | check = default_check |
||
) |
Construct a program option.
section | The options description label. |
flag | The command-line option in long, short, or dual form, e.g., "option,o" -> --option or -o. |
help | The help message for the option. |
values | Mechanism to set optional value attributes. Supported keys are option_default, option_implicit, option_zero, and option_multi. If an option_default value is specified, it will be used if the flag is not passed to the command line. If an option_implicit value is specified, it will be used if the flag is passed to the command line without a value. If option_zero is passed, the flag will not take any values, and must have an option_implicit value specified. If option_multi is passed, the flag will take multiple values. |
check | An optional, user-defined predicate to validate the option passed by the user; see signature below. |
program_option | ( | const char * | name, |
const char * | help, | ||
size_t | count, | ||
F && | check = default_check |
||
) |
Construct a positional program option.
name | The name for the positional option. |
help | The help message for the option. |
count | The number of values to consume for this positional option. If -1 is passed, this option will consume all remaining values. |
check | An optional, user-defined predicate to validate the option passed by the user. |
ValueType value | ( | ) | const |
Get the value, which must exist.
operator ValueType | ( | ) | const |
Get the value, which must exist.
bool has_value | ( | ) | const |
Return whether the option was set.