diff --git a/enable_if.html b/enable_if.html index 7a00225..2b6ac0a 100644 --- a/enable_if.html +++ b/enable_if.html @@ -128,7 +128,7 @@ When valid, enable_if_c<B, T>::type equals T. The enable_if_c template can thus be used for controlling when functions are considered for overload resolution and when they are not. For example, the following function is defined for all arithmetic types (according to the -classification of the Boost type_traits library): +classification of the Boost type_traits library):
template <class T>
typename enable_if_c<boost::is_arithmetic<T>::value, T>::type
foo(T t) { return t; }
diff --git a/ref_ct_test.cpp b/ref_ct_test.cpp
index f072537..a3b5eea 100644
--- a/ref_ct_test.cpp
+++ b/ref_ct_test.cpp
@@ -7,8 +7,12 @@
// see 'ref_test.cpp' for run-time part
#include
-#include
+#include
+#include
#include
+#include
+
+#include
namespace {
@@ -35,13 +39,23 @@ void is_reference_wrapper_test(T)
template< typename R, typename Ref >
void cxx_reference_test(Ref)
{
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+ typedef typename boost::remove_const::type ref;
+ BOOST_STATIC_ASSERT((boost::is_same::value));
+#else
BOOST_STATIC_ASSERT((boost::is_same::value));
+#endif
}
template< typename R, typename Ref >
void unwrap_reference_test(Ref)
{
+#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+ typedef typename boost::remove_const::type ref;
+ typedef typename boost::unwrap_reference::type type;
+#else
typedef typename boost::unwrap_reference::type type;
+#endif
BOOST_STATIC_ASSERT((boost::is_same::value));
}