Exiv2
|
Parse the command line options of a program. More...
#include <utils.hpp>
Public Member Functions | |
Getopt () | |
Default constructor. | |
virtual | ~Getopt () |
Destructor. | |
int | getopt (int argc, char *const argv[], const std::string &optstring) |
Parse command line arguments. More... | |
virtual int | option (int opt, const std::string &optarg, int optopt)=0 |
Callback used by getopt() to pass on each option and its argument (if any). More... | |
virtual int | nonoption (const std::string &argv) |
Callback used by getopt() to pass on each non-option parameter found on the command line. More... | |
const std::string & | progname () const |
Program name (argv[0]) | |
int | errcnt () const |
Total number of errors returned by calls to option() | |
Parse the command line options of a program.
A wrapper around the POSIX getopt(3) function. Parses the command line options and passes each option to virtual option(). A derived class implements this method to handle options as needed. Similarly, remaining non-option parameters are passed to the virtual nonoption() method.
int Util::Getopt::getopt | ( | int | argc, |
char *const | argv[], | ||
const std::string & | optstring | ||
) |
Parse command line arguments.
Parses the command line arguments. Calls option() with the character value of the option and its argument (if any) for each recognized option and with ':' or '?' for unrecognized options. See the manual pages for getopt(3) for details. In addition, nonoption() is invoked for each remaining non-option parameter on the command line.
argc | Argument count as passed to main() on program invocation. |
argv | Argument array as passed to main() on program invocation. |
optstring | String containing the legitimate option characters. |
References Util::basename(), nonoption(), and option().
Referenced by Params::getopt().
|
virtual |
Callback used by getopt() to pass on each non-option parameter found on the command line.
Implement this method in a derived class to handle the non-option parameters as needed. The default implementation ignores all non-option parameters.
argv | The non-option parameter from the command line. |
Reimplemented in Params.
Referenced by getopt().
|
pure virtual |
Callback used by getopt() to pass on each option and its argument (if any).
Implement this method in a derived class to handle the options as needed. See the manual pages for getopt(3) for further details, in particular, the semantics of optarg and optopt.
opt | Value of the option character as returned by getopt(3). |
optarg | The corresponding option argument. |
optopt | The actual option character in case of an unrecognized option or a missing option argument (opt is '?' or ':'). |
Implemented in Params.
Referenced by getopt().