A virtual base class that defines the essential data for all arguments.
This class, or one of its existing children, must be subclassed to do anything.
#include <mrpt/otherlibs/tclap/Arg.h>

Public Member Functions | |
| virtual | ~Arg () |
| Destructor. | |
| virtual void | addToList (std::list< Arg * > &argList) const |
| Adds this to the specified list of Args. | |
| virtual bool | processArg (int *i, std::vector< std::string > &args)=0 |
| Pure virtual method meant to handle the parsing and value assignment of the string on the command line. | |
| virtual bool | operator== (const Arg &a) const |
| Operator ==. | |
| const std::string & | getFlag () const |
| Returns the argument flag. | |
| const std::string & | getName () const |
| Returns the argument name. | |
| std::string | getDescription () const |
| Returns the argument description. | |
| virtual bool | isRequired () const |
| Indicates whether the argument is required. | |
| void | forceRequired () |
| Sets _required to true. | |
| void | xorSet () |
| Sets the _alreadySet value to true. | |
| bool | isValueRequired () const |
| Indicates whether a value must be specified for argument. | |
| bool | isSet () const |
| Indicates whether the argument has already been set. | |
| bool | isIgnoreable () const |
| Indicates whether the argument can be ignored, if desired. | |
| virtual bool | argMatches (const std::string &s) const |
| A method that tests whether a string matches this argument. | |
| virtual std::string | toString () const |
| Returns a simple string representation of the argument. | |
| virtual std::string | shortID (const std::string &valueId="val") const |
| Returns a short ID for the usage. | |
| virtual std::string | longID (const std::string &valueId="val") const |
| Returns a long ID for the usage. | |
| virtual void | trimFlag (std::string &flag, std::string &value) const |
| Trims a value off of the flag. | |
| bool | _hasBlanks (const std::string &s) const |
| Checks whether a given string has blank chars, indicating that it is a combined SwitchArg. | |
| void | setRequireLabel (const std::string &s) |
| Sets the requireLabel. | |
| virtual bool | allowMore () |
| virtual bool | acceptsMultipleValues () |
Static Public Member Functions | |
| static void | beginIgnoring () |
| Begin ignoring arguments since the "--" argument was specified. | |
| static bool | ignoreRest () |
| Whether to ignore the rest. | |
| static char | delimiter () |
| The delimiter that separates an argument flag/name from the value. | |
| static const char | blankChar () |
| The char used as a place holder when SwitchArgs are combined. | |
| static const char | flagStartChar () |
| The char that indicates the beginning of a flag. | |
| static const std::string | flagStartString () |
| The sting that indicates the beginning of a flag. | |
| static const std::string | nameStartString () |
| The sting that indicates the beginning of a name. | |
| static const std::string | ignoreNameString () |
| The name used to identify the ignore rest argument. | |
| static void | setDelimiter (char c) |
| Sets the delimiter for all arguments. | |
Protected Member Functions | |
| void | _checkWithVisitor () const |
| Performs the special handling described by the Vistitor. | |
| Arg (const std::string &flag, const std::string &name, const std::string &desc, bool req, bool valreq, Visitor *v=NULL) | |
| Primary constructor. | |
Protected Attributes | |
| std::string | _flag |
| The single char flag used to identify the argument. | |
| std::string | _name |
| A single work namd indentifying the argument. | |
| std::string | _description |
| Description of the argument. | |
| bool | _required |
| Indicating whether the argument is required. | |
| std::string | _requireLabel |
| Label to be used in usage description. | |
| bool | _valueRequired |
| Indicates whether a value is required for the argument. | |
| bool | _alreadySet |
| Indicates whether the argument has been set. | |
| Visitor * | _visitor |
| A pointer to a vistitor object. | |
| bool | _ignoreable |
| Whether this argument can be ignored, if desired. | |
| bool | _xorSet |
| Indicates that the arg was set as part of an XOR and not on the command line. | |
| bool | _acceptsMultipleValues |
Static Private Member Functions | |
| static bool & | ignoreRestRef () |
| Indicates whether the rest of the arguments should be ignored. | |
| static char & | delimiterRef () |
| The delimiter that separates an argument flag/name from the value. | |
| TCLAP::Arg::Arg | ( | const std::string & | flag, |
| const std::string & | name, | ||
| const std::string & | desc, | ||
| bool | req, | ||
| bool | valreq, | ||
| Visitor * | v = NULL |
||
| ) | [inline, protected] |
Primary constructor.
YOU (yes you) should NEVER construct an Arg directly, this is a base class that is extended by various children that are meant to be used. Use SwitchArg, ValueArg, MultiArg, UnlabeledValueArg, or UnlabeledMultiArg instead.
| flag | - The flag identifying the argument. |
| name | - The name identifying the argument. |
| desc | - The description of the argument, used in the usage. |
| req | - Whether the argument is required. |
| valreq | - Whether the a value is required for the argument. |
| v | - The visitor checked by the argument. Defaults to NULL. |
Definition at line 362 of file Arg.h.
References _flag, _name, flagStartString(), ignoreNameString(), nameStartString(), and toString().
| void TCLAP::Arg::_checkWithVisitor | ( | ) | const [inline, protected] |
Performs the special handling described by the Vistitor.
Definition at line 514 of file Arg.h.
Referenced by TCLAP::SwitchArg::processArg(), and TCLAP::MultiSwitchArg::processArg().
| bool TCLAP::Arg::_hasBlanks | ( | const std::string & | s | ) | const [inline] |
| bool TCLAP::Arg::acceptsMultipleValues | ( | ) | [inline, virtual] |
Definition at line 577 of file Arg.h.
Referenced by TCLAP::DocBookOutput::printShortArg().
| void TCLAP::Arg::addToList | ( | std::list< Arg * > & | argList | ) | const [inline, virtual] |
Adds this to the specified list of Args.
Overridden by Args that need to added to the end of the list.
| argList | - The list to add this to. |
Reimplemented in TCLAP::UnlabeledMultiArg< T >, and TCLAP::UnlabeledValueArg< T >.
| bool TCLAP::Arg::allowMore | ( | ) | [inline, virtual] |
Reimplemented in TCLAP::MultiArg< T >.
| bool TCLAP::Arg::argMatches | ( | const std::string & | s | ) | const [inline, virtual] |
A method that tests whether a string matches this argument.
This is generally called by the processArg() method. This method could be re-implemented by a child to change how arguments are specified on the command line.
| s | - The string to be compared to the flag/name to determine whether the arg matches. |
Definition at line 493 of file Arg.h.
Referenced by TCLAP::SwitchArg::processArg(), and TCLAP::MultiSwitchArg::processArg().
| static void TCLAP::Arg::beginIgnoring | ( | ) | [inline, static] |
Begin ignoring arguments since the "--" argument was specified.
Definition at line 173 of file Arg.h.
References ignoreRestRef().
Referenced by TCLAP::IgnoreRestVisitor::visit().
| static const char TCLAP::Arg::blankChar | ( | ) | [inline, static] |
The char used as a place holder when SwitchArgs are combined.
Currently set to '*', which shouldn't cause many problems since *'s are expanded by most shells on the command line.
Definition at line 191 of file Arg.h.
Referenced by TCLAP::SwitchArg::combinedSwitchesMatch().
| static char TCLAP::Arg::delimiter | ( | ) | [inline, static] |
The delimiter that separates an argument flag/name from the value.
Definition at line 184 of file Arg.h.
Referenced by TCLAP::ValueArg< T >::processArg(), and TCLAP::MultiArg< T >::processArg().
| static char& TCLAP::Arg::delimiterRef | ( | ) | [inline, static, private] |
The delimiter that separates an argument flag/name from the value.
Definition at line 59 of file Arg.h.
Referenced by ignoreNameString(), and ignoreRest().
| static const char TCLAP::Arg::flagStartChar | ( | ) | [inline, static] |
| static const std::string TCLAP::Arg::flagStartString | ( | ) | [inline, static] |
The sting that indicates the beginning of a flag.
Currently "-". Should be identical to flagStartChar.
Definition at line 202 of file Arg.h.
Referenced by Arg(), TCLAP::SwitchArg::combinedSwitchesMatch(), and longID().
| void TCLAP::Arg::forceRequired | ( | ) | [inline] |
Sets _required to true.
This is used by the XorHandler. You really have no reason to ever use it.
| std::string TCLAP::Arg::getDescription | ( | ) | const [inline] |
Returns the argument description.
Definition at line 457 of file Arg.h.
Referenced by TCLAP::UnlabeledValueArg< T >::operator==(), TCLAP::UnlabeledMultiArg< T >::operator==(), and TCLAP::DocBookOutput::printLongArg().
| const std::string & TCLAP::Arg::getFlag | ( | ) | const [inline] |
| const std::string & TCLAP::Arg::getName | ( | ) | const [inline] |
Returns the argument name.
Definition at line 472 of file Arg.h.
References _valueRequired.
Referenced by TCLAP::UnlabeledValueArg< T >::operator==(), and TCLAP::UnlabeledMultiArg< T >::operator==().
| static const std::string TCLAP::Arg::ignoreNameString | ( | ) | [inline, static] |
The name used to identify the ignore rest argument.
Definition at line 213 of file Arg.h.
References delimiterRef().
Referenced by Arg().
| static bool TCLAP::Arg::ignoreRest | ( | ) | [inline, static] |
Whether to ignore the rest.
Definition at line 178 of file Arg.h.
References delimiterRef().
Referenced by TCLAP::CmdLine::parse(), TCLAP::ValueArg< T >::processArg(), TCLAP::SwitchArg::processArg(), TCLAP::MultiSwitchArg::processArg(), and TCLAP::MultiArg< T >::processArg().
| static bool& TCLAP::Arg::ignoreRestRef | ( | ) | [inline, static, private] |
Indicates whether the rest of the arguments should be ignored.
Definition at line 53 of file Arg.h.
Referenced by beginIgnoring().
| bool TCLAP::Arg::isIgnoreable | ( | ) | const [inline] |
Indicates whether the argument can be ignored, if desired.
Definition at line 486 of file Arg.h.
References _requireLabel.
| bool TCLAP::Arg::isRequired | ( | ) | const [inline, virtual] |
Indicates whether the argument is required.
Reimplemented in TCLAP::MultiArg< T >.
Definition at line 474 of file Arg.h.
Referenced by TCLAP::XorHandler::check(), and TCLAP::DocBookOutput::printShortArg().
| bool TCLAP::Arg::isSet | ( | ) | const [inline] |
| bool TCLAP::Arg::isValueRequired | ( | ) | const [inline] |
Indicates whether a value must be specified for argument.
Definition at line 476 of file Arg.h.
References _alreadySet, and _xorSet.
| std::string TCLAP::Arg::longID | ( | const std::string & | valueId = "val" | ) | const [inline, virtual] |
Returns a long ID for the usage.
| valueId | - The value used in the id. |
Reimplemented in TCLAP::MultiArg< T >, TCLAP::MultiSwitchArg, TCLAP::UnlabeledMultiArg< T >, TCLAP::UnlabeledValueArg< T >, and TCLAP::ValueArg< T >.
Definition at line 426 of file Arg.h.
References _flag, _valueRequired, and flagStartString().
Referenced by TCLAP::ValueArg< T >::longID(), TCLAP::MultiArg< T >::longID(), and TCLAP::DocBookOutput::printLongArg().
| static const std::string TCLAP::Arg::nameStartString | ( | ) | [inline, static] |
The sting that indicates the beginning of a name.
Currently "--". Should be flagStartChar twice.
Definition at line 208 of file Arg.h.
Referenced by Arg(), and TCLAP::SwitchArg::combinedSwitchesMatch().
| bool TCLAP::Arg::operator== | ( | const Arg & | a | ) | const [inline, virtual] |
Operator ==.
Equality operator. Must be virtual to handle unlabeled args.
| a | - The Arg to be compared to this. |
Reimplemented in TCLAP::UnlabeledMultiArg< T >, and TCLAP::UnlabeledValueArg< T >.
| virtual bool TCLAP::Arg::processArg | ( | int * | i, |
| std::vector< std::string > & | args | ||
| ) | [pure virtual] |
Pure virtual method meant to handle the parsing and value assignment of the string on the command line.
| i | - Pointer the the current argument in the list. |
| args | - Mutable list of strings. What is passed in from main. |
Implemented in TCLAP::MultiArg< T >, TCLAP::MultiSwitchArg, TCLAP::SwitchArg, TCLAP::UnlabeledMultiArg< T >, TCLAP::UnlabeledValueArg< T >, and TCLAP::ValueArg< T >.
| static void TCLAP::Arg::setDelimiter | ( | char | c | ) | [inline, static] |
| void TCLAP::Arg::setRequireLabel | ( | const std::string & | s | ) | [inline] |
Sets the requireLabel.
Used by XorHandler. You shouldn't ever use this.
| s | - Set the requireLabel to this value. |
| std::string TCLAP::Arg::shortID | ( | const std::string & | valueId = "val" | ) | const [inline, virtual] |
Returns a short ID for the usage.
| valueId | - The value used in the id. |
Reimplemented in TCLAP::MultiArg< T >, TCLAP::MultiSwitchArg, TCLAP::UnlabeledMultiArg< T >, TCLAP::UnlabeledValueArg< T >, and TCLAP::ValueArg< T >.
Definition at line 405 of file Arg.h.
Referenced by TCLAP::DocBookOutput::printShortArg(), TCLAP::ValueArg< T >::shortID(), and TCLAP::MultiArg< T >::shortID().
| std::string TCLAP::Arg::toString | ( | ) | const [inline, virtual] |
Returns a simple string representation of the argument.
Primarily for debugging.
Definition at line 502 of file Arg.h.
Referenced by Arg(), TCLAP::SwitchArg::processArg(), TCLAP::UnlabeledMultiArg< T >::UnlabeledMultiArg(), and TCLAP::UnlabeledValueArg< T >::UnlabeledValueArg().
| void TCLAP::Arg::trimFlag | ( | std::string & | flag, |
| std::string & | value | ||
| ) | const [inline, virtual] |
| void TCLAP::Arg::xorSet | ( | ) | [inline] |
Sets the _alreadySet value to true.
This is used by the XorHandler. You really have no reason to ever use it.
bool TCLAP::Arg::_acceptsMultipleValues [protected] |
Definition at line 131 of file Arg.h.
Referenced by TCLAP::MultiArg< T >::MultiArg().
bool TCLAP::Arg::_alreadySet [protected] |
Indicates whether the argument has been set.
Indicates that a value on the command line has matched the name/flag of this argument and the values have been set accordingly.
Definition at line 110 of file Arg.h.
Referenced by isValueRequired(), TCLAP::SwitchArg::processArg(), and TCLAP::MultiSwitchArg::processArg().
std::string TCLAP::Arg::_description [protected] |
std::string TCLAP::Arg::_flag [protected] |
The single char flag used to identify the argument.
This value (preceded by a dash {-}), can be used to identify an argument on the command line. The _flag can be blank, in fact this is how unlabeled args work. Unlabeled args must override appropriate functions to get correct handling. Note that the _flag does NOT include the dash as part of the flag.
Definition at line 71 of file Arg.h.
Referenced by Arg(), TCLAP::SwitchArg::combinedSwitchesMatch(), and longID().
bool TCLAP::Arg::_ignoreable [protected] |
Whether this argument can be ignored, if desired.
Definition at line 123 of file Arg.h.
Referenced by TCLAP::SwitchArg::processArg(), TCLAP::MultiSwitchArg::processArg(), TCLAP::UnlabeledMultiArg< T >::UnlabeledMultiArg(), and TCLAP::UnlabeledValueArg< T >::UnlabeledValueArg().
std::string TCLAP::Arg::_name [protected] |
A single work namd indentifying the argument.
This value (preceded by two dashed {--}) can also be used to identify an argument on the command line. Note that the _name does NOT include the two dashes as part of the _name. The _name cannot be blank.
Definition at line 80 of file Arg.h.
Referenced by Arg().
bool TCLAP::Arg::_required [protected] |
std::string TCLAP::Arg::_requireLabel [protected] |
Label to be used in usage description.
Normally set to "required", but can be changed when necessary.
Definition at line 96 of file Arg.h.
Referenced by isIgnoreable().
bool TCLAP::Arg::_valueRequired [protected] |
Visitor* TCLAP::Arg::_visitor [protected] |
bool TCLAP::Arg::_xorSet [protected] |
Indicates that the arg was set as part of an XOR and not on the command line.
Definition at line 129 of file Arg.h.
Referenced by isValueRequired().
| Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011 |