Browse Source

Tidy Up Constructors and Destructors

This commit does not add or remove c’tors or d’tors, so it is *not* ABI-breaking.

If a c’tor/d’tor does nothing else than the default behavior, this commit replaces it with “= default”.

If an initializer list entry does nothing else than the default behavior, this commit removes it. First and foremost, remove default c’tor calls of base classes (always called by the compiler if no other base c’tor is explicitly called) and c’tor calls of members with complex types (e.g. “std::vector”).

In a few instances, user-defined copy c’tors / move c’tors / assignment operators / move assignment operators were replaced with “= default”, too. I only did this if I had a clear understanding of what’s going on.
Krishty 2 năm trước cách đây
mục cha
commit
36305cf987
40 tập tin đã thay đổi với 63 bổ sung323 xóa
  1. 7 118
      code/AssetLib/3DS/3DSHelper.h
  2. 1 3
      code/AssetLib/3MF/3MFTypes.h
  3. 1 1
      code/AssetLib/3MF/D3MFExporter.cpp
  4. 1 5
      code/AssetLib/AMF/AMFImporter.cpp
  5. 4 6
      code/AssetLib/AMF/AMFImporter_Node.hpp
  6. 1 3
      code/AssetLib/Blender/BlenderDNA.h
  7. 1 3
      code/AssetLib/Blender/BlenderModifier.h
  8. 7 18
      code/AssetLib/Blender/BlenderScene.h
  9. 1 3
      code/AssetLib/Blender/BlenderTessellator.cpp
  10. 2 7
      code/AssetLib/C4D/C4DImporter.cpp
  11. 0 9
      code/AssetLib/Collada/ColladaLoader.cpp
  12. 1 3
      code/AssetLib/DXF/DXFHelper.h
  13. 0 4
      code/AssetLib/FBX/FBXExportNode.h
  14. 1 4
      code/AssetLib/FBX/FBXImporter.cpp
  15. 1 5
      code/AssetLib/Irr/IRRMeshLoader.cpp
  16. 1 3
      code/AssetLib/Irr/IRRShared.h
  17. 1 1
      code/AssetLib/M3D/M3DImporter.h
  18. 0 1
      code/AssetLib/OpenGEX/OpenGEXImporter.cpp
  19. 4 16
      code/AssetLib/Ply/PlyParser.h
  20. 1 13
      code/AssetLib/Q3BSP/Q3BSPFileData.h
  21. 1 1
      code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp
  22. 0 1
      code/AssetLib/SMD/SMDLoader.cpp
  23. 1 1
      code/AssetLib/SMD/SMDLoader.h
  24. 4 19
      code/AssetLib/X/XFileHelper.h
  25. 1 3
      code/AssetLib/X/XFileImporter.cpp
  26. 2 10
      code/AssetLib/X3D/X3DExporter.hpp
  27. 2 6
      code/AssetLib/X3D/X3DImporter_Node.hpp
  28. 2 6
      code/AssetLib/glTF/glTFAsset.h
  29. 1 1
      code/AssetLib/glTF/glTFImporter.cpp
  30. 2 12
      code/AssetLib/glTF2/glTF2Asset.h
  31. 0 3
      code/AssetLib/glTF2/glTF2Importer.cpp
  32. 1 3
      code/Common/FileSystemFilter.h
  33. 1 3
      include/assimp/IOStream.hpp
  34. 1 3
      include/assimp/IOStreamBuffer.h
  35. 1 4
      include/assimp/IOSystem.hpp
  36. 1 4
      include/assimp/LineSplitter.h
  37. 1 2
      include/assimp/MemoryIOWrapper.h
  38. 1 3
      include/assimp/Profiler.h
  39. 2 6
      include/assimp/ProgressHandler.hpp
  40. 2 6
      include/assimp/SceneCombiner.h

+ 7 - 118
code/AssetLib/3DS/3DSHelper.h

@@ -322,7 +322,6 @@ struct Texture {
     //! Default constructor
     //! Default constructor
     Texture() AI_NO_EXCEPT
     Texture() AI_NO_EXCEPT
             : mTextureBlend(0.0f),
             : mTextureBlend(0.0f),
-              mMapName(),
               mOffsetU(0.0),
               mOffsetU(0.0),
               mOffsetV(0.0),
               mOffsetV(0.0),
               mScaleU(1.0),
               mScaleU(1.0),
@@ -334,51 +333,11 @@ struct Texture {
         mTextureBlend = get_qnan();
         mTextureBlend = get_qnan();
     }
     }
 
 
