Exiv2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
Util::Getopt Class Referenceabstract

Parse the command line options of a program. More...

#include <utils.hpp>

+ Inheritance diagram for Util::Getopt:

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()
 

Detailed Description

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.

Member Function Documentation

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.

Parameters
argcArgument count as passed to main() on program invocation.
argvArgument array as passed to main() on program invocation.
optstringString containing the legitimate option characters.
Returns
Number of errors (the sum of the return values from option() and nonoption()).

References Util::basename(), nonoption(), and option().

Referenced by Params::getopt().

int Util::Getopt::nonoption ( const std::string &  argv)
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.

Parameters
argvThe non-option parameter from the command line.
Returns
0 if successful, 1 in case of an error.

Reimplemented in Params.

Referenced by getopt().

virtual int Util::Getopt::option ( int  opt,
const std::string &  optarg,
int  optopt 
)
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.

Parameters
optValue of the option character as returned by getopt(3).
optargThe corresponding option argument.
optoptThe actual option character in case of an unrecognized option or a missing option argument (opt is '?' or ':').
Returns
0 if successful, 1 in case of an error.

Implemented in Params.

Referenced by getopt().


The documentation for this class was generated from the following files: