More vc6/7 fixes.

[SVN r762]
This commit is contained in:
Thomas Witt
2002-12-10 19:43:45 +00:00
parent 33d3672f82
commit 45c0a299f5

View File

@@ -34,7 +34,7 @@ namespace boost {
template<typename T> template<typename T>
struct base struct base
{ {
#ifdef BOOST_MSVC #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
// Disable enable if for MSVC // Disable enable if for MSVC
typedef T type; typedef T type;
@@ -167,6 +167,12 @@ namespace boost {
{ {
}; };
#if BOOST_WORKAROUND(BOOST_MSVC, <=1200)
#define BOOST_ARG_DEP_TYPENAME
#else
#define BOOST_ARG_DEP_TYPENAME typename
#endif
template <class Base1, template <class Base1,
class Base2> class Base2>
inline inline
@@ -178,8 +184,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return iterator_core_access::equal(lhs.derived(), return iterator_core_access::equal(lhs.derived(),
rhs.derived()); rhs.derived());
@@ -196,8 +202,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return !iterator_core_access::equal(lhs.derived(), return !iterator_core_access::equal(lhs.derived(),
rhs.derived()); rhs.derived());
@@ -214,8 +220,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return iterator_core_access::distance_to(lhs.derived(), return iterator_core_access::distance_to(lhs.derived(),
rhs.derived()) > 0; rhs.derived()) > 0;
@@ -232,8 +238,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return iterator_core_access::distance_to(lhs.derived(), return iterator_core_access::distance_to(lhs.derived(),
rhs.derived()) < 0; rhs.derived()) < 0;
@@ -250,8 +256,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return iterator_core_access::distance_to(lhs.derived(), return iterator_core_access::distance_to(lhs.derived(),
rhs.derived()) >= 0; rhs.derived()) >= 0;
@@ -268,8 +274,8 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
return iterator_core_access::distance_to(lhs.derived(), return iterator_core_access::distance_to(lhs.derived(),
rhs.derived()) <= 0; rhs.derived()) <= 0;
@@ -311,11 +317,11 @@ namespace boost {
{ {
// For those compilers that do not support enable_if // For those compilers that do not support enable_if
BOOST_STATIC_ASSERT((detail::is_interoperable< BOOST_STATIC_ASSERT((detail::is_interoperable<
typename Base1::derived_t, BOOST_ARG_DEP_TYPENAME Base1::derived_t,
typename Base2::derived_t >::value)); BOOST_ARG_DEP_TYPENAME Base2::derived_t >::value));
BOOST_STATIC_ASSERT((is_same<typename Base1::difference_type, BOOST_STATIC_ASSERT((is_same<BOOST_ARG_DEP_TYPENAME Base1::difference_type,
typename Base2::difference_type>::value)); BOOST_ARG_DEP_TYPENAME Base2::difference_type>::value));
return iterator_core_access::distance_to(rhs.derived(), return iterator_core_access::distance_to(rhs.derived(),
lhs.derived()); lhs.derived());