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: "
std::string error() const
Returns the error text.
Thrown from within the child Arg classes when it fails to properly parse the argument it has been pas...
void _checkWithVisitor() const
Performs the special handling described by the Visitor.
virtual std::string longID(const std::string &valueId="val") const
Returns a long ID for the usage.
bool _hasBlanks(const std::string &s) const
Checks whether a given string has blank chars, indicating that it is a combined SwitchArg.
static bool ignoreRest()
Whether to ignore the rest.
bool _alreadySet
Indicates whether the argument has been set.
bool _ignoreable
Whether this argument can be ignored, if desired.
static char delimiter()
The delimiter that separates an argument flag/name from the value.
bool _xorSet
Indicates that the arg was set as part of an XOR and not on the command line.
virtual void reset()
Clears the Arg object and allows it to be reused by new command lines.
virtual bool argMatches(const std::string &s) const
A method that tests whether a string matches this argument.
virtual void trimFlag(std::string &flag, std::string &value) const
Trims a value off of the flag.
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.
The base class that manages the command line definition and passes along the parsing to the appropria...
virtual void add(Arg &a)=0
Adds an argument to the list of arguments to be parsed.
Thrown from CmdLine when the arguments on the command line are not properly specified,...
The interface that defines the interaction between the Arg and Constraint.
virtual std::string longID(const std::string &val="val") const
Specialization of longID.
T _default
Used to support the reset() method so that ValueArg can be reset to their constructed value.
virtual void reset()
Clears the Arg object and allows it to be reused by new command lines.
T _value
The value parsed from the command line.
T & getValue()
Returns the value of the argument.
virtual bool processArg(int *i, std::vector< std::string > &args)
Handles the processing of the argument.
std::string _typeDesc
A human readable description of the type to be parsed.
Constraint< T > * _constraint
A Constraint this Arg must conform to.
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.
void _extractValue(const std::string &val)
Extracts the value from the string.
virtual std::string shortID(const std::string &val="val") const
Specialization of shortID.
A base class that defines the interface for visitors.
void ExtractValue(T &destVal, const std::string &strVal, ValueLike vl)
T::ValueCategory ValueCategory