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/include/ibm/locks.hpp b/include/ibm/locks.hpp
index fb8b396..8e04b84 100644
--- a/include/ibm/locks.hpp
+++ b/include/ibm/locks.hpp
@@ -128,6 +128,14 @@
public:
/*
+ * Explicitly deleted copy and move constructors
+ */
+ Lock(const Lock&) = delete;
+ Lock(Lock&&) = delete;
+ Lock& operator=(const Lock&) = delete;
+ Lock& operator=(Lock&&) = delete;
+
+ /*
* This function implements the logic for acquiring a lock on a
* resource if the incoming request is legitimate without any
* conflicting requirements & without any conflicting requirement