diff --git a/include/boost/detail/is_incrementable.hpp b/include/boost/detail/is_incrementable.hpp index 004b619..5ec7c27 100755 --- a/include/boost/detail/is_incrementable.hpp +++ b/include/boost/detail/is_incrementable.hpp @@ -9,9 +9,10 @@ # include # include # include -# include // BOOST_INTEL # include +namespace boost { namespace detail { + // is_incrementable metafunction // // Requires: Given x of type T&, if the expression ++x is well-formed @@ -19,7 +20,7 @@ // nor violate access. // This namespace ensures that ADL doesn't mess things up. -namespace boost_is_incrementable_ +namespace is_incrementable_ { // a type returned from operator++ when no increment is found in the // type's own namespace @@ -30,32 +31,10 @@ namespace boost_is_incrementable_ // might be found via ADL. struct any { template any(T const&); }; -# if defined(__GNUC_PATCHLEVEL__) && !defined(BOOST_INTEL) -# define BOOST_IS_INCREMENTABLE_GCC \ - ((__GNUC__ * 100UL + __GNUC_MINOR__) * 100UL + __GNUC_PATCHLEVEL__) \ - /**/ -# else -# define BOOST_IS_INCREMENTABLE_GCC 0 -# endif - -# if BOOST_WORKAROUND(BOOST_IS_INCREMENTABLE_GCC, >= 40002) - - } // namespace boost_is_incrementable_ - - // This is a last-resort operator++ for when none other is found - boost_is_incrementable_::tag operator++(boost_is_incrementable_::any const&); - boost_is_incrementable_::tag operator++(boost_is_incrementable_::any const&,int); - - namespace boost_is_incrementable_ { - -# else - // This is a last-resort operator++ for when none other is found tag operator++(any const&); tag operator++(any const&,int); -# endif - # if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) # define BOOST_comma(a,b) (a) @@ -79,7 +58,7 @@ namespace boost_is_incrementable_ BOOST_STATIC_CONSTANT( bool - , value = sizeof(boost_is_incrementable_::check(BOOST_comma(++x,0))) == 1 + , value = sizeof(is_incrementable_::check(BOOST_comma(++x,0))) == 1 ); }; @@ -90,28 +69,26 @@ namespace boost_is_incrementable_ BOOST_STATIC_CONSTANT( bool - , value = sizeof(boost_is_incrementable_::check(BOOST_comma(x++,0))) == 1 + , value = sizeof(is_incrementable_::check(BOOST_comma(x++,0))) == 1 ); }; -} // namespace boost_is_incrementable_ - -namespace boost { namespace detail { +} # undef BOOST_comma template struct is_incrementable - BOOST_TT_AUX_BOOL_C_BASE(::boost_is_incrementable_::impl::value) + BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) { - BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost_is_incrementable_::impl::value) - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T)) + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl::value) + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T)) }; template struct is_postfix_incrementable - BOOST_TT_AUX_BOOL_C_BASE(::boost_is_incrementable_::impl::value) + BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) { - BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost_is_incrementable_::postfix_impl::value) + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl::value) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T)) };