Pastebin URL (expires in 24 hours):
http://paste.fedoraproject.org/51628/61095313
---
diff --git a/src/concurrent/qtconcurrentfilterkernel.h b/src/concurrent/qtconcurrentfilterkernel.h
index 63e77ab..29bb3c9 100644
--- a/src/concurrent/qtconcurrentfilterkernel.h
+++ b/src/concurrent/qtconcurrentfilterkernel.h
@@ -120,11 +120,11 @@ public:
typename Sequence::const_iterator it = sequenceBeginIterator;
- advance(it, begin);
+ std::advance(it, begin);
for (int i = begin; i < end; ++i) {
if (keep(*it))
results.vector.append(*it);
- advance(it, 1);
+ std::advance(it, 1);
}
reducer.runReduce(reduce, reducedResult, results);
@@ -206,11 +206,11 @@ public:
results.vector.reserve(end - begin);
Iterator it = sequenceBeginIterator;
- advance(it, begin);
+ std::advance(it, begin);
for (int i = begin; i < end; ++i) {
if (keep(*it))
results.vector.append(*it);
- advance(it, 1);
+ std::advance(it, 1);
}
reducer.runReduce(reduce, reducedResult, results);
@@ -282,11 +282,11 @@ public:
results.vector.reserve(count);
Iterator it = sequenceBeginIterator;
- advance(it, begin);
+ std::advance(it, begin);
for (int i = begin; i < end; ++i) {
if (keep(*it))
results.vector.append(*it);
- advance(it, 1);
+ std::advance(it, 1);
}
this->reportResults(results.vector, begin, count);
diff --git a/src/concurrent/qtconcurrentiteratekernel.h b/src/concurrent/qtconcurrentiteratekernel.h
index 70a7f16..b47c30a 100644
--- a/src/concurrent/qtconcurrentiteratekernel.h
+++ b/src/concurrent/qtconcurrentiteratekernel.h
@@ -59,8 +59,6 @@ QT_BEGIN_NAMESPACE
namespace QtConcurrent {
- using std::advance;
-
/*
The BlockSizeManager class manages how many iterations a thread should
reserve and process at a time. This is done by measuring the time spent
diff --git a/src/concurrent/qtconcurrentmapkernel.h b/src/concurrent/qtconcurrentmapkernel.h
index 6817cd3..36e9cd3 100644
--- a/src/concurrent/qtconcurrentmapkernel.h
+++ b/src/concurrent/qtconcurrentmapkernel.h
@@ -75,10 +75,10 @@ public:
bool runIterations(Iterator sequenceBeginIterator, int beginIndex, int endIndex, void *)
{
Iterator it = sequenceBeginIterator;
- advance(it, beginIndex);
+ std::advance(it, beginIndex);
for (int i = beginIndex; i < endIndex; ++i) {
runIteration(it, i, 0);
- advance(it, 1);
+ std::advance(it, 1);
}
return false;
@@ -129,10 +129,10 @@ public:
results.vector.reserve(end - begin);
Iterator it = sequenceBeginIterator;
- advance(it, begin);
+ std::advance(it, begin);
for (int i = begin; i < end; ++i) {
results.vector.append(map(*(it)));
- advance(it, 1);
+ std::advance(it, 1);
}
reducer.runReduce(reduce, reducedResult, results);
@@ -183,10 +183,10 @@ public:
{
Iterator it = sequenceBeginIterator;
- advance(it, begin);
+ std::advance(it, begin);
for (int i = begin; i < end; ++i) {
runIteration(it, i, results + (i - begin));
- advance(it, 1);
+ std::advance(it, 1);
}
return true;
diff --git a/src/concurrent/qtconcurrentmedian.h b/src/concurrent/qtconcurrentmedian.h
index 7d3b50a..29342e6 100644
--- a/src/concurrent/qtconcurrentmedian.h
+++ b/src/concurrent/qtconcurrentmedian.h
@@ -47,7 +47,8 @@
#ifndef QT_NO_CONCURRENT
#include <QtCore/qvector.h>
-#include <QtCore/qalgorithms.h>
+
+#include <algorithm>
QT_BEGIN_NAMESPACE
@@ -89,7 +90,7 @@ public:
dirty = true;
}
- values[currentIndex] = value;
+ values[currentIndex] = qMove(value);
}
bool isMedianValid() const
@@ -101,9 +102,10 @@ public:
{
if (dirty) {
dirty = false;
- QVector<T> sorted = values;
- qSort(sorted);
- currentMedian = sorted.at(bufferSize / 2 + 1);
+ QVector<T> copy = values;
+ typename QVector<T>::iterator begin = copy.begin(), mid = copy.begin() + bufferSize/2, end = copy.end();
+ std::nth_element(begin, mid, end);
+ currentMedian = qMove(*mid);
}
return currentMedian;
}
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development