From 4d3891ed3165969c49079a2a63aec362d54b2a04 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Sat, 7 Nov 2015 16:11:06 -0500 Subject: [PATCH] Remove invalid odr-usages of boost::declval. --- include/boost/fusion/container/vector/vector.hpp | 5 ++--- .../boost/fusion/view/detail/strictest_traversal.hpp | 10 ++-------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/include/boost/fusion/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp index df306714..fb6a6f8b 100644 --- a/include/boost/fusion/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -272,8 +271,8 @@ namespace boost { namespace fusion } template - static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - U value_at_impl(store*) { return boost::declval(); } + static BOOST_FUSION_GPU_ENABLED + U value_at_impl(store*); }; template diff --git a/include/boost/fusion/view/detail/strictest_traversal.hpp b/include/boost/fusion/view/detail/strictest_traversal.hpp index d1aa7883..4092ea4d 100644 --- a/include/boost/fusion/view/detail/strictest_traversal.hpp +++ b/include/boost/fusion/view/detail/strictest_traversal.hpp @@ -17,9 +17,6 @@ #include #include #include -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -#include -#endif namespace boost { namespace fusion { @@ -62,12 +59,9 @@ namespace boost { namespace fusion // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_FUSION_GPU_ENABLED typename result::type - operator()(StrictestSoFar&&, Next&&) const - { - return boost::declval::type>(); - } + operator()(StrictestSoFar&&, Next&&) const; #endif };