diff --git a/include/boost/type_traits/add_pointer.hpp b/include/boost/type_traits/add_pointer.hpp index 66f5c5b..b420918 100644 --- a/include/boost/type_traits/add_pointer.hpp +++ b/include/boost/type_traits/add_pointer.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -19,7 +19,7 @@ namespace boost { namespace detail { -#ifdef __BORLANDC__ +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) // // For some reason this implementation stops Borlands compiler // from dropping cv-qualifiers, it still fails with references diff --git a/include/boost/type_traits/add_reference.hpp b/include/boost/type_traits/add_reference.hpp index ae9feaf..6fd2bee 100644 --- a/include/boost/type_traits/add_reference.hpp +++ b/include/boost/type_traits/add_reference.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -77,9 +77,9 @@ BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename detail::add_reference_impl::type) -// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional +// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional // level of indirection, here -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) +#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&) #endif diff --git a/include/boost/type_traits/alignment_of.hpp b/include/boost/type_traits/alignment_of.hpp index a4a5b95..44d92da 100644 --- a/include/boost/type_traits/alignment_of.hpp +++ b/include/boost/type_traits/alignment_of.hpp @@ -1,8 +1,8 @@ // (C) Copyright John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is +// Permission to copy, use, modify, sell and distribute this software is // granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. #ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED @@ -18,7 +18,7 @@ # pragma warning(push) # pragma warning(disable: 4121) // alignment is sensitive to packing #endif -#ifdef __BORLANDC__ +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) #pragma option push -Vx- -Ve- #endif @@ -86,7 +86,7 @@ BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0) } // namespace boost -#ifdef __BORLANDC__ +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) #pragma option pop #endif #ifdef BOOST_MSVC diff --git a/include/boost/type_traits/config.hpp b/include/boost/type_traits/config.hpp index 7453858..14ad3d8 100644 --- a/include/boost/type_traits/config.hpp +++ b/include/boost/type_traits/config.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -19,7 +19,7 @@ // it needs to be declared __cdecl to suppress compiler // warnings from MS and Borland compilers (this *must* // appear before we include is_same.hpp below): -#if defined(BOOST_MSVC) || defined(__BORLANDC__) +#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) # define BOOST_TT_DECL __cdecl #else # define BOOST_TT_DECL /**/ diff --git a/include/boost/type_traits/is_base_and_derived.hpp b/include/boost/type_traits/is_base_and_derived.hpp index 05e4f34..47f0919 100644 --- a/include/boost/type_traits/is_base_and_derived.hpp +++ b/include/boost/type_traits/is_base_and_derived.hpp @@ -1,8 +1,8 @@ // (C) Copyright Rani Sharoni 2003. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -24,7 +24,7 @@ namespace boost { namespace detail { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) \ +#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x570) \ && !BOOST_WORKAROUND(__SUNPRO_CC , BOOST_TESTED_AT(0x540)) \ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) // The EDG version number is a lower estimate. diff --git a/include/boost/type_traits/is_const.hpp b/include/boost/type_traits/is_const.hpp index 662715d..85e1ea6 100644 --- a/include/boost/type_traits/is_const.hpp +++ b/include/boost/type_traits/is_const.hpp @@ -36,7 +36,7 @@ namespace boost { BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::cv_traits_imp::is_const) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false) -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) // these are illegal specialisations; cv-qualifies applied to // references have no effect according to [8.3.2p1], // C++ Builder requires them though as it treats cv-qualified @@ -78,7 +78,7 @@ struct is_const_helper BOOST_STATIC_CONSTANT(bool, value = ( sizeof(detail::yes_type) == sizeof(detail::is_const_tester(t)) )); - }; + }; }; template <> @@ -90,7 +90,7 @@ struct is_const_helper BOOST_STATIC_CONSTANT(bool, value = ( sizeof(detail::yes_type) == sizeof(detail::is_const_tester(&t)) )); - }; + }; }; template @@ -99,7 +99,7 @@ struct is_const_impl is_reference::value , is_array::value >::template result_ -{ +{ }; BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false) diff --git a/include/boost/type_traits/is_convertible.hpp b/include/boost/type_traits/is_convertible.hpp index ab63a5c..e66c143 100644 --- a/include/boost/type_traits/is_convertible.hpp +++ b/include/boost/type_traits/is_convertible.hpp @@ -3,13 +3,13 @@ // Copyright (C) 2000 Jeremy Siek (jsiek@lsc.nd.edu) // Copyright (C) 1999, 2000 Jaakko J„rvi (jaakko.jarvi@cs.utu.fi) // -// Permission to copy and use this software is granted, -// provided this copyright notice appears in all copies. -// Permission to modify the code and to distribute modified code is granted, -// provided this copyright notice appears in all copies, and a notice +// Permission to copy and use this software is granted, +// provided this copyright notice appears in all copies. +// Permission to modify the code and to distribute modified code is granted, +// provided this copyright notice appears in all copies, and a notice // that the code was modified is included with the copyright notice. // -// This software is provided "as is" without express or implied warranty, +// This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. // @@ -99,12 +99,12 @@ struct is_convertible_impl }; static From _m_from; - static bool const value = sizeof( checker::_m_check(_m_from) ) + static bool const value = sizeof( checker::_m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type); #pragma option pop }; -#elif defined(__GNUC__) || defined(__BORLANDC__) +#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600) // special version for gcc compiler + recent Borland versions // note that this does not pass UDT's through (...) @@ -124,7 +124,7 @@ template struct is_convertible_basic_impl { static From _m_from; - static bool const value = sizeof( detail::checker::_m_check(_m_from, 0) ) + static bool const value = sizeof( detail::checker::_m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type); }; @@ -152,7 +152,7 @@ struct is_convertible_basic_impl static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); static From _m_from; - BOOST_STATIC_CONSTANT(bool, value = + BOOST_STATIC_CONSTANT(bool, value = sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) ); }; @@ -160,7 +160,7 @@ struct is_convertible_basic_impl #else // -// This version seems to work pretty well for a wide spectrum of compilers, +// This version seems to work pretty well for a wide spectrum of compilers, // however it does rely on undefined behaviour by passing UDT's through (...). // template diff --git a/include/boost/type_traits/is_empty.hpp b/include/boost/type_traits/is_empty.hpp index 1a96022..dfd0155 100644 --- a/include/boost/type_traits/is_empty.hpp +++ b/include/boost/type_traits/is_empty.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -46,7 +46,7 @@ struct empty_helper_t1 : public T struct empty_helper_t2 { int i[256]; }; -#ifndef __BORLANDC__ +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) template struct empty_helper @@ -154,9 +154,9 @@ struct empty_helper_chooser }; }; -template +template struct is_empty_impl -{ +{ typedef ::boost::detail::empty_helper_chooser< ::boost::type_traits::ice_and< ::boost::type_traits::ice_not< ::boost::is_reference::value >::value, @@ -174,7 +174,7 @@ struct is_empty_impl typedef typename result::type eh_type; BOOST_STATIC_CONSTANT(bool, value = - (::boost::type_traits::ice_or::value)); + (::boost::type_traits::ice_or::value)); }; #else diff --git a/include/boost/type_traits/is_enum.hpp b/include/boost/type_traits/is_enum.hpp index 270a230..291f43f 100644 --- a/include/boost/type_traits/is_enum.hpp +++ b/include/boost/type_traits/is_enum.hpp @@ -32,11 +32,11 @@ namespace detail { template struct is_class_or_union { -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570))// we simply can't detect it this way. +# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) || BOOST_WORKAROUND(__BORLANDC__, <= 0x570)// we simply can't detect it this way. BOOST_STATIC_CONSTANT(bool, value = false); # else template static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void)); - + # if BOOST_WORKAROUND(BOOST_MSVC, == 1300) \ || BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE static ::boost::type_traits::no_type is_class_or_union_tester(...); @@ -47,8 +47,8 @@ struct is_class_or_union static ::boost::type_traits::no_type is_class_or_union_tester(...); BOOST_STATIC_CONSTANT( bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type)); -# endif -# endif +# endif +# endif }; struct int_convertible @@ -80,8 +80,8 @@ template struct is_enum_impl { typedef ::boost::add_reference ar_t; typedef typename ar_t::type r_type; - -#if defined __GNUC__ + +#if defined __GNUC__ BOOST_STATIC_CONSTANT(bool, selector = (::boost::type_traits::ice_or< ::boost::is_arithmetic::value @@ -99,7 +99,7 @@ template struct is_enum_impl >::value)); #endif -#ifdef __BORLANDC__ +#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) typedef ::boost::detail::is_enum_helper< ::boost::detail::is_enum_impl::selector > se_t; @@ -125,7 +125,7 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::boost::detail::is_enum_impl::value) #else // __BORLANDC__ // -// buggy is_convertible prevents working +// buggy is_convertible prevents working // implementation of is_enum: BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false) diff --git a/include/boost/type_traits/is_integral.hpp b/include/boost/type_traits/is_integral.hpp index c3d1381..c01b402 100644 --- a/include/boost/type_traits/is_integral.hpp +++ b/include/boost/type_traits/is_integral.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -39,13 +39,19 @@ 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)) || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) +#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \ + || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ + || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200)) 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) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true) BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true) +#ifdef __BORLANDC__ +BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true) +BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true) +#endif #endif # if defined(BOOST_HAS_LONG_LONG) diff --git a/include/boost/type_traits/is_member_function_pointer.hpp b/include/boost/type_traits/is_member_function_pointer.hpp index b2e4218..7ab4eb9 100644 --- a/include/boost/type_traits/is_member_function_pointer.hpp +++ b/include/boost/type_traits/is_member_function_pointer.hpp @@ -13,7 +13,7 @@ #include "boost/type_traits/config.hpp" -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__BORLANDC__) +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) # include "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" #else # include "boost/type_traits/is_reference.hpp" @@ -29,7 +29,7 @@ namespace boost { -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__BORLANDC__) +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) BOOST_TT_AUX_BOOL_TRAIT_DEF1( is_member_function_pointer @@ -56,7 +56,7 @@ struct is_mem_fun_pointer_select { static T& make_t; typedef result_ self_type; - + BOOST_STATIC_CONSTANT( bool, value = ( 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t)) diff --git a/include/boost/type_traits/is_member_pointer.hpp b/include/boost/type_traits/is_member_pointer.hpp index 0f8851b..9b0bb59 100644 --- a/include/boost/type_traits/is_member_pointer.hpp +++ b/include/boost/type_traits/is_member_pointer.hpp @@ -13,7 +13,7 @@ #include "boost/type_traits/config.hpp" -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__BORLANDC__) +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) # include "boost/type_traits/is_member_function_pointer.hpp" #else # include "boost/type_traits/is_reference.hpp" @@ -29,7 +29,7 @@ namespace boost { -#if defined(__BORLANDC__) +#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true) @@ -58,7 +58,7 @@ struct is_member_pointer_select { static T& make_t(); BOOST_STATIC_CONSTANT( - bool, value = + bool, value = (::boost::type_traits::ice_or< (1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))), (1 == sizeof(is_member_pointer_tester(make_t()))) diff --git a/include/boost/type_traits/is_pointer.hpp b/include/boost/type_traits/is_pointer.hpp index 95f3236..f29bada 100644 --- a/include/boost/type_traits/is_pointer.hpp +++ b/include/boost/type_traits/is_pointer.hpp @@ -55,7 +55,7 @@ TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T* const volatile,true) template< typename T > struct is_pointer_impl { - BOOST_STATIC_CONSTANT(bool, value = + BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper::value , ::boost::type_traits::ice_not< @@ -69,7 +69,7 @@ struct is_pointer_impl BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl::value) -#if defined(__BORLANDC__) && !defined(__COMO__) +#if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false) diff --git a/include/boost/type_traits/is_reference.hpp b/include/boost/type_traits/is_reference.hpp index 325d430..5659938 100644 --- a/include/boost/type_traits/is_reference.hpp +++ b/include/boost/type_traits/is_reference.hpp @@ -26,14 +26,14 @@ // should be the last #include #include "boost/type_traits/detail/bool_trait_def.hpp" -namespace boost { +namespace boost { #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_reference,T&,true) -#if defined(__BORLANDC__) && !defined(__COMO__) +#if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600) // these are illegal specialisations; cv-qualifies applied to // references have no effect according to [8.3.2p1], // C++ Builder requires them though as it treats cv-qualified diff --git a/include/boost/type_traits/is_same.hpp b/include/boost/type_traits/is_same.hpp index 313312b..3a27532 100644 --- a/include/boost/type_traits/is_same.hpp +++ b/include/boost/type_traits/is_same.hpp @@ -1,9 +1,9 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, +// (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, // Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This -// software is provided "as is" without express or implied warranty, and +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This +// software is provided "as is" without express or implied warranty, and // with no claim as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -26,7 +26,7 @@ namespace boost { BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true) -#ifdef __BORLANDC__ +#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) // without this, Borland's compiler gives the wrong answer for // references to arrays: BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true) diff --git a/include/boost/type_traits/is_volatile.hpp b/include/boost/type_traits/is_volatile.hpp index b907a50..597e4ad 100644 --- a/include/boost/type_traits/is_volatile.hpp +++ b/include/boost/type_traits/is_volatile.hpp @@ -33,7 +33,7 @@ namespace boost { BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::cv_traits_imp::is_volatile) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false) -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) // these are illegal specialisations; cv-qualifies applied to // references have no effect according to [8.3.2p1], // C++ Builder requires them though as it treats cv-qualified @@ -68,7 +68,7 @@ struct is_volatile_helper BOOST_STATIC_CONSTANT(bool, value = ( sizeof(detail::yes_type) == sizeof(detail::is_volatile_tester(t)) )); - }; + }; }; template <> @@ -80,7 +80,7 @@ struct is_volatile_helper BOOST_STATIC_CONSTANT(bool, value = ( sizeof(detail::yes_type) == sizeof(detail::is_volatile_tester(&t)) )); - }; + }; }; template @@ -89,7 +89,7 @@ struct is_volatile_impl is_reference::value , is_array::value >::template result_ -{ +{ }; BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false) diff --git a/include/boost/type_traits/remove_reference.hpp b/include/boost/type_traits/remove_reference.hpp index 78ef6cb..b01ec82 100644 --- a/include/boost/type_traits/remove_reference.hpp +++ b/include/boost/type_traits/remove_reference.hpp @@ -1,8 +1,8 @@ // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. This software -// is provided "as is" without express or implied warranty, and with no claim +// Permission to copy, use, modify, sell and distribute this software is +// granted provided this copyright notice appears in all copies. This software +// is provided "as is" without express or implied warranty, and with no claim // as to its suitability for any purpose. // // See http://www.boost.org for most recent version including documentation. @@ -23,7 +23,7 @@ namespace boost { BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,T) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T) -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) // these are illegal specialisations; cv-qualifies applied to // references have no effect according to [8.3.2p1], // C++ Builder requires them though as it treats cv-qualified