From 08bb0488a8a1c3eb99866d65782323570c0c5c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Tue, 14 Apr 2015 14:59:29 +0200 Subject: [PATCH] Use iterator_arrow_result to support testing raw pointers --- test/iterator_test.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/test/iterator_test.hpp b/test/iterator_test.hpp index 43af6ab..9401f6c 100644 --- a/test/iterator_test.hpp +++ b/test/iterator_test.hpp @@ -99,7 +99,7 @@ void test_iterator_operations(I b, I e) reference r = *b; (void)r; typedef typename iterator_traits::pointer pointer; - pointer p = b.operator->(); + pointer p = (iterator_arrow_result)(b); (void)p; I &ri= ++b; (void)ri; @@ -270,8 +270,10 @@ void test_iterator_random_functions(C const &c, I const b, I const e) BOOST_TEST((b + i) == it); BOOST_TEST((i + b) == it); BOOST_TEST(b == (it - i)); - BOOST_TEST((I(b)+=i) == it); - BOOST_TEST(b == (I(it)-=i)); + I tmp(b); + BOOST_TEST((tmp+=i) == it); + tmp = it; + BOOST_TEST(b == (tmp-=i)); } BOOST_TEST(c.size() == size_type(e - b)); } @@ -312,8 +314,8 @@ void test_iterator_forward(C &c) { typedef typename C::iterator iterator; typedef typename C::const_iterator const_iterator; - typedef typename C::reverse_iterator reverse_iterator; - typedef typename C::const_reverse_iterator const_reverse_iterator; + typedef typename get_reverse_iterator::type reverse_iterator; + typedef typename get_const_reverse_iterator::type const_reverse_iterator; typedef iterator_traits nit_traits; typedef iterator_traits cit_traits; typedef iterator_traits rnit_traits;