$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r80788 - sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node
From: adam.wulkiewicz_at_[hidden]
Date: 2012-09-30 13:29:02
Author: awulkiew
Date: 2012-09-30 13:29:00 EDT (Sun, 30 Sep 2012)
New Revision: 80788
URL: http://svn.boost.org/trac/boost/changeset/80788
Log:
removed not automatically deducable template parameters from methods templates (possible GCC compilation error).
Text files modified: 
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp |    30 ++++++++++++++----------------          
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp  |    16 +++++++---------                        
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp |    14 ++++++--------                          
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp  |    10 ++++------                              
   4 files changed, 31 insertions(+), 39 deletions(-)
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_dynamic.hpp	2012-09-30 13:29:00 EDT (Sun, 30 Sep 2012)
@@ -190,11 +190,11 @@
 
 // create_node_impl
 
-template <typename Node>
-struct create_node_poly
+template <typename BaseNode, typename Node>
+struct create_dynamic_node
 {
-    template <typename RetNode, typename AllocNode, typename AllocElems>
-    static inline RetNode * apply(AllocNode & alloc_node, AllocElems & alloc_elems)
+    template <typename AllocNode, typename AllocElems>
+    static inline BaseNode * apply(AllocNode & alloc_node, AllocElems & alloc_elems)
     {
         Node * p = alloc_node.allocate(1);
 
@@ -237,14 +237,13 @@
     dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
 >
 {
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
+    static inline dynamic_node<Value, Parameters, Box, Allocators, Tag> *
     apply(Allocators & allocators)
     {
-        return create_node_poly<
+        return create_dynamic_node<
+            dynamic_node<Value, Parameters, Box, Allocators, Tag>,
             dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.internal_node_allocator, allocators.internal_node_elements_allocator);
+        >::apply(allocators.internal_node_allocator, allocators.internal_node_elements_allocator);
     }
 };
 
@@ -254,14 +253,13 @@
     dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
 >
 {
-    static inline typename node<Value, Parameters, Box, Allocators, Tag>::type *
+    static inline dynamic_node<Value, Parameters, Box, Allocators, Tag> *
     apply(Allocators & allocators)
     {
-        return create_node_poly<
+        return create_dynamic_node<
+            dynamic_node<Value, Parameters, Box, Allocators, Tag>,
             dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.leaf_allocator, allocators.leaf_elements_allocator);
+        >::template apply(allocators.leaf_allocator, allocators.leaf_elements_allocator);
     }
 };
 
@@ -273,7 +271,7 @@
     dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
 >
 {
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
+    static inline void apply(Allocators & allocators, dynamic_node<Value, Parameters, Box, Allocators, Tag> * n)
     {
         destroy_node_poly<
             dynamic_internal_node<Value, Parameters, Box, Allocators, Tag>
@@ -287,7 +285,7 @@
     dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
 >
 {
-    static inline void apply(Allocators & allocators, typename node<Value, Parameters, Box, Allocators, Tag>::type * n)
+    static inline void apply(Allocators & allocators, dynamic_node<Value, Parameters, Box, Allocators, Tag> * n)
     {
         destroy_node_poly<
             dynamic_leaf<Value, Parameters, Box, Allocators, Tag>
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_d_mem_static.hpp	2012-09-30 13:29:00 EDT (Sun, 30 Sep 2012)
@@ -122,14 +122,13 @@
     dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
 >
 {
-    static inline typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type *
+    static inline dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag> *
     apply(Allocators & allocators)
     {
-        return create_node_poly<
+        return create_dynamic_node<
+            dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>,
             dynamic_internal_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type
-        >(allocators.internal_node_allocator, allocators.internal_node_allocator);
+        >::template apply(allocators.internal_node_allocator, allocators.internal_node_allocator);
     }
 };
 
@@ -142,11 +141,10 @@
     static inline typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type *
     apply(Allocators & allocators)
     {
-        return create_node_poly<
+        return create_dynamic_node<
+            dynamic_node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>,
             dynamic_leaf<Value, Parameters, Box, Allocators, node_d_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_d_mem_static_tag>::type
-        >(allocators.leaf_allocator, allocators.leaf_allocator);
+        >::template apply(allocators.leaf_allocator, allocators.leaf_allocator);
     }
 };
 
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_dynamic.hpp	2012-09-30 13:29:00 EDT (Sun, 30 Sep 2012)
@@ -153,10 +153,10 @@
 
 // create_node_variant
 
-template <typename Node>
+template <typename RetNode, typename Node>
 struct create_node_variant
 {
-    template <typename RetNode, typename AllocNode, typename AllocElems>
+    template <typename AllocNode, typename AllocElems>
     static inline RetNode * apply(AllocNode & alloc_node, AllocElems & alloc_elems)
     {
         RetNode * p = alloc_node.allocate(1);
@@ -203,10 +203,9 @@
     apply(Allocators & allocators)
     {
         return create_node_variant<
+            typename node<Value, Parameters, Box, Allocators, Tag>::type,
             static_internal_node<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.node_allocator, allocators.internal_node_elements_allocator);
+        >::template apply(allocators.node_allocator, allocators.internal_node_elements_allocator);
     }
 };
 
@@ -220,10 +219,9 @@
     apply(Allocators & allocators)
     {
         return create_node_variant<
+            typename node<Value, Parameters, Box, Allocators, Tag>::type,
             static_leaf<Value, Parameters, Box, Allocators, Tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, Tag>::type
-        >(allocators.node_allocator, allocators.leaf_elements_allocator);
+        >::template apply(allocators.node_allocator, allocators.leaf_elements_allocator);
     }
 };
 
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/node/node_s_mem_static.hpp	2012-09-30 13:29:00 EDT (Sun, 30 Sep 2012)
@@ -121,10 +121,9 @@
     apply(Allocators & allocators)
     {
         return create_node_variant<
+            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type,
             static_internal_node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type
-        >(allocators.node_allocator, allocators.node_allocator);
+        >::template apply(allocators.node_allocator, allocators.node_allocator);
     }
 };
 
@@ -138,10 +137,9 @@
     apply(Allocators & allocators)
     {
         return create_node_variant<
+            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type,
             static_leaf<Value, Parameters, Box, Allocators, node_s_mem_static_tag>
-        >::template apply<
-            typename node<Value, Parameters, Box, Allocators, node_s_mem_static_tag>::type
-        >(allocators.node_allocator, allocators.node_allocator);
+        >::template apply(allocators.node_allocator, allocators.node_allocator);
     }
 };