diff --git a/uppsrc/Core/Algo.h b/uppsrc/Core/Algo.h index edd66bca7..c0ee28f4e 100644 --- a/uppsrc/Core/Algo.h +++ b/uppsrc/Core/Algo.h @@ -595,10 +595,7 @@ C& RemoveSorted(C& from, const C& what, const L& less) return from; typename C::Iterator fp = from.Begin() + BinFindIndex(from, *wp), fe = from.End(), fd = fp; if(fp == fe) - { - from.Clear(); return from; - } for(;;) { while(less(*fp, *wp)) diff --git a/uppsrc/Core/Tuple.h b/uppsrc/Core/Tuple.h index 2d7f9cee1..f59067620 100644 --- a/uppsrc/Core/Tuple.h +++ b/uppsrc/Core/Tuple.h @@ -9,8 +9,8 @@ struct Tuple2 { int Compare(const Tuple2& x) const { return CombineCompare(a, x.a)(b, x.b); } bool operator<=(const Tuple2& x) const { return Compare(x) <= 0; } bool operator>=(const Tuple2& x) const { return Compare(x) >= 0; } - bool operator<(const Tuple2& x) const { return Compare(x) != 0; } - bool operator>(const Tuple2& x) const { return Compare(x) != 0; } + bool operator<(const Tuple2& x) const { return Compare(x) < 0; } + bool operator>(const Tuple2& x) const { return Compare(x) > 0; } unsigned GetHashValue() const { return CombineHash(a, b); } @@ -45,8 +45,8 @@ struct Tuple3 { int Compare(const Tuple3& x) const { return CombineCompare(a, x.a)(b, x.b)(c, x.c); } bool operator<=(const Tuple3& x) const { return Compare(x) <= 0; } bool operator>=(const Tuple3& x) const { return Compare(x) >= 0; } - bool operator<(const Tuple3& x) const { return Compare(x) != 0; } - bool operator>(const Tuple3& x) const { return Compare(x) != 0; } + bool operator<(const Tuple3& x) const { return Compare(x) < 0; } + bool operator>(const Tuple3& x) const { return Compare(x) > 0; } unsigned GetHashValue() const { return CombineHash(a, b, c); } @@ -84,8 +84,8 @@ struct Tuple4 { int Compare(const Tuple4& x) const { return CombineCompare(a, x.a)(b, x.b)(c, x.c)(d, x.d); } bool operator<=(const Tuple4& x) const { return Compare(x) <= 0; } bool operator>=(const Tuple4& x) const { return Compare(x) >= 0; } - bool operator<(const Tuple4& x) const { return Compare(x) != 0; } - bool operator>(const Tuple4& x) const { return Compare(x) != 0; } + bool operator<(const Tuple4& x) const { return Compare(x) < 0; } + bool operator>(const Tuple4& x) const { return Compare(x) > 0; } unsigned GetHashValue() const { return CombineHash(a, b, c, d); }