tclap 1.2.1

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TCLAP::CmdLine Class Reference

The base class that manages the command line definition and passes along the parsing to the appropriate Arg classes. More...

`#include <CmdLine.h>`

Inheritance diagram for TCLAP::CmdLine:

## Public Member Functions
| CmdLine (const std::string &message, const char delimiter= ' ', const std::string &version="none", bool helpAndVersion=true)
| Command line constructor. More...
virtual | ~CmdLine ()
| Deletes any resources allocated by a CmdLine object. More...
void | add (Arg &a)
| Adds an argument to the list of arguments to be parsed. More...
void | add (Arg *a)
| An alternative add. More...
void | xorAdd (Arg &a, Arg &b)
| Add two Args that will be xor'd. More...
void | xorAdd (std::vector< Arg * > &xors)
| Add a list of Args that will be xor'd. More...
void | parse (int argc, const char *const *argv)
| Parses the command line. More...
void | parse (std::vector< std::string > &args)
| Parses the command line. More...
CmdLineOutput * | getOutput ()
| Returns the CmdLineOutput object. More...
void | setOutput (CmdLineOutput *co)
std::string & | getVersion ()
| Returns the version string. More...
std::string & | getProgramName ()
| Returns the program name string. More...
std::list< Arg * > & | getArgList ()
| Returns the argList. More...
XorHandler & | getXorHandler ()
| Returns the XorHandler. More...
char | getDelimiter ()
| Returns the delimiter string. More...
std::string & | getMessage ()
| Returns the message string. More...
bool | hasHelpAndVersion ()
| Indicates whether or not the help and version switches were created automatically. More...
void | setExceptionHandling (const bool state)
| Disables or enables CmdLine's internal parsing exception handling. More...
bool | getExceptionHandling () const
| Returns the current state of the internal exception handling. More...
void | reset ()
| Allows the CmdLine object to be reused. More...
Public Member Functions inherited from TCLAP::CmdLineInterface
virtual | ~CmdLineInterface ()
| Destructor. More...
void | parse (std::vector< std::string > &args)
| Parses the command line. More...

## Protected Member Functions
void | missingArgsException ()
| Throws an exception listing the missing args. More...
bool | _emptyCombined (const std::string &s)
| Checks whether a name/flag string matches entirely matches the Arg::blankChar. More...
void | deleteOnExit (Arg *ptr)
| Perform a delete ptr; operation on ptr when this object is deleted. More...
void | deleteOnExit (Visitor *ptr)
| Perform a delete ptr; operation on ptr when this object is deleted. More...

## Protected Attributes
std::list< Arg * > | _argList
| The list of arguments that will be tested against the command line. More...
std::string | _progName
| The name of the program. More...
std::string | _message
| A message used to describe the program. More...
std::string | _version
| The version to be displayed with the –version switch. More...
int | _numRequired
| The number of arguments that are required to be present on the command line. More...
char | _delimiter
| The character that is used to separate the argument flag/name from the value. More...
XorHandler | _xorHandler
| The handler that manages xoring lists of args. More...
std::list< Arg * > | _argDeleteOnExitList
| A list of Args to be explicitly deleted when the destructor is called. More...
std::list< Visitor * > | _visitorDeleteOnExitList
| A list of Visitors to be explicitly deleted when the destructor is called. More...
CmdLineOutput * | _output
| Object that handles all output for the CmdLine. More...
bool | _handleExceptions
| Should CmdLine handle parsing exceptions internally? More...

## Detailed Description

The base class that manages the command line definition and passes along the parsing to the appropriate Arg classes.

Definition at line 70 of file CmdLine.h.

## Constructor & Destructor Documentation

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.

Parameters

  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.

Definition at line 323 of file CmdLine.h.

TCLAP::CmdLine::~CmdLine | ( |  | ) |
| inline virtual

Deletes any resources allocated by a CmdLine object.

Definition at line 345 of file CmdLine.h.

References _argDeleteOnExitList, _output, _visitorDeleteOnExitList, and TCLAP::ClearContainer().

## Member Function Documentation

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.

Parameters

  s | - The message to be used in the usage.

Definition at line 511 of file CmdLine.h.

References TCLAP::Arg::blankChar(), and TCLAP::Arg::flagStartChar().

