Index: boost/fusion/functional/adapter/unfused.hpp =================================================================== --- boost/fusion/functional/adapter/unfused.hpp (revision 78487) +++ boost/fusion/functional/adapter/unfused.hpp (working copy) @@ -100,6 +100,7 @@ namespace boost { +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE) template struct result_of< boost::fusion::unfused const () > { @@ -110,6 +111,17 @@ { typedef typename boost::fusion::unfused::call_0_result type; }; +#endif + template + struct tr1_result_of< boost::fusion::unfused const () > + { + typedef typename boost::fusion::unfused::call_const_0_result type; + }; + template + struct tr1_result_of< boost::fusion::unfused() > + { + typedef typename boost::fusion::unfused::call_0_result type; + }; } #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED Index: boost/fusion/functional/adapter/unfused_typed.hpp =================================================================== --- boost/fusion/functional/adapter/unfused_typed.hpp (revision 78487) +++ boost/fusion/functional/adapter/unfused_typed.hpp (working copy) @@ -80,6 +80,7 @@ namespace boost { +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE) template struct result_of< boost::fusion::unfused_typed const () > : boost::fusion::unfused_typed::template result< @@ -90,6 +91,17 @@ : boost::fusion::unfused_typed::template result< boost::fusion::unfused_typed () > { }; +#endif + template + struct tr1_result_of< boost::fusion::unfused_typed const () > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed const () > + { }; + template + struct tr1_result_of< boost::fusion::unfused_typed() > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed () > + { }; }