From e5046f48f256cf7126c77fa4d8e3f450547e7a66 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Wed, 7 Oct 2020 13:15:05 +0200
Subject: [PATCH] Handle additional clang tidy warnings.

---
 .clang-tidy                                       | 3 ++-
 src/basics/basics/container/CbArray2D.h           | 5 +----
 src/basics/basics/container/CbVector.h            | 7 ++++---
 src/basics/basics/writer/WbWriter.h               | 3 +--
 src/basics/basics/writer/WbWriterVtkXmlBinary.cpp | 2 +-
 src/basics/basics/writer/WbWriterVtkXmlBinary.h   | 9 +++++----
 src/cpu/VirtualFluidsCore/Grid/Block3D.cpp        | 5 +----
 src/cpu/VirtualFluidsCore/Grid/Block3D.h          | 2 +-
 src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp         | 7 ++++---
 9 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/.clang-tidy b/.clang-tidy
index cc4914591..2747454ca 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -48,7 +48,8 @@ cppcoreguidelines-special-member-functions,
 -cppcoreguidelines-init-variables,
 -cppcoreguidelines-pro-type-member-init,
 -cppcoreguidelines-owning-memory,
--cppcoreguidelines-special-member-functions
+-cppcoreguidelines-special-member-functions,
+-cppcoreguidelines-interfaces-global-init
 
 '
 HeaderFilterRegex: '\.h$'
diff --git a/src/basics/basics/container/CbArray2D.h b/src/basics/basics/container/CbArray2D.h
index 4667a3dc2..a5e06f0aa 100644
--- a/src/basics/basics/container/CbArray2D.h
+++ b/src/basics/basics/container/CbArray2D.h
@@ -163,10 +163,7 @@ public:
          this->data[i] = src.data[i];
    }
    /*=======================================================================*/
