From 78aba13e8ecb90da3794d4df0393f4e2d9532232 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Wed, 7 Oct 2020 12:54:04 +0200
Subject: [PATCH] clang tidy fixes.

---
 .clang-tidy                                          |  1 +
 3rdParty/MuParser/include/muParser.h                 |  2 ++
 3rdParty/MuParser/include/muParserBase.h             |  2 ++
 src/basics/Core/StringUtilities/StringUtil.cpp       |  4 ++--
 src/basics/Core/VectorTypes.cpp                      | 12 ++++++------
 src/basics/Core/VectorTypes.h                        |  2 +-
 src/basics/basics/utilities/UbTiming.h               | 11 +++++------
 src/basics/basics/utilities/Vector3D.cpp             |  3 +++
 src/basics/basics/writer/WbWriterVtkXmlASCII.h       |  6 ++++--
 src/basics/geometry3d/GbSystem3D.h                   |  5 +----
 src/basics/geometry3d/GbVector3D.cpp                 |  5 ++++-
 .../VirtualFluidsCore/BoundaryConditions/BCAdapter.h | 10 +++-------
 .../BoundaryConditions/BCAlgorithm.cpp               |  4 ----
 .../BoundaryConditions/BCAlgorithm.h                 |  2 +-
 .../BoundaryConditions/VelocityBCAdapter.cpp         |  2 +-
 .../VirtualFluidsCore/Connectors/Block3DConnector.h  |  2 +-
 src/cpu/VirtualFluidsCore/LBM/LBMKernel.h            |  2 +-
 src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h     |  6 +-----
 18 files changed, 39 insertions(+), 42 deletions(-)

diff --git a/.clang-tidy b/.clang-tidy
index 972f12b31..cc4914591 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -17,6 +17,7 @@ modernize-*,
 -modernize-loop-convert,
 -modernize-use-auto,
 -modernize-use-nullptr,
+-modernize-pass-by-value,
 
 mpi-*,
 
diff --git a/3rdParty/MuParser/include/muParser.h b/3rdParty/MuParser/include/muParser.h
index 321fba9c7..ab1e21e5b 100644
--- a/3rdParty/MuParser/include/muParser.h
+++ b/3rdParty/MuParser/include/muParser.h
@@ -29,6 +29,8 @@
 #ifndef MU_PARSER_H
 #define MU_PARSER_H
 
+#pragma clang system_header
+
 //--- Standard includes ------------------------------------------------------------------------
 #include <vector>
 
diff --git a/3rdParty/MuParser/include/muParserBase.h b/3rdParty/MuParser/include/muParserBase.h
index 7793818a9..e42aca8b1 100644
--- a/3rdParty/MuParser/include/muParserBase.h
+++ b/3rdParty/MuParser/include/muParserBase.h
@@ -29,6 +29,8 @@
 #ifndef MU_PARSER_BASE_H
 #define MU_PARSER_BASE_H
 
+#pragma clang system_header
+
 //--- Standard includes ------------------------------------------------------------------------
 #include <cmath>
 #include <string>
