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.
Change-Id: Ib71266e77808d15ae896891eea3e31c5b0394eb1
Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
diff --git a/.clang-tidy b/.clang-tidy
index cb6b8b3..f3b8ed7 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -215,6 +215,7 @@
cppcoreguidelines-pro-type-union-access,
cppcoreguidelines-pro-type-vararg,
cppcoreguidelines-slicing,
+cppcoreguidelines-special-member-functions,
modernize-avoid-bind,
modernize-deprecated-headers,
modernize-deprecated-ios-base-aliases,
diff --git a/bmc_epoch.hpp b/bmc_epoch.hpp
index e4047f0..40b86f1 100644
--- a/bmc_epoch.hpp
+++ b/bmc_epoch.hpp
@@ -34,6 +34,11 @@
~BmcEpoch() override;
+ BmcEpoch(const BmcEpoch&) = delete;
+ BmcEpoch(BmcEpoch&&) = delete;
+ BmcEpoch& operator=(const BmcEpoch&) = delete;
+ BmcEpoch& operator=(BmcEpoch&&) = delete;
+
/** @brief Notified on time mode changed */
void onModeChanged(Mode mode) override;
diff --git a/property_change_listener.hpp b/property_change_listener.hpp
index e6fdcde..f32acf9 100644
--- a/property_change_listener.hpp
+++ b/property_change_listener.hpp
@@ -10,8 +10,14 @@
class PropertyChangeListner
{
public:
+ PropertyChangeListner() = default;
virtual ~PropertyChangeListner() = default;
+ PropertyChangeListner(const PropertyChangeListner&) = delete;
+ PropertyChangeListner(PropertyChangeListner&&) = delete;
+ PropertyChangeListner& operator=(const PropertyChangeListner&) = delete;
+ PropertyChangeListner& operator=(PropertyChangeListner&&) = delete;
+
/** @brief Notified on time mode is changed */
virtual void onModeChanged(Mode mode) = 0;
};
diff --git a/test/TestBmcEpoch.cpp b/test/TestBmcEpoch.cpp
index 38cbbaf..e0b81ea 100644
--- a/test/TestBmcEpoch.cpp
+++ b/test/TestBmcEpoch.cpp
@@ -34,6 +34,10 @@
bus.detach_event();
sd_event_unref(event);
}
+ TestBmcEpoch(const TestBmcEpoch&) = delete;
+ TestBmcEpoch(TestBmcEpoch&&) = delete;
+ TestBmcEpoch& operator=(const TestBmcEpoch&) = delete;
+ TestBmcEpoch& operator=(TestBmcEpoch&&) = delete;
};
TEST_F(TestBmcEpoch, onModeChange)