-   virtual ~CbArray2D()
-   {
-      //vector wird automatisch zerstoert
-   }
+   virtual ~CbArray2D() = default;
    /*=======================================================================*/
    CbArray2D& operator= (const CbArray2D& rhs)
    {
diff --git a/src/basics/basics/container/CbVector.h b/src/basics/basics/container/CbVector.h
index 76df61df2..300b0212b 100644
--- a/src/basics/basics/container/CbVector.h
+++ b/src/basics/basics/container/CbVector.h
@@ -63,12 +63,13 @@ template< typename T >
 class CbVector
 {
 public:
-   typedef T           value_type;
+   using value_type = T;
    using pointer = value_type *;
    using size_type = std::size_t;
 
    friend class CbVectorAllocator<value_type>; //um auf ptrData und dataSize zugreifen zu koennen!
 
+    CbVector<value_type>(const CbVector<value_type>& src) = delete;
 public:
    /*==========================================================*/
    CbVector( CbVectorAllocator<value_type>* const& allocator = new CbVectorAllocatorStd<value_type> )
@@ -99,7 +100,8 @@ public:
    /*=======================================================================*/
    CbVector& operator= (const CbVector& src)
    {
-      if(this == &src) return *this;
+      if(this == &src)
+          return *this;
 
       //gespeicherte Datenelemente loeschen
       //Laenge anpassen
@@ -207,7 +209,6 @@ private:
    value_type* ptrData;
    size_type   dataSize{0};
    CbVectorAllocator<value_type>* allocator;
-   CbVector<value_type>(const CbVector<value_type>& src);
    //CbVector<value_type>& operator=(const CbVector<value_type>& src);
 };
 
diff --git a/src/basics/basics/writer/WbWriter.h b/src/basics/basics/writer/WbWriter.h
index e0eb56ce5..8e5524416 100644
--- a/src/basics/basics/writer/WbWriter.h
+++ b/src/basics/basics/writer/WbWriter.h
@@ -49,8 +49,7 @@ class WbWriter
 {
 public:
    //////////////////////////////////////////////////////////////////////////
-   virtual ~WbWriter() 
-   = default;
+   virtual ~WbWriter() = default;
 
    //////////////////////////////////////////////////////////////////////////
    //rein virtuelle Methoden
diff --git a/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp b/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp
index 448aeb91f..d88459eb5 100644
--- a/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp
+++ b/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp
@@ -38,7 +38,7 @@
 using namespace std;
 
 /*===============================================================================*/
-string WbWriterVtkXmlBinary::pvdEndTag ="   </Collection>\n</VTKFile>";
+const std::string WbWriterVtkXmlBinary::pvdEndTag ="   </Collection>\n</VTKFile>";
 /*===============================================================================*/
 string WbWriterVtkXmlBinary::writeCollection(const string& filename, const vector<string>& filenames, const double& timeStep, const bool& sepGroups)
 {
diff --git a/src/basics/basics/writer/WbWriterVtkXmlBinary.h b/src/basics/basics/writer/WbWriterVtkXmlBinary.h
index a74f78232..2beda26b7 100644
--- a/src/basics/basics/writer/WbWriterVtkXmlBinary.h
+++ b/src/basics/basics/writer/WbWriterVtkXmlBinary.h
@@ -45,6 +45,10 @@ public:
       static WbWriterVtkXmlBinary instance;
       return &instance;
    }
+
+    WbWriterVtkXmlBinary( const WbWriterVtkXmlBinary& ) = delete;
+    const WbWriterVtkXmlBinary& operator=( const WbWriterVtkXmlBinary& ) = delete;
+
 private:
    WbWriterVtkXmlBinary() : WbWriter() 
    {
@@ -53,10 +57,7 @@ private:
       if(sizeof(float)        !=4) throw UbException(UB_EXARGS,"machine error float type mismatch");
    }
 
-   WbWriterVtkXmlBinary( const WbWriterVtkXmlBinary& );                  //no copy allowed 
-   const WbWriterVtkXmlBinary& operator=( const WbWriterVtkXmlBinary& ); //no copy allowed
-
-   static std::string  pvdEndTag;
+   static const std::string  pvdEndTag;
 public:
    std::string getFileExtension() override { return ".bin.vtu";   }
 
diff --git a/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp b/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp
index d7eddebcf..2dd9332a1 100644
--- a/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp
+++ b/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp
@@ -39,10 +39,7 @@
 
 
 int Block3D::counter = 0;
-//////////////////////////////////////////////////////////////////////////
-Block3D::Block3D() 
-{
-}
+
 //////////////////////////////////////////////////////////////////////////
 Block3D::Block3D(int x1, int x2, int x3, int level)
                : x1(x1), x2(x2), x3(x3),
diff --git a/src/cpu/VirtualFluidsCore/Grid/Block3D.h b/src/cpu/VirtualFluidsCore/Grid/Block3D.h
index a94ca50a0..c99d03b7d 100644
--- a/src/cpu/VirtualFluidsCore/Grid/Block3D.h
+++ b/src/cpu/VirtualFluidsCore/Grid/Block3D.h
@@ -47,7 +47,7 @@ class ILBMKernel;
 class Block3D
 {
 public:
-   Block3D();
+   Block3D() = default;
    Block3D(int x1, int x2, int x3, int level);
    virtual ~Block3D();
    bool operator==(const Block3D& src) const;
diff --git a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp
index e0fdf7f5e..f1d1d653d 100644
--- a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp
+++ b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp
@@ -600,11 +600,12 @@ UbTupleDouble3 Grid3D::getBlockWorldCoordinates(int blockX1Index, int blockX2Ind
    double x2 = (double)blockX2Index*c1oShiftedLevel;
    double x3 = (double)blockX3Index*c1oShiftedLevel;
 
-   if (!trafo) return UbTupleDouble3(x1, x2, x3);
+   if (!trafo)
+       return { x1, x2, x3 };
 
-   return UbTupleDouble3(trafo->transformBackwardToX1Coordinate(x1, x2, x3)
+   return {trafo->transformBackwardToX1Coordinate(x1, x2, x3)
       , trafo->transformBackwardToX2Coordinate(x1, x2, x3)
-      , trafo->transformBackwardToX3Coordinate(x1, x2, x3));
+      , trafo->transformBackwardToX3Coordinate(x1, x2, x3) };
 }
 //////////////////////////////////////////////////////////////////////////
 //double Grid3D::getDeltaT(SPtr<Block3D> block) const 
-- 
GitLab