23 #ifndef TCLAP_VALUE_ARGUMENT_H 24 #define TCLAP_VALUE_ARGUMENT_H 108 const std::string& name,
109 const std::string& desc,
112 const std::string& typeDesc,
141 const std::string& name,
142 const std::string& desc,
145 const std::string& typeDesc,
172 const std::string& name,
173 const std::string& desc,
202 const std::string& name,
203 const std::string& desc,
218 virtual bool processArg(
int* i, std::vector<std::string>& args);
229 virtual std::string
shortID(
const std::string& val =
"val")
const;
235 virtual std::string
longID(
const std::string& val =
"val")
const;
237 virtual void reset() ;
253 const std::string& name,
254 const std::string& desc,
257 const std::string& typeDesc,
259 :
Arg(flag, name, desc, req, true, v),
268 const std::string& name,
269 const std::string& desc,
272 const std::string& typeDesc,
275 :
Arg(flag, name, desc, req, true, v),
286 const std::string& name,
287 const std::string& desc,
292 :
Arg(flag, name, desc, req, true, v),
301 const std::string& name,
302 const std::string& desc,
308 :
Arg(flag, name, desc, req, true, v),
336 std::string flag = args[*i];
338 std::string value =
"";
347 "Mutually exclusive argument already set!",
356 "Couldn't find delimiter for this argument!",
362 if ( static_cast<unsigned int>(*i) < args.size() )
385 static_cast<void>(val);
395 static_cast<void>(val);
411 +
"' does not meet constraint: " virtual bool argMatches(const std::string &s) const
A method that tests whether a string matches this argument.
bool _alreadySet
Indicates whether the argument has been set.
void _extractValue(const std::string &val)
Extracts the value from the string.
A virtual base class that defines the essential data for all arguments.
Thrown from CmdLine when the arguments on the command line are not properly specified, e.g.
virtual void reset()
Clears the Arg object and allows it to be reused by new command lines.
bool _xorSet
Indicates that the arg was set as part of an XOR and not on the command line.
The basic labeled argument that parses a value.
virtual std::string longID(const std::string &valueId="val") const
Returns a long ID for the usage.
static char delimiter()
The delimiter that separates an argument flag/name from the value.
virtual std::string shortID(const std::string &val="val") const
Specialization of shortID.
T _value
The value parsed from the command line.
The interface that defines the interaction between the Arg and Constraint.
void _checkWithVisitor() const
Performs the special handling described by the Vistitor.
Constraint< T > * _constraint
A Constraint this Arg must conform to.
A base class that defines the interface for visitors.
virtual std::string shortID(const std::string &valueId="val") const
Returns a short ID for the usage.
The base class that manages the command line definition and passes along the parsing to the appropria...
T & getValue()
Returns the value of the argument.
virtual std::string toString() const
Returns a simple string representation of the argument.
virtual void add(Arg &a)=0
Adds an argument to the list of arguments to be parsed.
bool _ignoreable
Whether this argument can be ignored, if desired.
std::string _typeDesc
A human readable description of the type to be parsed.
static bool ignoreRest()
Whether to ignore the rest.
T::ValueCategory ValueCategory
void ExtractValue(T &destVal, const std::string &strVal, ValueLike vl)
Thrown from within the child Arg classes when it fails to properly parse the argument it has been pas...
T _default
Used to support the reset() method so that ValueArg can be reset to their constructed value...
virtual bool processArg(int *i, std::vector< std::string > &args)
Handles the processing of the argument.
bool _hasBlanks(const std::string &s) const
Checks whether a given string has blank chars, indicating that it is a combined SwitchArg.
virtual std::string longID(const std::string &val="val") const
Specialization of longID.
std::string error() const
Returns the error text.
virtual void reset()
Clears the Arg object and allows it to be reused by new command lines.
virtual void trimFlag(std::string &flag, std::string &value) const
Trims a value off of the flag.
ValueArg(const std::string &flag, const std::string &name, const std::string &desc, bool req, T value, const std::string &typeDesc, Visitor *v=NULL)
Labeled ValueArg constructor.