From 09ec8a252d76ea852806cdbbca024dc19605b397 Mon Sep 17 00:00:00 2001 From: uvos Date: Sat, 5 Jun 2021 11:42:57 +0200 Subject: [PATCH] add hashing and operator== to Description --- uvoscam.cpp | 4 ++-- uvoscam.h | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/uvoscam.cpp b/uvoscam.cpp index 007a338..7a69ffe 100644 --- a/uvoscam.cpp +++ b/uvoscam.cpp @@ -175,8 +175,8 @@ bool Camera::chooseFormat() switch(formats[i]) { case ARV_PIXEL_FORMAT_MONO_8: - case ARV_PIXEL_FORMAT_MONO_10: - case ARV_PIXEL_FORMAT_MONO_12: + //case ARV_PIXEL_FORMAT_MONO_10: + //case ARV_PIXEL_FORMAT_MONO_12: case ARV_PIXEL_FORMAT_RGB_8_PLANAR: case ARV_PIXEL_FORMAT_BAYER_BG_8: format = formats[i]; diff --git a/uvoscam.h b/uvoscam.h index 00c05b3..d95d179 100644 --- a/uvoscam.h +++ b/uvoscam.h @@ -37,12 +37,23 @@ class Camera { public: - struct Description + class Description { + public: std::string vendor; std::string serial; std::string id; std::string model; + + size_t getHash() const + { + return std::hash{}(vendor + serial + id + model); + } + + bool operator==(const Description& in) const + { + return in.getHash() == getHash(); + } }; static constexpr size_t BUFFER_DEPTH = 8;