summaryrefslogtreecommitdiff
path: root/boost/fusion/container/vector/detail/deref_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/vector/detail/deref_impl.hpp')
-rw-r--r--boost/fusion/container/vector/detail/deref_impl.hpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/boost/fusion/container/vector/detail/deref_impl.hpp b/boost/fusion/container/vector/detail/deref_impl.hpp
index 1d9ac4a831..8c5fb94207 100644
--- a/boost/fusion/container/vector/detail/deref_impl.hpp
+++ b/boost/fusion/container/vector/detail/deref_impl.hpp
@@ -10,6 +10,7 @@
#include <boost/mpl/at.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/type_traits/is_const.hpp>
+#include <boost/mpl/if.hpp>
namespace boost { namespace fusion
{
@@ -29,14 +30,14 @@ namespace boost { namespace fusion
typedef typename Iterator::vector vector;
typedef typename Iterator::index index;
typedef typename mpl::at<
- typename vector::types, index>
+ typename vector::types, index>::type
element;
typedef typename
- mpl::eval_if<
+ mpl::if_<
is_const<vector>
- , fusion::detail::cref_result<element>
- , fusion::detail::ref_result<element>
+ , typename fusion::detail::cref_result<element>::type
+ , typename fusion::detail::ref_result<element>::type
>::type
type;