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
 1.8.5