Update of /cvsroot/boost/boost/boost/fusion/functional/adapter
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7338

Modified Files:
        fused.hpp fused_function_object.hpp fused_procedure.hpp 
Log Message:
fixes result computation problem


Index: fused.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/fusion/functional/adapter/fused.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- fused.hpp   12 Jul 2007 09:07:36 -0000      1.3
+++ fused.hpp   13 Jul 2007 18:47:02 -0000      1.4
@@ -63,17 +63,18 @@
         }
 
         template <typename Sig>
-        struct result
-        { };
+        struct result;
 
         template <class Self, class Seq>
         struct result< Self const (Seq) >
-            : result_of::invoke<func_const_fwd_t,Seq>
+            : result_of::invoke<func_const_fwd_t,
+                typename boost::remove_reference<Seq>::type >
         { };
 
         template <class Self, class Seq>
         struct result< Self(Seq) >
-            : result_of::invoke<func_fwd_t,Seq>
+            : result_of::invoke<func_fwd_t,
+                typename boost::remove_reference<Seq>::type >
         { };
 
     };

Index: fused_function_object.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/fusion/functional/adapter/fused_function_object.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- fused_function_object.hpp   12 Jul 2007 09:07:36 -0000      1.3
+++ fused_function_object.hpp   13 Jul 2007 18:47:02 -0000      1.4
@@ -68,18 +68,19 @@
               func_fwd_t >(this->fnc_transformed,s);
         }
 
-        template<typename T>
-        struct result
-        { };
+        template <typename Sig>
+        struct result;
 
         template <class Self, class Seq>
         struct result< Self const (Seq) >
-            : result_of::invoke_function_object<func_const_fwd_t, Seq>
+            : result_of::invoke_function_object<func_const_fwd_t, 
+                typename boost::remove_reference<Seq>::type >
         { };
 
         template <class Self, class Seq>
         struct result< Self(Seq) >
-            : result_of::invoke_function_object<func_fwd_t, Seq>
+            : result_of::invoke_function_object<func_fwd_t,
+                typename boost::remove_reference<Seq>::type >
         { };
     };
 

Index: fused_procedure.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/fusion/functional/adapter/fused_procedure.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- fused_procedure.hpp 12 Jul 2007 09:07:36 -0000      1.2
+++ fused_procedure.hpp 13 Jul 2007 18:47:02 -0000      1.3
@@ -62,15 +62,7 @@
                 func_fwd_t >(this->fnc_transformed,s);
         }
 
-        template <typename Sig>
-        struct result
-        { };
-
-        template <class Self, class Seq>
-        struct result< Self(Seq) >
-        {
-            typedef void type;
-        };
+        typedef void result_type;
     };
 }}
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to