diff options
Diffstat (limited to 'boost/type_traits/is_fundamental.hpp')
-rw-r--r-- | boost/type_traits/is_fundamental.hpp | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/boost/type_traits/is_fundamental.hpp b/boost/type_traits/is_fundamental.hpp index 138e296887..f58767a489 100644 --- a/boost/type_traits/is_fundamental.hpp +++ b/boost/type_traits/is_fundamental.hpp @@ -11,35 +11,16 @@ #include <boost/type_traits/is_arithmetic.hpp> #include <boost/type_traits/is_void.hpp> -#include <boost/type_traits/detail/ice_or.hpp> - -// should be the last #include -#include <boost/type_traits/detail/bool_trait_def.hpp> namespace boost { -namespace detail { - -template <typename T> -struct is_fundamental_impl - : public ::boost::type_traits::ice_or< - ::boost::is_arithmetic<T>::value - , ::boost::is_void<T>::value - > -{ -}; - -} // namespace detail - //* is a type T a fundamental type described in the standard (3.9.1) #if defined( __CODEGEARC__ ) -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T)) +template <class T> struct is_fundamental : public integral_constant<bool, __is_fundamental(T)> {}; #else -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::boost::detail::is_fundamental_impl<T>::value) +template <class T> struct is_fundamental : public integral_constant<bool, ::boost::is_arithmetic<T>::value || ::boost::is_void<T>::value> {}; #endif } // namespace boost -#include <boost/type_traits/detail/bool_trait_undef.hpp> - #endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED |