* Arguments are non-named parameters of program.
*
* Example:
- * ./myprog ARGUMENT
- * ./myprog /path/to/file
- * ./myprog "some argument"
+ * - ./myprog ARGUMENT
+ * - ./myprog /path/to/file
+ * - ./myprog "some argument"
*/
template<typename ParameterType>
class Argument : public Parameter, public Callable<ParameterType> {
virtual ~Argument() { }
/**
- *
+ * \inheritdoc
*/
virtual void handle() {
this->call(value);
+ this->used = true;
}
/**
* against next value.
*/
virtual bool understand(const std::string & argv) {
- if (!isUsed()) {
- std::stringstream ss;
+ std::stringstream ss;
- ss << argv;
- ss >> value;
+ ss << argv;
+ ss >> value;
- if (!ss.fail()) {
- this->used = true;
- return true;
- }
+ if (!ss.fail()) {
+ return true;
}
return false;