diff --git a/src/basics/Core/StringUtilities/StringUtil.cpp b/src/basics/Core/StringUtilities/StringUtil.cpp
index 42e8669c3..8fd31c718 100644
--- a/src/basics/Core/StringUtilities/StringUtil.cpp
+++ b/src/basics/Core/StringUtilities/StringUtil.cpp
@@ -74,7 +74,7 @@ double StringUtil::toDouble(const std::string &input)
 
 bool StringUtil::toBool(const std::string &input)
 {
-    bool b = 0;
+    bool b {false};
     std::string trimmedInput = trim(input);
     if (!toBool(b, trimmedInput, std::boolalpha))
         throw "StringUtils::toBool() - Not a bool: " + trimmedInput;
@@ -143,7 +143,7 @@ std::vector<bool> StringUtil::toBoolVector(const std::string & input)
     inputEntries = split(input, " \n\t");
 	for(std::string entry : inputEntries)
 	{
-		bool b = 0;
+		bool b {false};
 		std::string trimmedInput = trim(input);
 		if (toBool(b, trimmedInput, std::noboolalpha))
 			v.push_back(b);
diff --git a/src/basics/Core/VectorTypes.cpp b/src/basics/Core/VectorTypes.cpp
index 5abd02cfe..59c3d80c8 100644
--- a/src/basics/Core/VectorTypes.cpp
+++ b/src/basics/Core/VectorTypes.cpp
@@ -2,19 +2,19 @@
 
 //Vec3 Vec3::operator+( Vec3& left, Vec3& right ){
 Vec3 Vec3::operator+( Vec3& right ){
-    return Vec3( this->x + right.x, 
+    return { this->x + right.x, 
                  this->y + right.y, 
-                 this->z + right.z );
+                 this->z + right.z };
 }
 
 Vec3 Vec3::operator-( Vec3& right ){
-    return Vec3( this->x - right.x, 
+    return { this->x - right.x, 
                  this->y - right.y, 
-                 this->z - right.z );
+                 this->z - right.z };
 }
 
 Vec3 operator*( real scalar, Vec3& vec ){
-    return Vec3( scalar * vec.x, 
+    return { scalar * vec.x, 
                  scalar * vec.y, 
-                 scalar * vec.z );
+                 scalar * vec.z };
 }
diff --git a/src/basics/Core/VectorTypes.h b/src/basics/Core/VectorTypes.h
index 5bb4f9d2a..d59771bf9 100644
--- a/src/basics/Core/VectorTypes.h
+++ b/src/basics/Core/VectorTypes.h
@@ -19,7 +19,7 @@ struct BASICS_EXPORT Vec3 {
     real x{c0o1}, y{c0o1}, z{c0o1}; 
 
     __host__ __device__ Vec3(real x, real y, real z) : x(x), y(y), z(z) {}
-    __host__ __device__ Vec3()  {}
+    __host__ __device__ Vec3()  = default;
 
     __host__ __device__ real length() {
         return std::sqrt( x*x + y*y + z*z );
diff --git a/src/basics/basics/utilities/UbTiming.h b/src/basics/basics/utilities/UbTiming.h
index b3d5d034a..35181c419 100644
--- a/src/basics/basics/utilities/UbTiming.h
+++ b/src/basics/basics/utilities/UbTiming.h
@@ -176,8 +176,8 @@ protected:
 
 #ifdef UBSYSTEM_APPLE   //Apple hack
    #include <mach/mach_time.h>  
-   #include <time.h>  
-   #include <stdio.h> 
+   #include <ctime>
+   #include <cstdio>
    inline void mach_absolute_difference(const uint64_t& end, const uint64_t& start, struct timespec *tp) 
    {  
          uint64_t difference = end - start;  
@@ -230,8 +230,7 @@ public:
    }
    /*==========================================================*/
    UbTimer(const std::string& name, const bool& storeLapTimes = false) 
-      :  name(name), isMeasuring(false), storeLapTimes(storeLapTimes)
-       , startTime(0.0), totalTime(0.0), lapTime(0.0)
+      :  name(name), storeLapTimes(storeLapTimes)
    {
 
    }
@@ -380,9 +379,9 @@ protected:
 
 class UbProgressTimer : public UbTimer
 {
-private:
-	UbProgressTimer(const UbProgressTimer& rhs);
 public:
+    UbProgressTimer(const UbProgressTimer& rhs) = delete;
+
   explicit UbProgressTimer( std::ostream & os = std::cout )
      : UbTimer(),os(os) 
   {
diff --git a/src/basics/basics/utilities/Vector3D.cpp b/src/basics/basics/utilities/Vector3D.cpp
index bb8fb46a2..75ab1b814 100644
--- a/src/basics/basics/utilities/Vector3D.cpp
+++ b/src/basics/basics/utilities/Vector3D.cpp
@@ -128,6 +128,9 @@ double& Vector3D::X3()
 /*=======================================================*/
 Vector3D& Vector3D::operator=(const Vector3D& rkV)
 {
+    if(this == &rkV)
+        return *this;
+
    m_afTuple[0] = rkV.m_afTuple[0];
    m_afTuple[1] = rkV.m_afTuple[1];
    m_afTuple[2] = rkV.m_afTuple[2];
diff --git a/src/basics/basics/writer/WbWriterVtkXmlASCII.h b/src/basics/basics/writer/WbWriterVtkXmlASCII.h
index e43d97649..11b557287 100644
--- a/src/basics/basics/writer/WbWriterVtkXmlASCII.h
+++ b/src/basics/basics/writer/WbWriterVtkXmlASCII.h
@@ -45,6 +45,10 @@ public:
       static WbWriterVtkXmlASCII instance;
       return &instance;
    }
+
+   WbWriterVtkXmlASCII( const WbWriterVtkXmlASCII& ) = delete;
+   const WbWriterVtkXmlASCII& operator=( const WbWriterVtkXmlASCII& ) = delete;
+
 private:
    WbWriterVtkXmlASCII() : WbWriter() 
    {
@@ -52,8 +56,6 @@ private:
       if(sizeof(int)          !=4) throw UbException(UB_EXARGS,"error int   type mismatch");
       if(sizeof(float)        !=4) throw UbException(UB_EXARGS,"error float type mismatch");
    }
-   WbWriterVtkXmlASCII( const WbWriterVtkXmlASCII& );                  //no copy allowed 
-   const WbWriterVtkXmlASCII& operator=( const WbWriterVtkXmlASCII& ); //no copy allowed
 
    static std::string  pvdEndTag;
 
diff --git a/src/basics/geometry3d/GbSystem3D.h b/src/basics/geometry3d/GbSystem3D.h
index cb1c3905f..b448335ca 100644
--- a/src/basics/geometry3d/GbSystem3D.h
+++ b/src/basics/geometry3d/GbSystem3D.h
@@ -192,10 +192,7 @@ namespace GbSystem3D
          this->points.resize(0);//, NULL);
          this->add(points);
       };
-      ~OldPointSet3()
-      {
-         //			delete points;
-      };
+      ~OldPointSet3() = default;
       void add(GbPoint3D point)
          {
             if(this->sizet>0 && point.equals(&(this->points)[this->sizet-1])) return;
diff --git a/src/basics/geometry3d/GbVector3D.cpp b/src/basics/geometry3d/GbVector3D.cpp
index 94e6e7f67..e763e425a 100644
--- a/src/basics/geometry3d/GbVector3D.cpp
+++ b/src/basics/geometry3d/GbVector3D.cpp
@@ -147,7 +147,10 @@ double& GbVector3D::X3 ()
 //----------------------------------------------------------------------------
 GbVector3D& GbVector3D::operator= (const GbVector3D& rkV)
 {
-   m_afTuple[0] = rkV.m_afTuple[0];
+    if(this == &rkV)
+        return *this;
+
+    m_afTuple[0] = rkV.m_afTuple[0];
    m_afTuple[1] = rkV.m_afTuple[1];
    m_afTuple[2] = rkV.m_afTuple[2];
    return *this;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h
index f1e868db1..b4f08b200 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h
@@ -45,15 +45,11 @@ class D3Q27Interactor;
 class BCAdapter
 {
 public:
-   BCAdapter() 
-       
-   {
-   }
+   BCAdapter() = default;
+
    //! \param secondaryBcOption additional option of boundary conditions
    BCAdapter(const short& secondaryBcOption) 
-      :  secondaryBcOption(secondaryBcOption) 
-       , type(0)
-       , algorithmType(-1)
+      :  secondaryBcOption(secondaryBcOption)
    {
    }
    virtual ~BCAdapter() = default;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
index 3c84b521b..ffc8679ac 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
@@ -38,10 +38,6 @@
 #include "BCArray3D.h"
 
 
-BCAlgorithm::BCAlgorithm()  
-{
-
-}
 //////////////////////////////////////////////////////////////////////////
 void BCAlgorithm::setNodeIndex(int x1, int x2, int x3)
 {
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
index 03ff681b4..0b4110fe9 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
@@ -58,7 +58,7 @@ public:
    static const char NonReflectingOutflowBCAlgorithm = 8;
 
 public:
-   BCAlgorithm();
+   BCAlgorithm() = default;
    virtual ~BCAlgorithm() = default;
    
    virtual void addDistributions(SPtr<DistributionArray3D> distributions) = 0;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
index 7c2d9f467..f80cb1e2b 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
@@ -312,7 +312,7 @@ UbTupleDouble3 VelocityBCAdapter::getVelocity(const double& x1, const double& x2
    if(tmpVx2Function) vx2 = tmpVx2Function->Eval();
    if(tmpVx3Function) vx3 = tmpVx3Function->Eval();
     
-   return UbTupleDouble3(vx1,vx2,vx3);
+   return { vx1,vx2,vx3 };
 }
 /*==========================================================*/
 string VelocityBCAdapter::toString()
diff --git a/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h b/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h
index 7a6eb8eb0..699ca0953 100644
--- a/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h
+++ b/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h
@@ -46,7 +46,7 @@
 class Block3DConnector
 {
 public:
-   Block3DConnector()  {}
+   Block3DConnector() = default;
    Block3DConnector(const int& sendDir) : sendDir(sendDir) {}
    virtual ~Block3DConnector() = default;
    //!Iniitializes connector
diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h
index 6a141dfc1..fb8ad2ce5 100644
--- a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h
+++ b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h
@@ -49,7 +49,7 @@ class Block3D;
 class LBMKernel : public ILBMKernel, public enableSharedFromThis<LBMKernel>
 {
 public:
-    typedef std::numeric_limits<LBMReal> LBMRealLim;
+    using LBMRealLim = std::numeric_limits<LBMReal>;
 public:
     LBMKernel();
 
diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h b/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h
index f766705b6..3abf1e3ae 100644
--- a/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h
+++ b/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h
@@ -66,11 +66,7 @@ public:
 
    enum WORLD_MATERIAL { WATER  = 0, SEAWWATER  = 1, AIR_20C  = 2, OIL  = 3  }; 
 
-   LBMUnitConverter()  
-                         
-   {
-
-   }
+   LBMUnitConverter() = default;
 
    LBMUnitConverter(   const double& refLengthWorld, const double& csWorld, const double& rhoWorld
       , const double& refLengthLb   , const double& csLb = 1.0/std::sqrt(3.0)  , const double& rhoLb = 1.0   )
-- 
GitLab