forked from boostorg/range
[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.
[SVN r67426]
This commit is contained in:
@ -108,7 +108,7 @@ namespace range_detail
|
|||||||
template<typename ForwardIterator, typename Integer, typename Value,
|
template<typename ForwardIterator, typename Integer, typename Value,
|
||||||
typename BinaryPredicate>
|
typename BinaryPredicate>
|
||||||
inline ForwardIterator
|
inline ForwardIterator
|
||||||
search_n_impl(ForwardIterator first, ForwardIterator last,
|
search_n_pred_impl(ForwardIterator first, ForwardIterator last,
|
||||||
Integer count, const Value& value,
|
Integer count, const Value& value,
|
||||||
BinaryPredicate pred, std::forward_iterator_tag)
|
BinaryPredicate pred, std::forward_iterator_tag)
|
||||||
{
|
{
|
||||||
@ -143,7 +143,7 @@ namespace range_detail
|
|||||||
template<typename RandomAccessIterator, typename Integer,
|
template<typename RandomAccessIterator, typename Integer,
|
||||||
typename Value, typename BinaryPredicate>
|
typename Value, typename BinaryPredicate>
|
||||||
inline RandomAccessIterator
|
inline RandomAccessIterator
|
||||||
search_n_impl(RandomAccessIterator first, RandomAccessIterator last,
|
search_n_pred_impl(RandomAccessIterator first, RandomAccessIterator last,
|
||||||
Integer count, const Value& value,
|
Integer count, const Value& value,
|
||||||
BinaryPredicate pred, std::random_access_iterator_tag)
|
BinaryPredicate pred, std::random_access_iterator_tag)
|
||||||
{
|
{
|
||||||
@ -208,7 +208,7 @@ namespace range_detail
|
|||||||
template<typename ForwardIterator, typename Integer, typename Value,
|
template<typename ForwardIterator, typename Integer, typename Value,
|
||||||
typename BinaryPredicate>
|
typename BinaryPredicate>
|
||||||
inline ForwardIterator
|
inline ForwardIterator
|
||||||
search_n_impl(ForwardIterator first, ForwardIterator last,
|
search_n_pred_impl(ForwardIterator first, ForwardIterator last,
|
||||||
Integer count, const Value& value,
|
Integer count, const Value& value,
|
||||||
BinaryPredicate pred)
|
BinaryPredicate pred)
|
||||||
{
|
{
|
||||||
@ -230,7 +230,7 @@ namespace range_detail
|
|||||||
++first;
|
++first;
|
||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
return range_detail::search_n_impl(first, last, count,
|
return range_detail::search_n_pred_impl(first, last, count,
|
||||||
value, pred, cat_t());
|
value, pred, cat_t());
|
||||||
}
|
}
|
||||||
} // namespace range_detail
|
} // namespace range_detail
|
||||||
@ -271,7 +271,7 @@ search_n(ForwardRange& rng, Integer count, const Value& value,
|
|||||||
BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
|
BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
|
||||||
BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
|
BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
|
||||||
BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type, const Value&>));
|
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);
|
count, value, binary_pred);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,7 +285,7 @@ search_n(const ForwardRange& rng, Integer count, const Value& value,
|
|||||||
BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
|
BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
|
||||||
BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
|
BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
|
||||||
BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type, const Value&>));
|
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);
|
count, value, binary_pred);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,7 +329,8 @@ search_n(ForwardRange& rng, Integer count, const Value& value,
|
|||||||
BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type,
|
BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type,
|
||||||
const Value&>));
|
const Value&>));
|
||||||
return range_return<ForwardRange,re>::
|
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),
|
count, value, pred),
|
||||||
rng);
|
rng);
|
||||||
}
|
}
|
||||||
@ -346,7 +347,8 @@ search_n(const ForwardRange& rng, Integer count, const Value& value,
|
|||||||
BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type,
|
BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type,
|
||||||
const Value&>));
|
const Value&>));
|
||||||
return range_return<const ForwardRange,re>::
|
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),
|
count, value, pred),
|
||||||
rng);
|
rng);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user