attempts to finally make Sun work

[SVN r43605]
This commit is contained in:
Tobias Schwinger
2008-03-14 17:59:22 +00:00
parent f5084b1410
commit 8bc1c768ad

View File

@ -13,8 +13,7 @@
#include <boost/detail/workaround.hpp>
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582) \
|| BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
# include <boost/type_traits/remove_cv.hpp>
# include <boost/type_traits/remove_pointer.hpp>
# include <boost/type_traits/remove_reference.hpp>
@ -24,12 +23,8 @@
namespace boost { namespace function_types { namespace detail {
namespace ft = boost::function_types;
#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582) \
|| BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)))
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582))
template<typename T> struct cv_traits
{ typedef non_cv tag; typedef T type; };
@ -113,12 +108,13 @@ struct cv_code
{
static T _t;
BOOST_STATIC_CONSTANT(std::size_t, value =
sizeof(ft::detail::switch_cv(ft::detail::ref_to_ptr(_t) ) ));
sizeof(::boost::function_types::detail::switch_cv(
::boost::function_types::detail::ref_to_ptr(_t) ) ));
};
template<typename T> struct cv_traits
{
typedef typename ft::detail::cv_tag_impl<
typedef typename boost::function_types::detail::cv_tag_impl<
::boost::function_types::detail::cv_code<T>::value >::type
tag;