[boost][range] - Improved handling of temporary ranges in range algorithms.

[SVN r63903]
This commit is contained in:
Neil Groves
2010-07-12 00:12:49 +00:00
parent ef000176d8
commit 74a01a4487
57 changed files with 1178 additions and 216 deletions

View File

@ -33,9 +33,25 @@ namespace boost
const Container2& ccont2 = cont2;
iterator1_t it = boost::search(cont1, cont2);
BOOST_CHECK( it == boost::search(boost::make_iterator_range(cont1), cont2) );
BOOST_CHECK( it == boost::search(cont1, boost::make_iterator_range(cont2)) );
BOOST_CHECK( it == boost::search(boost::make_iterator_range(cont1),
boost::make_iterator_range(cont2)) );
iterator1_t it2 = boost::search(cont1, ccont2);
BOOST_CHECK( it2 == boost::search(boost::make_iterator_range(cont1), ccont2) );
BOOST_CHECK( it2 == boost::search(cont1, boost::make_iterator_range(ccont2)) );
BOOST_CHECK( it2 == boost::search(boost::make_iterator_range(cont1),
boost::make_iterator_range(ccont2)) );
const_iterator1_t cit = boost::search(ccont1, cont2);
BOOST_CHECK( cit == boost::search(boost::make_iterator_range(ccont1), cont2) );
BOOST_CHECK( cit == boost::search(ccont1, boost::make_iterator_range(cont2)) );
BOOST_CHECK( cit == boost::search(boost::make_iterator_range(ccont1),
boost::make_iterator_range(cont2)) );
const_iterator1_t cit2 = boost::search(ccont1, ccont2);
BOOST_CHECK( cit2 == boost::search(boost::make_iterator_range(ccont1), ccont2) );
BOOST_CHECK( cit2 == boost::search(ccont1, boost::make_iterator_range(ccont2)) );
BOOST_CHECK( cit2 == boost::search(boost::make_iterator_range(ccont1),
boost::make_iterator_range(ccont2)) );
BOOST_CHECK( it == std::search(cont1.begin(), cont1.end(), cont2.begin(), cont2.end()) );
BOOST_CHECK( it2 == std::search(cont1.begin(), cont1.end(), ccont2.begin(), ccont2.end()) );