diff --git a/include/boost/fusion/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp index f22dc464..df306714 100644 --- a/include/boost/fusion/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -272,7 +273,7 @@ namespace boost { namespace fusion template static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - U value_at_impl(store*); + U value_at_impl(store*) { return boost::declval(); } }; template diff --git a/include/boost/fusion/view/detail/strictest_traversal.hpp b/include/boost/fusion/view/detail/strictest_traversal.hpp index 9ad1f7aa..d1aa7883 100644 --- a/include/boost/fusion/view/detail/strictest_traversal.hpp +++ b/include/boost/fusion/view/detail/strictest_traversal.hpp @@ -17,6 +17,9 @@ #include #include #include +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +#include +#endif namespace boost { namespace fusion { @@ -61,7 +64,10 @@ namespace boost { namespace fusion template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type - operator()(StrictestSoFar&&, Next&&) const; + operator()(StrictestSoFar&&, Next&&) const + { + return boost::declval::type>(); + } #endif };