|
optionmm::basic_command_line< ErrorHandler > Class Template Reference#include <optionmm/command_line.hh>
Inheritance diagram for optionmm::basic_command_line< ErrorHandler >: Detailed Descriptiontemplate<typename ErrorHandler = default_error_handler>
Command line parser.
|
ErrorHandler | A policy class to handle bad command line options and arguments. See also default_error_handler. |
int main(int argc, char** argv) { optionmm::basic_command_line<> cl("Demonstration of Option--", "1.0", "Copyright (c) 2002 Christian Holm", "", argc, argv);
Then, one creates option objects and add them to the manager.
optionmm::basic_option<int> i_opt('i', "int", "Integer option", 0); optionmm::int_option I_opt('I', "Int", "Integer option", 42); cl.add(i_opt); cl.add(I_opt); if (!cl.process()) return 1;
After that, the manager should process the command line.
if (cl.help()) return 0;
If the application should exit if the help option was given, then it may do so, and similar for the version option.
After processing, the option objects hold the value(s) of the command line options given.
std::cout << i_opt.value(i) << std::endl; return 0;
Definition at line 142 of file command_line.hh.
Public Types | |
typedef std::vector< option_base * > | option_list |
Public Member Functions | |
basic_command_line (const std::string title, const std::string &version, const std::string ©, const std::string &usage, int &argc, char **argv) | |
template<typename T, bool a, bool m> void | add (basic_option< T, a, m > &option) |
bool | help (std::ostream &o=std::cout) |
bool | version (std::ostream &o=std::cout) |
bool | process () |
const std::string & | program_name () const |
const std::string & | title () const |
const std::string & | version () const |
const std::string & | copyright () const |
Private Member Functions | |
bool | handle_short (int &i) |
bool | handle_long (int &i) |
void | cleanup () |
Private Attributes | |
option_list | _options |
std::string | _program_name |
int & | _argc |
char ** | _argv |
std::string | _title |
std::string | _version |
std::string | _copyright |
std::string | _usage |
basic_option< bool, false, false > | _help_option |
basic_option< bool, false, false > | _version_option |
|
The container of options.
Definition at line 146 of file command_line.hh. |
|
Constructor.
Definition at line 235 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_help_option, optionmm::basic_command_line< ErrorHandler >::_program_name, optionmm::basic_command_line< ErrorHandler >::_version_option, and optionmm::basic_command_line< ErrorHandler >::add(). |
Here is the call graph for this function:
|
Add an option to the command line.
Definition at line 194 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_options. Referenced by optionmm::basic_command_line< ErrorHandler >::basic_command_line(). |
|
Clean up command line.
Definition at line 321 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_argc, and optionmm::basic_command_line< ErrorHandler >::_argv. Referenced by optionmm::basic_command_line< ErrorHandler >::process(). |
|
Get the application copyright.
Definition at line 228 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_copyright. |
|
Handle the i'th long option.
Definition at line 392 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_argv, optionmm::basic_command_line< ErrorHandler >::_options, and optionmm::basic_command_line< ErrorHandler >::_program_name. Referenced by optionmm::basic_command_line< ErrorHandler >::process(). |
|
Handle the i'th short options.
Definition at line 341 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_argv, optionmm::basic_command_line< ErrorHandler >::_options, and optionmm::basic_command_line< ErrorHandler >::_program_name. Referenced by optionmm::basic_command_line< ErrorHandler >::process(). |
|
Here is the call graph for this function:
|
Process the command line.
Definition at line 302 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_argc, optionmm::basic_command_line< ErrorHandler >::_argv, optionmm::basic_command_line< ErrorHandler >::cleanup(), optionmm::basic_command_line< ErrorHandler >::handle_long(), and optionmm::basic_command_line< ErrorHandler >::handle_short(). |
Here is the call graph for this function:
|
Get the application name.
Definition at line 222 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_program_name. |
|
Get the application title.
Definition at line 224 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_title. |
|
Get the application version.
Definition at line 226 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_title. Referenced by optionmm::basic_command_line< ErrorHandler >::help(). |
|
Print version information.
If the manager saw the
Definition at line 290 of file command_line.hh. References optionmm::basic_command_line< ErrorHandler >::_copyright, optionmm::basic_command_line< ErrorHandler >::_title, optionmm::basic_command_line< ErrorHandler >::_version, optionmm::basic_command_line< ErrorHandler >::_version_option, and optionmm::basic_option< bool, false, false >::value(). |
Here is the call graph for this function:
|
The number of arguments cached from command line.
Definition at line 153 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::cleanup(), and optionmm::basic_command_line< ErrorHandler >::process(). |
|
The command line arguments.
Definition at line 155 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::cleanup(), optionmm::basic_command_line< ErrorHandler >::handle_long(), optionmm::basic_command_line< ErrorHandler >::handle_short(), and optionmm::basic_command_line< ErrorHandler >::process(). |
|
The copyright of the application.
Definition at line 161 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::copyright(), and optionmm::basic_command_line< ErrorHandler >::version(). |
|
The help option.
Definition at line 165 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::basic_command_line(), and optionmm::basic_command_line< ErrorHandler >::help(). |
|
List of options.
Definition at line 149 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::add(), optionmm::basic_command_line< ErrorHandler >::handle_long(), optionmm::basic_command_line< ErrorHandler >::handle_short(), and optionmm::basic_command_line< ErrorHandler >::help(). |
|
The program name (sans directory part).
Definition at line 151 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::basic_command_line(), optionmm::basic_command_line< ErrorHandler >::handle_long(), optionmm::basic_command_line< ErrorHandler >::handle_short(), optionmm::basic_command_line< ErrorHandler >::help(), and optionmm::basic_command_line< ErrorHandler >::program_name(). |
|
The title of the application.
Definition at line 157 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::title(), and optionmm::basic_command_line< ErrorHandler >::version(). |
|
The copyright of the application.
Definition at line 163 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::help(). |
|
The version number of the application.
Definition at line 159 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::version(). |
|
The version information option.
Definition at line 167 of file command_line.hh. Referenced by optionmm::basic_command_line< ErrorHandler >::basic_command_line(), optionmm::basic_command_line< ErrorHandler >::help(), and optionmm::basic_command_line< ErrorHandler >::version(). |
Top of page | Last update Tue Jan 13 19:10:36 2004 |
Christian
Holm |
Created by DoxyGen 1.3.4 |