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. More... | |
virtual void | addToList (std::list< Arg * > &argList) const |
Adds this to the specified list of Args. More... | |
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. More... | |
virtual bool | operator== (const Arg &a) const |
Operator ==. More... | |
const std::string & | getFlag () const |
Returns the argument flag. More... | |
const std::string & | getName () const |
Returns the argument name. More... | |
std::string | getDescription () const |
Returns the argument description. More... | |
virtual bool | isRequired () const |
Indicates whether the argument is required. More... | |
void | forceRequired () |
Sets _required to true. More... | |
void | xorSet () |
Sets the _alreadySet value to true. More... | |
bool | isValueRequired () const |
Indicates whether a value must be specified for argument. More... | |
bool | isSet () const |
Indicates whether the argument has already been set. More... | |
bool | isIgnoreable () const |
Indicates whether the argument can be ignored, if desired. More... | |
virtual bool | argMatches (const std::string &s) const |
A method that tests whether a string matches this argument. More... | |
virtual std::string | toString () const |
Returns a simple string representation of the argument. More... | |
virtual std::string | shortID (const std::string &valueId="val") const |
Returns a short ID for the usage. More... | |
virtual std::string | longID (const std::string &valueId="val") const |
Returns a long ID for the usage. More... | |
virtual void | trimFlag (std::string &flag, std::string &value) const |
Trims a value off of the flag. More... | |
bool | _hasBlanks (const std::string &s) const |
Checks whether a given string has blank chars, indicating that it is a combined SwitchArg. More... | |
void | setRequireLabel (const std::string &s) |
Sets the requireLabel. More... | |
virtual bool | allowMore () |
virtual bool | acceptsMultipleValues () |
Static Public Member Functions | |
static void | beginIgnoring () |
Begin ignoring arguments since the "--" argument was specified. More... | |
static bool | ignoreRest () |
Whether to ignore the rest. More... | |
static char | delimiter () |
The delimiter that separates an argument flag/name from the value. More... | |
static char | blankChar () |
The char used as a place holder when SwitchArgs are combined. More... | |
static char | flagStartChar () |
The char that indicates the beginning of a flag. More... | |
static const std::string | flagStartString () |
The sting that indicates the beginning of a flag. More... | |
static const std::string | nameStartString () |
The sting that indicates the beginning of a name. More... | |
static const std::string | ignoreNameString () |
The name used to identify the ignore rest argument. More... | |
static void | setDelimiter (char c) |
Sets the delimiter for all arguments. More... | |
Protected Member Functions | |
void | _checkWithVisitor () const |
Performs the special handling described by the Vistitor. More... | |
Arg (const std::string &flag, const std::string &name, const std::string &desc, bool req, bool valreq, Visitor *v=NULL) | |
Primary constructor. More... | |
Protected Attributes | |
std::string | _flag |
The single char flag used to identify the argument. More... | |
std::string | _name |
A single work namd indentifying the argument. More... | |
std::string | _description |
Description of the argument. More... | |
bool | _required |
Indicating whether the argument is required. More... | |
std::string | _requireLabel |
Label to be used in usage description. More... | |
bool | _valueRequired |
Indicates whether a value is required for the argument. More... | |
bool | _alreadySet |
Indicates whether the argument has been set. More... | |
Visitor * | _visitor |
A pointer to a vistitor object. More... | |
bool | _ignoreable |
Whether this argument can be ignored, if desired. More... | |
bool | _xorSet |
Indicates that the arg was set as part of an XOR and not on the command line. More... | |
bool | _acceptsMultipleValues |
Static Private Member Functions | |
static bool & | ignoreRestRef () |
Indicates whether the rest of the arguments should be ignored. More... | |
static char & | delimiterRef () |
The delimiter that separates an argument flag/name from the value. More... | |
|
inlineprotected |
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. |
|
inlineprotected |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
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. |
|
inlinestatic |
|
inlinestatic |
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 234 of file Arg.h.
Referenced by trimFlag().
|
inlinestatic |
The delimiter that separates an argument flag/name from the value.
Definition at line 227 of file Arg.h.
Referenced by TCLAP::MultiArg< T >::processArg(), TCLAP::ValueArg< T >::processArg(), and toString().
|
inlinestaticprivate |
The delimiter that separates an argument flag/name from the value.
Definition at line 102 of file Arg.h.
Referenced by ignoreRest().
|
inlinestatic |
|
inlinestatic |
|
inline |
Sets _required to true.
This is used by the XorHandler. You really have no reason to ever use it.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
Whether to ignore the rest.
Definition at line 221 of file Arg.h.
References delimiterRef().
Referenced by TCLAP::MultiArg< T >::processArg(), and TCLAP::ValueArg< T >::processArg().
|
inlinestaticprivate |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inlinevirtual |
Returns a long ID for the usage.
valueId | - The value used in the id. |
Reimplemented in TCLAP::MultiSwitchArg< DUMMY >.
Definition at line 450 of file Arg.h.
Referenced by TCLAP::MultiArg< T >::longID(), and TCLAP::ValueArg< T >::longID().
|
inlinestatic |
|
inlinevirtual |
|
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::MultiSwitchArg< DUMMY >, and TCLAP::SwitchArg.
|
inlinestatic |
Sets the delimiter for all arguments.
c | - The character that delimits flags/names from values. |
Definition at line 262 of file Arg.h.
Referenced by TCLAP::CmdLine::~CmdLine().
|
inline |
Sets the requireLabel.
Used by XorHandler. You shouldn't ever use this.
s | - Set the requireLabel to this value. |
|
inlinevirtual |
Returns a short ID for the usage.
valueId | - The value used in the id. |
Reimplemented in TCLAP::MultiSwitchArg< DUMMY >.
Definition at line 429 of file Arg.h.
Referenced by TCLAP::MultiArg< T >::shortID(), and TCLAP::ValueArg< T >::shortID().
|
inlinevirtual |
Returns a simple string representation of the argument.
Primarily for debugging.
Definition at line 526 of file Arg.h.
References delimiter().
|
inlinevirtual |
Trims a value off of the flag.
Implementation of trimFlag.
flag | - The string from which the flag and value will be trimmed. Contains the flag once the value has been trimmed. |
value | - Where the value trimmed from the string will be stored. |
Definition at line 547 of file Arg.h.
References blankChar().
|
inline |
Sets the _alreadySet value to true.
This is used by the XorHandler. You really have no reason to ever use it.
Definition at line 582 of file Arg.h.
References _acceptsMultipleValues.
|
protected |
|
protected |
|
protected |
|
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Indicates whether a value is required for the argument.
Note that the value may be required but the argument/value combination may not be, as specified by _required.
Definition at line 146 of file Arg.h.
Referenced by getDescription().
|
protected |
Page generated by Doxygen 1.8.17 for MRPT 1.4.0 SVN: at Tue Mar 3 09:15:16 UTC 2020 |