From 1311fe5c49146b14a476f47c10529931a467ff98 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 10 Nov 2015 09:46:58 +0100 Subject: COMMON: Avoid useless (and dangerous when cctor/operator= don't support it) SWAP(x, x) in sorting --- common/algorithm.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/algorithm.h b/common/algorithm.h index 6453073ae5..cbd6eae708 100644 --- a/common/algorithm.h +++ b/common/algorithm.h @@ -177,7 +177,8 @@ T sortChoosePivot(T first, T last) { template T sortPartition(T first, T last, T pivot, StrictWeakOrdering &comp) { --last; - SWAP(*pivot, *last); + if (pivot != last) + SWAP(*pivot, *last); T sorted; for (sorted = first; first != last; ++first) { @@ -188,7 +189,8 @@ T sortPartition(T first, T last, T pivot, StrictWeakOrdering &comp) { } } - SWAP(*last, *sorted); + if (last != sorted) + SWAP(*last, *sorted); return sorted; } -- cgit v1.2.3