From be48b74d7f1c6a3b1c607330a8da8c496045fbeb Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Thu, 1 Apr 2021 20:56:44 +0200 Subject: [PATCH] operator== fixes --- src/cppbitmask.h | 10 +++------- test/tst_cppbitmask.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/cppbitmask.h b/src/cppbitmask.h index 2bed5da..229f6a8 100644 --- a/src/cppbitmask.h +++ b/src/cppbitmask.h @@ -49,14 +49,10 @@ public: return (value & mask) == expected; } - constexpr friend bool operator==(const T value, const basic_bit_pattern &pattern) + constexpr friend bool operator==(const basic_bit_pattern &l, const basic_bit_pattern &r) { - return pattern.match(value); - } - - constexpr friend bool operator==(const basic_bit_pattern &pattern, const T value) - { - return pattern.match(value); + return l.expected == r.expected && + l.mask == r.mask; } }; diff --git a/test/tst_cppbitmask.cpp b/test/tst_cppbitmask.cpp index 224f18f..7f733d7 100644 --- a/test/tst_cppbitmask.cpp +++ b/test/tst_cppbitmask.cpp @@ -19,10 +19,10 @@ private slots: constexpr cpputils::bit_pattern pattern{"10XXX10"}; QCOMPARE(pattern.expected, 0b1000010); QCOMPARE(pattern.mask, 0b1100011); - QVERIFY(0b1001010 == pattern); - QVERIFY(0b1010110 == pattern); - QVERIFY(!(0b1000000 == pattern)); - QVERIFY(!(0b1100010 == pattern)); + QVERIFY(pattern.match(0b1001010)); + QVERIFY(pattern.match(0b1010110)); + QVERIFY(!pattern.match(0b1000000)); + QVERIFY(!pattern.match(0b1100010)); } void test_copy()