From 3298875eccb727291ecbafaa6c7dda9be43be557 Mon Sep 17 00:00:00 2001 From: Charly Chevalier Date: Tue, 10 Nov 2015 14:04:16 +0100 Subject: [PATCH] Add double identity trick for fast value_at (vectors) This is a workaround to make decltype(expr)::type compiles with old compilers. --- include/boost/fusion/container/vector/detail/value_at_impl.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/fusion/container/vector/detail/value_at_impl.hpp b/include/boost/fusion/container/vector/detail/value_at_impl.hpp index 7d134054..6c8c41fb 100644 --- a/include/boost/fusion/container/vector/detail/value_at_impl.hpp +++ b/include/boost/fusion/container/vector/detail/value_at_impl.hpp @@ -47,7 +47,7 @@ namespace boost { namespace fusion struct apply { typedef typename boost::remove_cv::type seq; - typedef typename decltype(seq::template value_at_impl(boost::declval()))::type type; + typedef typename mpl::identity(boost::declval()))>::type::type type; }; }; }