Fix build with STLPort from NDK r8d
authorAndrey Kamaev <andrey.kamaev@itseez.com>
Fri, 21 Dec 2012 15:58:51 +0000 (19:58 +0400)
committerAndrey Kamaev <andrey.kamaev@itseez.com>
Fri, 21 Dec 2012 20:59:56 +0000 (00:59 +0400)
18 files changed:
modules/androidcamera/src/camera_activity.cpp
modules/contrib/src/chamfermatching.cpp
modules/contrib/src/spinimages.cpp
modules/core/include/opencv2/core/core.hpp
modules/core/include/opencv2/core/operations.hpp
modules/features2d/src/keypoint.cpp
modules/features2d/src/matchers.cpp
modules/features2d/src/precomp.hpp
modules/stitching/src/autocalib.cpp
modules/stitching/src/stitcher.cpp
modules/ts/include/opencv2/ts/ts_gtest.h
modules/videostab/src/inpainting.cpp
samples/c/facedetect.cpp
samples/cpp/bagofwords_classification.cpp
samples/cpp/calibration.cpp
samples/cpp/point_cloud.cpp
samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp
samples/cpp/videostab.cpp

index 28e18c4..37144ba 100644 (file)
@@ -3,6 +3,7 @@
 #include <sys/stat.h>
 #include <dirent.h>
 #include <android/log.h>
+#include <cctype>
 #include <string>
 #include <vector>
 #include <algorithm>
@@ -303,8 +304,8 @@ std::string CameraWrapperConnector::getPathLibFolder()
         LOGD("Library name: %s", dl_info.dli_fname);
         LOGD("Library base address: %p", dl_info.dli_fbase);
 
-    const char* libName=dl_info.dli_fname;
-    while( ((*libName)=='/') || ((*libName)=='.') )
+        const char* libName=dl_info.dli_fname;
+        while( ((*libName)=='/') || ((*libName)=='.') )
         libName++;
 
         char lineBuf[2048];
@@ -312,9 +313,9 @@ std::string CameraWrapperConnector::getPathLibFolder()
 
         if(file)
         {
-        while (fgets(lineBuf, sizeof lineBuf, file) != NULL)
-        {
-        //verify that line ends with library name
+            while (fgets(lineBuf, sizeof lineBuf, file) != NULL)
+            {
+                //verify that line ends with library name
                 int lineLength = strlen(lineBuf);
                 int libNameLength = strlen(libName);
 
@@ -327,7 +328,7 @@ std::string CameraWrapperConnector::getPathLibFolder()
 
                 if (0 != strncmp(lineBuf + lineLength - libNameLength, libName, libNameLength))
                 {
-            //the line does not contain the library name
+                //the line does not contain the library name
                     continue;
                 }
 
@@ -346,18 +347,18 @@ std::string CameraWrapperConnector::getPathLibFolder()
 
                 fclose(file);
                 return pathBegin;
-        }
-        fclose(file);
-        LOGE("Could not find library path");
+            }
+            fclose(file);
+            LOGE("Could not find library path");
         }
         else
         {
-        LOGE("Could not read /proc/self/smaps");
+            LOGE("Could not read /proc/self/smaps");
         }
     }
     else
     {
-    LOGE("Could not get library name and base address");
+        LOGE("Could not get library name and base address");
     }
 
     return string();
index 052189e..d33b243 100644 (file)
@@ -767,8 +767,8 @@ void ChamferMatcher::Matching::findContourOrientations(const template_coords_t&
         }
 
         // get the middle two angles
-        nth_element(angles.begin(), angles.begin()+M-1,  angles.end());
-        nth_element(angles.begin()+M-1, angles.begin()+M,  angles.end());
+        std::nth_element(angles.begin(), angles.begin()+M-1,  angles.end());
+        std::nth_element(angles.begin()+M-1, angles.begin()+M,  angles.end());
         //        sort(angles.begin(), angles.end());
 
         // average them to compute tangent
index 46b22c8..21cbc8b 100644 (file)
@@ -85,7 +85,7 @@ namespace
     };
     size_t colors_mum = sizeof(colors)/sizeof(colors[0]);
 
-#if defined __cplusplus  && __cplusplus > 199711L
+#if (defined __cplusplus  && __cplusplus > 199711L) || defined _STLPORT_MAJOR
 #else
 template<class FwIt, class T> void iota(FwIt first, FwIt last, T value) { while(first != last) *first++ = value++; }
 #endif
