* ./myprog /path/to/file
* ./myprog "some argument"
*/
- template<typename ArgumentType>
- class Argument : public Parameter, public Callable<ArgumentType> {
+ template<typename ParameterType>
+ class Argument : public Parameter, public Callable<ParameterType> {
protected:
- ArgumentType value;
+ ParameterType value;
public:
typedef class Argument Type;
* @param description Description of current Argument
* @param function Function used to handle current Argument.
*/
- Argument(const std::string & description, void (*function)(ArgumentType))
- : Parameter(description), Callable<ArgumentType>(function) {
+ Argument(const std::string & description, void (*function)(ParameterType))
+ : Parameter(description), Callable<ParameterType>(function) {
}
/**
* If so current Argument is flagged as used and no more checks against
* it will be done in future.
*
- * \attention If conversion from passed value to ArgumentType is
+ * \attention If conversion from passed value to ParameterType is
* impossible, it is ignored. It means that it is not understanded by
* Argument.
*
* @param argv command line value against which test will be made.
*
- * @return If passed argv is succesfully converted to ArgumentType,
+ * @return If passed argv is succesfully converted to ParameterType,
* returns true and Argument is set as used one. If there was an error
* during conversion, method returns false and can be used to check
* against next value.
/**
* Callable behaviour class.
*/
- template<typename ArgumentType>
+ template<typename ParameterType>
class Callable {
protected:
/**
* Function handling user Arguments
*/
- void (*func)(ArgumentType);
+ void (*func)(ParameterType);
public:
/**
*
* @param function Function that will be invoked
*/
- Callable(void (*function)(ArgumentType))
+ Callable(void (*function)(ParameterType))
: func(function) {
}
*
* @param value Value passed to program argument
*/
- void call(ArgumentType value) {
+ void call(ParameterType value) {
this->func(value);
}
};
* ./myprog -f=/some/file
* ./myprog --level=15
*/
- template<typename OptionType>
+ template<typename ParameterType>
class Option
- : public Parameter, public Callable<OptionType> {
+ : public Parameter, public Callable<ParameterType> {
public:
typedef std::string OptionName;
protected:
/**
* Current Option value
*/
- OptionType value;
+ ParameterType value;
public:
/**
* @param description Description of current Option
* @param function Function used to handle current Option.
*/
- Option(const std::string & name, const std::string & description, void (*function)(OptionType))
- : Parameter(description), Callable<OptionType>(function), name(name) {
+ Option(const std::string & name, const std::string & description, void (*function)(ParameterType))
+ : Parameter(description), Callable<ParameterType>(function), name(name) {
}
/**
* If no equal sign is after OptionName part,
* std::invalid_argument exception with appropriate message is thrown
*
- * If conversion of OptionValue part to OptionType failed,
+ * If conversion of OptionValue part to ParameterType failed,
* std::invalid_argument exception with appropriate message is thrown
*
* @param argv command line value against which test will be made.
*
* @return If passed argv succesfully detected OptionName part as a
* current option and its OptionValue part has been succesfully
- * converted to OptionType, returns true and Option is set as used one.
+ * converted to ParameterType, returns true and Option is set as used one.
* Otherwise returns false and can be used to check against next value.
*
* @throw std::invalid_argument when OptionName part has no equal sign
* after itself
* @throw std::invalid_argument when OptionValue part failed conversion
- * to OptionType
+ * to ParameterType
*/
virtual bool understand(const std::string & argv)
throw(std::invalid_argument) {