# TCLAP::SwitchArg Class Reference

A simple switch argument. More...

`#include <SwitchArg.h>`

Inheritance diagram for TCLAP::SwitchArg:

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.
virtual void | reset ()
| Clears the Arg object and allows it to be reused by new command lines.
## Protected Attributes
bool | _value
| The value of the switch.
bool | _default
| Used to support the reset() method so that ValueArg can be reset to their constructed value.

## 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 135 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 145 of file SwitchArg.h.

References TCLAP::CmdLineInterface::add().

## Member Function Documentation

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 169 of file SwitchArg.h.

References TCLAP::Arg::_flag, TCLAP::Arg::blankChar(), TCLAP::Arg::delimiter(), 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 158 of file SwitchArg.h.

References _value.

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 223 of file SwitchArg.h.

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

void TCLAP::SwitchArg::reset | ( |  | ) | `[inline, virtual]`

Clears the Arg object and allows it to be reused by new command lines.

Reimplemented from TCLAP::Arg.

Reimplemented in TCLAP::MultiSwitchArg.

Definition at line 255 of file SwitchArg.h.

References _default, and _value.

## Member Data Documentation

bool TCLAP::SwitchArg::_default`[protected]`

Used to support the reset() method so that ValueArg can be reset to their constructed value.

Reimplemented in TCLAP::MultiSwitchArg.

Definition at line 52 of file SwitchArg.h.

Referenced by reset().

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

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

- SwitchArg.h