summaryrefslogtreecommitdiff
path: root/boost/type_traits/is_abstract.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/type_traits/is_abstract.hpp')
-rw-r--r--boost/type_traits/is_abstract.hpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/boost/type_traits/is_abstract.hpp b/boost/type_traits/is_abstract.hpp
index f1cd92c67c..7715c5ca37 100644
--- a/boost/type_traits/is_abstract.hpp
+++ b/boost/type_traits/is_abstract.hpp
@@ -49,20 +49,18 @@
//
#include <boost/type_traits/intrinsics.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#ifndef BOOST_IS_ABSTRACT
#include <boost/static_assert.hpp>
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
#ifdef BOOST_NO_IS_ABSTRACT
#include <boost/type_traits/is_polymorphic.hpp>
#endif
#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
namespace boost {
+
namespace detail{
#ifdef BOOST_IS_ABSTRACT
@@ -141,13 +139,11 @@ struct is_abstract_imp
}
#ifndef BOOST_NO_IS_ABSTRACT
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_abstract_imp<T>::value)
+template <class T> struct is_abstract : public integral_constant<bool, ::boost::detail::is_abstract_imp<T>::value> {};
#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_polymorphic_imp<T>::value)
+template <class T> struct is_abstract : public integral_constant<bool, ::boost::detail::is_polymorphic_imp<T>::value> {};
#endif
} // namespace boost
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP