From 13ac6140836937e025cc5866ecb9f155f4b6c015 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 24 Sep 2002 11:38:33 +0000 Subject: [PATCH] Tidied up macro checking, added .NET 2003 support. [SVN r15491] --- include/boost/integer_traits.hpp | 36 +++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/include/boost/integer_traits.hpp b/include/boost/integer_traits.hpp index 569eb01..402060f 100644 --- a/include/boost/integer_traits.hpp +++ b/include/boost/integer_traits.hpp @@ -147,42 +147,64 @@ class integer_traits public detail::integer_traits_base { }; -#if defined(ULLONG_MAX) && !defined(__SUNPRO_CC) +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) +#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG) + template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; + template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; -#elif defined(ULONG_LONG_MAX) + +#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG) + template<> -class integer_traits - : public std::numeric_limits, - public detail::integer_traits_base -{ }; +class integer_traits : public std::numeric_limits, public detail::integer_traits_base{ }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; -#elif defined(ULONGLONG_MAX) && !defined(BOOST_MSVC) && !defined(__BORLANDC__) + +#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG) + template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; + template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; + +#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG) + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +#endif #endif } // namespace boost #endif /* BOOST_INTEGER_TRAITS_HPP */ +