[libcamera-devel] [PATCH v2 04/24] libcamera: controls: Add operator== and operator!= to ControlRange

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Nov 8 21:53:49 CET 2019


Allow comparision of control ranges by adding the required operators.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 include/libcamera/controls.h |  9 +++++++++
 src/libcamera/controls.cpp   | 11 +++++++++++
 2 files changed, 20 insertions(+)

diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index 42e6df7e613d..19075858fbba 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -112,6 +112,15 @@ public:
 
 	std::string toString() const;
 
+	bool operator==(const ControlRange &other) const
+	{
+		return min_ == other.min_ && max_ == other.max_;
+	}
+	bool operator!=(const ControlRange &other) const
+	{
+		return !(*this == other);
+	}
+
 private:
 	ControlValue min_;
 	ControlValue max_;
diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
index 0c7cd449ad64..2c5c98633585 100644
--- a/src/libcamera/controls.cpp
+++ b/src/libcamera/controls.cpp
@@ -383,6 +383,17 @@ std::string ControlRange::toString() const
 	return ss.str();
 }
 
+/**
+ * \fn bool ControlRange::operator==()
+ * \brief Compare ControlRange instances for equality
+ * \return True if the ranges have identical min and max, false otherwise
+ */
+/**
+ * \fn bool ControlRange::operator!=()
+ * \brief Compare ControlRange instances for non equality
+ * \return False if the ranges have identical min and max, true otherwise
+ */
+
 /**
  * \typedef ControlIdMap
  * \brief A map of numerical control ID to ControlId
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list