diff options
Diffstat (limited to 'boost/fusion/functional/adapter')
-rw-r--r-- | boost/fusion/functional/adapter/unfused.hpp | 12 | ||||
-rw-r--r-- | boost/fusion/functional/adapter/unfused_typed.hpp | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/boost/fusion/functional/adapter/unfused.hpp b/boost/fusion/functional/adapter/unfused.hpp index b0d02bc47c..facd5c5427 100644 --- a/boost/fusion/functional/adapter/unfused.hpp +++ b/boost/fusion/functional/adapter/unfused.hpp @@ -100,6 +100,7 @@ namespace boost { namespace fusion namespace boost { +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE) template<class F> struct result_of< boost::fusion::unfused<F> const () > { @@ -110,6 +111,17 @@ namespace boost { typedef typename boost::fusion::unfused<F>::call_0_result type; }; +#endif + template<class F> + struct tr1_result_of< boost::fusion::unfused<F> const () > + { + typedef typename boost::fusion::unfused<F>::call_const_0_result type; + }; + template<class F> + struct tr1_result_of< boost::fusion::unfused<F>() > + { + typedef typename boost::fusion::unfused<F>::call_0_result type; + }; } #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED diff --git a/boost/fusion/functional/adapter/unfused_typed.hpp b/boost/fusion/functional/adapter/unfused_typed.hpp index 0f19f28f0b..923c6876c1 100644 --- a/boost/fusion/functional/adapter/unfused_typed.hpp +++ b/boost/fusion/functional/adapter/unfused_typed.hpp @@ -80,6 +80,7 @@ namespace boost { namespace fusion namespace boost { +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE) template<class F, class Seq> struct result_of< boost::fusion::unfused_typed<F,Seq> const () > : boost::fusion::unfused_typed<F,Seq>::template result< @@ -90,6 +91,17 @@ namespace boost : boost::fusion::unfused_typed<F,Seq>::template result< boost::fusion::unfused_typed<F,Seq> () > { }; +#endif + template<class F, class Seq> + struct tr1_result_of< boost::fusion::unfused_typed<F,Seq> const () > + : boost::fusion::unfused_typed<F,Seq>::template result< + boost::fusion::unfused_typed<F,Seq> const () > + { }; + template<class F, class Seq> + struct tr1_result_of< boost::fusion::unfused_typed<F,Seq>() > + : boost::fusion::unfused_typed<F,Seq>::template result< + boost::fusion::unfused_typed<F,Seq> () > + { }; } |