Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / geometry / strategies / transform / map_transformer.hpp
index 150ff1d..1109e81 100644 (file)
 
 #include <boost/geometry/strategies/transform/matrix_transformers.hpp>
 
-
 namespace boost { namespace geometry
 {
 
+// Silence warning C4127: conditional expression is constant
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable : 4127)
+#endif
+
 namespace strategy { namespace transform
 {
 
 /*!
-\brief Transformation strategy to do map from one to another Cartesian system
+\brief Transformation strategy to map from one to another Cartesian coordinate system
 \ingroup strategies
-\tparam P1 first point type
-\tparam P2 second point type
 \tparam Mirror if true map is mirrored upside-down (in most cases pixels
     are from top to bottom, while map is from bottom to top)
  */
 template
 <
-    typename P1, typename P2,
-    bool Mirror = false, bool SameScale = true,
-    std::size_t Dimension1 = dimension<P1>::type::value,
-    std::size_t Dimension2 = dimension<P2>::type::value
+    typename CalculationType,
+    std::size_t Dimension1,
+    std::size_t Dimension2,
+    bool Mirror = false,
+    bool SameScale = true
 >
 class map_transformer
-    : public ublas_transformer<P1, P2, Dimension1, Dimension2>
+    : public ublas_transformer<CalculationType, Dimension1, Dimension2>
 {
-    typedef typename select_coordinate_type<P1, P2>::type T;
-    typedef boost::numeric::ublas::matrix<T> M;
+    typedef boost::numeric::ublas::matrix<CalculationType> M;
 
 public :
     template <typename B, typename D>
@@ -158,6 +161,9 @@ private :
 
 }} // namespace strategy::transform
 
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
 
 }} // namespace boost::geometry