Referenced by parse().

void TCLAP::CmdLine::add | ( | Arg & | a | ) |
| inline virtual

Adds an argument to the list of arguments to be parsed.

Parameters

  a | - Argument to be added.

Implements TCLAP::CmdLineInterface.

Definition at line 413 of file CmdLine.h.

Referenced by xorAdd().

void TCLAP::CmdLine::add | ( | Arg * | a | ) |
| inline virtual

An alternative add.

Functionally identical.

Parameters

  a | - Argument to be added.

Implements TCLAP::CmdLineInterface.

Definition at line 418 of file CmdLine.h.

References _argList, _numRequired, TCLAP::Arg::addToList(), TCLAP::Arg::isRequired(), and TCLAP::Arg::longID().

void TCLAP::CmdLine::deleteOnExit | ( | Arg * | ptr | ) |
| inline protected

Perform a delete ptr; operation on ptr when this object is deleted.

Definition at line 550 of file CmdLine.h.

References _argDeleteOnExitList.

void TCLAP::CmdLine::deleteOnExit | ( | Visitor * | ptr | ) |
| inline protected

Perform a delete ptr; operation on ptr when this object is deleted.

Definition at line 555 of file CmdLine.h.

References _visitorDeleteOnExitList.

std::list< Arg * > & TCLAP::CmdLine::getArgList | ( |  | ) |
| inline virtual

Returns the argList.

Implements TCLAP::CmdLineInterface.

Definition at line 583 of file CmdLine.h.

References _argList.

char TCLAP::CmdLine::getDelimiter | ( |  | ) |
| inline virtual

Returns the delimiter string.

Implements TCLAP::CmdLineInterface.

Definition at line 593 of file CmdLine.h.

References _delimiter.

bool TCLAP::CmdLine::getExceptionHandling | ( |  | ) | const
| inline

Returns the current state of the internal exception handling.

Return values

  true | Parsing exceptions are handled internally.
  false | Parsing exceptions are propagated to the caller.

Definition at line 613 of file CmdLine.h.

References _handleExceptions.

std::string & TCLAP::CmdLine::getMessage | ( |  | ) |
| inline virtual

Returns the message string.

Implements TCLAP::CmdLineInterface.

Definition at line 598 of file CmdLine.h.

References _message.

CmdLineOutput * TCLAP::CmdLine::getOutput | ( |  | ) |
| inline virtual

Returns the CmdLineOutput object.

Implements TCLAP::CmdLineInterface.

Definition at line 560 of file CmdLine.h.

References _output.

std::string & TCLAP::CmdLine::getProgramName | ( |  | ) |
| inline virtual

Returns the program name string.

Implements TCLAP::CmdLineInterface.

Definition at line 578 of file CmdLine.h.

References _progName.

std::string & TCLAP::CmdLine::getVersion | ( |  | ) |
| inline virtual

Returns the version string.

Implements TCLAP::CmdLineInterface.

Definition at line 573 of file CmdLine.h.

References _version.

XorHandler & TCLAP::CmdLine::getXorHandler | ( |  | ) |
| inline virtual

Returns the XorHandler.

Implements TCLAP::CmdLineInterface.

Definition at line 588 of file CmdLine.h.

References _xorHandler.

bool TCLAP::CmdLine::hasHelpAndVersion | ( |  | ) |
| inline virtual

Indicates whether or not the help and version switches were created automatically.

Implements TCLAP::CmdLineInterface.

Definition at line 603 of file CmdLine.h.

void TCLAP::CmdLine::missingArgsException | ( |  | ) |
| inline protected

Throws an exception listing the missing args.

Definition at line 523 of file CmdLine.h.

References _argList.

Referenced by parse().

void TCLAP::CmdLine::parse | ( | int | argc,
|  | const char *const * | argv
| ) |  |
| inline virtual

Parses the command line.

Parameters

  argc | - Number of arguments.
  argv | - Array of arguments.

Implements TCLAP::CmdLineInterface.

Definition at line 433 of file CmdLine.h.

void TCLAP::CmdLine::parse | ( | std::vector< std::string > & | args | ) |
| inline

Parses the command line.

Parameters

  args | - A vector of strings representing the args. args[0] is still the program name.

Definition at line 444 of file CmdLine.h.

