diff options
Diffstat (limited to 'boost/type_traits/is_stateless.hpp')
-rw-r--r-- | boost/type_traits/is_stateless.hpp | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/boost/type_traits/is_stateless.hpp b/boost/type_traits/is_stateless.hpp index d8d40635fe..f9266da5b8 100644 --- a/boost/type_traits/is_stateless.hpp +++ b/boost/type_traits/is_stateless.hpp @@ -14,35 +14,20 @@ #include <boost/type_traits/has_trivial_destructor.hpp> #include <boost/type_traits/is_class.hpp> #include <boost/type_traits/is_empty.hpp> -#include <boost/type_traits/detail/ice_and.hpp> #include <boost/config.hpp> -// should be the last #include -#include <boost/type_traits/detail/bool_trait_def.hpp> - namespace boost { -namespace detail { - template <typename T> -struct is_stateless_impl -{ - BOOST_STATIC_CONSTANT(bool, value = - (::boost::type_traits::ice_and< - ::boost::has_trivial_constructor<T>::value, - ::boost::has_trivial_copy<T>::value, - ::boost::has_trivial_destructor<T>::value, - ::boost::is_class<T>::value, - ::boost::is_empty<T>::value - >::value)); -}; - -} // namespace detail - -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::boost::detail::is_stateless_impl<T>::value) +struct is_stateless + : public integral_constant<bool, + (::boost::has_trivial_constructor<T>::value + && ::boost::has_trivial_copy<T>::value + && ::boost::has_trivial_destructor<T>::value + && ::boost::is_class<T>::value + && ::boost::is_empty<T>::value)> +{}; } // namespace boost -#include <boost/type_traits/detail/bool_trait_undef.hpp> - #endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED |