|
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