mirror of
https://github.com/boostorg/range.git
synced 2025-07-30 12:57:28 +02:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
@ -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
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user