Command line arguments parser.
For a complete example see the arg_parser_demo.cc demo file.
#include <lemon/arg_parser.h>
Classes | |
| class | RefType |
| Magic type for operator[]. More... | |
Public Member Functions | |
| ArgParser (int argc, const char *const *argv) | |
| Constructor. | |
| ArgParser & | parse () |
| Start the parsing process. | |
| ArgParser & | run () |
| Synonym for parse() | |
| const std::string & | commandName () const |
| Give back the command name (the 0th argument) | |
| bool | given (std::string op) const |
| Check if an opion has been given to the command. | |
| RefType | operator[] (const std::string &n) const |
| Give back the value of an option. More... | |
| const std::vector< std::string > & | files () const |
| Give back the non-option type arguments. More... | |
| void | throwOnProblems () |
| Throw instead of exit in case of problems. | |
Options | |
| ArgParser & | intOption (const std::string &name, const std::string &help, int value=0, bool obl=false) |
| Add a new integer type option. More... | |
| ArgParser & | doubleOption (const std::string &name, const std::string &help, double value=0, bool obl=false) |
| Add a new floating point type option. More... | |
| ArgParser & | boolOption (const std::string &name, const std::string &help, bool value=false, bool obl=false) |
| Add a new bool type option. More... | |
| ArgParser & | stringOption (const std::string &name, const std::string &help, std::string value="", bool obl=false) |
| Add a new string type option. More... | |
| ArgParser & | other (const std::string &name, const std::string &help="") |
| Give help string for non-parsed arguments. More... | |
Options with External Storage | |
Using this functions, the value of the option will be directly written into a variable once the option appears in the command line. | |
| ArgParser & | refOption (const std::string &name, const std::string &help, int &ref, bool obl=false) |
| Add a new integer type option with a storage reference. More... | |
| ArgParser & | refOption (const std::string &name, const std::string &help, double &ref, bool obl=false) |
| Add a new floating type option with a storage reference. More... | |
| ArgParser & | refOption (const std::string &name, const std::string &help, bool &ref, bool obl=false) |
| Add a new bool type option with a storage reference. More... | |
| ArgParser & | refOption (const std::string &name, const std::string &help, std::string &ref, bool obl=false) |
| Add a new string type option with a storage reference. More... | |
Option Groups and Synonyms | |
| ArgParser & | optionGroup (const std::string &group, const std::string &opt) |
| Bundle some options into a group. More... | |
| ArgParser & | onlyOneGroup (const std::string &group) |
| Make the members of a group exclusive. More... | |
| ArgParser & | mandatoryGroup (const std::string &group) |
| Make a group mandatory. More... | |
| ArgParser & | synonym (const std::string &syn, const std::string &opt) |
| Create synonym to an option. More... | |
| ArgParser & intOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| int | value = 0, |
||
| bool | obl = false |
||
| ) |
Add a new integer type option.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| value | A default value for the option. |
| obl | Indicate if the option is mandatory. |
| ArgParser & doubleOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| double | value = 0, |
||
| bool | obl = false |
||
| ) |
Add a new floating point type option.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| value | A default value for the option. |
| obl | Indicate if the option is mandatory. |
| ArgParser & boolOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| bool | value = false, |
||
| bool | obl = false |
||
| ) |
Add a new bool type option.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| value | A default value for the option. |
| obl | Indicate if the option is mandatory. |
| ArgParser & stringOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| std::string | value = "", |
||
| bool | obl = false |
||
| ) |
Add a new string type option.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| value | A default value for the option. |
| obl | Indicate if the option is mandatory. |
| ArgParser & other | ( | const std::string & | name, |
| const std::string & | help = "" |
||
| ) |
With this function you can give help string for non-parsed arguments. The parameter name will be printed in the short usage line, while help gives a more detailed description.
| ArgParser & refOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| int & | ref, | ||
| bool | obl = false |
||
| ) |
Add a new integer type option with a storage reference.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| obl | Indicate if the option is mandatory. |
| ref | The value of the argument will be written to this variable. |
| ArgParser & refOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| double & | ref, | ||
| bool | obl = false |
||
| ) |
Add a new floating type option with a storage reference.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| obl | Indicate if the option is mandatory. |
| ref | The value of the argument will be written to this variable. |
| ArgParser & refOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| bool & | ref, | ||
| bool | obl = false |
||
| ) |
Add a new bool type option with a storage reference.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| obl | Indicate if the option is mandatory. |
| ref | The value of the argument will be written to this variable. |
| ArgParser & refOption | ( | const std::string & | name, |
| const std::string & | help, | ||
| std::string & | ref, | ||
| bool | obl = false |
||
| ) |
Add a new string type option with a storage reference.
| name | The name of the option. The leading '-' must be omitted. |
| help | A help string. |
| obl | Indicate if the option is mandatory. |
| ref | The value of the argument will be written to this variable. |
| ArgParser & optionGroup | ( | const std::string & | group, |
| const std::string & | opt | ||
| ) |
You can group some option by calling this function repeatedly for each option to be grouped with the same groupname.
| group | The group name. |
| opt | The option name. |
| ArgParser & onlyOneGroup | ( | const std::string & | group | ) |
If you call this function for a group, than at most one of them can be given at the same time.
| ArgParser & mandatoryGroup | ( | const std::string & | group | ) |
Using this function, at least one of the members of group must be given.
| ArgParser & synonym | ( | const std::string & | syn, |
| const std::string & | opt | ||
| ) |
With this function you can create a synonym syn of the option opt.
|
inline |
Give back the value of an option.
|
inline |
Give back a reference to a vector consisting of the program arguments not starting with a '-' character.
1.8.5