TCLAP::SwitchArg Class Reference

A simple switch argument. More...

#include <SwitchArg.h>

Inheritance diagram for TCLAP::SwitchArg:

TCLAP::Arg TCLAP::MultiSwitchArg List of all members.

Public Member Functions

 SwitchArg (const std::string &flag, const std::string &name, const std::string &desc, bool def=false, Visitor *v=NULL)
 SwitchArg constructor.
 SwitchArg (const std::string &flag, const std::string &name, const std::string &desc, CmdLineInterface &parser, bool def=false, Visitor *v=NULL)
 SwitchArg constructor.
virtual bool processArg (int *i, std::vector< std::string > &args)
 Handles the processing of the argument.
bool combinedSwitchesMatch (std::string &combined)
 Checks a string to see if any of the chars in the string match the flag for this Switch.
bool getValue ()
 Returns bool, whether or not the switch has been set.

Protected Attributes

bool _value
 The value of the switch.

Detailed Description

A simple switch argument.

If the switch is set on the command line, then the getValue method will return the opposite of the default value for the switch.

Definition at line 39 of file SwitchArg.h.


Constructor & Destructor Documentation

TCLAP::SwitchArg::SwitchArg ( const std::string &  flag,
const std::string &  name,
const std::string &  desc,
bool  def = false,
Visitor v = NULL 
) [inline]

SwitchArg constructor.

Parameters:
flag - The one character flag that identifies this argument on the command line.
name - A one word name for the argument. Can be used as a long flag on the command line.
desc - A description of what the argument is for or does.
def - The default value for this Switch.
v - An optional visitor. You probably should not use this unless you have a very good reason.

Definition at line 116 of file SwitchArg.h.

TCLAP::SwitchArg::SwitchArg ( const std::string &  flag,
const std::string &  name,
const std::string &  desc,
CmdLineInterface parser,
bool  def = false,
Visitor v = NULL 
) [inline]

SwitchArg constructor.

Parameters:
flag - The one character flag that identifies this argument on the command line.
name - A one word name for the argument. Can be used as a long flag on the command line.
desc - A description of what the argument is for or does.
parser - A CmdLine parser object to add this Arg to
def - The default value for this Switch.
v - An optional visitor. You probably should not use this unless you have a very good reason.

Definition at line 125 of file SwitchArg.h.

References TCLAP::CmdLineInterface::add().


Member Function Documentation

bool TCLAP::SwitchArg::processArg ( int *  i,
std::vector< std::string > &  args 
) [inline, virtual]

Handles the processing of the argument.

This re-implements the Arg version of this method to set the _value of the argument appropriately.

Parameters:
i - Pointer the the current argument in the list.
args - Mutable list of strings. Passed in from main().

Implements TCLAP::Arg.

Reimplemented in TCLAP::MultiSwitchArg.

Definition at line 168 of file SwitchArg.h.

References TCLAP::Arg::_alreadySet, TCLAP::Arg::_checkWithVisitor(), TCLAP::Arg::_ignoreable, _value, TCLAP::Arg::argMatches(), combinedSwitchesMatch(), TCLAP::Arg::ignoreRest(), and TCLAP::Arg::toString().

bool TCLAP::SwitchArg::combinedSwitchesMatch ( std::string &  combined  )  [inline]

Checks a string to see if any of the chars in the string match the flag for this Switch.

Definition at line 139 of file SwitchArg.h.

References TCLAP::Arg::_flag, TCLAP::Arg::blankChar(), TCLAP::Arg::flagStartString(), and TCLAP::Arg::nameStartString().

Referenced by processArg(), and TCLAP::MultiSwitchArg::processArg().

bool TCLAP::SwitchArg::getValue (  )  [inline]

Returns bool, whether or not the switch has been set.

Reimplemented in TCLAP::MultiSwitchArg.

Definition at line 137 of file SwitchArg.h.

References _value.


Member Data Documentation

bool TCLAP::SwitchArg::_value [protected]

The value of the switch.

Reimplemented in TCLAP::MultiSwitchArg.

Definition at line 46 of file SwitchArg.h.

Referenced by getValue(), and processArg().


The documentation for this class was generated from the following file:
Generated on Thu Dec 14 23:01:54 2006 for tclap by  doxygen 1.5.1