References _argList, _emptyCombined(), _handleExceptions, _numRequired, _output, _progName, _xorHandler, TCLAP::XorHandler::check(), TCLAP::CmdLineOutput::failure(), TCLAP::ExitException::getExitStatus(), TCLAP::Arg::ignoreRest(), and missingArgsException().

void TCLAP::CmdLine::reset | ( |  | ) |
| inline virtual

Allows the CmdLine object to be reused.

Implements TCLAP::CmdLineInterface.

Definition at line 618 of file CmdLine.h.

References _argList, and _progName.

void TCLAP::CmdLine::setExceptionHandling | ( | const bool | state | ) |
| inline

Disables or enables CmdLine's internal parsing exception handling.

Parameters

  state | Should CmdLine handle parsing exceptions internally?

Definition at line 608 of file CmdLine.h.

References _handleExceptions.

void TCLAP::CmdLine::setOutput | ( | CmdLineOutput * | co | ) |
| inline virtual

Parameters

  co | - CmdLineOutput object that we want to use instead.

Implements TCLAP::CmdLineInterface.

Definition at line 565 of file CmdLine.h.

References _output.

void TCLAP::CmdLine::xorAdd | ( | Arg & | a,
|  | Arg & | b
| ) |  |
| inline virtual

Add two Args that will be xor'd.

If this method is used, add does not need to be called.

Parameters

  a | - Argument to be added and xor'd.
  b | - Argument to be added and xor'd.

Implements TCLAP::CmdLineInterface.

Definition at line 405 of file CmdLine.h.

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.

Parameters

  xors | - List of Args to be added and xor'd.

Implements TCLAP::CmdLineInterface.

Definition at line 393 of file CmdLine.h.

References _xorHandler, TCLAP::XorHandler::add(), and add().

## Member Data Documentation

std::list<Arg*> TCLAP::CmdLine::_argDeleteOnExitList
| protected

A list of Args to be explicitly deleted when the destructor is called.

At the moment, this only includes the three default Args.

Definition at line 118 of file CmdLine.h.

Referenced by deleteOnExit(), and ~CmdLine().

std::list<Arg*> TCLAP::CmdLine::_argList
| protected

The list of arguments that will be tested against the command line.

Definition at line 78 of file CmdLine.h.

Referenced by add(), getArgList(), missingArgsException(), parse(), and reset().

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 106 of file CmdLine.h.

Referenced by getDelimiter().

bool TCLAP::CmdLine::_handleExceptions
| protected

Should CmdLine handle parsing exceptions internally?

Definition at line 135 of file CmdLine.h.

Referenced by getExceptionHandling(), parse(), and setExceptionHandling().

std::string TCLAP::CmdLine::_message
| protected

A message used to describe the program.

Used in the usage output.

Definition at line 88 of file CmdLine.h.

Referenced by getMessage().

int TCLAP::CmdLine::_numRequired
| protected

The number of arguments that are required to be present on the command line.

This is set dynamically, based on the Args added to the CmdLine object.

Definition at line 100 of file CmdLine.h.

Referenced by add(), and parse().

CmdLineOutput* TCLAP::CmdLine::_output
| protected

Object that handles all output for the CmdLine.

Definition at line 130 of file CmdLine.h.

Referenced by getOutput(), parse(), setOutput(), and ~CmdLine().

std::string TCLAP::CmdLine::_progName
| protected

The name of the program.

Set to argv[0].

Definition at line 83 of file CmdLine.h.

Referenced by getProgramName(), parse(), and reset().

std::string TCLAP::CmdLine::_version
| protected

The version to be displayed with the –version switch.

Definition at line 93 of file CmdLine.h.

Referenced by getVersion().

std::list<Visitor*> TCLAP::CmdLine::_visitorDeleteOnExitList
| protected

A list of Visitors to be explicitly deleted when the destructor is called.

At the moment, these are the Vistors created for the default Args.

Definition at line 125 of file CmdLine.h.

Referenced by deleteOnExit(), and ~CmdLine().

XorHandler TCLAP::CmdLine::_xorHandler
| protected

The handler that manages xoring lists of args.

Definition at line 111 of file CmdLine.h.

Referenced by getXorHandler(), parse(), and xorAdd().

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

- CmdLine.h