diff --git a/include/boost/iterator/is_lvalue_iterator.hpp b/include/boost/iterator/is_lvalue_iterator.hpp index a4c2eab..cd866d6 100644 --- a/include/boost/iterator/is_lvalue_iterator.hpp +++ b/include/boost/iterator/is_lvalue_iterator.hpp @@ -12,9 +12,10 @@ #include #include #include +#include // should be the last #includes -#include +#include #include #ifndef BOOST_NO_IS_CONVERTIBLE @@ -136,13 +137,19 @@ namespace detail {}; } // namespace detail -// Define the trait with full mpl lambda capability and various broken -// compiler workarounds -BOOST_TT_AUX_BOOL_TRAIT_DEF1( - is_lvalue_iterator,T,::boost::iterators::detail::is_readable_lvalue_iterator_impl::value) +template< typename T > struct is_lvalue_iterator +: public ::boost::integral_constant::value> +{ +public: + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_lvalue_iterator,(T)) +}; -BOOST_TT_AUX_BOOL_TRAIT_DEF1( - is_non_const_lvalue_iterator,T,::boost::iterators::detail::is_non_const_lvalue_iterator_impl::value) +template< typename T > struct is_non_const_lvalue_iterator +: public ::boost::integral_constant::value> +{ +public: + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_non_const_lvalue_iterator,(T)) +}; } // namespace iterators diff --git a/include/boost/iterator/is_readable_iterator.hpp b/include/boost/iterator/is_readable_iterator.hpp index d2e5e9f..5bc2339 100644 --- a/include/boost/iterator/is_readable_iterator.hpp +++ b/include/boost/iterator/is_readable_iterator.hpp @@ -5,13 +5,14 @@ # define IS_READABLE_ITERATOR_DWA2003112_HPP #include +#include #include #include -#include #include // should be the last #include +#include #include #ifndef BOOST_NO_IS_CONVERTIBLE @@ -97,10 +98,12 @@ namespace detail {}; } // namespace detail -// Define the trait with full mpl lambda capability and various broken -// compiler workarounds -BOOST_TT_AUX_BOOL_TRAIT_DEF1( - is_readable_iterator,T,::boost::iterators::detail::is_readable_iterator_impl2::value) +template< typename T > struct is_readable_iterator +: public ::boost::integral_constant::value> +{ +public: + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_readable_iterator,(T)) +}; } // namespace iterators