The base class that manages the command line definition and passes along the parsing to the appropriate Arg classes.
#include <mrpt/otherlibs/tclap/CmdLine.h>
Public Member Functions | |
CmdLine (const std::string &message, const char delimiter= ' ', const std::string &version="none", bool helpAndVersion=true) | |
Command line constructor. | |
virtual | ~CmdLine () |
Deletes any resources allocated by a CmdLine object. | |
void | add (Arg &a) |
Adds an argument to the list of arguments to be parsed. | |
void | add (Arg *a) |
An alternative add. | |
void | xorAdd (Arg &a, Arg &b) |
Add two Args that will be xor'd. | |
void | xorAdd (std::vector< Arg * > &xors) |
Add a list of Args that will be xor'd. | |
bool | parse (int argc, char **argv) |
Parses the command line. | |
CmdLineOutput * | getOutput () |
Returns the CmdLineOutput object. | |
void | setOutput (CmdLineOutput *co) |
std::string & | getVersion () |
Returns the version string. | |
std::string & | getProgramName () |
Returns the program name string. | |
std::list< Arg * > & | getArgList () |
Returns the argList. | |
XorHandler & | getXorHandler () |
Returns the XorHandler. | |
char | getDelimiter () |
Returns the delimiter string. | |
std::string & | getMessage () |
Returns the message string. | |
bool | hasHelpAndVersion () |
Indicates whether or not the help and version switches were created automatically. | |
Protected Member Functions | |
bool | _emptyCombined (const std::string &s) |
Checks whether a name/flag string matches entirely matches the Arg::blankChar. | |
void | deleteOnExit (Arg *ptr) |
Perform a delete ptr; operation on ptr when this object is deleted. | |
void | deleteOnExit (Visitor *ptr) |
Perform a delete ptr; operation on ptr when this object is deleted. | |
Protected Attributes | |
std::list< Arg * > | _argList |
The list of arguments that will be tested against the command line. | |
std::string | _progName |
The name of the program. | |
std::string | _message |
A message used to describe the program. | |
std::string | _version |
The version to be displayed with the --version switch. | |
int | _numRequired |
The number of arguments that are required to be present on the command line. | |
char | _delimiter |
The character that is used to separate the argument flag/name from the value. | |
XorHandler | _xorHandler |
The handler that manages xoring lists of args. | |
std::list< Arg * > | _argDeleteOnExitList |
A list of Args to be explicitly deleted when the destructor is called. | |
std::list< Visitor * > | _visitorDeleteOnExitList |
A list of Visitors to be explicitly deleted when the destructor is called. | |
CmdLineOutput * | _output |
Object that handles all output for the CmdLine. | |
Private Member Functions | |
void | _constructor () |
Encapsulates the code common to the constructors (which is all of it). | |
Private Attributes | |
bool | _userSetOutput |
Is set to true when a user sets the output object. | |
bool | _helpAndVersion |
Whether or not to automatically create help and version switches. |
TCLAP::CmdLine::CmdLine | ( | const std::string & | message, |
const char | delimiter = ' ' , |
||
const std::string & | version = "none" , |
||
bool | helpAndVersion = true |
||
) | [inline] |
Command line constructor.
Defines how the arguments will be parsed.
message | - The message to be used in the usage output. |
delimiter | - The character that is used to separate the argument flag/name from the value. Defaults to ' ' (space). |
version | - The version number to be used in the --version switch. |
helpAndVersion | - Whether or not to create the Help and Version switches. Defaults to true. |
TCLAP::CmdLine::~CmdLine | ( | ) | [inline, virtual] |
void TCLAP::CmdLine::_constructor | ( | ) | [inline, private] |
bool TCLAP::CmdLine::_emptyCombined | ( | const std::string & | s | ) | [inline, protected] |
Checks whether a name/flag string matches entirely matches the Arg::blankChar.
Used when multiple switches are combined into a single argument.
s | - The message to be used in the usage. |
Definition at line 441 of file CmdLine.h.
Referenced by parse().
void TCLAP::CmdLine::add | ( | Arg & | a | ) | [inline, virtual] |
Adds an argument to the list of arguments to be parsed.
a | - Argument to be added. |
Implements TCLAP::CmdLineInterface.
void TCLAP::CmdLine::add | ( | Arg * | a | ) | [inline, virtual] |
An alternative add.
Functionally identical.
a | - Argument to be added. |
Implements TCLAP::CmdLineInterface.
void TCLAP::CmdLine::deleteOnExit | ( | Arg * | ptr | ) | [inline, protected] |
void TCLAP::CmdLine::deleteOnExit | ( | Visitor * | ptr | ) | [inline, protected] |
Perform a delete ptr; operation on ptr when this object is deleted.
Definition at line 458 of file CmdLine.h.
References _output, and _userSetOutput.
std::list< Arg * > & TCLAP::CmdLine::getArgList | ( | ) | [inline, virtual] |
Returns the argList.
Implements TCLAP::CmdLineInterface.
Definition at line 484 of file CmdLine.h.
References _delimiter.
char TCLAP::CmdLine::getDelimiter | ( | ) | [inline, virtual] |
Returns the delimiter string.
Implements TCLAP::CmdLineInterface.
Definition at line 494 of file CmdLine.h.
References _helpAndVersion.
std::string & TCLAP::CmdLine::getMessage | ( | ) | [inline, virtual] |
Returns the message string.
Implements TCLAP::CmdLineInterface.
CmdLineOutput * TCLAP::CmdLine::getOutput | ( | ) | [inline, virtual] |
Returns the CmdLineOutput object.
Implements TCLAP::CmdLineInterface.
Definition at line 463 of file CmdLine.h.
References _version.
std::string & TCLAP::CmdLine::getProgramName | ( | ) | [inline, virtual] |
Returns the program name string.
Implements TCLAP::CmdLineInterface.
Definition at line 479 of file CmdLine.h.
References _xorHandler.
std::string & TCLAP::CmdLine::getVersion | ( | ) | [inline, virtual] |
Returns the version string.
Implements TCLAP::CmdLineInterface.
Definition at line 474 of file CmdLine.h.
References _argList.
XorHandler & TCLAP::CmdLine::getXorHandler | ( | ) | [inline, virtual] |
Returns the XorHandler.
Implements TCLAP::CmdLineInterface.
Definition at line 489 of file CmdLine.h.
References _message.
bool TCLAP::CmdLine::hasHelpAndVersion | ( | ) | [inline, virtual] |
Indicates whether or not the help and version switches were created automatically.
Implements TCLAP::CmdLineInterface.
bool TCLAP::CmdLine::parse | ( | int | argc, |
char ** | argv | ||
) | [inline, virtual] |
Parses the command line.
argc | - Number of arguments. |
argv | - Array of arguments. |
Implements TCLAP::CmdLineInterface.
Definition at line 385 of file CmdLine.h.
References _argList, _emptyCombined(), _xorHandler, TCLAP::XorHandler::check(), and TCLAP::Arg::ignoreRest().
void TCLAP::CmdLine::setOutput | ( | CmdLineOutput * | co | ) | [inline, virtual] |
co | - CmdLineOutput object that we want to use instead. |
Implements TCLAP::CmdLineInterface.
Definition at line 468 of file CmdLine.h.
References _progName.
Add two Args that will be xor'd.
If this method is used, add does not need to be called.
a | - Argument to be added and xor'd. |
b | - Argument to be added and xor'd. |
Implements TCLAP::CmdLineInterface.
void TCLAP::CmdLine::xorAdd | ( | std::vector< Arg * > & | xors | ) | [inline, virtual] |
Add a list of Args that will be xor'd.
If this method is used, add does not need to be called.
xors | - List of Args to be added and xor'd. |
Implements TCLAP::CmdLineInterface.
std::list<Arg*> TCLAP::CmdLine::_argDeleteOnExitList [protected] |
std::list<Arg*> TCLAP::CmdLine::_argList [protected] |
The list of arguments that will be tested against the command line.
Definition at line 73 of file CmdLine.h.
Referenced by getVersion(), and parse().
char TCLAP::CmdLine::_delimiter [protected] |
The character that is used to separate the argument flag/name from the value.
Defaults to ' ' (space).
Definition at line 101 of file CmdLine.h.
Referenced by getArgList().
bool TCLAP::CmdLine::_helpAndVersion [private] |
Whether or not to automatically create help and version switches.
Definition at line 162 of file CmdLine.h.
Referenced by getDelimiter().
std::string TCLAP::CmdLine::_message [protected] |
A message used to describe the program.
Used in the usage output.
Definition at line 83 of file CmdLine.h.
Referenced by getXorHandler().
int TCLAP::CmdLine::_numRequired [protected] |
CmdLineOutput* TCLAP::CmdLine::_output [protected] |
Object that handles all output for the CmdLine.
Definition at line 125 of file CmdLine.h.
Referenced by deleteOnExit().
std::string TCLAP::CmdLine::_progName [protected] |
The name of the program.
Set to argv[0].
Definition at line 78 of file CmdLine.h.
Referenced by setOutput().
bool TCLAP::CmdLine::_userSetOutput [private] |
Is set to true when a user sets the output object.
We use this so that we don't delete objects that are created outside of this lib.
Definition at line 157 of file CmdLine.h.
Referenced by deleteOnExit().
std::string TCLAP::CmdLine::_version [protected] |
The version to be displayed with the --version switch.
Definition at line 88 of file CmdLine.h.
Referenced by getOutput().
std::list<Visitor*> TCLAP::CmdLine::_visitorDeleteOnExitList [protected] |
XorHandler TCLAP::CmdLine::_xorHandler [protected] |
The handler that manages xoring lists of args.
Definition at line 106 of file CmdLine.h.
Referenced by getProgramName(), and parse().
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011 |