summaryrefslogtreecommitdiff
path: root/boost/fusion/container/vector/detail/value_at_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/vector/detail/value_at_impl.hpp')
-rw-r--r--boost/fusion/container/vector/detail/value_at_impl.hpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/boost/fusion/container/vector/detail/value_at_impl.hpp b/boost/fusion/container/vector/detail/value_at_impl.hpp
index a2b9b2f6ba..a2dd5fcdca 100644
--- a/boost/fusion/container/vector/detail/value_at_impl.hpp
+++ b/boost/fusion/container/vector/detail/value_at_impl.hpp
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2014 Kohei Takahashi
+ Copyright (c) 2014,2018 Kohei Takahashi
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -7,7 +7,6 @@
#ifndef FUSION_VALUE_AT_IMPL_16122014_1641
#define FUSION_VALUE_AT_IMPL_16122014_1641
-#include <boost/config.hpp>
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/container/vector/detail/config.hpp>
@@ -23,6 +22,7 @@
///////////////////////////////////////////////////////////////////////////////
#include <boost/fusion/container/vector/vector_fwd.hpp>
#include <boost/type_traits/declval.hpp>
+#include <boost/mpl/identity.hpp>
namespace boost { namespace fusion
{
@@ -35,7 +35,7 @@ namespace boost { namespace fusion
template <std::size_t N, typename U>
static inline BOOST_FUSION_GPU_ENABLED
- U value_at_impl(store<N, U> const volatile*);
+ mpl::identity<U> value_at_impl(store<N, U> const volatile*);
}
namespace extension
@@ -49,9 +49,9 @@ namespace boost { namespace fusion
template <typename Sequence, typename N>
struct apply
{
- typedef
- decltype(vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>()))
- type;
+ typedef typename BOOST_FUSION_IDENTIFIED_TYPE((
+ vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>())
+ )) type;
};
};
}