diff --git a/include/boost/container_hash/is_tuple_like.hpp b/include/boost/container_hash/is_tuple_like.hpp index 5368283..8f57364 100644 --- a/include/boost/container_hash/is_tuple_like.hpp +++ b/include/boost/container_hash/is_tuple_like.hpp @@ -7,6 +7,7 @@ #include #include +#include #include namespace boost @@ -18,7 +19,7 @@ template struct is_tuple_like_: false_type { }; -#if !defined(BOOST_NO_CXX11_HDR_TUPLE) +#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && !BOOST_WORKAROUND(BOOST_MSVC, <= 1800) template struct is_tuple_like_::value == std::tuple_size::value> >: true_type { diff --git a/test/is_tuple_like_test.cpp b/test/is_tuple_like_test.cpp index 728dec3..d00dca7 100644 --- a/test/is_tuple_like_test.cpp +++ b/test/is_tuple_like_test.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include struct X @@ -73,7 +74,7 @@ int main() BOOST_TEST_TRAIT_FALSE((is_tuple_like)); BOOST_TEST_TRAIT_FALSE((is_tuple_like)); -#if !defined(BOOST_NO_CXX11_HDR_TUPLE) +#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && !BOOST_WORKAROUND(BOOST_MSVC, <= 1800) BOOST_TEST_TRAIT_TRUE((is_tuple_like< std::pair >));