X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fgetopt.h;h=ed6cf86195d2419cf7e3b579e470b64e242bc0bd;hb=5763dd6e8089c97699cbcbd221afb7fe1841bcdd;hp=405864bb27bfdda1668537a35630550465963482;hpb=44da9fc9afb6b7e49c1558c5572213a1e6f401e8;p=libs%2Fcore.git diff --git a/source/core/getopt.h b/source/core/getopt.h index 405864b..ed6cf86 100644 --- a/source/core/getopt.h +++ b/source/core/getopt.h @@ -13,13 +13,13 @@ namespace Msp { class usage_error: public std::runtime_error { private: - std::string help_; + std::string m_help; public: - usage_error(const std::string &w, const std::string &h = std::string()): std::runtime_error(w), help_(h) { } - ~usage_error() throw() { } + usage_error(const std::string &w, const std::string &h = std::string()): std::runtime_error(w), m_help(h) { } + virtual ~usage_error() throw() = default; - const char *help() const throw() { return help_.c_str(); } + const char *help() const throw() { return m_help.c_str(); } }; @@ -72,9 +72,9 @@ public: class Option { protected: - Option() { } + Option() = default; public: - virtual ~Option() { } + virtual ~Option() = default; /// Sets help text for the option. virtual Option &set_help(const std::string &) = 0; @@ -92,9 +92,9 @@ public: class Argument { protected: - Argument() { } + Argument() = default; public: - virtual ~Argument() { } + virtual ~Argument() = default; virtual Argument &set_help(const std::string &) = 0; }; @@ -103,9 +103,9 @@ private: class Store { protected: - Store() { } + Store() = default; public: - virtual ~Store() { } + virtual ~Store() = default; virtual Store *clone() const = 0; @@ -117,14 +117,14 @@ private: class OptionImpl: public Option { protected: - char shrt; + char shrt = 0; std::string lng; - ArgType arg_type; - unsigned seen_count; - unsigned *ext_seen_count; + ArgType arg_type = NO_ARG; + unsigned seen_count = 0; + unsigned *ext_seen_count = 0; std::string help; - std::string metavar; - Store *store; + std::string metavar = "ARG"; + Store *store = 0; public: OptionImpl(char, const std::string &, const Store &, ArgType); @@ -147,9 +147,9 @@ private: { private: std::string name; - ArgType type; + ArgType type = REQUIRED_ARG; std::string help; - Store *store; + Store *store = 0; public: ArgumentImpl(const std::string &, const Store &, ArgType); @@ -203,7 +203,7 @@ private: { data.push_back(lexical_cast(a)); } }; - bool help; + bool help = false; std::vector opts; std::vector args; std::vector args_raw;