]> git.donarmstrong.com Git - rsem.git/blobdiff - boost/type_traits/has_trivial_destructor.hpp
Updated boost to v1.55.0
[rsem.git] / boost / type_traits / has_trivial_destructor.hpp
index f2a8ce681b1736bf3174d2de7e014a2b8ea5bb0c..79d7522fdc9a7cdce8cef305993aa856b61bc0da 100644 (file)
@@ -24,17 +24,24 @@ namespace detail {
 template <typename T>
 struct has_trivial_dtor_impl
 {
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-         ::boost::is_pod<T>::value,
-         BOOST_HAS_TRIVIAL_DESTRUCTOR(T)
-      >::value));
+#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR
+   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_DESTRUCTOR(T));
+#else
+   BOOST_STATIC_CONSTANT(bool, value = ::boost::is_pod<T>::value);
+#endif
 };
 
 } // namespace detail
 
 BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::boost::detail::has_trivial_dtor_impl<T>::value)
 
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void,false)
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const,false)
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const volatile,false)
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void volatile,false)
+#endif
+
 } // namespace boost
 
 #include <boost/type_traits/detail/bool_trait_undef.hpp>