summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-10-12 16:56:20 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-10-14 08:21:02 +0000
commitfca0aa676e5288d2b867f24263059233253510b5 (patch)
treea8da320a5fb6c2587a8bca5f453eb76c4a040ca0 /src
parent6a35e77ef3f4eae80ca49937c680836eb4acdbe6 (diff)
QPathClipper: remove homebrew 'qRemoveDuplicates' algorithm
Use std::unique Change-Id: Iae2e80d16b5a443ee5023224f48c325197c23029 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/gui/painting/qpathclipper.cpp21
1 files changed, 1 insertions, 20 deletions
diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp
index f92a681eca..addd9c0c2c 100644
--- a/src/gui/painting/qpathclipper.cpp
+++ b/src/gui/painting/qpathclipper.cpp
@@ -1458,25 +1458,6 @@ QPathClipper::QPathClipper(const QPainterPath &subject,
bMask = clipPath.fillRule() == Qt::WindingFill ? ~0x0 : 0x1;
}
-template <typename Iterator, typename Equality>
-Iterator qRemoveDuplicates(Iterator begin, Iterator end, Equality eq)
-{
- if (begin == end)
- return end;
-
- Iterator last = begin;
- ++begin;
- Iterator insert = begin;
- for (Iterator it = begin; it != end; ++it) {
- if (!eq(*it, *last)) {
- *insert++ = *it;
- last = it;
- }
- }
-
- return insert;
-}
-
static void clear(QWingedEdge& list, int edge, QPathEdge::Traversal traversal)
{
QWingedEdge::TraversalStatus status;
@@ -1643,7 +1624,7 @@ bool QPathClipper::doClip(QWingedEdge &list, ClipperMode mode)
y_coords << list.vertex(i)->y;
std::sort(y_coords.begin(), y_coords.end());
- y_coords.resize(qRemoveDuplicates(y_coords.begin(), y_coords.end(), fuzzyCompare) - y_coords.begin());
+ y_coords.erase(std::unique(y_coords.begin(), y_coords.end(), fuzzyCompare), y_coords.end());
#ifdef QDEBUG_CLIPPER
printf("sorted y coords:\n");