Add double identity trick for fast value_at (vectors)

This is a workaround to make decltype(expr)::type compiles
with old compilers.
This commit is contained in:
Charly Chevalier
2015-11-10 14:04:16 +01:00
parent 74c0d5d0ec
commit 3298875ecc

View File

@ -47,7 +47,7 @@ namespace boost { namespace fusion
struct apply
{
typedef typename boost::remove_cv<Sequence>::type seq;
typedef typename decltype(seq::template value_at_impl<N::value>(boost::declval<seq*>()))::type type;
typedef typename mpl::identity<decltype(seq::template value_at_impl<N::value>(boost::declval<seq*>()))>::type::type type;
};
};
}