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/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>;