summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp')
-rw-r--r--3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp b/3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp
index 4179e8d..404b62c 100644
--- a/3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp
+++ b/3rdParty/Boost/src/boost/type_traits/has_trivial_assign.hpp
@@ -28,20 +28,27 @@ namespace detail {
template <typename T>
struct has_trivial_assign_impl
{
+#ifdef BOOST_HAS_TRIVIAL_ASSIGN
+ BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_ASSIGN(T));
+#else
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
- ::boost::type_traits::ice_or<
- ::boost::is_pod<T>::value,
- BOOST_HAS_TRIVIAL_ASSIGN(T)
- >::value,
- ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,
+ ::boost::is_pod<T>::value,
+ ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
>::value));
+#endif
};
} // namespace detail
BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::boost::detail::has_trivial_assign_impl<T>::value)
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void,false)
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const,false)
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const volatile,false)
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void volatile,false)
+#endif
} // namespace boost