clang-tidy: Enable cppcoreguidelines-special-member-functions
The check finds classes where some but not all of the special member
functions are defined.
By default the compiler defines a copy constructor, copy assignment
operator, move constructor, move assignment operator and destructor.
The default can be suppressed by explicit user-definitions. The
relationship between which functions will be suppressed by
definitions of other functions is complicated and it is advised that
all five are defaulted or explicitly defined.
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Icbfd448b2bf78ebf99ec07b55220871e093cb899
diff --git a/src/activation.hpp b/src/activation.hpp
index b7f9cbc..dc708e9 100644
--- a/src/activation.hpp
+++ b/src/activation.hpp
@@ -40,6 +40,14 @@
class ActivationBlocksTransition : public ActivationBlocksTransitionInherit
{
public:
+ ActivationBlocksTransition() = delete;
+ ActivationBlocksTransition(const ActivationBlocksTransition&) = delete;
+ ActivationBlocksTransition&
+ operator=(const ActivationBlocksTransition&) = delete;
+ ActivationBlocksTransition(ActivationBlocksTransition&&) = delete;
+ ActivationBlocksTransition&
+ operator=(ActivationBlocksTransition&&) = delete;
+
/** @brief Constructs ActivationBlocksTransition.
*
* @param[in] bus - The Dbus bus object
diff --git a/src/activation_listener.hpp b/src/activation_listener.hpp
index 5437232..e5de981 100644
--- a/src/activation_listener.hpp
+++ b/src/activation_listener.hpp
@@ -5,6 +5,12 @@
class ActivationListener
{
public:
+ ActivationListener() = default;
+ ActivationListener(const ActivationListener&) = delete;
+ ActivationListener& operator=(const ActivationListener&) = delete;
+ ActivationListener(ActivationListener&&) = delete;
+ ActivationListener& operator=(ActivationListener&&) = delete;
+
virtual ~ActivationListener() = default;
/** @brief Notify a PSU is updated
diff --git a/src/association_interface.hpp b/src/association_interface.hpp
index 2969719..9d25b9b 100644
--- a/src/association_interface.hpp
+++ b/src/association_interface.hpp
@@ -5,6 +5,12 @@
class AssociationInterface
{
public:
+ AssociationInterface() = default;
+ AssociationInterface(const AssociationInterface&) = delete;
+ AssociationInterface& operator=(const AssociationInterface&) = delete;
+ AssociationInterface(AssociationInterface&&) = delete;
+ AssociationInterface& operator=(AssociationInterface&&) = delete;
+
virtual ~AssociationInterface() = default;
/** @brief Create an active association to the
diff --git a/src/utils.hpp b/src/utils.hpp
index 2e73d87..be85494 100644
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -108,6 +108,12 @@
class UtilsInterface
{
public:
+ UtilsInterface() = default;
+ UtilsInterface(const UtilsInterface&) = delete;
+ UtilsInterface& operator=(const UtilsInterface&) = delete;
+ UtilsInterface(UtilsInterface&&) = delete;
+ UtilsInterface& operator=(UtilsInterface&&) = delete;
+
// For now the code needs to get property for Present and Version
using PropertyType = std::variant<std::string, bool>;