]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/module.h
Use default member initializers for simple types
[libs/gl.git] / source / core / module.h
index 34553b44c0e239bfeccac39b873a61b4ea26333d..7713d3ce0a77a79af54b61298868a31b24c77d1a 100644 (file)
@@ -31,9 +31,9 @@ public:
        };
 
 protected:
-       Module() { }
+       Module() = default;
 public:
-       virtual ~Module() { }
+       virtual ~Module() = default;
 
        virtual Format get_format() const = 0;
 
@@ -86,46 +86,40 @@ public:
        struct EntryPoint
        {
                std::string name;
-               Stage stage;
+               Stage stage = VERTEX;
                std::vector<const Variable *> globals;
-
-               EntryPoint();
        };
 
        struct StructMember
        {
                std::string name;
-               DataType type;
-               const Structure *struct_type;
-               unsigned offset;
-               unsigned array_size;
-               const Constant *array_size_spec;
-               unsigned array_stride;
-               unsigned matrix_stride;
-
-               StructMember();
+               DataType type = VOID;
+               const Structure *struct_type = 0;
+               unsigned offset = 0;
+               unsigned array_size = 0;
+               const Constant *array_size_spec = 0;
+               unsigned array_stride = 0;
+               unsigned matrix_stride = 0;
        };
 
        struct Structure
        {
                std::string name;
                std::vector<StructMember> members;
-               unsigned size;
+               unsigned size = 0;
        };
 
        struct Variable
        {
                std::string name;
-               StorageClass storage;
-               DataType type;
-               const Structure *struct_type;
-               const Constant *array_size_spec;
-               unsigned array_size;
-               int location;
-               int descriptor_set;
-               int binding;
-
-               Variable();
+               StorageClass storage = static_cast<StorageClass>(-1);
+               DataType type = VOID;
+               const Structure *struct_type = 0;
+               const Constant *array_size_spec = 0;
+               unsigned array_size = 0;
+               int location = -1;
+               int descriptor_set = -1;
+               int binding = -1;
 
                bool operator==(const Variable &) const;
        };
@@ -133,11 +127,11 @@ public:
        struct Constant
        {
                std::string name;
-               int constant_id;
-               DataType type;
+               int constant_id = -1;
+               DataType type = VOID;
                union
                {
-                       int i_value;
+                       int i_value = 0;
                        float f_value;
                };
        };
@@ -145,14 +139,12 @@ public:
 private:
        struct TypeInfo
        {
-               DataType type;
-               const Structure *struct_type;
-               const Constant *array_size_spec;
-               unsigned array_size;
-               unsigned array_stride;
-               StorageClass storage;
-
-               TypeInfo();
+               DataType type = VOID;
+               const Structure *struct_type = 0;
+               const Constant *array_size_spec = 0;
+               unsigned array_size = 0;
+               unsigned array_stride = 0;
+               StorageClass storage = static_cast<StorageClass>(-1);
        };
 
        struct Reflection
@@ -198,7 +190,7 @@ private:
        std::vector<Constant> spec_constants;
 
 public:
-       SpirVModule() { }
+       SpirVModule() = default;
        SpirVModule(const SpirVModule &);
        SpirVModule &operator=(const SpirVModule &);
 private: