$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Gennadiy E. Rozental (rogeeff_at_[hidden])
Date: 2001-09-07 10:22:55
I propose following change in composite_traits.hpp to be able to
compile it with Solaris Forte C++ 6 u.1
Gennadiy
cvs diff composite_traits.hpp
Index: composite_traits.hpp
===================================================================
RCS
file: /cvsroot/boost/boost/boost/type_traits/composite_traits.hpp,v
retrieving revision 1.7
diff -r1.7 composite_traits.hpp
65a66,70
> #elif defined (__SUNPRO_CC) && __SUNPRO_CC >= 0x510 // SUN WORKSHOP
6
> template <typename T> struct is_array
> { BOOST_STATIC_CONSTANT(bool, value = false); };
> template <typename T, std::size_t N> struct is_array<T[N]>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
139d143
<
205c209,224
< #else
---
> #elif defined (__SUNPRO_CC) && __SUNPRO_CC >= 0x520 // SUN WORKSHOP
6
> namespace detail{
> template <typename T> struct is_pointer_helper
> { BOOST_STATIC_CONSTANT(bool, value = false); };
> template <typename T> struct is_pointer_helper<T*>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_pointer_helper<T const*>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_pointer_helper<T volatile*>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_pointer_helper<T const volatile*>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> } // namespace detail
> template <typename T> struct is_pointer
> { BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper<T>:
:value, ::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::
value >::value >::value)); };
> #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
272c291,302
< #else
---
> #elif defined (__SUNPRO_CC) && __SUNPRO_CC >= 0x510 // SUN WORKSHOP
6
> template <typename T> struct is_reference
> { BOOST_STATIC_CONSTANT(bool, value = false); };
> template <typename T> struct is_reference<T&>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_reference<T const&>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_reference<T volatile&>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> template <typename T> struct is_reference<T const volatile&>
> { BOOST_STATIC_CONSTANT(bool, value = true); };
> #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
362c392
< #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
---
> #if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) || defined
( __SUNPRO_CC) && __SUNPRO_CC >= 0x520