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),
262 _typeDesc( typeDesc ),
268 const std::string& name,
269 const std::string& desc,
272 const std::string& typeDesc,
275 :
Arg(flag, name, desc, req, true, v),
278 _typeDesc( typeDesc ),
286 const std::string& name,
287 const std::string& desc,
292 :
Arg(flag, name, desc, req, true, v),
295 _typeDesc( constraint->shortID() ),
296 _constraint( constraint )
301 const std::string& name,
302 const std::string& desc,
308 :
Arg(flag, name, desc, req, true, v),
311 _typeDesc( constraint->shortID() ),
312 _constraint( constraint )
333 if ( _hasBlanks( args[*i] ) )
336 std::string flag = args[*i];
338 std::string value =
"";
339 trimFlag( flag, value );
341 if ( argMatches( flag ) )
347 "Mutually exclusive argument already set!",
356 "Couldn't find delimiter for this argument!",
362 if ( static_cast<unsigned int>(*i) < args.size() )
363 _extractValue( args[*i] );
369 _extractValue( value );
385 static_cast<void>(val);
395 static_cast<void>(val);
408 if ( _constraint != NULL )
409 if ( ! _constraint->check( _value ) )
411 +
"' does not meet constraint: "
412 + _constraint->description(),