]> git.tdb.fi Git - builder.git/blobdiff - source/buildinfo.h
Use default member initializers and constructor delegation
[builder.git] / source / buildinfo.h
index 203ba5fe5bfbc844373f82b5d89c3ed02a16d725..26afabffd4db6f323824ddeba99f98954c78c926 100644 (file)
@@ -54,9 +54,9 @@ public:
        struct LanguageStandard
        {
                std::string type;
-               unsigned year;
+               unsigned year = 0;
 
-               LanguageStandard(): year(0) { }
+               LanguageStandard() = default;
                LanguageStandard(const std::string &);
 
                std::string str() const;
@@ -76,13 +76,13 @@ public:
                using LoadType = T;
 
        private:
-               T value;
-               bool set;
+               T value{};
+               bool set = false;
 
        public:
-               Tracked(): value(T()), set(false) { }
-               Tracked(T v): value(v), set(false) { }
-               Tracked(const Tracked &t): value(t.value), set(t.set) { }
+               Tracked() = default;
+               Tracked(T v): value(v) { }
+               Tracked(const Tracked &t) = default;
                Tracked &operator=(const Tracked &v) { if(v.set) { value = v.value; set = true; } return *this; }
 
                Tracked &operator=(const T &v) { value = v; set = true; return *this; }
@@ -95,19 +95,17 @@ public:
        std::vector<Msp::FS::Path> local_incpath;
        std::vector<Msp::FS::Path> libpath;
        std::vector<std::string> libs;
-       Tracked<LibraryMode> libmode;
-       Tracked<RuntimePathMode> rpath_mode;
+       Tracked<LibraryMode> libmode = DYNAMIC;
+       Tracked<RuntimePathMode> rpath_mode = NO_RPATH;
        std::map<std::string, LibraryMode> libmodes;
        std::vector<std::string> keep_symbols;
        std::map<std::string, LanguageStandard> standards;
-       Tracked<bool> threads;
-       Tracked<bool> debug;
-       Tracked<int> optimize;
-       Tracked<bool> strip;
-       Tracked<unsigned> warning_level;
-       Tracked<bool> fatal_warnings;
-
-       BuildInfo();
+       Tracked<bool> threads = false;
+       Tracked<bool> debug = false;
+       Tracked<int> optimize = 0;
+       Tracked<bool> strip = false;
+       Tracked<unsigned> warning_level = 0;
+       Tracked<bool> fatal_warnings = false;
 
        /** Returns the library mode for linking a particular library.  If no mode
        has been specified for that library, the the global library mode is