[libcamera-devel] [PATCH v3 5/7] libcamera: controls: Utilise LIBCAMERA_DISABLE_COPY_AND_MOVE

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Feb 12 14:30:54 CET 2021


The ControlId and Control classes disable the copy constructor and
assignment operator, but they should also prevent move construction and
assignment.

Utilise LIBCAMERA_DISABLE_COPY_AND_MOVE to fully disable these
functions.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 include/libcamera/controls.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index 3b7f3347761e..1a5690a5ccbe 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -14,6 +14,7 @@
 #include <unordered_map>
 #include <vector>
 
+#include <libcamera/class.h>
 #include <libcamera/geometry.h>
 #include <libcamera/span.h>
 
@@ -220,8 +221,7 @@ public:
 	ControlType type() const { return type_; }
 
 private:
-	ControlId &operator=(const ControlId &) = delete;
-	ControlId(const ControlId &) = delete;
+	LIBCAMERA_DISABLE_COPY_AND_MOVE(ControlId)
 
 	unsigned int id_;
 	std::string name_;
@@ -260,8 +260,7 @@ public:
 	}
 
 private:
-	Control(const Control &) = delete;
-	Control &operator=(const Control &) = delete;
+	LIBCAMERA_DISABLE_COPY_AND_MOVE(Control)
 };
 
 class ControlInfo
-- 
2.25.1



More information about the libcamera-devel mailing list