From f119120d24a82f4ee97f2c85d99f8e401ed22ed5 Mon Sep 17 00:00:00 2001 From: Tobias Schwinger Date: Fri, 13 Jul 2007 16:37:22 +0000 Subject: [PATCH] corrects missing references in boost::result_of signature [SVN r38205] --- .../functional/invocation/invoke_function_object.hpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/include/boost/fusion/functional/invocation/invoke_function_object.hpp b/include/boost/fusion/functional/invocation/invoke_function_object.hpp index 748d5b4b..ad742265 100644 --- a/include/boost/fusion/functional/invocation/invoke_function_object.hpp +++ b/include/boost/fusion/functional/invocation/invoke_function_object.hpp @@ -27,10 +27,9 @@ #include #include #include -#include #include #include -#include +#include #include namespace boost { namespace fusion @@ -116,7 +115,7 @@ namespace boost { namespace fusion typedef typename boost::result_of< #define M(z,j,data) \ typename boost::remove_reference< \ - typename result_of::value_at_c::type >::type + typename result_of::at_c::type >::type Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M @@ -161,14 +160,12 @@ namespace boost { namespace fusion { #if N > 0 typedef typename result_of::begin::type I0; - typedef typename boost::remove_reference< - typename result_of::value_of::type >::type T0; + typedef typename result_of::deref::type T0; #define M(z,i,data) \ typedef typename result_of::next< \ BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ - typedef typename boost::remove_reference< \ - typename result_of::value_of::type >::type T##i; + typedef typename result_of::deref::type T##i; BOOST_PP_REPEAT_FROM_TO(1,N,M,~) #undef M