#include <stdio.h>#include <stdlib.h>Namespaces | |
| namespace | ROOT |
| This file contains a specialised ROOT message handler to test for diagnostic in unit tests. | |
| namespace | ROOT::option |
| The namespace of The Lean Mean C++ Option Parser. | |
Typedefs | |
| typedef ArgStatus(* | ROOT::option::CheckArg) (const Option &option, bool msg) |
| Signature of functions that check if an argument is valid for a certain type of option. | |
Enumerations | |
| enum | ROOT::option::ArgStatus { ROOT::option::ARG_NONE , ROOT::option::ARG_OK , ROOT::option::ARG_IGNORE , ROOT::option::ARG_ILLEGAL } |
| Possible results when checking if an argument is valid for a certain option. More... | |
Functions | |
| template<typename Temporary > | |
| void | ROOT::option::printUsage (const Temporary &prn, const Descriptor usage[], int width=80, int last_column_min_percent=50, int last_column_own_line_max_percent=75) |
| template<typename Function > | |
| void | ROOT::option::printUsage (Function *prn, const Descriptor usage[], int width=80, int last_column_min_percent=50, int last_column_own_line_max_percent=75) |
| template<typename Function , typename Stream > | |
| void | ROOT::option::printUsage (Function *prn, Stream *stream, const Descriptor usage[], int width=80, int last_column_min_percent=50, int last_column_own_line_max_percent=75) |
| template<typename OStream > | |
| void | ROOT::option::printUsage (OStream &prn, const Descriptor usage[], int width=80, int last_column_min_percent=50, int last_column_own_line_max_percent=75) |
| Outputs a nicely formatted usage string with support for multi-column formatting and line-wrapping. | |
| template<typename Syscall > | |
| void | ROOT::option::printUsage (Syscall *prn, int fd, const Descriptor usage[], int width=80, int last_column_min_percent=50, int last_column_own_line_max_percent=75) |
This is the only file required to use The Lean Mean C++ Option Parser.
Just #include it and you're set.
The Lean Mean C++ Option Parser handles the program's command line arguments (argc, argv). It supports the short and long option formats of getopt(), getopt_long() and getopt_long_only() but has a more convenient interface. The following features set it apart from other option parsers:
#include "optionparser.h" and you're set. optionparser-feedback (a) lists.sourceforge.net option::* identifiers are links that take you to their documentation.) getopt() conventions and supports GNU-style getopt_long() long options as well as Perl-style single-minus long options (getopt_long_only()). -X where X is any character that fits in a char. -X -Y is equivalent to -XY. -X foo) or attached (-Xfoo). You can make the parser accept the additional format -X=foo by registering X as a long option (in addition to being a short option) and enabling single-minus long options. -ABCXfoo or -ABCX foo (foo is the argument to the -X option). '-' is not treated as an option. It is customarily used where a file name is expected to refer to stdin or stdout. --option-name. = characters will work, but don't do that. –option arg ) or attached ( –option=arg ). In the attached form the equals sign is mandatory. –option-name= . Note the distinction between an empty string as argument and no argument at all. '-' character. E.g. -X-X , -X -X or –long-X=-X . If -X and --long-X take an argument, that argument will be "-X" in all 3 cases. -- (i.e. without a name) terminates the list of options. Everything that follows is a non-option argument, even if it starts with a '-' character. The -- itself will not appear in the parse results. '-' or '--' and does not belong to a preceding argument-taking option, will terminate the option list and is the first non-option argument. All following command line arguments are treated as non-option arguments, even if they start with '-' . true as first argument to e.g. Parser::parse(). '-' followed by at least 1 character) but aren't, are NOT treated as non-option arguments. They are treated as unknown options and are collected into a list of unknown options for error reporting. -- special option, e.g. --strange-filename is a non-option argument. If the -- were omitted, it would be treated as an unknown option. Definition in file OptionParser.h.