forked from boostorg/type_traits
revert to 1.5 revision
[SVN r17966]
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user