From 049003fe68a4183f6f20da16f58f10079d1e02df Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Wed, 23 Mar 2022 14:38:14 -0400 Subject: [PATCH] coinselection: Remove COutput operators == and != These operators are used only by the tests in std::mismatch. As std::mismatch can take a binary predicate, we can use a lambda that achieves the same instead. --- src/wallet/coinselection.h | 8 -------- src/wallet/test/coinselector_tests.cpp | 5 ++++- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/wallet/coinselection.h b/src/wallet/coinselection.h index ff85dd5fe2f..43c37cbad70 100644 --- a/src/wallet/coinselection.h +++ b/src/wallet/coinselection.h @@ -84,14 +84,6 @@ public: bool operator<(const COutput& rhs) const { return outpoint < rhs.outpoint; } - - bool operator!=(const COutput& rhs) const { - return outpoint != rhs.outpoint; - } - - bool operator==(const COutput& rhs) const { - return outpoint == rhs.outpoint; - } }; /** Parameters for one iteration of Coin Selection. */ diff --git a/src/wallet/test/coinselector_tests.cpp b/src/wallet/test/coinselector_tests.cpp index bd5ed09ba43..51e35a86af2 100644 --- a/src/wallet/test/coinselector_tests.cpp +++ b/src/wallet/test/coinselector_tests.cpp @@ -113,7 +113,10 @@ static bool EquivalentResult(const SelectionResult& a, const SelectionResult& b) /** Check if this selection is equal to another one. Equal means same inputs (i.e same value and prevout) */ static bool EqualResult(const SelectionResult& a, const SelectionResult& b) { - std::pair ret = std::mismatch(a.GetInputSet().begin(), a.GetInputSet().end(), b.GetInputSet().begin()); + std::pair ret = std::mismatch(a.GetInputSet().begin(), a.GetInputSet().end(), b.GetInputSet().begin(), + [](const COutput& a, const COutput& b) { + return a.outpoint == b.outpoint; + }); return ret.first == a.GetInputSet().end() && ret.second == b.GetInputSet().end(); }