┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2013-01-15 18:44:00 +0100
committerFrank Reininghaus <[email protected]>2013-01-15 18:44:42 +0100
commitc652807a195d82e85df7b3aafc924a5f83ca590e (patch)
tree704c7f82592bf24525bf1d2e034002bfdd54ee48 /src
parentcad45e41509794774e4201f33c1fb6193422f85a (diff)
Use std::rotate, rather than reversing three times
We need less code now, and moreover, the STL implementation of rotate should be more efficient than three reverse() calls.
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/private/kfileitemmodelsortalgorithm.cpp18
-rw-r--r--src/kitemviews/private/kfileitemmodelsortalgorithm.h3
2 files changed, 3 insertions, 18 deletions
diff --git a/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp b/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp
index ab650efea..a09d0cd80 100644
--- a/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp
+++ b/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp
@@ -22,6 +22,8 @@
#include <QThread>
#include <QtCore>
+#include <algorithm>
+
void KFileItemModelSortAlgorithm::sort(KFileItemModel* model,
QList<KFileItemModel::ItemData*>::iterator begin,
QList<KFileItemModel::ItemData*>::iterator end)
@@ -115,9 +117,7 @@ void KFileItemModelSortAlgorithm::merge(KFileItemModel* model,
firstCut = upperBound(model, begin, pivot, *secondCut);
}
- reverse(firstCut, pivot);
- reverse(pivot, secondCut);
- reverse(firstCut, secondCut);
+ std::rotate(firstCut, pivot, secondCut);
const QList<KFileItemModel::ItemData*>::iterator newPivot = firstCut + len2Half;
merge(model, begin, firstCut, newPivot);
@@ -176,15 +176,3 @@ KFileItemModelSortAlgorithm::upperBound(KFileItemModel* model,
}
return begin;
}
-
-void KFileItemModelSortAlgorithm::reverse(QList<KFileItemModel::ItemData*>::iterator begin,
- QList<KFileItemModel::ItemData*>::iterator end)
-{
- // The implementation is based on qReverse() from qalgorithms.h
- // Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-
- --end;
- while (begin < end) {
- qSwap(*begin++, *end--);
- }
-}
diff --git a/src/kitemviews/private/kfileitemmodelsortalgorithm.h b/src/kitemviews/private/kfileitemmodelsortalgorithm.h
index 07e5d4a81..b86d490aa 100644
--- a/src/kitemviews/private/kfileitemmodelsortalgorithm.h
+++ b/src/kitemviews/private/kfileitemmodelsortalgorithm.h
@@ -69,9 +69,6 @@ private:
QList<KFileItemModel::ItemData*>::iterator begin,
QList<KFileItemModel::ItemData*>::iterator end,
const KFileItemModel::ItemData* value);
-
- static void reverse(QList<KFileItemModel::ItemData*>::iterator begin,
- QList<KFileItemModel::ItemData*>::iterator end);
};
#endif