From 366f859adae69d6476a902feef6e65680a6f631d Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Tue, 2 Apr 2013 20:21:24 +0400 Subject: [PATCH] fixed compilation after CV_IMPLEMENT_QSORT_EX removing --- modules/gpu/src/hough.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/gpu/src/hough.cpp b/modules/gpu/src/hough.cpp index 9a39ac6062..610384e716 100644 --- a/modules/gpu/src/hough.cpp +++ b/modules/gpu/src/hough.cpp @@ -586,8 +586,17 @@ namespace edgePointList.cols = func(edges, dx, dy, edgePointList.ptr(0), edgePointList.ptr(1)); } - #define votes_cmp_gt(l1, l2) (aux[l1].x > aux[l2].x) - static CV_IMPLEMENT_QSORT_EX( sortIndexies, int, votes_cmp_gt, const int3* ) + struct IndexCmp + { + const int3* aux; + + explicit IndexCmp(const int3* _aux) : aux(_aux) {} + + bool operator ()(int l1, int l2) const + { + return aux[l1].x > aux[l2].x; + } + }; void GHT_Pos::filterMinDist() { @@ -600,7 +609,7 @@ namespace indexies.resize(posCount); for (int i = 0; i < posCount; ++i) indexies[i] = i; - sortIndexies(&indexies[0], posCount, &oldVoteBuf[0]); + std::sort(indexies.begin(), indexies.end(), IndexCmp(&oldVoteBuf[0])); newPosBuf.clear(); newVoteBuf.clear();