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.
pull/24091/head
Andrew Chow 3 years ago
parent f6c39c6adb
commit 049003fe68

@ -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. */

@ -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<CoinSet::iterator, CoinSet::iterator> ret = std::mismatch(a.GetInputSet().begin(), a.GetInputSet().end(), b.GetInputSet().begin());
std::pair<CoinSet::iterator, CoinSet::iterator> 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();
}

Loading…
Cancel
Save