diff --git a/include/boost/fusion/functional/adapter/fused.hpp b/include/boost/fusion/functional/adapter/fused.hpp index 40096643..78ddf2ef 100644 --- a/include/boost/fusion/functional/adapter/fused.hpp +++ b/include/boost/fusion/functional/adapter/fused.hpp @@ -63,17 +63,18 @@ namespace boost { namespace fusion } template - struct result - { }; + struct result; template struct result< Self const (Seq) > - : result_of::invoke + : result_of::invoke::type > { }; template struct result< Self(Seq) > - : result_of::invoke + : result_of::invoke::type > { }; }; diff --git a/include/boost/fusion/functional/adapter/fused_function_object.hpp b/include/boost/fusion/functional/adapter/fused_function_object.hpp index b7d176d1..600d3a9a 100644 --- a/include/boost/fusion/functional/adapter/fused_function_object.hpp +++ b/include/boost/fusion/functional/adapter/fused_function_object.hpp @@ -68,18 +68,19 @@ namespace boost { namespace fusion func_fwd_t >(this->fnc_transformed,s); } - template - struct result - { }; + template + struct result; template struct result< Self const (Seq) > - : result_of::invoke_function_object + : result_of::invoke_function_object::type > { }; template struct result< Self(Seq) > - : result_of::invoke_function_object + : result_of::invoke_function_object::type > { }; }; diff --git a/include/boost/fusion/functional/adapter/fused_procedure.hpp b/include/boost/fusion/functional/adapter/fused_procedure.hpp index 7dfded18..f0f8bac4 100644 --- a/include/boost/fusion/functional/adapter/fused_procedure.hpp +++ b/include/boost/fusion/functional/adapter/fused_procedure.hpp @@ -62,15 +62,7 @@ namespace boost { namespace fusion func_fwd_t >(this->fnc_transformed,s); } - template - struct result - { }; - - template - struct result< Self(Seq) > - { - typedef void type; - }; + typedef void result_type; }; }}