#ifndef __COMMAND_OPTION_H
#define __COMMAND_OPTION_H
+#include <string>
+
+#include "argument.h"
+
namespace command {
/**
* Class responsible for handling commandline options.
template<typename OptionType>
class Option
: Argument<OptionType> {
+ public:
+// typedef typename Argument<OptionType, Lambda>::FunctionType FunctionType;
protected:
/**
* Option name
* @param description Description of current Option
* @param function Function used to handle current Option.
*/
- Argument(std::string name, std::string description, FunctionType function)
+ Option(std::string name, std::string description, void (*function)(OptionType))
: name(name), Argument<OptionType>(description, function) {
}
+ virtual ~Option() { }
+
+ virtual void handle() {
+ }
};
}