index 0454cf4..8cf8f28 100644 (file)
@@ -4655,7 +4655,7 @@ class CV_EXPORTS CommandLineParser
     template<typename _Tp>
     static _Tp getData(const std::string& str)
     {
-        _Tp res;
+        _Tp res = _Tp();
         std::stringstream s1(str);
         s1 >> res;
         return res;
index a903174..fc40f57 100644 (file)
@@ -65,7 +65,8 @@
   #elif __GNUC__*10 + __GNUC_MINOR__ >= 42
 
     #if !(defined WIN32 || defined _WIN32) && (defined __i486__ || defined __i586__ || \
-        defined __i686__ || defined __MMX__ || defined __SSE__  || defined __ppc__)
+        defined __i686__ || defined __MMX__ || defined __SSE__  || defined __ppc__) || \
+        (defined __GNUC__ && defined _STLPORT_MAJOR)
       #define CV_XADD __sync_fetch_and_add
     #else
       #include <ext/atomicity.h>
index 922a8e5..9b85fd3 100644 (file)
@@ -232,7 +232,7 @@ void KeyPointsFilter::runByImageBorder( vector<KeyPoint>& keypoints, Size imageS
         if (imageSize.height <= borderSize * 2 || imageSize.width <= borderSize * 2)
             keypoints.clear();
         else
-            keypoints.erase( remove_if(keypoints.begin(), keypoints.end(),
+            keypoints.erase( std::remove_if(keypoints.begin(), keypoints.end(),
                                        RoiPredicate(Rect(Point(borderSize, borderSize),
                                                          Point(imageSize.width - borderSize, imageSize.height - borderSize)))),
                              keypoints.end() );
@@ -259,7 +259,7 @@ void KeyPointsFilter::runByKeypointSize( vector<KeyPoint>& keypoints, float minS
     CV_Assert( maxSize >= 0);
     CV_Assert( minSize <= maxSize );
 
-    keypoints.erase( remove_if(keypoints.begin(), keypoints.end(), SizePredicate(minSize, maxSize)),
+    keypoints.erase( std::remove_if(keypoints.begin(), keypoints.end(), SizePredicate(minSize, maxSize)),
                      keypoints.end() );
 }
 
@@ -282,7 +282,7 @@ void KeyPointsFilter::runByPixelsMask( vector<KeyPoint>& keypoints, const Mat& m
     if( mask.empty() )
         return;
 
-    keypoints.erase(remove_if(keypoints.begin(), keypoints.end(), MaskPredicate(mask)), keypoints.end());
+    keypoints.erase(std::remove_if(keypoints.begin(), keypoints.end(), MaskPredicate(mask)), keypoints.end());
 }
 
 struct KeyPoint_LessThan
index 091feaa..40612f8 100644 (file)
@@ -77,7 +77,7 @@ DescriptorMatcher::DescriptorCollection::DescriptorCollection()
 DescriptorMatcher::DescriptorCollection::DescriptorCollection( const DescriptorCollection& collection )
 {
     mergedDescriptors = collection.mergedDescriptors.clone();
-    copy( collection.startIdxs.begin(), collection.startIdxs.begin(), startIdxs.begin() );
+    std::copy( collection.startIdxs.begin(), collection.startIdxs.begin(), startIdxs.begin() );
 }
 
 DescriptorMatcher::DescriptorCollection::~DescriptorCollection()
@@ -807,9 +807,9 @@ GenericDescriptorMatcher::KeyPointCollection::KeyPointCollection( const KeyPoint
 
     keypoints.resize( collection.keypoints.size() );
     for( size_t i = 0; i < keypoints.size(); i++ )
-        copy( collection.keypoints[i].begin(), collection.keypoints[i].end(), keypoints[i].begin() );
+        std::copy( collection.keypoints[i].begin(), collection.keypoints[i].end(), keypoints[i].begin() );
 
-    copy( collection.startIndices.begin(), collection.startIndices.end(), startIndices.begin() );
+    std::copy( collection.startIndices.begin(), collection.startIndices.end(), startIndices.begin() );
 }
 
 void GenericDescriptorMatcher::KeyPointCollection::add( const vector<Mat>& _images,
index c1e3ace..cbc1eb6 100644 (file)
@@ -52,6 +52,8 @@
 #include "opencv2/imgproc/imgproc_c.h"
 #include "opencv2/core/internal.hpp"
 
+#include <algorithm>
+
 #ifdef HAVE_TEGRA_OPTIMIZATION
 #include "opencv2/features2d/features2d_tegra.hpp"
 #endif
index a07ec9e..0314b27 100644 (file)
@@ -122,7 +122,7 @@ void estimateFocal(const vector<ImageFeatures> &features, const vector<MatchesIn
     {
         double median;
 
-        sort(all_focals.begin(), all_focals.end());
+        std::sort(all_focals.begin(), all_focals.end());
         if (all_focals.size() % 2 == 1)
             median = all_focals[all_focals.size() / 2];
         else
index 99bacf2..2b9573b 100644 (file)
@@ -468,7 +468,7 @@ void Stitcher::estimateCameraParams()
         focals.push_back(cameras_[i].focal);
     }
 
-    sort(focals.begin(), focals.end());
+    std::sort(focals.begin(), focals.end());
     if (focals.size() % 2 == 1)
         warped_image_scale_ = static_cast<float>(focals[focals.size() / 2]);
     else
index 585650f..f260591 100644 (file)
 #    define GTEST_HAS_RTTI 0
 #   else
 #   define GTEST_HAS_RTTI 1
-#   endif  // GTEST_OS_LINUX_ANDROID && __STLPORT_MAJOR && !__EXCEPTIONS
+#   endif  // GTEST_OS_LINUX_ANDROID && _STLPORT_MAJOR && !__EXCEPTIONS
 #  else
 #   define GTEST_HAS_RTTI 0
 #  endif  // __GXX_RTTI
 // support TR1 tuple.  libc++ only provides std::tuple, in C++11 mode,
 // and it can be used with some compilers that define __GNUC__.
 # if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \
-      && !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) || _MSC_VER >= 1600
+      && !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) && !defined(_STLPORT_MAJOR) \
+      || (defined(_MSC_VER) && _MSC_VER >= 1600)
 #  define GTEST_ENV_HAS_TR1_TUPLE_ 1
+# else
+#  define GTEST_ENV_HAS_TR1_TUPLE_ 0
 # endif
 
 // C++11 specifies that <tuple> provides std::tuple. Use that if gtest is used
 // can build with clang but need to use gcc4.2's libstdc++).
 # if GTEST_LANG_CXX11 && (!defined(__GLIBCXX__) || __GLIBCXX__ > 20110325)
 #  define GTEST_ENV_HAS_STD_TUPLE_ 1
-#else
+# else
 #  define GTEST_ENV_HAS_STD_TUPLE_ 0
 # endif
 
 #  define GTEST_USE_OWN_TR1_TUPLE 0
 # else
 #  define GTEST_USE_OWN_TR1_TUPLE 1
+#  undef  GTEST_HAS_TR1_TUPLE
+#  define GTEST_HAS_TR1_TUPLE 1
 # endif
 
 #endif  // GTEST_USE_OWN_TR1_TUPLE
index 1a81c41..4377c00 100644 (file)
@@ -172,7 +172,7 @@ void ConsistentMosaicInpainter::inpaint(int idx, Mat &frame, Mat &mask)
 
                     if (var < stdevThresh_ * stdevThresh_)
                     {
-                        sort(pixels.begin(), pixels.begin() + n);
+                        std::sort(pixels.begin(), pixels.begin() + n);
                         int nh = (n-1)/2;
                         int c1 = pixels[nh].color.x;
                         int c2 = pixels[nh].color.y;
index 60b3a57..a7d7f4a 100644 (file)
@@ -2,6 +2,7 @@
 #include "opencv2/highgui/highgui.hpp"
 #include "opencv2/imgproc/imgproc.hpp"
 
+#include <cctype>
 #include <iostream>
 #include <iterator>
 #include <stdio.h>
index 30cc70b..e24a770 100644 (file)
@@ -1453,7 +1453,7 @@ void VocData::readClassifierGroundTruth(const string& filename, vector<string>&
 
     string line;
     string image;
-    int obj_present;
+    int obj_present = 0;
     while (!gtfile.eof())
     {
         std::getline(gtfile,line);
@@ -1826,7 +1826,7 @@ void VocData::readFileToString(const string filename, string& file_contents)
 
 int VocData::stringToInteger(const string input_str)
 {
-    int result;
+    int result = 0;
 
     stringstream ss(input_str);
     if ((ss >> result).fail())
index 826e549..f4ff810 100644 (file)
@@ -2,6 +2,8 @@
 #include "opencv2/imgproc/imgproc.hpp"
 #include "opencv2/calib3d/calib3d.hpp"
 #include "opencv2/highgui/highgui.hpp"
+
+#include <cctype>
 #include <stdio.h>
 #include <string.h>
 #include <time.h>
index 28e9173..2780df3 100644 (file)
@@ -1,7 +1,9 @@
+#include <cctype>
 #include <cstring>
 #include <cmath>
 #include <iostream>
 #include <sstream>
+
 #include "opencv2/core/core.hpp"
 #include "opencv2/core/opengl_interop.hpp"
 #include "opencv2/highgui/highgui.hpp"
index defc23f..49aca42 100644 (file)
@@ -45,11 +45,11 @@ int main( int argc, char* argv[])
         return -1;
     }
 
-    int divideWith; // convert our input string to number - C++ style
+    int divideWith = 0; // convert our input string to number - C++ style
     stringstream s;
     s << argv[2];
     s >> divideWith;
-    if (!s)
+    if (!s || !divideWith)
     {
         cout << "Invalid number entered for dividing. " << endl;
         return -1;
index 6a6ed1c..bd4e853 100644 (file)
@@ -32,7 +32,7 @@ public:
         ifstream f(path.c_str());
         if (!f.is_open())
             throw runtime_error("can't open motions file: " + path);
-        int size; f >> size;
+        int size = 0; f >> size;
         motions_.resize(size);
         for (int i = 0; i < size; ++i)
         {