namespace command {
/**
- * Class responsible for handling commandline arguments.
- * Arguments are required,x non-named parameters of program.
+ * Base class for all the Arguments and Options.
*
* Example:
* ./myprog ARGUMENT
*
* @param description Description of current Argument
*/
- Parameter(std::string description)
+ Parameter(const std::string & description)
: Descriptive(description) {
}
virtual ~Parameter() {}
- virtual void handle() {
- std::cout << "Parameter::handle()" << std::endl;
- };
+ /**
+ * Method used for handling method calls linked with Argument or Option
+ */
+ virtual void handle() = 0;
+
+ /**
+ * Method used for checking if the given user value understandable for
+ * parameter.
+ */
+ virtual bool understand(const std::string & ) = 0;
};
}