Merge pull request #53 from morinmorin/fix_c++03_breakage

Fix breakage in replaced adaptor for C++03
This commit is contained in:
neilgroves
2017-07-12 14:18:05 +01:00
committed by GitHub
2 changed files with 16 additions and 32 deletions

View File

@@ -101,10 +101,9 @@ namespace boost
void operator=(const replace_holder&); void operator=(const replace_holder&);
}; };
template< class SinglePassRange, template< class SinglePassRange, class Value >
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
inline replaced_range<SinglePassRange> inline replaced_range<SinglePassRange>
operator|(SinglePassRange& r, const replace_holder<RangeValueType>& f) operator|(SinglePassRange& r, const replace_holder<Value>& f)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>)); SinglePassRangeConcept<SinglePassRange>));
@@ -112,10 +111,9 @@ namespace boost
return replaced_range<SinglePassRange>(r, f.val1, f.val2); return replaced_range<SinglePassRange>(r, f.val1, f.val2);
} }
template< class SinglePassRange, template< class SinglePassRange, class Value >
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
inline replaced_range<const SinglePassRange> inline replaced_range<const SinglePassRange>
operator|(const SinglePassRange& r, const replace_holder<RangeValueType>& f) operator|(const SinglePassRange& r, const replace_holder<Value>& f)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>)); SinglePassRangeConcept<const SinglePassRange>));
@@ -135,10 +133,9 @@ namespace boost
range_detail::forwarder2<range_detail::replace_holder>(); range_detail::forwarder2<range_detail::replace_holder>();
} }
template< class SinglePassRange, template< class SinglePassRange, class Value >
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
inline replaced_range<SinglePassRange> inline replaced_range<SinglePassRange>
replace(SinglePassRange& rng, RangeValueType from, RangeValueType to) replace(SinglePassRange& rng, Value from, Value to)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>)); SinglePassRangeConcept<SinglePassRange>));
@@ -146,10 +143,9 @@ namespace boost
return replaced_range<SinglePassRange>(rng, from, to); return replaced_range<SinglePassRange>(rng, from, to);
} }
template< class SinglePassRange, template< class SinglePassRange, class Value >
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
inline replaced_range<const SinglePassRange> inline replaced_range<const SinglePassRange>
replace(const SinglePassRange& rng, RangeValueType from, RangeValueType to) replace(const SinglePassRange& rng, Value from, Value to)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>)); SinglePassRangeConcept<const SinglePassRange>));

View File

@@ -103,13 +103,9 @@ namespace boost
T m_to; T m_to;
}; };
template< class Pred, class SinglePassRange > template< class Pred, class SinglePassRange, class Value >
inline replaced_if_range<Pred, SinglePassRange> inline replaced_if_range<Pred, SinglePassRange>
operator|( operator|(SinglePassRange& r, const replace_if_holder<Pred, Value>& f)
SinglePassRange& r,
const replace_if_holder<
Pred,
BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>)); SinglePassRangeConcept<SinglePassRange>));
@@ -118,13 +114,9 @@ namespace boost
r, f.pred(), f.to()); r, f.pred(), f.to());
} }
template< class Pred, class SinglePassRange > template< class Pred, class SinglePassRange, class Value >
inline replaced_if_range<Pred, const SinglePassRange> inline replaced_if_range<Pred, const SinglePassRange>
operator|( operator|(const SinglePassRange& r, const replace_if_holder<Pred, Value>& f)
const SinglePassRange& r,
const replace_if_holder<
Pred,
BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>)); SinglePassRangeConcept<const SinglePassRange>));
@@ -145,10 +137,9 @@ namespace boost
range_detail::forwarder2TU<range_detail::replace_if_holder>(); range_detail::forwarder2TU<range_detail::replace_if_holder>();
} }
template<class Pred, class SinglePassRange> template< class Pred, class SinglePassRange, class Value >
inline replaced_if_range<Pred, SinglePassRange> inline replaced_if_range<Pred, SinglePassRange>
replace_if(SinglePassRange& rng, Pred pred, replace_if(SinglePassRange& rng, Pred pred, Value to)
BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>)); SinglePassRangeConcept<SinglePassRange>));
@@ -157,12 +148,9 @@ namespace boost
rng, pred, to); rng, pred, to);
} }
template<class Pred, class SinglePassRange> template< class Pred, class SinglePassRange, class Value >
inline replaced_if_range<Pred, const SinglePassRange> inline replaced_if_range<Pred, const SinglePassRange>
replace_if( replace_if(const SinglePassRange& rng, Pred pred, Value to)
const SinglePassRange& rng,
Pred pred,
BOOST_DEDUCED_TYPENAME range_value<const SinglePassRange>::type to)
{ {
BOOST_RANGE_CONCEPT_ASSERT(( BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>)); SinglePassRangeConcept<const SinglePassRange>));