Use intrusive's type traits instead of container's traits

This commit is contained in:
Ion Gaztañaga
2017-11-07 00:46:44 +01:00
parent 1ad2b26ee4
commit 4f9e77acfe

View File

@@ -120,8 +120,8 @@ void test_iterator_compatible(C &c)
test_iterator_operations(get_reverse_iterator<C>::begin(c), get_reverse_iterator<C>::end(c));
test_iterator_operations(get_const_reverse_iterator<C>::begin(c), get_const_reverse_iterator<C>::end(c));
//Make sure dangeous conversions are not possible
BOOST_STATIC_ASSERT((!boost::container::container_detail::is_convertible<const_iterator, iterator>::value));
BOOST_STATIC_ASSERT((!boost::container::container_detail::is_convertible<const_reverse_iterator, reverse_iterator>::value));
BOOST_STATIC_ASSERT((!boost::intrusive::detail::is_convertible<const_iterator, iterator>::value));
BOOST_STATIC_ASSERT((!boost::intrusive::detail::is_convertible<const_reverse_iterator, reverse_iterator>::value));
//Test iterator conversions
{
const_iterator ci;
@@ -318,7 +318,7 @@ void test_iterator_forward(C &c)
typedef iterator_traits<reverse_iterator> rnit_traits;
typedef iterator_traits<const_reverse_iterator> crit_traits;
using boost::container::container_detail::is_same;
using boost::intrusive::detail::is_same;
//iterator_category
BOOST_STATIC_ASSERT((is_same<std::forward_iterator_tag, typename nit_traits::iterator_category>::value));
BOOST_STATIC_ASSERT((is_same<std::forward_iterator_tag, typename cit_traits::iterator_category>::value));
@@ -340,7 +340,7 @@ void test_iterator_bidirectional(C &c)
typedef iterator_traits<reverse_iterator> rnit_traits;
typedef iterator_traits<const_reverse_iterator> crit_traits;
using boost::container::container_detail::is_same;
using boost::intrusive::detail::is_same;
//iterator_category
BOOST_STATIC_ASSERT((is_same<std::bidirectional_iterator_tag, typename nit_traits::iterator_category>::value));
BOOST_STATIC_ASSERT((is_same<std::bidirectional_iterator_tag, typename cit_traits::iterator_category>::value));
@@ -362,7 +362,7 @@ void test_iterator_random(C &c)
typedef iterator_traits<reverse_iterator> rnit_traits;
typedef iterator_traits<const_reverse_iterator> crit_traits;
using boost::container::container_detail::is_same;
using boost::intrusive::detail::is_same;
//iterator_category
BOOST_STATIC_ASSERT((is_same<std::random_access_iterator_tag, typename nit_traits::iterator_category>::value));
BOOST_STATIC_ASSERT((is_same<std::random_access_iterator_tag, typename cit_traits::iterator_category>::value));