void operator=(const replace_holder&);
};
- template< class SinglePassRange >
+ template< class SinglePassRange, class Value >
inline replaced_range<SinglePassRange>
- operator|(
- SinglePassRange& r,
- const replace_holder<
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f )
+ operator|(SinglePassRange& r, const replace_holder<Value>& f)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>));
return replaced_range<SinglePassRange>(r, f.val1, f.val2);
}
- template< class SinglePassRange >
+ template< class SinglePassRange, class Value >
inline replaced_range<const SinglePassRange>
- operator|(
- const SinglePassRange& r,
- const replace_holder<
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
+ operator|(const SinglePassRange& r, const replace_holder<Value>& f)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>));
range_detail::forwarder2<range_detail::replace_holder>();
}
- template<class SinglePassRange>
+ template< class SinglePassRange, class Value >
inline replaced_range<SinglePassRange>
- replace(SinglePassRange& rng,
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type from,
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
+ replace(SinglePassRange& rng, Value from, Value to)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>));
return replaced_range<SinglePassRange>(rng, from, to);
}
- template<class SinglePassRange>
+ template< class SinglePassRange, class Value >
inline replaced_range<const SinglePassRange>
- replace(const SinglePassRange& rng,
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type from,
- BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
+ replace(const SinglePassRange& rng, Value from, Value to)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>));