forked from boostorg/type_traits
Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
[SVN r30670]
This commit is contained in:
@ -121,7 +121,7 @@ public: // accessors
|
||||
return this;
|
||||
}
|
||||
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
|
||||
const void* address() const
|
||||
{
|
||||
@ -136,7 +136,7 @@ public: // accessors
|
||||
|
||||
};
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
|
||||
// MSVC6 seems not to like inline functions with const void* returns, so we
|
||||
// declare the following here:
|
||||
|
@ -24,7 +24,7 @@
|
||||
/**/
|
||||
# define BOOST_TT_AUX_BOOL_C_BASE(C)
|
||||
|
||||
#elif defined(BOOST_MSVC) && BOOST_MSVC <= 1200
|
||||
#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300
|
||||
|
||||
# define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
|
||||
typedef ::boost::integral_constant<bool,C> base_; \
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#if !defined(BOOST_MSVC) || BOOST_MSVC > 1200
|
||||
#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
|
||||
# define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::integral_constant<std::size_t,C>
|
||||
# define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
|
||||
#else
|
||||
|
@ -120,7 +120,7 @@ template <class T, std::size_t N = 0>
|
||||
struct extent
|
||||
: public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
typedef ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value> base_;
|
||||
using base_::value;
|
||||
#endif
|
||||
|
@ -59,7 +59,7 @@ public:
|
||||
|
||||
template<> struct integral_constant<bool,true> : public mpl::true_
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
typedef mpl::true_ base_;
|
||||
using base_::value;
|
||||
#endif
|
||||
@ -67,7 +67,7 @@ template<> struct integral_constant<bool,true> : public mpl::true_
|
||||
};
|
||||
template<> struct integral_constant<bool,false> : public mpl::false_
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
typedef mpl::false_ base_;
|
||||
using base_::value;
|
||||
#endif
|
||||
|
@ -52,7 +52,7 @@ struct is_class_or_union
|
||||
template <typename T>
|
||||
struct is_class_or_union
|
||||
{
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) || BOOST_WORKAROUND(__BORLANDC__, <= 0x570)// we simply can't detect it this way.
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, <= 0x570)// we simply can't detect it this way.
|
||||
BOOST_STATIC_CONSTANT(bool, value = false);
|
||||
# else
|
||||
template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
|
||||
|
@ -41,9 +41,9 @@ BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
|
||||
#endif
|
||||
|
||||
#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \
|
||||
#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
|
||||
|| (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
|
||||
|
@ -59,7 +59,7 @@ struct is_signed_imp
|
||||
> selector;
|
||||
typedef typename selector::template rebind<T> binder;
|
||||
typedef typename binder::type type;
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200)
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
|
||||
#else
|
||||
BOOST_STATIC_CONSTANT(bool, value = type::value);
|
||||
|
Reference in New Issue
Block a user