fixed compilation after CV_IMPLEMENT_QSORT_EX removing
authorVladislav Vinogradov <vlad.vinogradov47@gmail.com>
Tue, 2 Apr 2013 16:21:24 +0000 (20:21 +0400)
committerVladislav Vinogradov <vlad.vinogradov@itseez.com>
Wed, 3 Apr 2013 08:59:40 +0000 (12:59 +0400)
modules/gpu/src/hough.cpp

index 9a39ac6..610384e 100644 (file)
@@ -586,8 +586,17 @@ namespace
         edgePointList.cols = func(edges, dx, dy, edgePointList.ptr<unsigned int>(0), edgePointList.ptr<float>(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();