-    Texture(const Texture &other) :
-            mTextureBlend(other.mTextureBlend),
-            mMapName(other.mMapName),
-            mOffsetU(other.mOffsetU),
-            mOffsetV(other.mOffsetV),
-            mScaleU(other.mScaleU),
-            mScaleV(other.mScaleV),
-            mRotation(other.mRotation),
-            mMapMode(other.mMapMode),
-            bPrivate(other.bPrivate),
-            iUVSrc(other.iUVSrc) {
-        // empty
-    }
-
-    Texture(Texture &&other) AI_NO_EXCEPT : mTextureBlend(other.mTextureBlend),
-                                            mMapName(std::move(other.mMapName)),
-                                            mOffsetU(other.mOffsetU),
-                                            mOffsetV(other.mOffsetV),
-                                            mScaleU(other.mScaleU),
-                                            mScaleV(other.mScaleV),
-                                            mRotation(other.mRotation),
-                                            mMapMode(other.mMapMode),
-                                            bPrivate(other.bPrivate),
-                                            iUVSrc(other.iUVSrc) {
-        // empty
-    }
+    Texture(const Texture &other) = default;
 
 
-    Texture &operator=(Texture &&other) AI_NO_EXCEPT {
-        if (this == &other) {
-            return *this;
-        }
-
-        mTextureBlend = other.mTextureBlend;
-        mMapName = std::move(other.mMapName);
-        mOffsetU = other.mOffsetU;
-        mOffsetV = other.mOffsetV;
-        mScaleU = other.mScaleU;
-        mScaleV = other.mScaleV;
-        mRotation = other.mRotation;
-        mMapMode = other.mMapMode;
-        bPrivate = other.bPrivate;
-        iUVSrc = other.iUVSrc;
+    Texture(Texture &&other) AI_NO_EXCEPT = default;
 
 
-        return *this;
-    }
+    Texture &operator=(Texture &&other) AI_NO_EXCEPT = default;
 
 
     //! Specifies the blend factor for the texture
     //! Specifies the blend factor for the texture
     ai_real mTextureBlend;
     ai_real mTextureBlend;
@@ -436,83 +395,13 @@ struct Material {
         // empty
         // empty
     }
     }
 
 
-    Material(const Material &other) :
-            mName(other.mName),
-            mDiffuse(other.mDiffuse),
-            mSpecularExponent(other.mSpecularExponent),
-            mShininessStrength(other.mShininessStrength),
-            mSpecular(other.mSpecular),
-            mAmbient(other.mAmbient),
-            mShading(other.mShading),
-            mTransparency(other.mTransparency),
-            sTexDiffuse(other.sTexDiffuse),
-            sTexOpacity(other.sTexOpacity),
-            sTexSpecular(other.sTexSpecular),
-            sTexReflective(other.sTexReflective),
-            sTexBump(other.sTexBump),
-            sTexEmissive(other.sTexEmissive),
-            sTexShininess(other.sTexShininess),
-            mBumpHeight(other.mBumpHeight),
-            mEmissive(other.mEmissive),
-            sTexAmbient(other.sTexAmbient),
-            mTwoSided(other.mTwoSided) {
-        // empty
-    }
-
-    //! Move constructor. This is explicitly written because MSVC doesn't support defaulting it
-    Material(Material &&other) AI_NO_EXCEPT : mName(std::move(other.mName)),
-                                              mDiffuse(other.mDiffuse),
-                                              mSpecularExponent(other.mSpecularExponent),
-                                              mShininessStrength(other.mShininessStrength),
-                                              mSpecular(other.mSpecular),
-                                              mAmbient(other.mAmbient),
-                                              mShading(other.mShading),
-                                              mTransparency(other.mTransparency),
-                                              sTexDiffuse(std::move(other.sTexDiffuse)),
-                                              sTexOpacity(std::move(other.sTexOpacity)),
-                                              sTexSpecular(std::move(other.sTexSpecular)),
-                                              sTexReflective(std::move(other.sTexReflective)),
-                                              sTexBump(std::move(other.sTexBump)),
-                                              sTexEmissive(std::move(other.sTexEmissive)),
-                                              sTexShininess(std::move(other.sTexShininess)),
-                                              mBumpHeight(other.mBumpHeight),
-                                              mEmissive(other.mEmissive),
-                                              sTexAmbient(std::move(other.sTexAmbient)),
-                                              mTwoSided(other.mTwoSided) {
-        // empty
-    }
+    Material(const Material &other) = default;
 
 
-    Material &operator=(Material &&other) AI_NO_EXCEPT {
-        if (this == &other) {
-            return *this;
-        }
-
-        mName = std::move(other.mName);
-        mDiffuse = other.mDiffuse;
-        mSpecularExponent = other.mSpecularExponent;
-        mShininessStrength = other.mShininessStrength,
-        mSpecular = other.mSpecular;
-        mAmbient = other.mAmbient;
-        mShading = other.mShading;
-        mTransparency = other.mTransparency;
-        sTexDiffuse = std::move(other.sTexDiffuse);
-        sTexOpacity = std::move(other.sTexOpacity);
-        sTexSpecular = std::move(other.sTexSpecular);
-        sTexReflective = std::move(other.sTexReflective);
-        sTexBump = std::move(other.sTexBump);
-        sTexEmissive = std::move(other.sTexEmissive);
-        sTexShininess = std::move(other.sTexShininess);
-        mBumpHeight = other.mBumpHeight;
-        mEmissive = other.mEmissive;
-        sTexAmbient = std::move(other.sTexAmbient);
-        mTwoSided = other.mTwoSided;
+    Material(Material &&other) AI_NO_EXCEPT = default;
 
 
-        return *this;
-    }
+    Material &operator=(Material &&other) AI_NO_EXCEPT = default;
 
 
-    virtual ~Material() {
-        // empty
-    }
+    virtual ~Material() = default;
 
 
     //! Name of the material
     //! Name of the material
     std::string mName;
     std::string mName;

+ 1 - 3
code/AssetLib/3MF/3MFTypes.h

@@ -69,9 +69,7 @@ public:
         // empty
         // empty
     }
     }
 
 
