$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [range] transform surprise
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2011-03-05 09:57:35
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.