Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 12 additions & 18 deletions include/boost/range/adaptor/replaced.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,25 +101,21 @@ namespace boost
void operator=(const replace_holder&);
};

template< class SinglePassRange >
template< class SinglePassRange,
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
inline replaced_range<SinglePassRange>
operator|(
SinglePassRange& r,
const replace_holder<
BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f )
operator|(SinglePassRange& r, const replace_holder<RangeValueType>& f)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>));

return replaced_range<SinglePassRange>(r, f.val1, f.val2);
}

template< class SinglePassRange >
template< class SinglePassRange,
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
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<RangeValueType>& f)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>));
Expand All @@ -139,23 +135,21 @@ namespace boost
range_detail::forwarder2<range_detail::replace_holder>();
}

template<class SinglePassRange>
template< class SinglePassRange,
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
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, RangeValueType from, RangeValueType to)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<SinglePassRange>));

return replaced_range<SinglePassRange>(rng, from, to);
}

template<class SinglePassRange>
template< class SinglePassRange,
class RangeValueType = BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>
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, RangeValueType from, RangeValueType to)
{
BOOST_RANGE_CONCEPT_ASSERT((
SinglePassRangeConcept<const SinglePassRange>));
Expand Down