mirror of
https://github.com/boostorg/range.git
synced 2025-07-31 13:27:31 +02:00
Merge pull request #53 from morinmorin/fix_c++03_breakage
Fix breakage in replaced adaptor for C++03
This commit is contained in:
@@ -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>));
|
||||||
|
@@ -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>));
|
||||||
|
Reference in New Issue
Block a user