Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
Eric Niebler
2016-11-18 21:28:24 -08:00
3 changed files with 24 additions and 24 deletions

View File

@ -36,7 +36,7 @@ namespace boost
BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator ) BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator )
template< typename C > template< typename C >
struct range_const_iterator struct range_const_iterator_helper
: extract_const_iterator<C> : extract_const_iterator<C>
{}; {};
@ -45,7 +45,7 @@ struct range_const_iterator
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
template< typename Iterator > template< typename Iterator >
struct range_const_iterator<std::pair<Iterator,Iterator> > struct range_const_iterator_helper<std::pair<Iterator,Iterator> >
{ {
typedef Iterator type; typedef Iterator type;
}; };
@ -55,7 +55,7 @@ struct range_const_iterator<std::pair<Iterator,Iterator> >
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
template< typename T, std::size_t sz > template< typename T, std::size_t sz >
struct range_const_iterator< T[sz] > struct range_const_iterator_helper< T[sz] >
{ {
typedef const T* type; typedef const T* type;
}; };
@ -64,7 +64,7 @@ struct range_const_iterator< T[sz] >
template<typename C, typename Enabler=void> template<typename C, typename Enabler=void>
struct range_const_iterator struct range_const_iterator
: range_detail::range_const_iterator< : range_detail::range_const_iterator_helper<
BOOST_DEDUCED_TYPENAME remove_reference<C>::type BOOST_DEDUCED_TYPENAME remove_reference<C>::type
> >
{ {

View File

@ -247,9 +247,8 @@ namespace boost
any_iterator_type stored_iterator; any_iterator_type stored_iterator;
}; };
} //namespace detail
} } //namespace iterators
}
namespace range_detail namespace range_detail
{ {

View File

@ -280,23 +280,6 @@ void test_sfinae()
boost::iterator_range<ptr_iterator> r(ptr_iterator(0), ptr_iterator(0)); boost::iterator_range<ptr_iterator> r(ptr_iterator(0), ptr_iterator(0));
} }
boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] )
{
boost::unit_test::test_suite* test = BOOST_TEST_SUITE( "Range Test Suite" );
test->add(BOOST_TEST_CASE(&check_iterator_range));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less_or_equal>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater_or_equal>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::equal_to>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::not_equal_to>));
test->add(BOOST_TEST_CASE(&iterator_range_test_detail::check_make_iterator_range_n));
test->add(BOOST_TEST_CASE(&test_advance));
return test;
}
// //
// //
// Check that constness is propagated correct from // Check that constness is propagated correct from
@ -327,3 +310,21 @@ void check_reference_type()
test_iter_range<veci_type>(a_vec); test_iter_range<veci_type>(a_vec);
test_iter_range<veci_type const>(a_vec); test_iter_range<veci_type const>(a_vec);
} }
boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] )
{
boost::unit_test::test_suite* test = BOOST_TEST_SUITE( "Range Test Suite" );
test->add(BOOST_TEST_CASE(&check_iterator_range));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::less_or_equal>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::greater_or_equal>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::equal_to>));
test->add(BOOST_TEST_CASE(&check_iterator_range_operator<iterator_range_test_detail::not_equal_to>));
test->add(BOOST_TEST_CASE(&iterator_range_test_detail::check_make_iterator_range_n));
test->add(BOOST_TEST_CASE(&test_advance));
return test;
}