Enable cppcoreguidelines-special-member-functions checks

Part of enforcing cpp core guidelines involves explicitly including all
constructors required on a non-trivial class.  We were missing quite a
few.  In all cases, the copy/move/and operator= methods are simply
deleted.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ie8d6e8bf2bc311fa21a9ae48b0d61ee5c1940999
diff --git a/redfish-core/lib/health.hpp b/redfish-core/lib/health.hpp
index 02edfdc..c2e40c7 100644
--- a/redfish-core/lib/health.hpp
+++ b/redfish-core/lib/health.hpp
@@ -40,6 +40,11 @@
         jsonStatus(status)
     {}
 
+    HealthPopulate(const HealthPopulate&) = delete;
+    HealthPopulate(HealthPopulate&&) = delete;
+    HealthPopulate& operator=(const HealthPopulate&) = delete;
+    HealthPopulate& operator=(const HealthPopulate&&) = delete;
+
     ~HealthPopulate()
     {
         nlohmann::json& health = jsonStatus["Health"];
diff --git a/redfish-core/lib/managers.hpp b/redfish-core/lib/managers.hpp
index ad5c5e3..201f2f4 100644
--- a/redfish-core/lib/managers.hpp
+++ b/redfish-core/lib/managers.hpp
@@ -1317,6 +1317,11 @@
         }
     }
 
+    GetPIDValues(const GetPIDValues&) = delete;
+    GetPIDValues(GetPIDValues&&) = delete;
+    GetPIDValues& operator=(const GetPIDValues&) = delete;
+    GetPIDValues& operator=(GetPIDValues&&) = delete;
+
     std::vector<std::string> supportedProfiles;
     std::string currentProfile;
     crow::openbmc_mapper::GetSubTreeType subtree;
@@ -1353,6 +1358,12 @@
         configuration.emplace_back("StepwiseControllers",
                                    std::move(stepwiseControllers));
     }
+
+    SetPIDValues(const SetPIDValues&) = delete;
+    SetPIDValues(SetPIDValues&&) = delete;
+    SetPIDValues& operator=(const SetPIDValues&) = delete;
+    SetPIDValues& operator=(SetPIDValues&&) = delete;
+
     void run()
     {
         if (asyncResp->res.result() != boost::beast::http::status::ok)
diff --git a/redfish-core/lib/metric_report_definition.hpp b/redfish-core/lib/metric_report_definition.hpp
index 1461fd8..745fad8 100644
--- a/redfish-core/lib/metric_report_definition.hpp
+++ b/redfish-core/lib/metric_report_definition.hpp
@@ -335,6 +335,11 @@
             args.interval, readingParams);
     }
 
+    AddReport(const AddReport&) = delete;
+    AddReport(AddReport&&) = delete;
+    AddReport& operator=(const AddReport&) = delete;
+    AddReport& operator=(AddReport&&) = delete;
+
     void insert(const boost::container::flat_map<std::string, std::string>& el)
     {
         uriToDbus.insert(el.begin(), el.end());
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
index 99dfc81..52d1fc0 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -227,6 +227,11 @@
         }
     }
 
+    SensorsAsyncResp(const SensorsAsyncResp&) = delete;
+    SensorsAsyncResp(SensorsAsyncResp&&) = delete;
+    SensorsAsyncResp& operator=(const SensorsAsyncResp&) = delete;
+    SensorsAsyncResp& operator=(SensorsAsyncResp&&) = delete;
+
     void addMetadata(const nlohmann::json& sensorObject,
                      const std::string& valueKey, const std::string& dbusPath)
     {
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index a682486..00c3ecf 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -531,6 +531,8 @@
     Credentials() = delete;
     Credentials(const Credentials&) = delete;
     Credentials& operator=(const Credentials&) = delete;
+    Credentials(Credentials&&) = delete;
+    Credentials& operator=(Credentials&&) = delete;
 
   private:
     std::string userBuf;
@@ -606,6 +608,11 @@
         impl.close();
     }
 
+    Pipe(const Pipe&) = delete;
+    Pipe(Pipe&&) = delete;
+    Pipe& operator=(const Pipe&) = delete;
+    Pipe& operator=(Pipe&&) = delete;
+
     unix_fd fd()
     {
         return unix_fd{impl.native_source()};