revert to 1.5 revision

[SVN r17966]
This commit is contained in:
Aleksey Gurtovoy
2003-03-17 20:05:45 +00:00
parent 7e82ad2441
commit 4a88d0ef16

View File

@ -51,7 +51,7 @@ struct is_class_impl
template <class U> static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
template <class U> static ::boost::type_traits::no_type is_class_tester(...);
BOOST_STATIC_CONSTANT(bool, value =
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),
::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value
@ -64,6 +64,7 @@ struct is_class_impl
template <typename T>
struct is_class_impl
{
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
@ -73,6 +74,16 @@ struct is_class_impl
::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_function<T>::value >::value
>::value));
# else
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value
>::value));
# endif
};
# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION