$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r84920 - trunk/boost/geometry/algorithms/detail
From: bruno.lalande_at_[hidden]
Date: 2013-06-30 17:01:03
Author: bruno.lalande
Date: 2013-06-30 17:01:02 EDT (Sun, 30 Jun 2013)
New Revision: 84920
URL: http://svn.boost.org/trac/boost/changeset/84920
Log:
Move some template parameters from class level to function level in assign_value.
Text files modified: 
   trunk/boost/geometry/algorithms/detail/assign_values.hpp |    70 ++++++++++++++++----------------------- 
   1 files changed, 29 insertions(+), 41 deletions(-)
Modified: trunk/boost/geometry/algorithms/detail/assign_values.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/assign_values.hpp	Sun Jun 30 11:51:01 2013	(r84919)
+++ trunk/boost/geometry/algorithms/detail/assign_values.hpp	2013-06-30 17:01:02 EDT (Sun, 30 Jun 2013)	(r84920)
@@ -46,36 +46,30 @@
 {
 
 
-template
-<
-    typename Box, std::size_t Index,
-    std::size_t Dimension, std::size_t DimensionCount
->
+template <std::size_t Index, std::size_t Dimension, std::size_t DimensionCount>
 struct initialize
 {
-    typedef typename coordinate_type<Box>::type coordinate_type;
-
-    static inline void apply(Box& box, coordinate_type const& value)
+    template <typename Box>
+    static inline void apply(Box& box, typename coordinate_type<Box>::type const& value)
     {
         geometry::set<Index, Dimension>(box, value);
-        initialize<Box, Index, Dimension + 1, DimensionCount>::apply(box, value);
+        initialize<Index, Dimension + 1, DimensionCount>::apply(box, value);
     }
 };
 
 
-template <typename Box, std::size_t Index, std::size_t DimensionCount>
-struct initialize<Box, Index, DimensionCount, DimensionCount>
+template <std::size_t Index, std::size_t DimensionCount>
+struct initialize<Index, DimensionCount, DimensionCount>
 {
-    typedef typename coordinate_type<Box>::type coordinate_type;
-
-    static inline void apply(Box&,  coordinate_type const& )
+    template <typename Box>
+    static inline void apply(Box&, typename coordinate_type<Box>::type const&)
     {}
 };
 
 
-template <typename Point>
 struct assign_zero_point
 {
+    template <typename Point>
     static inline void apply(Point& point)
     {
         geometry::assign_value(point, 0);
@@ -83,44 +77,38 @@
 };
 
 
-template <typename BoxOrSegment>
 struct assign_inverse_box_or_segment
 {
-    typedef typename point_type<BoxOrSegment>::type point_type;
 
+    template <typename BoxOrSegment>
     static inline void apply(BoxOrSegment& geometry)
     {
+        typedef typename point_type<BoxOrSegment>::type point_type;
         typedef typename coordinate_type<point_type>::type bound_type;
 
-        initialize
-            <
-                BoxOrSegment, 0, 0, dimension<BoxOrSegment>::type::value
-            >::apply(
-            geometry, boost::numeric::bounds<bound_type>::highest());
-        initialize
-            <
-                BoxOrSegment, 1, 0, dimension<BoxOrSegment>::type::value
-            >::apply(
-            geometry, boost::numeric::bounds<bound_type>::lowest());
+        initialize<0, 0, dimension<BoxOrSegment>::type::value>::apply(
+            geometry, boost::numeric::bounds<bound_type>::highest()
+        );
+        initialize<1, 0, dimension<BoxOrSegment>::type::value>::apply(
+            geometry, boost::numeric::bounds<bound_type>::lowest()
+        );
     }
 };
 
 
-template <typename BoxOrSegment>
 struct assign_zero_box_or_segment
 {
+    template <typename BoxOrSegment>
     static inline void apply(BoxOrSegment& geometry)
     {
         typedef typename coordinate_type<BoxOrSegment>::type coordinate_type;
 
-        initialize
-            <
-                BoxOrSegment, 0, 0, dimension<BoxOrSegment>::type::value
-            >::apply(geometry, coordinate_type());
-        initialize
-            <
-                BoxOrSegment, 1, 0, dimension<BoxOrSegment>::type::value
-            >::apply(geometry, coordinate_type());
+        initialize<0, 0, dimension<BoxOrSegment>::type::value>::apply(
+            geometry, coordinate_type()
+        );
+        initialize<1, 0, dimension<BoxOrSegment>::type::value>::apply(
+            geometry, coordinate_type()
+        );
     }
 };
 
@@ -312,17 +300,17 @@
 
 template <typename Point>
 struct assign_zero<point_tag, Point>
-    : detail::assign::assign_zero_point<Point>
+    : detail::assign::assign_zero_point
 {};
 
 template <typename Box>
 struct assign_zero<box_tag, Box>
-    : detail::assign::assign_zero_box_or_segment<Box>
+    : detail::assign::assign_zero_box_or_segment
 {};
 
 template <typename Segment>
 struct assign_zero<segment_tag, Segment>
-    : detail::assign::assign_zero_box_or_segment<Segment>
+    : detail::assign::assign_zero_box_or_segment
 {};
 
 
@@ -331,12 +319,12 @@
 
 template <typename Box>
 struct assign_inverse<box_tag, Box>
-    : detail::assign::assign_inverse_box_or_segment<Box>
+    : detail::assign::assign_inverse_box_or_segment
 {};
 
 template <typename Segment>
 struct assign_inverse<segment_tag, Segment>
-    : detail::assign::assign_inverse_box_or_segment<Segment>
+    : detail::assign::assign_inverse_box_or_segment
 {};