diff --git a/index.html b/index.html index 79c673f..2709ca7 100644 --- a/index.html +++ b/index.html @@ -358,9 +358,16 @@ ::boost::is_abstract<T>::value Evaluates true only if T is abstract class. 10.3 - Compiler must support DR337 (as Jan 2004: GCC - 3.4,
-       VC++ 7.1, Intel C++ 7, Comeau 4.3.2). + +

Compiler must support DR337 (as Jan 2004: GCC 3.4, VC++ 7.1, Intel C++ 7, and + Comeau 4.3.2).

+

Otherwise produces the same value as is_polymorphic<T>::value; this is + the "safe fallback position" for which polymorphic types are + always regarded as potentially abstract.

+

The macro BOOST_NO_IS_ABSTRACT is used to signify that the implemention is + buggy, users should check for this in their own code if the "safe fallback" is + not suitable for their particular use-case.

+ diff --git a/test/is_abstract_test.cpp b/test/is_abstract_test.cpp index f83852a..2d2079a 100755 --- a/test/is_abstract_test.cpp +++ b/test/is_abstract_test.cpp @@ -255,7 +255,9 @@ BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); - +#if !(defined(BOOST_MSVC) && (BOOST_MSVC < 1310)) +// MSVC prior to VC7.1 always runs out of swap space trying to +// compile these, so leave them out for now (the test fails anyway). BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); @@ -425,6 +427,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false) BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); +#endif TT_TEST_END