- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Classes | Public Member Functions
ArgParser Class Reference
Miscellaneous Tools

## Detailed Description

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...

## Member Function Documentation

ArgParser & intOption | ( | const std::string & | name,
|  | const std::string & | help,
|  | int | value = `0`,
|  | bool | obl = `false`
| ) |  |

Add a new integer type option.

Parameters

  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.

Parameters

  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.

Parameters

  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.

Note
  A mandatory bool obtion is of very little use.

ArgParser & stringOption | ( | const std::string & | name,
|  | const std::string & | help,
|  | std::string | value = `""`,
|  | bool | obl = `false`
| ) |  |

Add a new string type option.

Parameters

  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.

Parameters

  name | The name of the option. The leading '-' must be omitted.
  help | A help string.
  obl | Indicate if the option is mandatory.

Return values

  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.

Parameters

  name | The name of the option. The leading '-' must be omitted.
  help | A help string.
  obl | Indicate if the option is mandatory.

Return values

  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.

Parameters

  name | The name of the option. The leading '-' must be omitted.
  help | A help string.
  obl | Indicate if the option is mandatory.

Return values

  ref | The value of the argument will be written to this variable.

Note
  A mandatory bool obtion is of very little use.

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.

Parameters

  name | The name of the option. The leading '-' must be omitted.
  help | A help string.
  obl | Indicate if the option is mandatory.

Return values

  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.

Parameters

  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`.

RefType operator[] | ( | const std::string & | n | ) | const
| inline

Give back the value of an option.

See Also
  RefType

const std::vector<std::string>& files | ( |  | ) | const
| inline

Give back a reference to a vector consisting of the program arguments not starting with a '-' character.