diff --git a/include/boost/iterator/detail/facade_iterator_category.hpp b/include/boost/iterator/detail/facade_iterator_category.hpp index 6db45e4..9d41320 100644 --- a/include/boost/iterator/detail/facade_iterator_category.hpp +++ b/include/boost/iterator/detail/facade_iterator_category.hpp @@ -13,15 +13,14 @@ # include # include # include -# include + +# include # include # include # include # include -# include - # include // try to keep this last # ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY @@ -139,17 +138,17 @@ struct iterator_category_with_traversal // Make sure this isn't used to build any categories where // convertibility to Traversal is redundant. Should just use the // Category element in that case. - BOOST_MPL_ASSERT_NOT(( - is_convertible< + BOOST_STATIC_ASSERT(( + !is_convertible< typename iterator_category_to_traversal::type , Traversal - >)); + >::value)); - BOOST_MPL_ASSERT((is_iterator_category)); - BOOST_MPL_ASSERT_NOT((is_iterator_category)); - BOOST_MPL_ASSERT_NOT((is_iterator_traversal)); + BOOST_STATIC_ASSERT(is_iterator_category::value); + BOOST_STATIC_ASSERT(!is_iterator_category::value); + BOOST_STATIC_ASSERT(!is_iterator_traversal::value); # if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) - BOOST_MPL_ASSERT((is_iterator_traversal)); + BOOST_STATIC_ASSERT(is_iterator_traversal::value); # endif }; @@ -158,7 +157,7 @@ struct iterator_category_with_traversal template struct facade_iterator_category_impl { - BOOST_MPL_ASSERT_NOT((is_iterator_category)); + BOOST_STATIC_ASSERT(!is_iterator_category::value); typedef typename iterator_facade_default_category< Traversal,ValueParam,Reference diff --git a/include/boost/iterator/iterator_concepts.hpp b/include/boost/iterator/iterator_concepts.hpp index 415cc49..3c65553 100644 --- a/include/boost/iterator/iterator_concepts.hpp +++ b/include/boost/iterator/iterator_concepts.hpp @@ -144,8 +144,8 @@ namespace boost_concepts { typedef typename std::iterator_traits::difference_type difference_type; - BOOST_MPL_ASSERT((boost::is_integral)); - BOOST_MPL_ASSERT_RELATION(std::numeric_limits::is_signed, ==, true); + BOOST_STATIC_ASSERT(boost::is_integral::value); + BOOST_STATIC_ASSERT(std::numeric_limits::is_signed); BOOST_CONCEPT_ASSERT(( boost::Convertible< diff --git a/test/iterator_facade.cpp b/test/iterator_facade.cpp index 33e678a..79c0161 100644 --- a/test/iterator_facade.cpp +++ b/test/iterator_facade.cpp @@ -147,7 +147,7 @@ struct iterator_with_proxy_reference template void same_type(U const&) -{ BOOST_MPL_ASSERT((boost::is_same)); } +{ BOOST_STATIC_ASSERT((boost::is_same::value)); } template struct abstract_iterator diff --git a/test/static_assert_same.hpp b/test/static_assert_same.hpp index 6df0506..5d96da9 100644 --- a/test/static_assert_same.hpp +++ b/test/static_assert_same.hpp @@ -5,15 +5,15 @@ #ifndef STATIC_ASSERT_SAME_DWA2003530_HPP # define STATIC_ASSERT_SAME_DWA2003530_HPP -#include -# include +#include +#include -#define STATIC_ASSERT_SAME( T1,T2 ) BOOST_MPL_ASSERT((::boost::is_same< T1, T2 >)) +#define STATIC_ASSERT_SAME( T1,T2 ) BOOST_STATIC_ASSERT((::boost::is_same< T1, T2 >::value)) template struct static_assert_same { - BOOST_MPL_ASSERT((::boost::is_same< T1, T2 >)); + STATIC_ASSERT_SAME(T1, T2); enum { value = 1 }; };