-    virtual ~Resource() {
-        // empty
-    }
+    virtual ~Resource() = default;
 
 
     virtual ResourceType getType() const {
     virtual ResourceType getType() const {
         return ResourceType::RT_Unknown;
         return ResourceType::RT_Unknown;

+ 1 - 1
code/AssetLib/3MF/D3MFExporter.cpp

@@ -83,7 +83,7 @@ void ExportScene3MF(const char *pFile, IOSystem *pIOSystem, const aiScene *pScen
 namespace D3MF {
 namespace D3MF {
 
 
 D3MFExporter::D3MFExporter(const char *pFile, const aiScene *pScene) :
 D3MFExporter::D3MFExporter(const char *pFile, const aiScene *pScene) :
-        mArchiveName(pFile), m_zipArchive(nullptr), mScene(pScene), mModelOutput(), mRelOutput(), mContentOutput(), mBuildItems(), mRelations() {
+        mArchiveName(pFile), m_zipArchive(nullptr), mScene(pScene) {
     // empty
     // empty
 }
 }
 
 

+ 1 - 5
code/AssetLib/AMF/AMFImporter.cpp

@@ -83,11 +83,7 @@ void AMFImporter::Clear() {
 
 
 AMFImporter::AMFImporter() AI_NO_EXCEPT :
 AMFImporter::AMFImporter() AI_NO_EXCEPT :
         mNodeElement_Cur(nullptr),
         mNodeElement_Cur(nullptr),
-        mXmlParser(nullptr),
-        mUnit(),
-        mVersion(),
-        mMaterial_Converted(),
-        mTexture_Converted() {
+        mXmlParser(nullptr) {
     // empty
     // empty
 }
 }
 
 

+ 4 - 6
code/AssetLib/AMF/AMFImporter_Node.hpp

@@ -88,9 +88,7 @@ public:
 	std::list<AMFNodeElementBase *> Child; ///< Child elements.
 	std::list<AMFNodeElementBase *> Child; ///< Child elements.
 
 
 public: /// Destructor, virtual..
 public: /// Destructor, virtual..
-	virtual ~AMFNodeElementBase() {
-		// empty
-	}
+	virtual ~AMFNodeElementBase() = default;
 
 
 	/// Disabled copy constructor and co.
 	/// Disabled copy constructor and co.
 	AMFNodeElementBase(const AMFNodeElementBase &pNodeElement) = delete;
 	AMFNodeElementBase(const AMFNodeElementBase &pNodeElement) = delete;
@@ -103,7 +101,7 @@ protected:
 	/// \param [in] pType - element type.
 	/// \param [in] pType - element type.
 	/// \param [in] pParent - parent element.
 	/// \param [in] pParent - parent element.
 	AMFNodeElementBase(const EType pType, AMFNodeElementBase *pParent) :
 	AMFNodeElementBase(const EType pType, AMFNodeElementBase *pParent) :
-			Type(pType), ID(), Parent(pParent), Child() {
+			Type(pType), Parent(pParent) {
 		// empty
 		// empty
 	}
 	}
 }; // class IAMFImporter_NodeElement
 }; // class IAMFImporter_NodeElement
@@ -174,7 +172,7 @@ struct AMFColor : public AMFNodeElementBase {
 	/// @brief  Constructor.
 	/// @brief  Constructor.
 	/// @param [in] pParent - pointer to parent node.
 	/// @param [in] pParent - pointer to parent node.
 	AMFColor(AMFNodeElementBase *pParent) :
 	AMFColor(AMFNodeElementBase *pParent) :
-			AMFNodeElementBase(ENET_Color, pParent), Composed(false), Color(), Profile() {
+			AMFNodeElementBase(ENET_Color, pParent), Composed(false), Color() {
 		// empty
 		// empty
 	}
 	}
 };
 };
@@ -270,7 +268,7 @@ struct AMFTexMap : public AMFNodeElementBase {
 	/// Constructor.
 	/// Constructor.
 	/// \param [in] pParent - pointer to parent node.
 	/// \param [in] pParent - pointer to parent node.
 	AMFTexMap(AMFNodeElementBase *pParent) :
 	AMFTexMap(AMFNodeElementBase *pParent) :
-			AMFNodeElementBase(ENET_TexMap, pParent), TextureCoordinate{}, TextureID_R(), TextureID_G(), TextureID_B(), TextureID_A() {
+			AMFNodeElementBase(ENET_TexMap, pParent), TextureCoordinate{} {
 		// empty
 		// empty
 	}
 	}
 };
 };

+ 1 - 3
code/AssetLib/Blender/BlenderDNA.h

@@ -106,9 +106,7 @@ struct ElemBase {
         // empty
         // empty
     }
     }
 
 
-    virtual ~ElemBase() {
-        // empty
-    }
+    virtual ~ElemBase() = default;
 
 
     /** Type name of the element. The type
     /** Type name of the element. The type
      * string points is the `c_str` of the `name` attribute of the
      * string points is the `c_str` of the `name` attribute of the

+ 1 - 3
code/AssetLib/Blender/BlenderModifier.h

@@ -62,9 +62,7 @@ public:
     /**
     /**
      *  The class destructor, virtual.
      *  The class destructor, virtual.
      */
      */
-    virtual ~BlenderModifier() {
-        // empty
-    }
+    virtual ~BlenderModifier() = default;
 
 
     // --------------------
     // --------------------
     /**
     /**

+ 7 - 18
code/AssetLib/Blender/BlenderScene.h

@@ -182,7 +182,7 @@ struct MVert : ElemBase {
     int bweight;
     int bweight;
 
 
     MVert() :
     MVert() :
-            ElemBase(), flag(0), mat_nr(0), bweight(0) {}
+            flag(0), mat_nr(0), bweight(0) {}
 };
 };
 
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
@@ -417,7 +417,6 @@ struct CustomDataLayer : ElemBase {
     std::shared_ptr<ElemBase> data; // must be converted to real type according type member
     std::shared_ptr<ElemBase> data; // must be converted to real type according type member
 
 
     CustomDataLayer() :
     CustomDataLayer() :
-            ElemBase(),
             type(0),
             type(0),
             offset(0),
             offset(0),
             flag(0),
             flag(0),
@@ -729,7 +728,7 @@ struct Object : ElemBase {
     ListBase modifiers;
     ListBase modifiers;
 
 
     Object() :
     Object() :
-            ElemBase(), type(Type_EMPTY), parent(nullptr), track(), proxy(), proxy_from(), data() {
+            type(Type_EMPTY), parent(nullptr) {
         // empty
         // empty
     }
     }
 };
 };
@@ -741,8 +740,7 @@ struct Base : ElemBase {
     std::shared_ptr<Object> object WARN;
     std::shared_ptr<Object> object WARN;
 
 
     Base() :
     Base() :
-            ElemBase(), prev(nullptr), next(), object() {
-        // empty
+            prev(nullptr) {
         // empty
         // empty
     }
     }
 };
 };
@@ -758,10 +756,7 @@ struct Scene : ElemBase {
 
 
     ListBase base;
     ListBase base;
 
 
-    Scene() :
-            ElemBase(), camera(), world(), basact(), master_collection() {
-        // empty
-    }
+    Scene() = default;
 };
 };
 
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
@@ -791,10 +786,7 @@ struct Image : ElemBase {
 
 
     short gen_x, gen_y, gen_type;
     short gen_x, gen_y, gen_type;
 
 
-    Image() :
-            ElemBase() {
-        // empty
-    }
+    Image() = default;
 };
 };
 
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
@@ -884,7 +876,7 @@ struct Tex : ElemBase {
     //char use_nodes;
     //char use_nodes;
 
 
     Tex() :
     Tex() :
-            ElemBase(), imaflag(ImageFlags_INTERPOL), type(Type_CLOUDS), ima() {
+            imaflag(ImageFlags_INTERPOL), type(Type_CLOUDS) {
         // empty
         // empty
     }
     }
 };
 };
@@ -976,10 +968,7 @@ struct MTex : ElemBase {
     //float shadowfac;
     //float shadowfac;
     //float zenupfac, zendownfac, blendfac;
     //float zenupfac, zendownfac, blendfac;
 
 
-    MTex() :
-            ElemBase() {
-        // empty
-    }
+    MTex() = default;
 };
 };
 
 
 } // namespace Blender
 } // namespace Blender

+ 1 - 3
code/AssetLib/Blender/BlenderTessellator.cpp

@@ -81,9 +81,7 @@ BlenderTessellatorGL::BlenderTessellatorGL( BlenderBMeshConverter& converter ):
 }
 }
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
-BlenderTessellatorGL::~BlenderTessellatorGL( )
-{
-}
+BlenderTessellatorGL::~BlenderTessellatorGL() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 void BlenderTessellatorGL::Tessellate( const MLoop* polyLoop, int vertexCount, const std::vector< MVert >& vertices )
 void BlenderTessellatorGL::Tessellate( const MLoop* polyLoop, int vertexCount, const std::vector< MVert >& vertices )

+ 2 - 7
code/AssetLib/C4D/C4DImporter.cpp

@@ -106,15 +106,10 @@ static const aiImporterDesc desc = {
 
 
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
-C4DImporter::C4DImporter()
-: BaseImporter() {
-    // empty
-}
+C4DImporter::C4DImporter() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
-C4DImporter::~C4DImporter() {
-    // empty
-}
+C4DImporter::~C4DImporter() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 bool C4DImporter::CanRead( const std::string& pFile, IOSystem* /*pIOHandler*/, bool /*checkSig*/) const {
 bool C4DImporter::CanRead( const std::string& pFile, IOSystem* /*pIOHandler*/, bool /*checkSig*/) const {

+ 0 - 9
code/AssetLib/Collada/ColladaLoader.cpp

@@ -92,15 +92,6 @@ inline void AddNodeMetaData(aiNode *node, const std::string &key, const T &value
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Constructor to be privately used by Importer
 // Constructor to be privately used by Importer
 ColladaLoader::ColladaLoader() :
 ColladaLoader::ColladaLoader() :
-        mFileName(),
-        mMeshIndexByID(),
-        mMaterialIndexByName(),
-        mMeshes(),
-        newMats(),
-        mCameras(),
-        mLights(),
-        mTextures(),
-        mAnims(),
         noSkeletonMesh(false),
         noSkeletonMesh(false),
         removeEmptyBones(false),
         removeEmptyBones(false),
         ignoreUpDirection(false),
         ignoreUpDirection(false),

+ 1 - 3
code/AssetLib/DXF/DXFHelper.h

@@ -65,7 +65,6 @@ public:
     LineReader(StreamReaderLE& reader)
     LineReader(StreamReaderLE& reader)
     : splitter(reader,false,true)
     : splitter(reader,false,true)
     , groupcode( 0 )
     , groupcode( 0 )
-    , value()
     , end() {
     , end() {
         // empty
         // empty
     }
     }
@@ -186,8 +185,7 @@ struct InsertBlock {
     InsertBlock()
     InsertBlock()
     : pos()
     : pos()
     , scale(1.f,1.f,1.f)
     , scale(1.f,1.f,1.f)
-    , angle()
-    , name() {
+    , angle() {
         // empty
         // empty
     }
     }
 
 

+ 0 - 4
code/AssetLib/FBX/FBXExportNode.h

@@ -77,8 +77,6 @@ public: // constructors
     /// The class constructor with the name.
     /// The class constructor with the name.
     Node(const std::string& n)
     Node(const std::string& n)
     : name(n)
     : name(n)
-    , properties()
-    , children()
     , force_has_children( false ) {
     , force_has_children( false ) {
         // empty
         // empty
     }
     }
@@ -87,8 +85,6 @@ public: // constructors
     template <typename... More>
     template <typename... More>
     Node(const std::string& n, More&&... more)
     Node(const std::string& n, More&&... more)
     : name(n)
     : name(n)
-    , properties()
-    , children()
     , force_has_children(false) {
     , force_has_children(false) {
         AddProperties(std::forward<More>(more)...);
         AddProperties(std::forward<More>(more)...);
     }
     }

+ 1 - 4
code/AssetLib/FBX/FBXImporter.cpp

@@ -90,10 +90,7 @@ static const aiImporterDesc desc = {
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Constructor to be privately used by #Importer
 // Constructor to be privately used by #Importer
-FBXImporter::FBXImporter() :
-        mSettings() {
-    // empty
-}
+FBXImporter::FBXImporter() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Returns whether the class can handle the format of the given file.
 // Returns whether the class can handle the format of the given file.

+ 1 - 5
code/AssetLib/Irr/IRRMeshLoader.cpp

@@ -71,11 +71,7 @@ static const aiImporterDesc desc = {
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Constructor to be privately used by Importer
 // Constructor to be privately used by Importer
-IRRMeshImporter::IRRMeshImporter() :
-        BaseImporter(),
-        IrrlichtBase() {
-    // empty
-}
+IRRMeshImporter::IRRMeshImporter() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Destructor, private as well
 // Destructor, private as well

+ 1 - 3
code/AssetLib/Irr/IRRShared.h

@@ -63,9 +63,7 @@ protected:
         // empty
         // empty
     }
     }
 
 
-    ~IrrlichtBase() {
-        // empty
-    }
+    ~IrrlichtBase() = default;
 
 
     /** @brief Data structure for a simple name-value property
     /** @brief Data structure for a simple name-value property
      */
      */

+ 1 - 1
code/AssetLib/M3D/M3DImporter.h

@@ -65,7 +65,7 @@ class M3DImporter : public BaseImporter {
 public:
 public:
 	/// \brief  Default constructor
 	/// \brief  Default constructor
 	M3DImporter();
 	M3DImporter();
-    ~M3DImporter() override {}
+    ~M3DImporter() override = default;
 
 
 	/// \brief  Returns whether the class can handle the format of the given file.
 	/// \brief  Returns whether the class can handle the format of the given file.
 	/// \remark See BaseImporter::CanRead() for details.
 	/// \remark See BaseImporter::CanRead() for details.

+ 0 - 1
code/AssetLib/OpenGEX/OpenGEXImporter.cpp

@@ -261,7 +261,6 @@ OpenGEXImporter::RefInfo::RefInfo(aiNode *node, Type type, std::vector<std::stri
 OpenGEXImporter::OpenGEXImporter() :
 OpenGEXImporter::OpenGEXImporter() :
         m_root(nullptr),
         m_root(nullptr),
         m_nodeChildMap(),
         m_nodeChildMap(),
-        m_meshCache(),
         m_mesh2refMap(),
         m_mesh2refMap(),
         m_material2refMap(),
         m_material2refMap(),
         m_ctx(nullptr),
         m_ctx(nullptr),

+ 4 - 16
code/AssetLib/Ply/PlyParser.h

@@ -296,9 +296,7 @@ class PropertyInstance
 public:
 public:
 
 
     //! Default constructor
     //! Default constructor
-    PropertyInstance() AI_NO_EXCEPT {
-        // empty
-    }
+    PropertyInstance() AI_NO_EXCEPT = default;
 
 
     union ValueUnion
     union ValueUnion
     {
     {
@@ -359,10 +357,7 @@ public:
 class ElementInstance {
 class ElementInstance {
 public:
 public:
     //! Default constructor
     //! Default constructor
-    ElementInstance()  AI_NO_EXCEPT
-    : alProperties() {
-        // empty
-    }
+    ElementInstance() AI_NO_EXCEPT = default;
 
 
     //! List of all parsed properties
     //! List of all parsed properties
     std::vector< PropertyInstance > alProperties;
     std::vector< PropertyInstance > alProperties;
@@ -386,10 +381,7 @@ class ElementInstanceList
 public:
 public:
 
 
     //! Default constructor
     //! Default constructor
-    ElementInstanceList() AI_NO_EXCEPT
-    : alInstances() {
-        // empty
-    }
+    ElementInstanceList() AI_NO_EXCEPT = default;
 
 
     //! List of all element instances
     //! List of all element instances
     std::vector< ElementInstance > alInstances;
     std::vector< ElementInstance > alInstances;
@@ -413,11 +405,7 @@ class DOM
 public:
 public:
 
 
     //! Default constructor
     //! Default constructor
-    DOM() AI_NO_EXCEPT
-    : alElements()
-    , alElementData() {
-
-    }
+    DOM() AI_NO_EXCEPT = default;
 
 
 
 
     //! Contains all elements of the file format
     //! Contains all elements of the file format

+ 1 - 13
code/AssetLib/Q3BSP/Q3BSPFileData.h

@@ -169,19 +169,7 @@ struct Q3BSPModel {
     std::vector<char> m_EntityData;
     std::vector<char> m_EntityData;
     std::string m_ModelName;
     std::string m_ModelName;
 
 
-    Q3BSPModel() :
-        m_Data(),
-        m_Lumps(),
-        m_Vertices(),
-        m_Faces(),
-        m_Indices(),
-        m_Textures(),
-        m_Lightmaps(),
-        m_EntityData(),
-        m_ModelName()
-    {
-        // empty
-    }
+    Q3BSPModel() = default;
 
 
     ~Q3BSPModel() {
     ~Q3BSPModel() {
         for ( unsigned int i=0; i<m_Lumps.size(); i++ ) {
         for ( unsigned int i=0; i<m_Lumps.size(); i++ ) {

+ 1 - 1
code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp

@@ -139,7 +139,7 @@ static void normalizePathName(const std::string &rPath, std::string &normalizedP
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 //  Constructor.
 //  Constructor.
 Q3BSPFileImporter::Q3BSPFileImporter() :
 Q3BSPFileImporter::Q3BSPFileImporter() :
-        m_pCurrentMesh(nullptr), m_pCurrentFace(nullptr), m_MaterialLookupMap(), mTextures() {
+        m_pCurrentMesh(nullptr), m_pCurrentFace(nullptr) {
     // empty
     // empty
 }
 }
 
 

+ 0 - 1
code/AssetLib/SMD/SMDLoader.cpp

@@ -83,7 +83,6 @@ static const aiImporterDesc desc = {
 // Constructor to be privately used by Importer
 // Constructor to be privately used by Importer
 SMDImporter::SMDImporter() :
 SMDImporter::SMDImporter() :
         configFrameID(), 
         configFrameID(), 
-        mBuffer(), 
         pScene( nullptr ), 
         pScene( nullptr ), 
         iFileSize( 0 ), 
         iFileSize( 0 ), 
         iSmallestFrame( INT_MAX ),
         iSmallestFrame( INT_MAX ),

+ 1 - 1
code/AssetLib/SMD/SMDLoader.h

@@ -87,7 +87,7 @@ struct Vertex {
 */
 */
 struct Face {
 struct Face {
     Face() AI_NO_EXCEPT :
     Face() AI_NO_EXCEPT :
-            iTexture(0x0), avVertices{} {
+            iTexture(0x0) {
         // empty
         // empty
     }
     }
     
     

+ 4 - 19
code/AssetLib/X/XFileHelper.h

@@ -67,7 +67,6 @@ struct TexEntry {
     bool mIsNormalMap; // true if the texname was specified in a NormalmapFilename tag
     bool mIsNormalMap; // true if the texname was specified in a NormalmapFilename tag
 
 
     TexEntry() AI_NO_EXCEPT :
     TexEntry() AI_NO_EXCEPT :
-            mName(),
             mIsNormalMap(false) {
             mIsNormalMap(false) {
         // empty
         // empty
     }
     }
@@ -128,17 +127,8 @@ struct Mesh {
 
 
     explicit Mesh(const std::string &pName = std::string()) AI_NO_EXCEPT
     explicit Mesh(const std::string &pName = std::string()) AI_NO_EXCEPT
             : mName(pName),
             : mName(pName),
-              mPositions(),
-              mPosFaces(),
-              mNormals(),
-              mNormFaces(),
               mNumTextures(0),
               mNumTextures(0),
-              mTexCoords{},
-              mNumColorSets(0),
-              mColors{},
-              mFaceMaterials(),
-              mMaterials(),
-              mBones() {
+              mNumColorSets(0) {
         // empty
         // empty
     }
     }
 };
 };
@@ -152,15 +142,12 @@ struct Node {
     std::vector<Mesh *> mMeshes;
     std::vector<Mesh *> mMeshes;
 
 
     Node() AI_NO_EXCEPT
     Node() AI_NO_EXCEPT
-            : mName(),
-              mTrafoMatrix(),
-              mParent(nullptr),
-              mChildren(),
-              mMeshes() {
+            : mTrafoMatrix(),
+              mParent(nullptr) {
         // empty
         // empty
     }
     }
     explicit Node(Node *pParent) :
     explicit Node(Node *pParent) :
-            mName(), mTrafoMatrix(), mParent(pParent), mChildren(), mMeshes() {
+            mTrafoMatrix(), mParent(pParent) {
         // empty
         // empty
     }
     }
 
 
@@ -211,8 +198,6 @@ struct Scene {
 
 
     Scene() AI_NO_EXCEPT
     Scene() AI_NO_EXCEPT
             : mRootNode(nullptr),
             : mRootNode(nullptr),
-              mGlobalMeshes(),
-              mGlobalMaterials(),
               mAnimTicksPerSecond(0) {
               mAnimTicksPerSecond(0) {
         // empty
         // empty
     }
     }

+ 1 - 3
code/AssetLib/X/XFileImporter.cpp

@@ -75,9 +75,7 @@ static const aiImporterDesc desc = {
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Constructor to be privately used by Importer
 // Constructor to be privately used by Importer
-XFileImporter::XFileImporter() : mBuffer() {
-    // empty
-}
+XFileImporter::XFileImporter() = default;
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------
 // Returns whether the class can handle the format of the given file.
 // Returns whether the class can handle the format of the given file.

+ 2 - 10
code/AssetLib/X3D/X3DExporter.hpp

@@ -52,22 +52,14 @@ class X3DExporter {
     struct SAttribute {
     struct SAttribute {
         const std::string Name;
         const std::string Name;
         const std::string Value;
         const std::string Value;
-        SAttribute() :
-                Name(),
-                Value() {
-            // empty
-        }
+        SAttribute() = default;
         SAttribute(const std::string &name, const std::string &value) :
         SAttribute(const std::string &name, const std::string &value) :
                 Name(name),
                 Name(name),
                 Value(value) {
                 Value(value) {
             // empty
             // empty
         }
         }
 
 
-        SAttribute(SAttribute &&rhs) AI_NO_EXCEPT :
-                Name(rhs.Name),
-                Value(rhs.Value) {
-            // empty
-        }
+        SAttribute(SAttribute &&rhs) AI_NO_EXCEPT = default;
     };
     };
 
 
     /***********************************************/
     /***********************************************/

+ 2 - 6
code/AssetLib/X3D/X3DImporter_Node.hpp

@@ -108,9 +108,7 @@ struct X3DNodeElementBase {
     std::list<X3DNodeElementBase *> Children;
     std::list<X3DNodeElementBase *> Children;
     X3DElemType Type;
     X3DElemType Type;
 
 
-    virtual ~X3DNodeElementBase() {
-        // empty
-    }
+    virtual ~X3DNodeElementBase() = default;
 
 
 protected:
 protected:
     X3DNodeElementBase(X3DElemType type, X3DNodeElementBase *pParent) :
     X3DNodeElementBase(X3DElemType type, X3DNodeElementBase *pParent) :
@@ -367,9 +365,7 @@ struct X3DNodeElementMeta : X3DNodeElementBase {
     std::string Name; ///< Name of metadata object.
     std::string Name; ///< Name of metadata object.
     std::string Reference;
     std::string Reference;
 
 
-    virtual ~X3DNodeElementMeta() {
-        // empty
-    }
+    virtual ~X3DNodeElementMeta() = default;
 
 
 protected:
 protected:
     X3DNodeElementMeta(X3DElemType type, X3DNodeElementBase *parent) :
     X3DNodeElementMeta(X3DElemType type, X3DNodeElementBase *parent) :

+ 2 - 6
code/AssetLib/glTF/glTFAsset.h

@@ -629,9 +629,7 @@ struct Mesh : public Object {
         SExtension(const EType pType) :
         SExtension(const EType pType) :
                 Type(pType) {}
                 Type(pType) {}
 
 
-        virtual ~SExtension() {
-            // empty
-        }
+        virtual ~SExtension() = default;
     };
     };
 
 
 #ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC
 #ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC
@@ -657,9 +655,7 @@ struct Mesh : public Object {
             // empty
             // empty
         }
         }
 
 
-        virtual ~SCompression_Open3DGC() {
-            // empty
-        }
+        virtual ~SCompression_Open3DGC() = default;
     };
     };
 #endif
 #endif
 
 

+ 1 - 1
code/AssetLib/glTF/glTFImporter.cpp

@@ -80,7 +80,7 @@ static const aiImporterDesc desc = {
 };
 };
 
 
 glTFImporter::glTFImporter() :
 glTFImporter::glTFImporter() :
-        BaseImporter(), meshOffsets(), embeddedTexIdxs(), mScene(nullptr) {
+        mScene(nullptr) {
     // empty
     // empty
 }
 }
 
 

+ 2 - 12
code/AssetLib/glTF2/glTF2Asset.h

@@ -365,16 +365,7 @@ struct CustomExtension {
 
 
     ~CustomExtension() = default;
     ~CustomExtension() = default;
 
 
-    CustomExtension(const CustomExtension &other) :
-            name(other.name),
-            mStringValue(other.mStringValue),
-            mDoubleValue(other.mDoubleValue),
-            mUint64Value(other.mUint64Value),
-            mInt64Value(other.mInt64Value),
-            mBoolValue(other.mBoolValue),
-            mValues(other.mValues) {
-        // empty
-    }
+    CustomExtension(const CustomExtension &other) = default;
 
 
     CustomExtension& operator=(const CustomExtension&) = default;
     CustomExtension& operator=(const CustomExtension&) = default;
 };
 };
@@ -1086,8 +1077,7 @@ struct AssetMetadata {
 
 
     void Read(Document &doc);
     void Read(Document &doc);
 
 
-    AssetMetadata() :
-            version() {}
+    AssetMetadata() = default;
 };
 };
 
 
 //
 //

+ 0 - 3
code/AssetLib/glTF2/glTF2Importer.cpp

@@ -96,9 +96,6 @@ static const aiImporterDesc desc = {
 };
 };
 
 
 glTF2Importer::glTF2Importer() :
 glTF2Importer::glTF2Importer() :
-        BaseImporter(),
-        meshOffsets(),
-        mEmbeddedTexIdxs(),
         mScene(nullptr) {
         mScene(nullptr) {
     // empty
     // empty
 }
 }

+ 1 - 3
code/Common/FileSystemFilter.h

@@ -93,9 +93,7 @@ public:
     }
     }
 
 
     /** Destructor. */
     /** Destructor. */
-    ~FileSystemFilter() {
-        // empty
-    }
+    ~FileSystemFilter() = default;
 
 
     // -------------------------------------------------------------------
     // -------------------------------------------------------------------
     /** Tests for the existence of a file at the given path. */
     /** Tests for the existence of a file at the given path. */

+ 1 - 3
include/assimp/IOStream.hpp

@@ -128,9 +128,7 @@ public:
 
 
 // ----------------------------------------------------------------------------------
 // ----------------------------------------------------------------------------------
 AI_FORCE_INLINE
 AI_FORCE_INLINE
-IOStream::IOStream() AI_NO_EXCEPT {
-    // empty
-}
+IOStream::IOStream() AI_NO_EXCEPT = default;
 
 
 // ----------------------------------------------------------------------------------
 // ----------------------------------------------------------------------------------
 AI_FORCE_INLINE
 AI_FORCE_INLINE

+ 1 - 3
include/assimp/IOStreamBuffer.h

@@ -141,9 +141,7 @@ AI_FORCE_INLINE IOStreamBuffer<T>::IOStreamBuffer(size_t cache) :
 }
 }
 
 
 template <class T>
 template <class T>
-AI_FORCE_INLINE IOStreamBuffer<T>::~IOStreamBuffer() {
-    // empty
-}
+AI_FORCE_INLINE IOStreamBuffer<T>::~IOStreamBuffer() = default;
 
 
 template <class T>
 template <class T>
 AI_FORCE_INLINE bool IOStreamBuffer<T>::open(IOStream *stream) {
 AI_FORCE_INLINE bool IOStreamBuffer<T>::open(IOStream *stream) {

+ 1 - 4
include/assimp/IOSystem.hpp

@@ -237,10 +237,7 @@ private:
 };
 };
 
 
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
-AI_FORCE_INLINE IOSystem::IOSystem() AI_NO_EXCEPT :
-        m_pathStack() {
-    // empty
-}
+AI_FORCE_INLINE IOSystem::IOSystem() AI_NO_EXCEPT = default;
 
 
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 AI_FORCE_INLINE IOSystem::~IOSystem() = default;
 AI_FORCE_INLINE IOSystem::~IOSystem() = default;

+ 1 - 4
include/assimp/LineSplitter.h

@@ -145,7 +145,6 @@ private:
 
 
 AI_FORCE_INLINE LineSplitter::LineSplitter(StreamReaderLE& stream, bool skip_empty_lines, bool trim ) :
 AI_FORCE_INLINE LineSplitter::LineSplitter(StreamReaderLE& stream, bool skip_empty_lines, bool trim ) :
         mIdx(0),
         mIdx(0),
-        mCur(),
         mStream(stream),
         mStream(stream),
         mSwallow(),
         mSwallow(),
         mSkip_empty_lines(skip_empty_lines),
         mSkip_empty_lines(skip_empty_lines),
@@ -155,9 +154,7 @@ AI_FORCE_INLINE LineSplitter::LineSplitter(StreamReaderLE& stream, bool skip_emp
     mIdx = 0;
     mIdx = 0;
 }
 }
 
 
-AI_FORCE_INLINE LineSplitter::~LineSplitter() {
-    // empty
-}
+AI_FORCE_INLINE LineSplitter::~LineSplitter() = default;
 
 
 AI_FORCE_INLINE LineSplitter& LineSplitter::operator++() {
 AI_FORCE_INLINE LineSplitter& LineSplitter::operator++() {
     if (mSwallow) {
     if (mSwallow) {

+ 1 - 2
include/assimp/MemoryIOWrapper.h

@@ -162,8 +162,7 @@ public:
     }
     }
 
 
     /** Destructor. */
     /** Destructor. */
-    ~MemoryIOSystem() {
-    }
+    ~MemoryIOSystem() = default;
 
 
     // -------------------------------------------------------------------
     // -------------------------------------------------------------------
     /** Tests for the existence of a file at the given path. */
     /** Tests for the existence of a file at the given path. */

+ 1 - 3
include/assimp/Profiler.h

@@ -68,9 +68,7 @@ using namespace Formatter;
  */
  */
 class Profiler {
 class Profiler {
 public:
 public:
-    Profiler() {
-        // empty
-    }
+    Profiler() = default;
 
 
 
 
     /** Start a named timer */
     /** Start a named timer */

+ 2 - 6
include/assimp/ProgressHandler.hpp

@@ -67,15 +67,11 @@ class ASSIMP_API ProgressHandler
 {
 {
 protected:
 protected:
     /// @brief  Default constructor
     /// @brief  Default constructor
-    ProgressHandler () AI_NO_EXCEPT {
-        // empty
-    }
+    ProgressHandler () AI_NO_EXCEPT = default;
 
 
 public:
 public:
     /// @brief  Virtual destructor.
     /// @brief  Virtual destructor.
-    virtual ~ProgressHandler () {
-        // empty
-    }
+    virtual ~ProgressHandler () = default;
 
 
     // -------------------------------------------------------------------
     // -------------------------------------------------------------------
     /** @brief Progress callback.
     /** @brief Progress callback.

+ 2 - 6
include/assimp/SceneCombiner.h

@@ -191,13 +191,9 @@ struct SceneHelper {
  */
  */
 class ASSIMP_API SceneCombiner {
 class ASSIMP_API SceneCombiner {
     // class cannot be instanced
     // class cannot be instanced
-    SceneCombiner() {
-        // empty
-    }
+    SceneCombiner() = delete;
 
 
-    ~SceneCombiner() {
-        // empty
-    }
+    ~SceneCombiner() = delete;
 
 
 public:
 public:
     // -------------------------------------------------------------------
     // -------------------------------------------------------------------