Ticket #6910: fusion_tr1_result_of.patch

File fusion_tr1_result_of.patch, 2.1 KB (added by Michel Morin, 10 years ago)
  • boost/fusion/functional/adapter/unfused.hpp

     
    100100
    101101namespace boost
    102102{
     103#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE)
    103104    template<class F>
    104105    struct result_of< boost::fusion::unfused<F> const () >
    105106    {
     
    110111    {
    111112        typedef typename boost::fusion::unfused<F>::call_0_result type;
    112113    };
     114#endif
     115    template<class F>
     116    struct tr1_result_of< boost::fusion::unfused<F> const () >
     117    {
     118        typedef typename boost::fusion::unfused<F>::call_const_0_result type;
     119    };
     120    template<class F>
     121    struct tr1_result_of< boost::fusion::unfused<F>() >
     122    {
     123        typedef typename boost::fusion::unfused<F>::call_0_result type;
     124    };
    113125}
    114126
    115127#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED
  • boost/fusion/functional/adapter/unfused_typed.hpp

     
    8080
    8181namespace boost
    8282{
     83#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE)
    8384    template<class F, class Seq>
    8485    struct result_of< boost::fusion::unfused_typed<F,Seq> const () >
    8586        : boost::fusion::unfused_typed<F,Seq>::template result<
     
    9091        : boost::fusion::unfused_typed<F,Seq>::template result<
    9192            boost::fusion::unfused_typed<F,Seq> () >
    9293    { };
     94#endif
     95    template<class F, class Seq>
     96    struct tr1_result_of< boost::fusion::unfused_typed<F,Seq> const () >
     97        : boost::fusion::unfused_typed<F,Seq>::template result<
     98            boost::fusion::unfused_typed<F,Seq> const () >
     99    { };
     100    template<class F, class Seq>
     101    struct tr1_result_of< boost::fusion::unfused_typed<F,Seq>() >
     102        : boost::fusion::unfused_typed<F,Seq>::template result<
     103            boost::fusion::unfused_typed<F,Seq> () >
     104    { };
    93105}
    94106
    95107