diff --git a/src/util/ArgParser.h b/src/util/ArgParser.h index 24a7db9..d89dc35 100644 --- a/src/util/ArgParser.h +++ b/src/util/ArgParser.h @@ -39,6 +39,23 @@ void dump_value(std::ostream & out, const T & v) extern void dump_value(std::ostream & out, const std::string & v); +// type names helper +template +struct type_name { + static char const* value() { return "unknown"; } +}; + +template<> struct type_name { + static char const* value() { return "int"; } +}; + +template<> struct type_name { + static char const* value() { return "fp"; } +}; + +template<> struct type_name { + static char const* value() { return "string"; } +}; class ArgParser { @@ -161,7 +178,7 @@ void ArgParser::ArgEntry::show_usage(std::ostream & out) const if(need_arg) { - sout << " "; + sout << " <" << type_name::value() << ">"; } std::string s = sout.str();