From 50dc551ca115bc3ec62315ab454ca54062ba3e62 Mon Sep 17 00:00:00 2001
From: Luc Hermitte <luc.hermitte@c-s.fr>
Date: Thu, 26 Apr 2012 19:24:07 +0200
Subject: [PATCH] WARN: OTB-134/OGR: warning on windows

---
 .../OGRAdapters/otbOGRDataSourceWrapper.h                 | 8 ++++----
 Code/UtilitiesAdapters/OGRAdapters/otbOGRFieldWrapper.h   | 2 +-
 .../OGRAdapters/otbOGRGeometryWrapper.cxx                 | 4 ++++
 Code/UtilitiesAdapters/otbOGR.h                           | 4 ++++
 4 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.h b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.h
index 397140c38d..0ee5de4d9a 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.h
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.h
@@ -504,15 +504,13 @@ public:
     return m_DataSource ? &boolean::i : 0;
     }
 
-  /*otb::ogr::*
-   * Flushes all changes to disk.
+  /** Flushes all changes to disk.
    * \throw itd::ExceptionObject in case the flush operation failed.
    * \sa OGRDataSource::SyncToDisk
    */
   void SyncToDisk();
 
-  /**
-   * Returns whether a capability is avalaible.
+  /** Returns whether a capability is avalaible.
    * \param[in] capabilityName  name of the capability to check.
    * \throw None
    * \sa OGRDataSource::TestCapability
@@ -578,6 +576,8 @@ private:
 } } // end namespace otb::ogr
 
 #if 0
+// Either this, or inheriting from noncopyable is required for DataSource to be
+// compatible with BOOST_FOREACH
 namespace boost { namespace foreach {
   template<typename T> struct is_noncopyable; // forward declaration
   template <>
diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRFieldWrapper.h b/Code/UtilitiesAdapters/OGRAdapters/otbOGRFieldWrapper.h
index 6b113fb444..aa706662fc 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRFieldWrapper.h
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRFieldWrapper.h
@@ -234,7 +234,7 @@ public:
     assert(m_Definition.GetType() == Kind::value);
     typedef typename boost::mpl::at<metaprog::FieldGetters_Map, Kind>::type GetterType;
     BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
-    assert(m_index >= 0 && m_index < m_Feature->GetFieldCount());
+    assert(m_index >= 0 && int(m_index) < m_Feature->GetFieldCount());
     return GetterType::call(*m_Feature, m_index);
     }
 
diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRGeometryWrapper.cxx b/Code/UtilitiesAdapters/OGRAdapters/otbOGRGeometryWrapper.cxx
index a15587b6ee..6f87b1eb54 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRGeometryWrapper.cxx
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRGeometryWrapper.cxx
@@ -22,6 +22,10 @@
 #include "otbOGRGeometryWrapper.h"
 #include "ogr_geometry.h"
 
+#ifdef _MSC_VER
+// warning convertion int -> bool
+#pragma warning ( disable : 4800 )
+#endif
 /*===========================================================================*/
 /*================================[ Deleter ]================================*/
 /*===========================================================================*/
diff --git a/Code/UtilitiesAdapters/otbOGR.h b/Code/UtilitiesAdapters/otbOGR.h
index e5d566824e..a69e7dd8c7 100644
--- a/Code/UtilitiesAdapters/otbOGR.h
+++ b/Code/UtilitiesAdapters/otbOGR.h
@@ -33,6 +33,10 @@ namespace otb {
 
 #include "otbOGRDriversInit.h"
 #include "otbOGRDataSourceWrapper.h"
+// #include "otbOGRLayerWrapper.h" // implicit
+// #include "otbOGRFeatureWrapper.h" // implicit
+// #include "otbOGRFieldWrapper.h" // implicit
+// #include "otbOGRGeometryWrapper.h" // implicit
 
 /**\ingroup Geometry
  * \file    otbOGR.h
-- 
GitLab