
5 Mar
2011
5 Mar
'11
2:57 p.m.
On 05/03/2011 15:27, Neal Becker wrote:
I'm surprised that boost::range::transform args are
template< class SinglePassRange1, class OutputIterator, class UnaryOperation
OutputIterator transform(const SinglePassRange1& rng, OutputIterator out, UnaryOperation fun);
I would have expected:
template< class SinglePassRange1, class SinglePassRange2, class UnaryOperation
OutputIterator transform(const SinglePassRange1& rng, SinglePassRange2& out, UnaryOperation fun);
Why the asymmetry?
An output range would imply that the algorithm does bounds checking on its target.