Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67426 - trunk/boost/range/algorithm
From: neil_at_[hidden]
Date: 2010-12-23 04:59:54


Author: neilgroves
Date: 2010-12-23 04:59:53 EST (Thu, 23 Dec 2010)
New Revision: 67426
URL: http://svn.boost.org/trac/boost/changeset/67426

Log:
[boost][range] - manually split the implementation calls to search_n _impl and search_n_pred_impl due to a function overload resolution issue with VC10.
Text files modified:
   trunk/boost/range/algorithm/search_n.hpp | 32 +++++++++++++++++---------------
   1 files changed, 17 insertions(+), 15 deletions(-)

Modified: trunk/boost/range/algorithm/search_n.hpp
==============================================================================
--- trunk/boost/range/algorithm/search_n.hpp (original)
+++ trunk/boost/range/algorithm/search_n.hpp 2010-12-23 04:59:53 EST (Thu, 23 Dec 2010)
@@ -108,9 +108,9 @@
     template<typename ForwardIterator, typename Integer, typename Value,
              typename BinaryPredicate>
     inline ForwardIterator
- search_n_impl(ForwardIterator first, ForwardIterator last,
- Integer count, const Value& value,
- BinaryPredicate pred, std::forward_iterator_tag)
+ search_n_pred_impl(ForwardIterator first, ForwardIterator last,
+ Integer count, const Value& value,
+ BinaryPredicate pred, std::forward_iterator_tag)
     {
         typedef typename std::iterator_traits<ForwardIterator>::difference_type difference_t;
 
@@ -143,9 +143,9 @@
     template<typename RandomAccessIterator, typename Integer,
              typename Value, typename BinaryPredicate>
     inline RandomAccessIterator
- search_n_impl(RandomAccessIterator first, RandomAccessIterator last,
- Integer count, const Value& value,
- BinaryPredicate pred, std::random_access_iterator_tag)
+ search_n_pred_impl(RandomAccessIterator first, RandomAccessIterator last,
+ Integer count, const Value& value,
+ BinaryPredicate pred, std::random_access_iterator_tag)
     {
         typedef typename std::iterator_traits<RandomAccessIterator>::difference_type difference_t;
 
@@ -208,9 +208,9 @@
     template<typename ForwardIterator, typename Integer, typename Value,
              typename BinaryPredicate>
     inline ForwardIterator
- search_n_impl(ForwardIterator first, ForwardIterator last,
- Integer count, const Value& value,
- BinaryPredicate pred)
+ search_n_pred_impl(ForwardIterator first, ForwardIterator last,
+ Integer count, const Value& value,
+ BinaryPredicate pred)
     {
         BOOST_RANGE_CONCEPT_ASSERT((ForwardIteratorConcept<ForwardIterator>));
         BOOST_RANGE_CONCEPT_ASSERT((
@@ -230,8 +230,8 @@
                 ++first;
             return first;
         }
- return range_detail::search_n_impl(first, last, count,
- value, pred, cat_t());
+ return range_detail::search_n_pred_impl(first, last, count,
+ value, pred, cat_t());
     }
 } // namespace range_detail
 
@@ -271,7 +271,7 @@
     BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
     BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
         BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type, const Value&>));
- return range_detail::search_n_impl(boost::begin(rng), boost::end(rng),
+ return range_detail::search_n_pred_impl(boost::begin(rng), boost::end(rng),
         count, value, binary_pred);
 }
 
@@ -285,7 +285,7 @@
     BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
     BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
         BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type, const Value&>));
- return range_detail::search_n_impl(boost::begin(rng), boost::end(rng),
+ return range_detail::search_n_pred_impl(boost::begin(rng), boost::end(rng),
         count, value, binary_pred);
 }
 
@@ -329,7 +329,8 @@
         BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type,
         const Value&>));
     return range_return<ForwardRange,re>::
- pack(range_detail::search_n_impl(boost::begin(rng), boost::end(rng),
+ pack(range_detail::search_n_pred_impl(boost::begin(rng),
+ boost::end(rng),
                            count, value, pred),
              rng);
 }
@@ -346,7 +347,8 @@
         BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type,
         const Value&>));
     return range_return<const ForwardRange,re>::
- pack(range_detail::search_n_impl(boost::begin(rng), boost::end(rng),
+ pack(range_detail::search_n_pred_impl(boost::begin(rng),
+ boost::end(rng),
                            count, value, pred),
              rng);
 }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk