diff --git a/include/boost/type_traits/arithmetic_traits.hpp b/include/boost/type_traits/arithmetic_traits.hpp index c31ce2e..45eed5a 100644 --- a/include/boost/type_traits/arithmetic_traits.hpp +++ b/include/boost/type_traits/arithmetic_traits.hpp @@ -66,7 +66,7 @@ template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; -#elif defined(__BORLANDC__) || defined(_MSC_VER) +#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1100)) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)) template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral<__int64> @@ -126,7 +126,7 @@ template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; -#elif defined(__BORLANDC__) || defined(_MSC_VER) +#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1100)) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)) template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral @@ -171,7 +171,7 @@ template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; -#elif defined(__BORLANDC__) || defined(_MSC_VER) +#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1100)) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)) template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral @@ -216,7 +216,7 @@ template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; -#elif defined(__BORLANDC__) || defined(_MSC_VER) +#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1100)) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)) template <> struct is_integral { BOOST_STATIC_CONSTANT(bool, value = true); }; template <> struct is_integral