Compare commits

...

12 Commits

Author SHA1 Message Date
Eric Niebler
56d470635d Qualify call to boost::size to avoid ambiguity with std::size 2016-11-26 22:44:31 -08:00
Eric Niebler
f829c55c72 Merge pull request #47 from boostorg/fix-boost-size_type
Don't assume that because type `T` is a range that `const T` is also a range.
2016-11-23 14:54:26 -08:00
Rene Rivera
7567dce0c1 Add, and update, documentation build targets. 2016-10-10 11:39:52 -05:00
neilgroves
0e931f4a80 Merge pull request #33 from tobias-loew/master
Ticket #10397 - compilation error with mfc-iteratior-support: ambiguous symbol
2016-01-04 16:37:18 +00:00
tobias-loew
4f66482414 Ticket #10397 - compilation error with mfc-iteratior-support: ambiguous symbol
fixed compilation error for mfc-iteration-support

changed
boost::range_detail::range_const_iterator
to
boost::range_detail::range_const_iterator_helper

to address compilation error when using mfc-iteration-support
2015-08-12 15:32:31 +02:00
Neil Groves
7669f52547 Merge branch 'develop' 2015-04-21 08:22:15 +01:00
Neil Groves
2356783e17 Merge branch 'develop'
Conflicts:
	include/boost/range/detail/any_iterator.hpp
	test/iterator_range.cpp
2015-01-31 13:38:08 +00:00
neilgroves
9b3a21b5e3 Merge pull request #25 from levinmk/master
fix ticket #10754
2015-01-25 19:15:05 +00:00
levinmk
1965b797d8 fix ticket #10754
as described in https://svn.boost.org/trac/boost/ticket/10754, postfix_increment_proxy and writable_postfix_increment_proxy were moved to boost::iterators::detail namespace
2014-12-12 16:43:32 -06:00
Neil Groves
b0b08e0039 Add upgrade documentation about pop_front() and pop_back() being renamed. 2014-08-04 22:06:25 +01:00
Neil Groves
c865de5aa6 Hotfix to add back advance_begin and advance_end. 2014-08-04 22:06:11 +01:00
Eric Niebler
af2f17ccc5 Merge pull request #18 from ericniebler/master
attempted fix for iterator_range relational operators bug
2014-07-30 09:11:20 -07:00
5 changed files with 31 additions and 31 deletions

View File

@@ -28,3 +28,8 @@ boostbook quickbook
<format>pdf:<xsl:param>img.src.path=$(images_location)/
;
###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : quickbook ;
explicit boostrelease ;

View File

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

View File

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

View File

@@ -83,11 +83,6 @@ namespace boost
detail::range_size<T>
{ };
template< class T >
struct range_size<const T > :
detail::range_size<T>
{ };
} // namespace boost

View File

@@ -59,8 +59,8 @@ void check_iterator_range()
BOOST_CHECK( false );
//#endif
BOOST_CHECK_EQUAL( r.size(), size( r ) );
BOOST_CHECK_EQUAL( r2.size(), size( r2 ) );
BOOST_CHECK_EQUAL( r.size(), boost::size( r ) );
BOOST_CHECK_EQUAL( r2.size(), boost::size( r2 ) );
BOOST_CHECK_EQUAL( std::distance( r.begin(), r.end() ),
std::distance( boost::begin( r2 ), boost::end( r2 ) ) );
@@ -280,23 +280,6 @@ void test_sfinae()
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
@@ -327,3 +310,21 @@ void check_reference_type()
test_iter_range<veci_type>(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;
}