fixes ticket 10676. for now, we'll use tr1_result_of. we'll have to do an overhaul of the fold implementation because making it sfinae friendly goes deep down into the low level internals.

This commit is contained in:
Joel de Guzman
2014-10-20 05:55:48 +08:00
parent ec9530eb15
commit 3d19bf9d96
2 changed files with 3 additions and 3 deletions

View File

@ -47,7 +47,7 @@ namespace boost { namespace fusion
{ {
template<typename State, typename It, typename F> template<typename State, typename It, typename F>
struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state) struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)
: boost::result_of< : boost::tr1_result_of<
F( F(
typename add_reference<typename add_const<State>::type>::type, typename add_reference<typename add_const<State>::type>::type,
BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It)) BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It))
@ -314,7 +314,7 @@ namespace boost { namespace fusion
{ {
typedef typename typedef typename
BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)<
typename boost::result_of< typename boost::tr1_result_of<
F( F(
StateRef, StateRef,
BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM( BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(

View File

@ -257,7 +257,7 @@ namespace boost { namespace fusion
{ {
typedef typename typedef typename
result_of_unrolled_fold< result_of_unrolled_fold<
typename boost::result_of< typename boost::tr1_result_of<
F( F(
StateRef, StateRef,
typename fusion::result_of::deref< It0 const>::type typename fusion::result_of::deref< It0 const>::type