$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [SPAM (Bayesian)] - Re: Formal Review: Boost.RangeEx - Bayesian Filter detected spam
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2009-03-02 05:38:50
On Mon, Mar 2, 2009 at 10:19 AM, Arno Schödl <aschoedl_at_[hidden]>wrote:
>
> In this latter case, I don't see how you can do without an in-place
> algorithm, which IMO should be named differently. Or is the idea to do this:
>
> vector<int> vecn;
> vecn=transformed( vecn, func ); // overwriting the range that the adaptor
> is still working on?
> sort( vecn ); // sort cannot be done lazily
>
> I don't feel comfortable with it. Some adaptors are o.k. with it
> (transform), while others (say, duplicate each element) are not. For some
> (slice), it will depend on the implementation of operator=. And the compiler
> won't warn you.
AFAICS there's no issue in principle with something like
vecn | boost::adaptors::sort
as an expression. This would result in a range that could be iterated
through lazily, although
in total could not be as efficient as a traditional sort. Naturally the
underlying range must
not change in any way, or all bets are off.
Regards, Rob.