From 6cf697bd6d2c7bfaccabeaf6ae4035acf7268155 Mon Sep 17 00:00:00 2001 From: attila Date: Mon, 3 Feb 2025 12:30:32 +0100 Subject: [PATCH] Ranges: Add equality operators --- modules/juce_graphics/detail/juce_Ranges.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/juce_graphics/detail/juce_Ranges.h b/modules/juce_graphics/detail/juce_Ranges.h index 54bf23dca2..50261705ec 100644 --- a/modules/juce_graphics/detail/juce_Ranges.h +++ b/modules/juce_graphics/detail/juce_Ranges.h @@ -133,6 +133,9 @@ struct Ranges final #endif } + bool operator== (const Ranges& other) const { return ranges == other.ranges; } + bool operator!= (const Ranges& other) const { return ranges != other.ranges; } + auto& getRanges() { return ranges; } auto& getRanges() const { return ranges; } @@ -564,6 +567,8 @@ class RangedValues return j ? std::make_optional (self.getItem (*j)) : std::nullopt; } + auto tie() const { return std::make_tuple (ranges, values); } + public: static constexpr bool canMergeEqualItems = hasEqualityOperator; @@ -573,6 +578,10 @@ public: return RangedValuesIteratorvalues.data())>> (rv->values.data(), base, iterator); } + //============================================================================== + bool operator== (const RangedValues& other) const { return tie() == other.tie(); } + bool operator!= (const RangedValues& other) const { return tie() != other.tie(); } + //============================================================================== auto begin() {