]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/getopt.h
Use default member initializers and constructor delegation
[libs/core.git] / source / core / getopt.h
index 405864bb27bfdda1668537a35630550465963482..a1208f4c1fa9e423314225bb87e8fc91903149e8 100644 (file)
@@ -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<typename T::value_type>(a)); }
        };
 
-       bool help;
+       bool help = false;
        std::vector<OptionImpl *> opts;
        std::vector<ArgumentImpl *> args;
        std::vector<std::string> args_raw;