Fixed vector compile error with C-style array

This commit is contained in:
Kohei Takahashi
2018-04-18 22:31:35 +09:00
parent 79262831ef
commit e962c1abb5

View File

@ -23,6 +23,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#include <boost/fusion/container/vector/vector_fwd.hpp> #include <boost/fusion/container/vector/vector_fwd.hpp>
#include <boost/type_traits/declval.hpp> #include <boost/type_traits/declval.hpp>
#include <boost/mpl/identity.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
@ -35,7 +36,7 @@ namespace boost { namespace fusion
template <std::size_t N, typename U> template <std::size_t N, typename U>
static inline BOOST_FUSION_GPU_ENABLED 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 namespace extension
@ -49,8 +50,8 @@ namespace boost { namespace fusion
template <typename Sequence, typename N> template <typename Sequence, typename N>
struct apply struct apply
{ {
typedef typedef typename
decltype(vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>())) decltype(vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>()))::type
type; type;
}; };
}; };