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: " bool _alreadySet
Indicates whether the argument has been set.
virtual std::string longID(const std::string &val="val") const
Specialization of longID.
void _extractValue(const std::string &val)
Extracts the value from the string.
A virtual base class that defines the essential data for all arguments.
virtual void trimFlag(std::string &flag, std::string &value) const
Trims a value off of the flag.
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.
Thrown from CmdLine when the arguments on the command line are not properly specified, e.g.
virtual std::string shortID(const std::string &val="val") const
Specialization of shortID.
void _checkWithVisitor() const
Performs the special handling described by the Vistitor.
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.
static char delimiter()
The delimiter that separates an argument flag/name from the value.
T _value
The value parsed from the command line.
The interface that defines the interaction between the Arg and Constraint.
std::string error() const
Returns the error text.
virtual std::string shortID(const std::string &valueId="val") const
Returns a short ID for the usage.
Constraint< T > * _constraint
A Constraint this Arg must conform to.
A base class that defines the interface for visitors.
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 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)
virtual bool argMatches(const std::string &s) const
A method that tests whether a string matches this argument.
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.
virtual std::string toString() const
Returns a simple string representation of the argument.
virtual void reset()
Clears the Arg object and allows it to be reused by new command lines.
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.